[test] Get rid of SKIP_SIGNATURE_DUMP directive in irText tests

Sometimes there are legitimate reasons to have two separate signature
dumps for K1 and K2.

^KT-61797 Fixed
This commit is contained in:
Sergej Jaskiewicz
2024-01-12 18:39:39 +01:00
committed by Space Team
parent d2cf4548f6
commit da9f0e7af8
48 changed files with 5200 additions and 28 deletions
@@ -1,6 +1,3 @@
// SKIP_SIGNATURE_DUMP
// ^ K1 generates a useless delegate field for the Test2 class, K2 does not
interface IBase<A> {
fun <B> foo(a: A, b: B)
val <C> C.id: Map<A, C>?
@@ -0,0 +1,172 @@
// CHECK:
// Mangled name: Test1
// Public signature: /Test1|null[0]
class Test1<E : Any?> : IBase<E> {
// CHECK:
// Mangled name: Test1#<init>(IBase<1:0>){}
// Public signature: /Test1.<init>|-3017997426280513504[0]
// Public signature debug description: <init>(IBase<1:0>){}
constructor(i: IBase<E>) /* primary */
// CHECK:
// Mangled name: Test1#foo(1:0;0:0){0§<kotlin.Any?>}
// Public signature: /Test1.foo|406069289574534187[0]
// Public signature debug description: foo(1:0;0:0){0§<kotlin.Any?>}
override fun <B : Any?> foo(a: E, b: B): Unit
// CHECK:
// Mangled name: Test1@0:0{0§<kotlin.Any?>}id
// Public signature: /Test1.id|6409895071901545951[0]
// Public signature debug description: @0:0{0§<kotlin.Any?>}id
override val <C : Any?> C.id: Map<E, C>?
// CHECK JVM_IR:
// Mangled name: Test1#<get-id>@0:0(){0§<kotlin.Any?>}kotlin.collections.Map<1:0,0:0>?
// Public signature: /Test1.id.<get-id>|-1161899104741266586[0]
// Public signature debug description: <get-id>@0:0(){0§<kotlin.Any?>}kotlin.collections.Map<1:0,0:0>?
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-id>@0:0(){0§<kotlin.Any?>}
// Public signature: /Test1.id.<get-id>|-1537502770664138716[0]
// Public signature debug description: <get-id>@0:0(){0§<kotlin.Any?>}
override get(): Map<E, C>?
// CHECK:
// Mangled name: Test1@kotlin.collections.List<0:0>{0§<kotlin.Any?>}x
// Public signature: /Test1.x|-197950632589282220[0]
// Public signature debug description: @kotlin.collections.List<0:0>{0§<kotlin.Any?>}x
override var <D : Any?> List<D>.x: D?
// CHECK JVM_IR:
// Mangled name: Test1#<get-x>@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}0:0?
// Public signature: /Test1.x.<get-x>|1915131689713400313[0]
// Public signature debug description: <get-x>@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}0:0?
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-x>@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}
// Public signature: /Test1.x.<get-x>|-7897041295469127828[0]
// Public signature debug description: <get-x>@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}
override get(): D?
// CHECK:
// Mangled name: Test1#<set-x>@kotlin.collections.List<0:0>(0:0?){0§<kotlin.Any?>}
// Public signature: /Test1.x.<set-x>|7048513426934671771[0]
// Public signature debug description: <set-x>@kotlin.collections.List<0:0>(0:0?){0§<kotlin.Any?>}
override set(<set-?>: D?): Unit
}
// CHECK:
// Mangled name: Test2
// Public signature: /Test2|null[0]
class Test2 : IBase<String> {
// CHECK:
// Mangled name: Test2{}j
// Public signature: /Test2.j|-6836075379230315579[0]
// Public signature debug description: {}j
var j: IBase<String>
// CHECK JVM_IR:
// Mangled name: Test2#<get-j>(){}IBase<kotlin.String>
// Public signature: /Test2.j.<get-j>|-6883763672420899739[0]
// Public signature debug description: <get-j>(){}IBase<kotlin.String>
// CHECK JS_IR NATIVE:
// Mangled name: Test2#<get-j>(){}
// Public signature: /Test2.j.<get-j>|5087577794943671660[0]
// Public signature debug description: <get-j>(){}
get
// CHECK:
// Mangled name: Test2#<set-j>(IBase<kotlin.String>){}
// Public signature: /Test2.j.<set-j>|4329154110216130240[0]
// Public signature debug description: <set-j>(IBase<kotlin.String>){}
set
// CHECK:
// Mangled name: Test2#<init>(IBase<kotlin.String>){}
// Public signature: /Test2.<init>|4395202944622832808[0]
// Public signature debug description: <init>(IBase<kotlin.String>){}
constructor(j: IBase<String>) /* primary */
// CHECK:
// Mangled name: Test2#foo(kotlin.String;0:0){0§<kotlin.Any?>}
// Public signature: /Test2.foo|3497909443104319155[0]
// Public signature debug description: foo(kotlin.String;0:0){0§<kotlin.Any?>}
override fun <B : Any?> foo(a: String, b: B): Unit
// CHECK:
// Mangled name: Test2@0:0{0§<kotlin.Any?>}id
// Public signature: /Test2.id|6409895071901545951[0]
// Public signature debug description: @0:0{0§<kotlin.Any?>}id
override val <C : Any?> C.id: Map<String, C>?
// CHECK JVM_IR:
// Mangled name: Test2#<get-id>@0:0(){0§<kotlin.Any?>}kotlin.collections.Map<kotlin.String,0:0>?
// Public signature: /Test2.id.<get-id>|5038832815964071118[0]
// Public signature debug description: <get-id>@0:0(){0§<kotlin.Any?>}kotlin.collections.Map<kotlin.String,0:0>?
// CHECK JS_IR NATIVE:
// Mangled name: Test2#<get-id>@0:0(){0§<kotlin.Any?>}
// Public signature: /Test2.id.<get-id>|-1537502770664138716[0]
// Public signature debug description: <get-id>@0:0(){0§<kotlin.Any?>}
override get(): Map<String, C>?
// CHECK:
// Mangled name: Test2@kotlin.collections.List<0:0>{0§<kotlin.Any?>}x
// Public signature: /Test2.x|-197950632589282220[0]
// Public signature debug description: @kotlin.collections.List<0:0>{0§<kotlin.Any?>}x
override var <D : Any?> List<D>.x: D?
// CHECK JVM_IR:
// Mangled name: Test2#<get-x>@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}0:0?
// Public signature: /Test2.x.<get-x>|1915131689713400313[0]
// Public signature debug description: <get-x>@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}0:0?
// CHECK JS_IR NATIVE:
// Mangled name: Test2#<get-x>@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}
// Public signature: /Test2.x.<get-x>|-7897041295469127828[0]
// Public signature debug description: <get-x>@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}
override get(): D?
// CHECK:
// Mangled name: Test2#<set-x>@kotlin.collections.List<0:0>(0:0?){0§<kotlin.Any?>}
// Public signature: /Test2.x.<set-x>|7048513426934671771[0]
// Public signature debug description: <set-x>@kotlin.collections.List<0:0>(0:0?){0§<kotlin.Any?>}
override set(<set-?>: D?): Unit
}
// CHECK:
// Mangled name: IBase
// Public signature: /IBase|null[0]
interface IBase<A : Any?> {
// CHECK:
// Mangled name: IBase#foo(1:0;0:0){0§<kotlin.Any?>}
// Public signature: /IBase.foo|406069289574534187[0]
// Public signature debug description: foo(1:0;0:0){0§<kotlin.Any?>}
abstract fun <B : Any?> foo(a: A, b: B): Unit
// CHECK:
// Mangled name: IBase@0:0{0§<kotlin.Any?>}id
// Public signature: /IBase.id|6409895071901545951[0]
// Public signature debug description: @0:0{0§<kotlin.Any?>}id
abstract val <C : Any?> C.id: Map<A, C>?
// CHECK JVM_IR:
// Mangled name: IBase#<get-id>@0:0(){0§<kotlin.Any?>}kotlin.collections.Map<1:0,0:0>?
// Public signature: /IBase.id.<get-id>|-1161899104741266586[0]
// Public signature debug description: <get-id>@0:0(){0§<kotlin.Any?>}kotlin.collections.Map<1:0,0:0>?
// CHECK JS_IR NATIVE:
// Mangled name: IBase#<get-id>@0:0(){0§<kotlin.Any?>}
// Public signature: /IBase.id.<get-id>|-1537502770664138716[0]
// Public signature debug description: <get-id>@0:0(){0§<kotlin.Any?>}
abstract get
// CHECK:
// Mangled name: IBase@kotlin.collections.List<0:0>{0§<kotlin.Any?>}x
// Public signature: /IBase.x|-197950632589282220[0]
// Public signature debug description: @kotlin.collections.List<0:0>{0§<kotlin.Any?>}x
abstract var <D : Any?> List<D>.x: D?
// CHECK JVM_IR:
// Mangled name: IBase#<get-x>@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}0:0?
// Public signature: /IBase.x.<get-x>|1915131689713400313[0]
// Public signature debug description: <get-x>@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}0:0?
// CHECK JS_IR NATIVE:
// Mangled name: IBase#<get-x>@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}
// Public signature: /IBase.x.<get-x>|-7897041295469127828[0]
// Public signature debug description: <get-x>@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}
abstract get
// CHECK:
// Mangled name: IBase#<set-x>@kotlin.collections.List<0:0>(0:0?){0§<kotlin.Any?>}
// Public signature: /IBase.x.<set-x>|7048513426934671771[0]
// Public signature debug description: <set-x>@kotlin.collections.List<0:0>(0:0?){0§<kotlin.Any?>}
abstract set
}
@@ -0,0 +1,58 @@
// CHECK:
// Mangled name: Test
// Public signature: /Test|null[0]
class Test : J {
// CHECK:
// Mangled name: Test{}j
// Public signature: /Test.j|-6836075379230315579[0]
// Public signature debug description: {}j
private val j: J
// CHECK JVM_IR:
// Mangled name: Test#<get-j>(){}J
// Public signature: /Test.j.<get-j>|-6114050685652754863[0]
// Public signature debug description: <get-j>(){}J
private get
// CHECK:
// Mangled name: Test#<init>(J){}
// Public signature: /Test.<init>|1083383516528472352[0]
// Public signature debug description: <init>(J){}
constructor(j: J) /* primary */
// CHECK JVM_IR:
// Mangled name: Test#returnNotNull(){}kotlin.String{EnhancedNullability}
// Public signature: /Test.returnNotNull|-3682895453084642874[0]
// Public signature debug description: returnNotNull(){}kotlin.String{EnhancedNullability}
override fun returnNotNull(): @EnhancedNullability String
// CHECK JVM_IR:
// Mangled name: Test#returnNullable(){}kotlin.String?
// Public signature: /Test.returnNullable|-8543835017469041188[0]
// Public signature debug description: returnNullable(){}kotlin.String?
override fun returnNullable(): String?
// CHECK JVM_IR:
// Mangled name: Test#returnsFlexible(){}kotlin.String?
// Public signature: /Test.returnsFlexible|-5946143652599840920[0]
// Public signature debug description: returnsFlexible(){}kotlin.String?
override fun returnsFlexible(): String?
// CHECK:
// Mangled name: Test#takeFlexible(kotlin.String?){}
// Public signature: /Test.takeFlexible|8434697244780181625[0]
// Public signature debug description: takeFlexible(kotlin.String?){}
override fun takeFlexible(x: String?): Unit
// CHECK:
// Mangled name: Test#takeNotNull(kotlin.String{EnhancedNullability}){}
// Public signature: /Test.takeNotNull|2138033560695328162[0]
// Public signature debug description: takeNotNull(kotlin.String{EnhancedNullability}){}
override fun takeNotNull(x: @EnhancedNullability String): Unit
// CHECK:
// Mangled name: Test#takeNullable(kotlin.String?){}
// Public signature: /Test.takeNullable|5724815424219841897[0]
// Public signature debug description: takeNullable(kotlin.String?){}
override fun takeNullable(x: String?): Unit
}
@@ -1,6 +1,6 @@
// TARGET_BACKEND: JVM
// SKIP_SIGNATURE_DUMP
// SEPARATE_SIGNATURE_DUMP_FOR_K2
// ^ Fake overrides have divirging @EnhancedNullability in K1 and K2
// FILE: delegatedImplementationOfJavaInterface.kt
@@ -0,0 +1,58 @@
// CHECK:
// Mangled name: Test
// Public signature: /Test|null[0]
class Test : J {
// CHECK:
// Mangled name: Test{}j
// Public signature: /Test.j|-6836075379230315579[0]
// Public signature debug description: {}j
private val j: J
// CHECK JVM_IR:
// Mangled name: Test#<get-j>(){}J
// Public signature: /Test.j.<get-j>|-6114050685652754863[0]
// Public signature debug description: <get-j>(){}J
private get
// CHECK:
// Mangled name: Test#<init>(J){}
// Public signature: /Test.<init>|1083383516528472352[0]
// Public signature debug description: <init>(J){}
constructor(j: J) /* primary */
// CHECK JVM_IR:
// Mangled name: Test#returnNotNull(){}kotlin.String{EnhancedNullability}
// Public signature: /Test.returnNotNull|-3682895453084642874[0]
// Public signature debug description: returnNotNull(){}kotlin.String{EnhancedNullability}
override fun returnNotNull(): @EnhancedNullability String
// CHECK JVM_IR:
// Mangled name: Test#returnNullable(){}kotlin.String?{EnhancedNullability}
// Public signature: /Test.returnNullable|-404622903433277680[0]
// Public signature debug description: returnNullable(){}kotlin.String?{EnhancedNullability}
override fun returnNullable(): @EnhancedNullability String?
// CHECK JVM_IR:
// Mangled name: Test#returnsFlexible(){}kotlin.String?
// Public signature: /Test.returnsFlexible|-5946143652599840920[0]
// Public signature debug description: returnsFlexible(){}kotlin.String?
override fun returnsFlexible(): String?
// CHECK:
// Mangled name: Test#takeFlexible(kotlin.String?){}
// Public signature: /Test.takeFlexible|8434697244780181625[0]
// Public signature debug description: takeFlexible(kotlin.String?){}
override fun takeFlexible(x: String?): Unit
// CHECK:
// Mangled name: Test#takeNotNull(kotlin.String{EnhancedNullability}){}
// Public signature: /Test.takeNotNull|2138033560695328162[0]
// Public signature debug description: takeNotNull(kotlin.String{EnhancedNullability}){}
override fun takeNotNull(x: @EnhancedNullability String): Unit
// CHECK:
// Mangled name: Test#takeNullable(kotlin.String?{EnhancedNullability}){}
// Public signature: /Test.takeNullable|-558980523272297075[0]
// Public signature debug description: takeNullable(kotlin.String?{EnhancedNullability}){}
override fun takeNullable(x: @EnhancedNullability String?): Unit
}
@@ -0,0 +1,52 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
abstract class A {
// CHECK:
// Mangled name: A#<init>(){}
// Public signature: /A.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK:
// Mangled name: A{}a
// Public signature: /A.a|-1200697420457237799[0]
// Public signature debug description: {}a
abstract val a: A?
// CHECK JVM_IR:
// Mangled name: A#<get-a>(){}A?
// Public signature: /A.a.<get-a>|-5866676359912206759[0]
// Public signature debug description: <get-a>(){}A?
abstract get
}
// CHECK:
// Mangled name: B
// Public signature: /B|null[0]
class B : AX {
// CHECK:
// Mangled name: B#<init>(){}
// Public signature: /B.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: B#getA(){}X?
// Public signature: /B.getA|-186252691497860920[0]
// Public signature debug description: getA(){}X?
override fun getA(): X?
// CHECK:
// Mangled name: B{}a
// Public signature: /B.a|-1200697420457237799[0]
// Public signature debug description: {}a
/* fake */ override val a: AX?
// CHECK JVM_IR:
// Mangled name: B#<get-a>(){}AX?
// Public signature: /B.a.<get-a>|243290884802757470[0]
// Public signature debug description: <get-a>(){}AX?
@Override
/* fake */ override get(): AX?
}
+1 -1
View File
@@ -3,7 +3,7 @@
// DUMP_EXTERNAL_CLASS: X
// DUMP_EXTERNAL_CLASS: AX
// SKIP_SIGNATURE_DUMP
// SEPARATE_SIGNATURE_DUMP_FOR_K2
// ^ Fake overrides have divirging @EnhancedNullability in K1 and K2
// FILE: kt45853.kt
+52
View File
@@ -0,0 +1,52 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
abstract class A {
// CHECK:
// Mangled name: A#<init>(){}
// Public signature: /A.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK:
// Mangled name: A{}a
// Public signature: /A.a|-1200697420457237799[0]
// Public signature debug description: {}a
abstract val a: A?
// CHECK JVM_IR:
// Mangled name: A#<get-a>(){}A?
// Public signature: /A.a.<get-a>|-5866676359912206759[0]
// Public signature debug description: <get-a>(){}A?
abstract get
}
// CHECK:
// Mangled name: B
// Public signature: /B|null[0]
class B : AX {
// CHECK:
// Mangled name: B#<init>(){}
// Public signature: /B.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: B#getA(){}X?
// Public signature: /B.getA|-186252691497860920[0]
// Public signature debug description: getA(){}X?
override fun getA(): X?
// CHECK:
// Mangled name: B{}a
// Public signature: /B.a|-1200697420457237799[0]
// Public signature debug description: {}a
/* fake */ override val a: @EnhancedNullability AX?
// CHECK JVM_IR:
// Mangled name: B#<get-a>(){}AX?{EnhancedNullability}
// Public signature: /B.a.<get-a>|1682004550888840418[0]
// Public signature debug description: <get-a>(){}AX?{EnhancedNullability}
@Override
/* fake */ override get(): @EnhancedNullability AX?
}
@@ -0,0 +1,17 @@
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C : I {
// CHECK:
// Mangled name: C#<init>(J){}
// Public signature: /C.<init>|1083383516528472352[0]
// Public signature debug description: <init>(J){}
constructor(client: J) /* primary */
// CHECK JVM_IR:
// Mangled name: C#foo(){0§<kotlin.Any?>}kotlin.collections.MutableList<0:0?>?
// Public signature: /C.foo|1528742332167339732[0]
// Public signature debug description: foo(){0§<kotlin.Any?>}kotlin.collections.MutableList<0:0?>?
override fun <C : Any?> foo(): MutableList<C?>?
}
+1 -1
View File
@@ -1,7 +1,7 @@
// TARGET_BACKEND: JVM
// SKIP_KT_DUMP
// SKIP_SIGNATURE_DUMP
// SEPARATE_SIGNATURE_DUMP_FOR_K2
// ^ K2 generates an override for foo in C, K1 does not
// FILE: kt45934.kt
+11
View File
@@ -0,0 +1,11 @@
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C : I {
// CHECK:
// Mangled name: C#<init>(J){}
// Public signature: /C.<init>|1083383516528472352[0]
// Public signature debug description: <init>(J){}
constructor(client: J) /* primary */
}
@@ -1,6 +1,3 @@
// SKIP_SIGNATURE_DUMP
// ^ Difference in annotations generated by K1 and K2
annotation class Ann
interface IFoo {
@@ -0,0 +1,119 @@
// CHECK:
// Mangled name: Ann
// Public signature: /Ann|null[0]
open annotation class Ann : Annotation {
// CHECK:
// Mangled name: Ann#<init>(){}
// Public signature: /Ann.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
}
// CHECK:
// Mangled name: DFoo
// Public signature: /DFoo|null[0]
class DFoo : IFoo {
// CHECK:
// Mangled name: DFoo#<init>(IFoo){}
// Public signature: /DFoo.<init>|-657369904845510135[0]
// Public signature debug description: <init>(IFoo){}
constructor(d: IFoo) /* primary */
// CHECK:
// Mangled name: DFoo#testExtFun@kotlin.String(){}
// Public signature: /DFoo.testExtFun|-4671785829303171989[0]
// Public signature debug description: testExtFun@kotlin.String(){}
@Ann
override fun String.testExtFun(): Unit
// CHECK:
// Mangled name: DFoo#testFun(){}
// Public signature: /DFoo.testFun|6322333980269160703[0]
// Public signature debug description: testFun(){}
@Ann
override fun testFun(): Unit
// CHECK:
// Mangled name: DFoo@kotlin.String{}testExtVal
// Public signature: /DFoo.testExtVal|-6269693357376137188[0]
// Public signature debug description: @kotlin.String{}testExtVal
override val String.testExtVal: String
// CHECK JVM_IR:
// Mangled name: DFoo#<get-testExtVal>@kotlin.String(){}kotlin.String
// Public signature: /DFoo.testExtVal.<get-testExtVal>|4035393032845602237[0]
// Public signature debug description: <get-testExtVal>@kotlin.String(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: DFoo#<get-testExtVal>@kotlin.String(){}
// Public signature: /DFoo.testExtVal.<get-testExtVal>|8692242155954463066[0]
// Public signature debug description: <get-testExtVal>@kotlin.String(){}
override get(): String
// CHECK:
// Mangled name: DFoo{}testVal
// Public signature: /DFoo.testVal|2839078120601828782[0]
// Public signature debug description: {}testVal
override val testVal: String
// CHECK JVM_IR:
// Mangled name: DFoo#<get-testVal>(){}kotlin.String
// Public signature: /DFoo.testVal.<get-testVal>|-8940261368877498423[0]
// Public signature debug description: <get-testVal>(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: DFoo#<get-testVal>(){}
// Public signature: /DFoo.testVal.<get-testVal>|-3119877793352707332[0]
// Public signature debug description: <get-testVal>(){}
override get(): String
}
// CHECK:
// Mangled name: IFoo
// Public signature: /IFoo|null[0]
interface IFoo {
// CHECK:
// Mangled name: IFoo#testExtFun@kotlin.String(){}
// Public signature: /IFoo.testExtFun|-4671785829303171989[0]
// Public signature debug description: testExtFun@kotlin.String(){}
@Ann
abstract fun String.testExtFun(): Unit
// CHECK:
// Mangled name: IFoo#testFun(){}
// Public signature: /IFoo.testFun|6322333980269160703[0]
// Public signature debug description: testFun(){}
@Ann
abstract fun testFun(): Unit
// CHECK:
// Mangled name: IFoo@kotlin.String{}testExtVal
// Public signature: /IFoo.testExtVal|-6269693357376137188[0]
// Public signature debug description: @kotlin.String{}testExtVal
@Ann
abstract val String.testExtVal: String
// CHECK JVM_IR:
// Mangled name: IFoo#<get-testExtVal>@kotlin.String(){}kotlin.String
// Public signature: /IFoo.testExtVal.<get-testExtVal>|4035393032845602237[0]
// Public signature debug description: <get-testExtVal>@kotlin.String(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: IFoo#<get-testExtVal>@kotlin.String(){}
// Public signature: /IFoo.testExtVal.<get-testExtVal>|8692242155954463066[0]
// Public signature debug description: <get-testExtVal>@kotlin.String(){}
abstract get
// CHECK:
// Mangled name: IFoo{}testVal
// Public signature: /IFoo.testVal|2839078120601828782[0]
// Public signature debug description: {}testVal
@Ann
abstract val testVal: String
// CHECK JVM_IR:
// Mangled name: IFoo#<get-testVal>(){}kotlin.String
// Public signature: /IFoo.testVal.<get-testVal>|-8940261368877498423[0]
// Public signature debug description: <get-testVal>(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: IFoo#<get-testVal>(){}
// Public signature: /IFoo.testVal.<get-testVal>|-3119877793352707332[0]
// Public signature debug description: <get-testVal>(){}
abstract get
}
@@ -0,0 +1,252 @@
// CHECK:
// Mangled name: TestAnn
// Public signature: /TestAnn|null[0]
open annotation class TestAnn : Annotation {
// CHECK:
// Mangled name: TestAnn{}x
// Public signature: /TestAnn.x|-8060530855978347579[0]
// Public signature debug description: {}x
val x: String
// CHECK JVM_IR:
// Mangled name: TestAnn#<get-x>(){}kotlin.String
// Public signature: /TestAnn.x.<get-x>|316111172223894646[0]
// Public signature debug description: <get-x>(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: TestAnn#<get-x>(){}
// Public signature: /TestAnn.x.<get-x>|1482705010654679335[0]
// Public signature debug description: <get-x>(){}
get
// CHECK:
// Mangled name: TestAnn#<init>(kotlin.String){}
// Public signature: /TestAnn.<init>|1280618353163213788[0]
// Public signature debug description: <init>(kotlin.String){}
constructor(x: String) /* primary */
}
// CHECK:
// Mangled name: TestEnum
// Public signature: /TestEnum|null[0]
open enum class TestEnum : Enum<TestEnum> {
// CHECK:
// Mangled name: TestEnum#<init>(){}
// Public signature: /TestEnum.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK:
// Mangled name: TestEnum.ENTRY1
// Public signature: /TestEnum.ENTRY1|null[0]
@TestAnn(x = "ENTRY1")
ENTRY1
// CHECK:
// Mangled name: TestEnum.ENTRY2
// Public signature: /TestEnum.ENTRY2|null[0]
@TestAnn(x = "ENTRY2")
ENTRY2
// CHECK:
// Mangled name: TestEnum.ENTRY2
// Public signature: /TestEnum.ENTRY2.<EEC>|null[0]
private enum entry class ENTRY2 : TestEnum {
// CHECK:
// Mangled name: TestEnum.ENTRY2{}x
// Public signature: /TestEnum.ENTRY2.<EEC>.x|-8060530855978347579[0]
// Public signature debug description: {}x
val x: Int
// CHECK JVM_IR:
// Mangled name: TestEnum.ENTRY2#<get-x>(){}kotlin.Int
// Public signature: /TestEnum.ENTRY2.<EEC>.x.<get-x>|4966956098150895696[0]
// Public signature debug description: <get-x>(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum.ENTRY2#<get-x>(){}
// Public signature: /TestEnum.ENTRY2.<EEC>.x.<get-x>|1482705010654679335[0]
// Public signature debug description: <get-x>(){}
get
// CHECK:
// Mangled name: TestEnum.ENTRY2#<init>(){}
// Public signature: /TestEnum.ENTRY2.<EEC>.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: TestEnum.ENTRY2#compareTo(TestEnum){}kotlin.Int
// Public signature: /TestEnum.ENTRY2.<EEC>.compareTo|7559751212169934687[0]
// Public signature debug description: compareTo(TestEnum){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum.ENTRY2#compareTo(TestEnum){}
// Public signature: /TestEnum.ENTRY2.<EEC>.compareTo|7350720606720122863[0]
// Public signature debug description: compareTo(TestEnum){}
/* fake */ override operator fun compareTo(other: TestEnum): Int
// CHECK JVM_IR:
// Mangled name: TestEnum.ENTRY2#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /TestEnum.ENTRY2.<EEC>.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum.ENTRY2#equals(kotlin.Any?){}
// Public signature: /TestEnum.ENTRY2.<EEC>.equals|4638265728071529943[0]
// Public signature debug description: equals(kotlin.Any?){}
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: TestEnum.ENTRY2#hashCode(){}kotlin.Int
// Public signature: /TestEnum.ENTRY2.<EEC>.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum.ENTRY2#hashCode(){}
// Public signature: /TestEnum.ENTRY2.<EEC>.hashCode|3409210261493131192[0]
// Public signature debug description: hashCode(){}
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: TestEnum.ENTRY2#toString(){}kotlin.String
// Public signature: /TestEnum.ENTRY2.<EEC>.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum.ENTRY2#toString(){}
// Public signature: /TestEnum.ENTRY2.<EEC>.toString|-1522858123163872138[0]
// Public signature debug description: toString(){}
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: TestEnum.ENTRY2{}name
// Public signature: /TestEnum.ENTRY2.<EEC>.name|4231860309499509769[0]
// Public signature debug description: {}name
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: TestEnum.ENTRY2#<get-name>(){}kotlin.String
// Public signature: /TestEnum.ENTRY2.<EEC>.name.<get-name>|-8006111524522882650[0]
// Public signature debug description: <get-name>(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum.ENTRY2#<get-name>(){}
// Public signature: /TestEnum.ENTRY2.<EEC>.name.<get-name>|5879344792307730109[0]
// Public signature debug description: <get-name>(){}
/* fake */ override get(): String
// CHECK:
// Mangled name: TestEnum.ENTRY2{}ordinal
// Public signature: /TestEnum.ENTRY2.<EEC>.ordinal|1912745122988592376[0]
// Public signature debug description: {}ordinal
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: TestEnum.ENTRY2#<get-ordinal>(){}kotlin.Int
// Public signature: /TestEnum.ENTRY2.<EEC>.ordinal.<get-ordinal>|-6902664390061762634[0]
// Public signature debug description: <get-ordinal>(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum.ENTRY2#<get-ordinal>(){}
// Public signature: /TestEnum.ENTRY2.<EEC>.ordinal.<get-ordinal>|8409904226035914023[0]
// Public signature debug description: <get-ordinal>(){}
/* fake */ override get(): Int
}
// CHECK JVM_IR:
// Mangled name: TestEnum#valueOf#static(kotlin.String){}TestEnum
// Public signature: /TestEnum.valueOf|1811575739170804829[0]
// Public signature debug description: valueOf#static(kotlin.String){}TestEnum
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#valueOf#static(kotlin.String){}
// Public signature: /TestEnum.valueOf|-4683474617854611729[0]
// Public signature debug description: valueOf#static(kotlin.String){}
fun valueOf(value: String): TestEnum
// CHECK JVM_IR:
// Mangled name: TestEnum#values#static(){}kotlin.Array<TestEnum>
// Public signature: /TestEnum.values|-4299804782350326897[0]
// Public signature debug description: values#static(){}kotlin.Array<TestEnum>
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#values#static(){}
// Public signature: /TestEnum.values|-8715569000920726747[0]
// Public signature debug description: values#static(){}
fun values(): Array<TestEnum>
// CHECK JVM_IR:
// Mangled name: TestEnum#compareTo(TestEnum){}kotlin.Int
// Public signature: /TestEnum.compareTo|7559751212169934687[0]
// Public signature debug description: compareTo(TestEnum){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#compareTo(TestEnum){}
// Public signature: /TestEnum.compareTo|7350720606720122863[0]
// Public signature debug description: compareTo(TestEnum){}
/* fake */ override operator fun compareTo(other: TestEnum): Int
// CHECK JVM_IR:
// Mangled name: TestEnum#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /TestEnum.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#equals(kotlin.Any?){}
// Public signature: /TestEnum.equals|4638265728071529943[0]
// Public signature debug description: equals(kotlin.Any?){}
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: TestEnum#hashCode(){}kotlin.Int
// Public signature: /TestEnum.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#hashCode(){}
// Public signature: /TestEnum.hashCode|3409210261493131192[0]
// Public signature debug description: hashCode(){}
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: TestEnum#toString(){}kotlin.String
// Public signature: /TestEnum.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#toString(){}
// Public signature: /TestEnum.toString|-1522858123163872138[0]
// Public signature debug description: toString(){}
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: TestEnum#static{}entries
// Public signature: /TestEnum.entries|-5134227801081826149[0]
// Public signature debug description: #static{}entries
val entries: EnumEntries<TestEnum>
// CHECK JVM_IR:
// Mangled name: TestEnum#<get-entries>#static(){}kotlin.enums.EnumEntries<TestEnum>
// Public signature: /TestEnum.entries.<get-entries>|6962221716588245012[0]
// Public signature debug description: <get-entries>#static(){}kotlin.enums.EnumEntries<TestEnum>
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#<get-entries>#static(){}
// Public signature: /TestEnum.entries.<get-entries>|-6068527377476727729[0]
// Public signature debug description: <get-entries>#static(){}
get(): EnumEntries<TestEnum>
// CHECK:
// Mangled name: TestEnum{}name
// Public signature: /TestEnum.name|4231860309499509769[0]
// Public signature debug description: {}name
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: TestEnum#<get-name>(){}kotlin.String
// Public signature: /TestEnum.name.<get-name>|-8006111524522882650[0]
// Public signature debug description: <get-name>(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#<get-name>(){}
// Public signature: /TestEnum.name.<get-name>|5879344792307730109[0]
// Public signature debug description: <get-name>(){}
/* fake */ override get(): String
// CHECK:
// Mangled name: TestEnum{}ordinal
// Public signature: /TestEnum.ordinal|1912745122988592376[0]
// Public signature debug description: {}ordinal
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: TestEnum#<get-ordinal>(){}kotlin.Int
// Public signature: /TestEnum.ordinal.<get-ordinal>|-6902664390061762634[0]
// Public signature debug description: <get-ordinal>(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#<get-ordinal>(){}
// Public signature: /TestEnum.ordinal.<get-ordinal>|8409904226035914023[0]
// Public signature debug description: <get-ordinal>(){}
/* fake */ override get(): Int
}
@@ -1,4 +1,4 @@
// SKIP_SIGNATURE_DUMP
// SEPARATE_SIGNATURE_DUMP_FOR_K2
// ^ Difference in annotations generated by K1 and K2
annotation class TestAnn(val x: String)
@@ -0,0 +1,253 @@
// CHECK:
// Mangled name: TestAnn
// Public signature: /TestAnn|null[0]
open annotation class TestAnn : Annotation {
// CHECK:
// Mangled name: TestAnn{}x
// Public signature: /TestAnn.x|-8060530855978347579[0]
// Public signature debug description: {}x
val x: String
// CHECK JVM_IR:
// Mangled name: TestAnn#<get-x>(){}kotlin.String
// Public signature: /TestAnn.x.<get-x>|316111172223894646[0]
// Public signature debug description: <get-x>(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: TestAnn#<get-x>(){}
// Public signature: /TestAnn.x.<get-x>|1482705010654679335[0]
// Public signature debug description: <get-x>(){}
get
// CHECK:
// Mangled name: TestAnn#<init>(kotlin.String){}
// Public signature: /TestAnn.<init>|1280618353163213788[0]
// Public signature debug description: <init>(kotlin.String){}
constructor(x: String) /* primary */
}
// CHECK:
// Mangled name: TestEnum
// Public signature: /TestEnum|null[0]
open enum class TestEnum : Enum<TestEnum> {
// CHECK:
// Mangled name: TestEnum#<init>(){}
// Public signature: /TestEnum.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK:
// Mangled name: TestEnum.ENTRY1
// Public signature: /TestEnum.ENTRY1|null[0]
@TestAnn(x = "ENTRY1")
ENTRY1
// CHECK:
// Mangled name: TestEnum.ENTRY2
// Public signature: /TestEnum.ENTRY2|null[0]
@TestAnn(x = "ENTRY2")
ENTRY2
// CHECK:
// Mangled name: TestEnum.ENTRY2
// Public signature: /TestEnum.ENTRY2.<EEC>|null[0]
@TestAnn(x = "ENTRY2")
private enum entry class ENTRY2 : TestEnum {
// CHECK:
// Mangled name: TestEnum.ENTRY2{}x
// Public signature: /TestEnum.ENTRY2.<EEC>.x|-8060530855978347579[0]
// Public signature debug description: {}x
val x: Int
// CHECK JVM_IR:
// Mangled name: TestEnum.ENTRY2#<get-x>(){}kotlin.Int
// Public signature: /TestEnum.ENTRY2.<EEC>.x.<get-x>|4966956098150895696[0]
// Public signature debug description: <get-x>(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum.ENTRY2#<get-x>(){}
// Public signature: /TestEnum.ENTRY2.<EEC>.x.<get-x>|1482705010654679335[0]
// Public signature debug description: <get-x>(){}
get
// CHECK:
// Mangled name: TestEnum.ENTRY2#<init>(){}
// Public signature: /TestEnum.ENTRY2.<EEC>.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: TestEnum.ENTRY2#compareTo(TestEnum){}kotlin.Int
// Public signature: /TestEnum.ENTRY2.<EEC>.compareTo|7559751212169934687[0]
// Public signature debug description: compareTo(TestEnum){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum.ENTRY2#compareTo(TestEnum){}
// Public signature: /TestEnum.ENTRY2.<EEC>.compareTo|7350720606720122863[0]
// Public signature debug description: compareTo(TestEnum){}
/* fake */ override operator fun compareTo(other: TestEnum): Int
// CHECK JVM_IR:
// Mangled name: TestEnum.ENTRY2#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /TestEnum.ENTRY2.<EEC>.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum.ENTRY2#equals(kotlin.Any?){}
// Public signature: /TestEnum.ENTRY2.<EEC>.equals|4638265728071529943[0]
// Public signature debug description: equals(kotlin.Any?){}
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: TestEnum.ENTRY2#hashCode(){}kotlin.Int
// Public signature: /TestEnum.ENTRY2.<EEC>.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum.ENTRY2#hashCode(){}
// Public signature: /TestEnum.ENTRY2.<EEC>.hashCode|3409210261493131192[0]
// Public signature debug description: hashCode(){}
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: TestEnum.ENTRY2#toString(){}kotlin.String
// Public signature: /TestEnum.ENTRY2.<EEC>.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum.ENTRY2#toString(){}
// Public signature: /TestEnum.ENTRY2.<EEC>.toString|-1522858123163872138[0]
// Public signature debug description: toString(){}
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: TestEnum.ENTRY2{}name
// Public signature: /TestEnum.ENTRY2.<EEC>.name|4231860309499509769[0]
// Public signature debug description: {}name
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: TestEnum.ENTRY2#<get-name>(){}kotlin.String
// Public signature: /TestEnum.ENTRY2.<EEC>.name.<get-name>|-8006111524522882650[0]
// Public signature debug description: <get-name>(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum.ENTRY2#<get-name>(){}
// Public signature: /TestEnum.ENTRY2.<EEC>.name.<get-name>|5879344792307730109[0]
// Public signature debug description: <get-name>(){}
/* fake */ override get(): String
// CHECK:
// Mangled name: TestEnum.ENTRY2{}ordinal
// Public signature: /TestEnum.ENTRY2.<EEC>.ordinal|1912745122988592376[0]
// Public signature debug description: {}ordinal
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: TestEnum.ENTRY2#<get-ordinal>(){}kotlin.Int
// Public signature: /TestEnum.ENTRY2.<EEC>.ordinal.<get-ordinal>|-6902664390061762634[0]
// Public signature debug description: <get-ordinal>(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum.ENTRY2#<get-ordinal>(){}
// Public signature: /TestEnum.ENTRY2.<EEC>.ordinal.<get-ordinal>|8409904226035914023[0]
// Public signature debug description: <get-ordinal>(){}
/* fake */ override get(): Int
}
// CHECK JVM_IR:
// Mangled name: TestEnum#valueOf#static(kotlin.String){}TestEnum
// Public signature: /TestEnum.valueOf|1811575739170804829[0]
// Public signature debug description: valueOf#static(kotlin.String){}TestEnum
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#valueOf#static(kotlin.String){}
// Public signature: /TestEnum.valueOf|-4683474617854611729[0]
// Public signature debug description: valueOf#static(kotlin.String){}
fun valueOf(value: String): TestEnum
// CHECK JVM_IR:
// Mangled name: TestEnum#values#static(){}kotlin.Array<TestEnum>
// Public signature: /TestEnum.values|-4299804782350326897[0]
// Public signature debug description: values#static(){}kotlin.Array<TestEnum>
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#values#static(){}
// Public signature: /TestEnum.values|-8715569000920726747[0]
// Public signature debug description: values#static(){}
fun values(): Array<TestEnum>
// CHECK JVM_IR:
// Mangled name: TestEnum#compareTo(TestEnum){}kotlin.Int
// Public signature: /TestEnum.compareTo|7559751212169934687[0]
// Public signature debug description: compareTo(TestEnum){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#compareTo(TestEnum){}
// Public signature: /TestEnum.compareTo|7350720606720122863[0]
// Public signature debug description: compareTo(TestEnum){}
/* fake */ override operator fun compareTo(other: TestEnum): Int
// CHECK JVM_IR:
// Mangled name: TestEnum#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /TestEnum.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#equals(kotlin.Any?){}
// Public signature: /TestEnum.equals|4638265728071529943[0]
// Public signature debug description: equals(kotlin.Any?){}
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: TestEnum#hashCode(){}kotlin.Int
// Public signature: /TestEnum.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#hashCode(){}
// Public signature: /TestEnum.hashCode|3409210261493131192[0]
// Public signature debug description: hashCode(){}
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: TestEnum#toString(){}kotlin.String
// Public signature: /TestEnum.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#toString(){}
// Public signature: /TestEnum.toString|-1522858123163872138[0]
// Public signature debug description: toString(){}
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: TestEnum#static{}entries
// Public signature: /TestEnum.entries|-5134227801081826149[0]
// Public signature debug description: #static{}entries
val entries: EnumEntries<TestEnum>
// CHECK JVM_IR:
// Mangled name: TestEnum#<get-entries>#static(){}kotlin.enums.EnumEntries<TestEnum>
// Public signature: /TestEnum.entries.<get-entries>|6962221716588245012[0]
// Public signature debug description: <get-entries>#static(){}kotlin.enums.EnumEntries<TestEnum>
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#<get-entries>#static(){}
// Public signature: /TestEnum.entries.<get-entries>|-6068527377476727729[0]
// Public signature debug description: <get-entries>#static(){}
get(): EnumEntries<TestEnum>
// CHECK:
// Mangled name: TestEnum{}name
// Public signature: /TestEnum.name|4231860309499509769[0]
// Public signature debug description: {}name
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: TestEnum#<get-name>(){}kotlin.String
// Public signature: /TestEnum.name.<get-name>|-8006111524522882650[0]
// Public signature debug description: <get-name>(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#<get-name>(){}
// Public signature: /TestEnum.name.<get-name>|5879344792307730109[0]
// Public signature debug description: <get-name>(){}
/* fake */ override get(): String
// CHECK:
// Mangled name: TestEnum{}ordinal
// Public signature: /TestEnum.ordinal|1912745122988592376[0]
// Public signature debug description: {}ordinal
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: TestEnum#<get-ordinal>(){}kotlin.Int
// Public signature: /TestEnum.ordinal.<get-ordinal>|-6902664390061762634[0]
// Public signature debug description: <get-ordinal>(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#<get-ordinal>(){}
// Public signature: /TestEnum.ordinal.<get-ordinal>|8409904226035914023[0]
// Public signature debug description: <get-ordinal>(){}
/* fake */ override get(): Int
}
@@ -0,0 +1,246 @@
// CHECK:
// Mangled name: Anno
// Public signature: /Anno|null[0]
open annotation class Anno : Annotation {
// CHECK:
// Mangled name: Anno{}token
// Public signature: /Anno.token|-1474644848610526691[0]
// Public signature debug description: {}token
val token: String
// CHECK JVM_IR:
// Mangled name: Anno#<get-token>(){}kotlin.String
// Public signature: /Anno.token.<get-token>|-7990759666918264390[0]
// Public signature debug description: <get-token>(){}kotlin.String
get
// CHECK:
// Mangled name: Anno#<init>(kotlin.String){}
// Public signature: /Anno.<init>|1280618353163213788[0]
// Public signature debug description: <init>(kotlin.String){}
constructor(token: String) /* primary */
}
// CHECK:
// Mangled name: Annos
// Public signature: /Annos|null[0]
open annotation class Annos : Annotation {
// CHECK:
// Mangled name: Annos{}value
// Public signature: /Annos.value|1987073854177347439[0]
// Public signature debug description: {}value
val value: Array<Anno>
// CHECK JVM_IR:
// Mangled name: Annos#<get-value>(){}kotlin.Array<Anno>
// Public signature: /Annos.value.<get-value>|-4069060984573284016[0]
// Public signature debug description: <get-value>(){}kotlin.Array<Anno>
get
// CHECK:
// Mangled name: Annos#<init>(kotlin.Array<Anno>){}
// Public signature: /Annos.<init>|1175794361085023797[0]
// Public signature debug description: <init>(kotlin.Array<Anno>){}
constructor(value: Array<Anno>) /* primary */
}
// CHECK:
// Mangled name: Classes
// Public signature: /Classes|null[0]
open annotation class Classes : Annotation {
// CHECK:
// Mangled name: Classes{}value
// Public signature: /Classes.value|1987073854177347439[0]
// Public signature debug description: {}value
val value: Array<KClass<*>>
// CHECK JVM_IR:
// Mangled name: Classes#<get-value>(){}kotlin.Array<kotlin.reflect.KClass<*>>
// Public signature: /Classes.value.<get-value>|7741303810693223775[0]
// Public signature debug description: <get-value>(){}kotlin.Array<kotlin.reflect.KClass<*>>
get
// CHECK:
// Mangled name: Classes#<init>(kotlin.Array<kotlin.reflect.KClass<*>>){}
// Public signature: /Classes.<init>|-7037593412282832873[0]
// Public signature debug description: <init>(kotlin.Array<kotlin.reflect.KClass<*>>){}
constructor(value: Array<KClass<*>>) /* primary */
}
// CHECK:
// Mangled name: Enums
// Public signature: /Enums|null[0]
open annotation class Enums : Annotation {
// CHECK:
// Mangled name: Enums{}value
// Public signature: /Enums.value|1987073854177347439[0]
// Public signature debug description: {}value
val value: Array<E>
// CHECK JVM_IR:
// Mangled name: Enums#<get-value>(){}kotlin.Array<E>
// Public signature: /Enums.value.<get-value>|6387785805560718811[0]
// Public signature debug description: <get-value>(){}kotlin.Array<E>
get
// CHECK:
// Mangled name: Enums#<init>(kotlin.Array<E>){}
// Public signature: /Enums.<init>|-3621344537085490519[0]
// Public signature debug description: <init>(kotlin.Array<E>){}
constructor(value: Array<E>) /* primary */
}
// CHECK:
// Mangled name: Ints
// Public signature: /Ints|null[0]
open annotation class Ints : Annotation {
// CHECK:
// Mangled name: Ints{}value
// Public signature: /Ints.value|1987073854177347439[0]
// Public signature debug description: {}value
val value: IntArray
// CHECK JVM_IR:
// Mangled name: Ints#<get-value>(){}kotlin.IntArray
// Public signature: /Ints.value.<get-value>|-5427747971978269276[0]
// Public signature debug description: <get-value>(){}kotlin.IntArray
get
// CHECK:
// Mangled name: Ints#<init>(kotlin.IntArray){}
// Public signature: /Ints.<init>|6811679238332965682[0]
// Public signature debug description: <init>(kotlin.IntArray){}
constructor(value: IntArray) /* primary */
}
// CHECK:
// Mangled name: Strings
// Public signature: /Strings|null[0]
open annotation class Strings : Annotation {
// CHECK:
// Mangled name: Strings{}value
// Public signature: /Strings.value|1987073854177347439[0]
// Public signature debug description: {}value
val value: Array<String>
// CHECK JVM_IR:
// Mangled name: Strings#<get-value>(){}kotlin.Array<kotlin.String>
// Public signature: /Strings.value.<get-value>|-7769950459445256373[0]
// Public signature debug description: <get-value>(){}kotlin.Array<kotlin.String>
get
// CHECK:
// Mangled name: Strings#<init>(kotlin.Array<kotlin.String>){}
// Public signature: /Strings.<init>|5393043463829665764[0]
// Public signature debug description: <init>(kotlin.Array<kotlin.String>){}
constructor(value: Array<String>) /* primary */
}
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C : A {
// CHECK:
// Mangled name: C#<init>(){}
// Public signature: /C.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK:
// Mangled name: C#test(){}
// Public signature: /C.test|6620506149988718649[0]
// Public signature debug description: test(){}
@Annos(value = Anno(token = "OK"))
@Strings(value = "OK")
@Ints(value = 42)
@Enums(value = E.EA)
@Classes(value = Double::class)
/* fake */ override fun test(): Unit
}
// CHECK:
// Mangled name: E
// Public signature: /E|null[0]
enum class E : Enum<E> {
// CHECK:
// Mangled name: E#<init>(){}
// Public signature: /E.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK:
// Mangled name: E.EA
// Public signature: /E.EA|null[0]
EA
// 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<E>
// Public signature: /E.values|4921695905454219855[0]
// Public signature debug description: values#static(){}kotlin.Array<E>
fun values(): Array<E>
// 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 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<E>
// CHECK JVM_IR:
// Mangled name: E#<get-entries>#static(){}kotlin.enums.EnumEntries<E>
// Public signature: /E.entries.<get-entries>|2481970109947815388[0]
// Public signature debug description: <get-entries>#static(){}kotlin.enums.EnumEntries<E>
get(): EnumEntries<E>
// 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#<get-name>(){}kotlin.String
// Public signature: /E.name.<get-name>|-8006111524522882650[0]
// Public signature debug description: <get-name>(){}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#<get-ordinal>(){}kotlin.Int
// Public signature: /E.ordinal.<get-ordinal>|-6902664390061762634[0]
// Public signature debug description: <get-ordinal>(){}kotlin.Int
/* fake */ override get(): Int
}
@@ -1,7 +1,7 @@
// SKIP_KT_DUMP
// TARGET_BACKEND: JVM
// SKIP_SIGNATURE_DUMP
// SEPARATE_SIGNATURE_DUMP_FOR_K2
// ^ Different types in annotations generated by K1 and K2
// FILE: A.java
@@ -0,0 +1,246 @@
// CHECK:
// Mangled name: Anno
// Public signature: /Anno|null[0]
open annotation class Anno : Annotation {
// CHECK:
// Mangled name: Anno{}token
// Public signature: /Anno.token|-1474644848610526691[0]
// Public signature debug description: {}token
val token: String
// CHECK JVM_IR:
// Mangled name: Anno#<get-token>(){}kotlin.String
// Public signature: /Anno.token.<get-token>|-7990759666918264390[0]
// Public signature debug description: <get-token>(){}kotlin.String
get
// CHECK:
// Mangled name: Anno#<init>(kotlin.String){}
// Public signature: /Anno.<init>|1280618353163213788[0]
// Public signature debug description: <init>(kotlin.String){}
constructor(token: String) /* primary */
}
// CHECK:
// Mangled name: Annos
// Public signature: /Annos|null[0]
open annotation class Annos : Annotation {
// CHECK:
// Mangled name: Annos{}value
// Public signature: /Annos.value|1987073854177347439[0]
// Public signature debug description: {}value
val value: Array<Anno>
// CHECK JVM_IR:
// Mangled name: Annos#<get-value>(){}kotlin.Array<Anno>
// Public signature: /Annos.value.<get-value>|-4069060984573284016[0]
// Public signature debug description: <get-value>(){}kotlin.Array<Anno>
get
// CHECK:
// Mangled name: Annos#<init>(kotlin.Array<Anno>){}
// Public signature: /Annos.<init>|1175794361085023797[0]
// Public signature debug description: <init>(kotlin.Array<Anno>){}
constructor(value: Array<Anno>) /* primary */
}
// CHECK:
// Mangled name: Classes
// Public signature: /Classes|null[0]
open annotation class Classes : Annotation {
// CHECK:
// Mangled name: Classes{}value
// Public signature: /Classes.value|1987073854177347439[0]
// Public signature debug description: {}value
val value: Array<KClass<*>>
// CHECK JVM_IR:
// Mangled name: Classes#<get-value>(){}kotlin.Array<kotlin.reflect.KClass<*>>
// Public signature: /Classes.value.<get-value>|7741303810693223775[0]
// Public signature debug description: <get-value>(){}kotlin.Array<kotlin.reflect.KClass<*>>
get
// CHECK:
// Mangled name: Classes#<init>(kotlin.Array<kotlin.reflect.KClass<*>>){}
// Public signature: /Classes.<init>|-7037593412282832873[0]
// Public signature debug description: <init>(kotlin.Array<kotlin.reflect.KClass<*>>){}
constructor(value: Array<KClass<*>>) /* primary */
}
// CHECK:
// Mangled name: Enums
// Public signature: /Enums|null[0]
open annotation class Enums : Annotation {
// CHECK:
// Mangled name: Enums{}value
// Public signature: /Enums.value|1987073854177347439[0]
// Public signature debug description: {}value
val value: Array<E>
// CHECK JVM_IR:
// Mangled name: Enums#<get-value>(){}kotlin.Array<E>
// Public signature: /Enums.value.<get-value>|6387785805560718811[0]
// Public signature debug description: <get-value>(){}kotlin.Array<E>
get
// CHECK:
// Mangled name: Enums#<init>(kotlin.Array<E>){}
// Public signature: /Enums.<init>|-3621344537085490519[0]
// Public signature debug description: <init>(kotlin.Array<E>){}
constructor(value: Array<E>) /* primary */
}
// CHECK:
// Mangled name: Ints
// Public signature: /Ints|null[0]
open annotation class Ints : Annotation {
// CHECK:
// Mangled name: Ints{}value
// Public signature: /Ints.value|1987073854177347439[0]
// Public signature debug description: {}value
val value: IntArray
// CHECK JVM_IR:
// Mangled name: Ints#<get-value>(){}kotlin.IntArray
// Public signature: /Ints.value.<get-value>|-5427747971978269276[0]
// Public signature debug description: <get-value>(){}kotlin.IntArray
get
// CHECK:
// Mangled name: Ints#<init>(kotlin.IntArray){}
// Public signature: /Ints.<init>|6811679238332965682[0]
// Public signature debug description: <init>(kotlin.IntArray){}
constructor(value: IntArray) /* primary */
}
// CHECK:
// Mangled name: Strings
// Public signature: /Strings|null[0]
open annotation class Strings : Annotation {
// CHECK:
// Mangled name: Strings{}value
// Public signature: /Strings.value|1987073854177347439[0]
// Public signature debug description: {}value
val value: Array<String>
// CHECK JVM_IR:
// Mangled name: Strings#<get-value>(){}kotlin.Array<kotlin.String>
// Public signature: /Strings.value.<get-value>|-7769950459445256373[0]
// Public signature debug description: <get-value>(){}kotlin.Array<kotlin.String>
get
// CHECK:
// Mangled name: Strings#<init>(kotlin.Array<kotlin.String>){}
// Public signature: /Strings.<init>|5393043463829665764[0]
// Public signature debug description: <init>(kotlin.Array<kotlin.String>){}
constructor(value: Array<String>) /* primary */
}
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C : A {
// CHECK:
// Mangled name: C#<init>(){}
// Public signature: /C.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK:
// Mangled name: C#test(){}
// Public signature: /C.test|6620506149988718649[0]
// Public signature debug description: test(){}
@Annos(value = [Anno(token = "OK")])
@Strings(value = ["OK"])
@Ints(value = [42])
@Enums(value = [E.EA])
@Classes(value = [Double::class])
/* fake */ override fun test(): Unit
}
// CHECK:
// Mangled name: E
// Public signature: /E|null[0]
enum class E : Enum<E> {
// CHECK:
// Mangled name: E#<init>(){}
// Public signature: /E.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK:
// Mangled name: E.EA
// Public signature: /E.EA|null[0]
EA
// 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<E>
// Public signature: /E.values|4921695905454219855[0]
// Public signature debug description: values#static(){}kotlin.Array<E>
fun values(): Array<E>
// 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 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<E>
// CHECK JVM_IR:
// Mangled name: E#<get-entries>#static(){}kotlin.enums.EnumEntries<E>
// Public signature: /E.entries.<get-entries>|2481970109947815388[0]
// Public signature debug description: <get-entries>#static(){}kotlin.enums.EnumEntries<E>
get(): EnumEntries<E>
// 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#<get-name>(){}kotlin.String
// Public signature: /E.name.<get-name>|-8006111524522882650[0]
// Public signature debug description: <get-name>(){}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#<get-ordinal>(){}kotlin.Int
// Public signature: /E.ordinal.<get-ordinal>|-6902664390061762634[0]
// Public signature debug description: <get-ordinal>(){}kotlin.Int
/* fake */ override get(): Int
}
@@ -0,0 +1,33 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
open annotation class A : Annotation {
// CHECK:
// Mangled name: A{}xs
// Public signature: /A.xs|1063330853857063704[0]
// Public signature debug description: {}xs
val xs: Array<out String>
// CHECK JVM_IR:
// Mangled name: A#<get-xs>(){}kotlin.Array<out|kotlin.String>
// Public signature: /A.xs.<get-xs>|9188548163055185324[0]
// Public signature debug description: <get-xs>(){}kotlin.Array<out|kotlin.String>
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-xs>(){}
// Public signature: /A.xs.<get-xs>|-6958094100501701183[0]
// Public signature debug description: <get-xs>(){}
get
// CHECK:
// Mangled name: A#<init>(kotlin.Array<out|kotlin.String>...){}
// Public signature: /A.<init>|-6780234697714860085[0]
// Public signature debug description: <init>(kotlin.Array<out|kotlin.String>...){}
constructor(vararg xs: String) /* primary */
}
// CHECK:
// Mangled name: #test(){}
// Public signature: /test|6620506149988718649[0]
// Public signature debug description: test(){}
@A(xs = ["a", "b"])
fun test(): Unit
@@ -1,5 +1,5 @@
// SKIP_SIGNATURE_DUMP
// ^ KT-60136
// SEPARATE_SIGNATURE_DUMP_FOR_K2
// ^ KT-60136: Spread operator works incorrectly in K1, but correctly in K2.
annotation class A(vararg val xs: String)
@@ -0,0 +1,33 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
open annotation class A : Annotation {
// CHECK:
// Mangled name: A{}xs
// Public signature: /A.xs|1063330853857063704[0]
// Public signature debug description: {}xs
val xs: Array<out String>
// CHECK JVM_IR:
// Mangled name: A#<get-xs>(){}kotlin.Array<out|kotlin.String>
// Public signature: /A.xs.<get-xs>|9188548163055185324[0]
// Public signature debug description: <get-xs>(){}kotlin.Array<out|kotlin.String>
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-xs>(){}
// Public signature: /A.xs.<get-xs>|-6958094100501701183[0]
// Public signature debug description: <get-xs>(){}
get
// CHECK:
// Mangled name: A#<init>(kotlin.Array<out|kotlin.String>...){}
// Public signature: /A.<init>|-6780234697714860085[0]
// Public signature debug description: <init>(kotlin.Array<out|kotlin.String>...){}
constructor(vararg xs: String) /* primary */
}
// CHECK:
// Mangled name: #test(){}
// Public signature: /test|6620506149988718649[0]
// Public signature debug description: test(){}
@A(xs = [["a"], ["b"]])
fun test(): Unit
@@ -0,0 +1,22 @@
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C {
// CHECK:
// Mangled name: C#<init>(){}
// Public signature: /C.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
}
// CHECK:
// Mangled name: #foo(){}
// Public signature: /foo|-1041209573719867811[0]
// Public signature debug description: foo(){}
fun foo(): Unit
// CHECK:
// Mangled name: Test1
// Public signature: /Test1|null[0]
typealias Test1 = String
+1 -1
View File
@@ -1,4 +1,4 @@
// SKIP_SIGNATURE_DUMP
// SEPARATE_SIGNATURE_DUMP_FOR_K2
// ^ KT-45285
typealias Test1 = String
@@ -0,0 +1,26 @@
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C {
// CHECK:
// Mangled name: C#<init>(){}
// Public signature: /C.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK:
// Mangled name: C.TestNested
// Public signature: /C.TestNested|null[0]
typealias TestNested = String
}
// CHECK:
// Mangled name: #foo(){}
// Public signature: /foo|-1041209573719867811[0]
// Public signature debug description: foo(){}
fun foo(): Unit
// CHECK:
// Mangled name: Test1
// Public signature: /Test1|null[0]
typealias Test1 = String
@@ -0,0 +1,266 @@
// CHECK:
// Mangled name: MyEnum
// Public signature: /MyEnum|null[0]
open enum class MyEnum : Enum<MyEnum> {
// CHECK:
// Mangled name: MyEnum#<init>(){}
// Public signature: /MyEnum.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK:
// Mangled name: MyEnum.Z
// Public signature: /MyEnum.Z|null[0]
Z
// CHECK:
// Mangled name: MyEnum.Z
// Public signature: /MyEnum.Z.<EEC>|null[0]
private enum entry class Z : MyEnum {
// CHECK:
// Mangled name: MyEnum.Z{}counter
// Public signature: /MyEnum.Z.<EEC>.counter|3849500605769271673[0]
// Public signature debug description: {}counter
var counter: Int
// CHECK JVM_IR:
// Mangled name: MyEnum.Z#<get-counter>(){}kotlin.Int
// Public signature: /MyEnum.Z.<EEC>.counter.<get-counter>|6416265643848993228[0]
// Public signature debug description: <get-counter>(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum.Z#<get-counter>(){}
// Public signature: /MyEnum.Z.<EEC>.counter.<get-counter>|6903507550118978958[0]
// Public signature debug description: <get-counter>(){}
get
// CHECK:
// Mangled name: MyEnum.Z#<set-counter>(kotlin.Int){}
// Public signature: /MyEnum.Z.<EEC>.counter.<set-counter>|-8124462411591632783[0]
// Public signature debug description: <set-counter>(kotlin.Int){}
set
// CHECK:
// Mangled name: MyEnum.Z{}aLambda
// Public signature: /MyEnum.Z.<EEC>.aLambda|3337321219156655813[0]
// Public signature debug description: {}aLambda
val aLambda: Function0<Unit>
// CHECK JVM_IR:
// Mangled name: MyEnum.Z#<get-aLambda>(){}kotlin.Function0<kotlin.Unit>
// Public signature: /MyEnum.Z.<EEC>.aLambda.<get-aLambda>|9058518221524596568[0]
// Public signature debug description: <get-aLambda>(){}kotlin.Function0<kotlin.Unit>
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum.Z#<get-aLambda>(){}
// Public signature: /MyEnum.Z.<EEC>.aLambda.<get-aLambda>|8927671768328125269[0]
// Public signature debug description: <get-aLambda>(){}
get
// CHECK:
// Mangled name: MyEnum.Z{}anObject
// Public signature: /MyEnum.Z.<EEC>.anObject|409091113626572731[0]
// Public signature debug description: {}anObject
val anObject: <no name provided>
// CHECK JVM_IR:
// Mangled name (compatible mode: false): MyEnum.Z#<get-anObject>(){}MyEnum.Z{}anObject.<no name provided>
// Mangled name (compatible mode: true): MyEnum.Z#<get-anObject>(){}MyEnum.Z.anObject.<no name provided>
// Public signature: /MyEnum.Z.<EEC>.anObject.<get-anObject>|1111532556475596471[0]
// Public signature debug description: <get-anObject>(){}MyEnum.Z{}anObject.<no name provided>
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum.Z#<get-anObject>(){}
// Public signature: /MyEnum.Z.<EEC>.anObject.<get-anObject>|6468357437342963609[0]
// Public signature debug description: <get-anObject>(){}
get
// CHECK:
// Mangled name: MyEnum.Z#<init>(){}
// Public signature: /MyEnum.Z.<EEC>.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: MyEnum.Z#compareTo(MyEnum){}kotlin.Int
// Public signature: /MyEnum.Z.<EEC>.compareTo|2015858924903177055[0]
// Public signature debug description: compareTo(MyEnum){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum.Z#compareTo(MyEnum){}
// Public signature: /MyEnum.Z.<EEC>.compareTo|-1404018836780573573[0]
// Public signature debug description: compareTo(MyEnum){}
/* fake */ override operator fun compareTo(other: MyEnum): Int
// CHECK JVM_IR:
// Mangled name: MyEnum.Z#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /MyEnum.Z.<EEC>.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum.Z#equals(kotlin.Any?){}
// Public signature: /MyEnum.Z.<EEC>.equals|4638265728071529943[0]
// Public signature debug description: equals(kotlin.Any?){}
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: MyEnum.Z#hashCode(){}kotlin.Int
// Public signature: /MyEnum.Z.<EEC>.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum.Z#hashCode(){}
// Public signature: /MyEnum.Z.<EEC>.hashCode|3409210261493131192[0]
// Public signature debug description: hashCode(){}
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: MyEnum.Z#toString(){}kotlin.String
// Public signature: /MyEnum.Z.<EEC>.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum.Z#toString(){}
// Public signature: /MyEnum.Z.<EEC>.toString|-1522858123163872138[0]
// Public signature debug description: toString(){}
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: MyEnum.Z#bar(){}
// Public signature: /MyEnum.Z.<EEC>.bar|496682602797471549[0]
// Public signature debug description: bar(){}
fun bar(): Unit
// CHECK:
// Mangled name: MyEnum.Z#foo(){}
// Public signature: /MyEnum.Z.<EEC>.foo|-1041209573719867811[0]
// Public signature debug description: foo(){}
fun foo(): Unit
// CHECK:
// Mangled name: MyEnum.Z{}name
// Public signature: /MyEnum.Z.<EEC>.name|4231860309499509769[0]
// Public signature debug description: {}name
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: MyEnum.Z#<get-name>(){}kotlin.String
// Public signature: /MyEnum.Z.<EEC>.name.<get-name>|-8006111524522882650[0]
// Public signature debug description: <get-name>(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum.Z#<get-name>(){}
// Public signature: /MyEnum.Z.<EEC>.name.<get-name>|5879344792307730109[0]
// Public signature debug description: <get-name>(){}
/* fake */ override get(): String
// CHECK:
// Mangled name: MyEnum.Z{}ordinal
// Public signature: /MyEnum.Z.<EEC>.ordinal|1912745122988592376[0]
// Public signature debug description: {}ordinal
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: MyEnum.Z#<get-ordinal>(){}kotlin.Int
// Public signature: /MyEnum.Z.<EEC>.ordinal.<get-ordinal>|-6902664390061762634[0]
// Public signature debug description: <get-ordinal>(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum.Z#<get-ordinal>(){}
// Public signature: /MyEnum.Z.<EEC>.ordinal.<get-ordinal>|8409904226035914023[0]
// Public signature debug description: <get-ordinal>(){}
/* fake */ override get(): Int
}
// CHECK JVM_IR:
// Mangled name: MyEnum#valueOf#static(kotlin.String){}MyEnum
// Public signature: /MyEnum.valueOf|4316550590519800984[0]
// Public signature debug description: valueOf#static(kotlin.String){}MyEnum
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#valueOf#static(kotlin.String){}
// Public signature: /MyEnum.valueOf|-4683474617854611729[0]
// Public signature debug description: valueOf#static(kotlin.String){}
fun valueOf(value: String): MyEnum
// CHECK JVM_IR:
// Mangled name: MyEnum#values#static(){}kotlin.Array<MyEnum>
// Public signature: /MyEnum.values|3097625172661156808[0]
// Public signature debug description: values#static(){}kotlin.Array<MyEnum>
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#values#static(){}
// Public signature: /MyEnum.values|-8715569000920726747[0]
// Public signature debug description: values#static(){}
fun values(): Array<MyEnum>
// CHECK JVM_IR:
// Mangled name: MyEnum#compareTo(MyEnum){}kotlin.Int
// Public signature: /MyEnum.compareTo|2015858924903177055[0]
// Public signature debug description: compareTo(MyEnum){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#compareTo(MyEnum){}
// Public signature: /MyEnum.compareTo|-1404018836780573573[0]
// Public signature debug description: compareTo(MyEnum){}
/* fake */ override operator fun compareTo(other: MyEnum): Int
// CHECK JVM_IR:
// Mangled name: MyEnum#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /MyEnum.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#equals(kotlin.Any?){}
// Public signature: /MyEnum.equals|4638265728071529943[0]
// Public signature debug description: equals(kotlin.Any?){}
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: MyEnum#hashCode(){}kotlin.Int
// Public signature: /MyEnum.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#hashCode(){}
// Public signature: /MyEnum.hashCode|3409210261493131192[0]
// Public signature debug description: hashCode(){}
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: MyEnum#toString(){}kotlin.String
// Public signature: /MyEnum.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#toString(){}
// Public signature: /MyEnum.toString|-1522858123163872138[0]
// Public signature debug description: toString(){}
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: MyEnum#static{}entries
// Public signature: /MyEnum.entries|-5134227801081826149[0]
// Public signature debug description: #static{}entries
val entries: EnumEntries<MyEnum>
// CHECK JVM_IR:
// Mangled name: MyEnum#<get-entries>#static(){}kotlin.enums.EnumEntries<MyEnum>
// Public signature: /MyEnum.entries.<get-entries>|-3922959509726908718[0]
// Public signature debug description: <get-entries>#static(){}kotlin.enums.EnumEntries<MyEnum>
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#<get-entries>#static(){}
// Public signature: /MyEnum.entries.<get-entries>|-6068527377476727729[0]
// Public signature debug description: <get-entries>#static(){}
get(): EnumEntries<MyEnum>
// CHECK:
// Mangled name: MyEnum{}name
// Public signature: /MyEnum.name|4231860309499509769[0]
// Public signature debug description: {}name
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: MyEnum#<get-name>(){}kotlin.String
// Public signature: /MyEnum.name.<get-name>|-8006111524522882650[0]
// Public signature debug description: <get-name>(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#<get-name>(){}
// Public signature: /MyEnum.name.<get-name>|5879344792307730109[0]
// Public signature debug description: <get-name>(){}
/* fake */ override get(): String
// CHECK:
// Mangled name: MyEnum{}ordinal
// Public signature: /MyEnum.ordinal|1912745122988592376[0]
// Public signature debug description: {}ordinal
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: MyEnum#<get-ordinal>(){}kotlin.Int
// Public signature: /MyEnum.ordinal.<get-ordinal>|-6902664390061762634[0]
// Public signature debug description: <get-ordinal>(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#<get-ordinal>(){}
// Public signature: /MyEnum.ordinal.<get-ordinal>|8409904226035914023[0]
// Public signature debug description: <get-ordinal>(){}
/* fake */ override get(): Int
}
@@ -1,4 +1,4 @@
// SKIP_SIGNATURE_DUMP
// SEPARATE_SIGNATURE_DUMP_FOR_K2
// ^ Types of properties of anonymous classes generated by K1 and K2 are different
enum class MyEnum {
@@ -0,0 +1,265 @@
// CHECK:
// Mangled name: MyEnum
// Public signature: /MyEnum|null[0]
open enum class MyEnum : Enum<MyEnum> {
// CHECK:
// Mangled name: MyEnum#<init>(){}
// Public signature: /MyEnum.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK:
// Mangled name: MyEnum.Z
// Public signature: /MyEnum.Z|null[0]
Z
// CHECK:
// Mangled name: MyEnum.Z
// Public signature: /MyEnum.Z.<EEC>|null[0]
private enum entry class Z : MyEnum {
// CHECK:
// Mangled name: MyEnum.Z{}counter
// Public signature: /MyEnum.Z.<EEC>.counter|3849500605769271673[0]
// Public signature debug description: {}counter
var counter: Int
// CHECK JVM_IR:
// Mangled name: MyEnum.Z#<get-counter>(){}kotlin.Int
// Public signature: /MyEnum.Z.<EEC>.counter.<get-counter>|6416265643848993228[0]
// Public signature debug description: <get-counter>(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum.Z#<get-counter>(){}
// Public signature: /MyEnum.Z.<EEC>.counter.<get-counter>|6903507550118978958[0]
// Public signature debug description: <get-counter>(){}
get
// CHECK:
// Mangled name: MyEnum.Z#<set-counter>(kotlin.Int){}
// Public signature: /MyEnum.Z.<EEC>.counter.<set-counter>|-8124462411591632783[0]
// Public signature debug description: <set-counter>(kotlin.Int){}
set
// CHECK:
// Mangled name: MyEnum.Z{}aLambda
// Public signature: /MyEnum.Z.<EEC>.aLambda|3337321219156655813[0]
// Public signature debug description: {}aLambda
val aLambda: Function0<Unit>
// CHECK JVM_IR:
// Mangled name: MyEnum.Z#<get-aLambda>(){}kotlin.Function0<kotlin.Unit>
// Public signature: /MyEnum.Z.<EEC>.aLambda.<get-aLambda>|9058518221524596568[0]
// Public signature debug description: <get-aLambda>(){}kotlin.Function0<kotlin.Unit>
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum.Z#<get-aLambda>(){}
// Public signature: /MyEnum.Z.<EEC>.aLambda.<get-aLambda>|8927671768328125269[0]
// Public signature debug description: <get-aLambda>(){}
get
// CHECK:
// Mangled name: MyEnum.Z{}anObject
// Public signature: /MyEnum.Z.<EEC>.anObject|409091113626572731[0]
// Public signature debug description: {}anObject
val anObject: Any
// CHECK JVM_IR:
// Mangled name: MyEnum.Z#<get-anObject>(){}kotlin.Any
// Public signature: /MyEnum.Z.<EEC>.anObject.<get-anObject>|-6807306499596507825[0]
// Public signature debug description: <get-anObject>(){}kotlin.Any
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum.Z#<get-anObject>(){}
// Public signature: /MyEnum.Z.<EEC>.anObject.<get-anObject>|6468357437342963609[0]
// Public signature debug description: <get-anObject>(){}
get
// CHECK:
// Mangled name: MyEnum.Z#<init>(){}
// Public signature: /MyEnum.Z.<EEC>.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: MyEnum.Z#compareTo(MyEnum){}kotlin.Int
// Public signature: /MyEnum.Z.<EEC>.compareTo|2015858924903177055[0]
// Public signature debug description: compareTo(MyEnum){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum.Z#compareTo(MyEnum){}
// Public signature: /MyEnum.Z.<EEC>.compareTo|-1404018836780573573[0]
// Public signature debug description: compareTo(MyEnum){}
/* fake */ override operator fun compareTo(other: MyEnum): Int
// CHECK JVM_IR:
// Mangled name: MyEnum.Z#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /MyEnum.Z.<EEC>.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum.Z#equals(kotlin.Any?){}
// Public signature: /MyEnum.Z.<EEC>.equals|4638265728071529943[0]
// Public signature debug description: equals(kotlin.Any?){}
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: MyEnum.Z#hashCode(){}kotlin.Int
// Public signature: /MyEnum.Z.<EEC>.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum.Z#hashCode(){}
// Public signature: /MyEnum.Z.<EEC>.hashCode|3409210261493131192[0]
// Public signature debug description: hashCode(){}
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: MyEnum.Z#toString(){}kotlin.String
// Public signature: /MyEnum.Z.<EEC>.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum.Z#toString(){}
// Public signature: /MyEnum.Z.<EEC>.toString|-1522858123163872138[0]
// Public signature debug description: toString(){}
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: MyEnum.Z#bar(){}
// Public signature: /MyEnum.Z.<EEC>.bar|496682602797471549[0]
// Public signature debug description: bar(){}
fun bar(): Unit
// CHECK:
// Mangled name: MyEnum.Z#foo(){}
// Public signature: /MyEnum.Z.<EEC>.foo|-1041209573719867811[0]
// Public signature debug description: foo(){}
fun foo(): Unit
// CHECK:
// Mangled name: MyEnum.Z{}name
// Public signature: /MyEnum.Z.<EEC>.name|4231860309499509769[0]
// Public signature debug description: {}name
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: MyEnum.Z#<get-name>(){}kotlin.String
// Public signature: /MyEnum.Z.<EEC>.name.<get-name>|-8006111524522882650[0]
// Public signature debug description: <get-name>(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum.Z#<get-name>(){}
// Public signature: /MyEnum.Z.<EEC>.name.<get-name>|5879344792307730109[0]
// Public signature debug description: <get-name>(){}
/* fake */ override get(): String
// CHECK:
// Mangled name: MyEnum.Z{}ordinal
// Public signature: /MyEnum.Z.<EEC>.ordinal|1912745122988592376[0]
// Public signature debug description: {}ordinal
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: MyEnum.Z#<get-ordinal>(){}kotlin.Int
// Public signature: /MyEnum.Z.<EEC>.ordinal.<get-ordinal>|-6902664390061762634[0]
// Public signature debug description: <get-ordinal>(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum.Z#<get-ordinal>(){}
// Public signature: /MyEnum.Z.<EEC>.ordinal.<get-ordinal>|8409904226035914023[0]
// Public signature debug description: <get-ordinal>(){}
/* fake */ override get(): Int
}
// CHECK JVM_IR:
// Mangled name: MyEnum#valueOf#static(kotlin.String){}MyEnum
// Public signature: /MyEnum.valueOf|4316550590519800984[0]
// Public signature debug description: valueOf#static(kotlin.String){}MyEnum
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#valueOf#static(kotlin.String){}
// Public signature: /MyEnum.valueOf|-4683474617854611729[0]
// Public signature debug description: valueOf#static(kotlin.String){}
fun valueOf(value: String): MyEnum
// CHECK JVM_IR:
// Mangled name: MyEnum#values#static(){}kotlin.Array<MyEnum>
// Public signature: /MyEnum.values|3097625172661156808[0]
// Public signature debug description: values#static(){}kotlin.Array<MyEnum>
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#values#static(){}
// Public signature: /MyEnum.values|-8715569000920726747[0]
// Public signature debug description: values#static(){}
fun values(): Array<MyEnum>
// CHECK JVM_IR:
// Mangled name: MyEnum#compareTo(MyEnum){}kotlin.Int
// Public signature: /MyEnum.compareTo|2015858924903177055[0]
// Public signature debug description: compareTo(MyEnum){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#compareTo(MyEnum){}
// Public signature: /MyEnum.compareTo|-1404018836780573573[0]
// Public signature debug description: compareTo(MyEnum){}
/* fake */ override operator fun compareTo(other: MyEnum): Int
// CHECK JVM_IR:
// Mangled name: MyEnum#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /MyEnum.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#equals(kotlin.Any?){}
// Public signature: /MyEnum.equals|4638265728071529943[0]
// Public signature debug description: equals(kotlin.Any?){}
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: MyEnum#hashCode(){}kotlin.Int
// Public signature: /MyEnum.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#hashCode(){}
// Public signature: /MyEnum.hashCode|3409210261493131192[0]
// Public signature debug description: hashCode(){}
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: MyEnum#toString(){}kotlin.String
// Public signature: /MyEnum.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#toString(){}
// Public signature: /MyEnum.toString|-1522858123163872138[0]
// Public signature debug description: toString(){}
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: MyEnum#static{}entries
// Public signature: /MyEnum.entries|-5134227801081826149[0]
// Public signature debug description: #static{}entries
val entries: EnumEntries<MyEnum>
// CHECK JVM_IR:
// Mangled name: MyEnum#<get-entries>#static(){}kotlin.enums.EnumEntries<MyEnum>
// Public signature: /MyEnum.entries.<get-entries>|-3922959509726908718[0]
// Public signature debug description: <get-entries>#static(){}kotlin.enums.EnumEntries<MyEnum>
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#<get-entries>#static(){}
// Public signature: /MyEnum.entries.<get-entries>|-6068527377476727729[0]
// Public signature debug description: <get-entries>#static(){}
get(): EnumEntries<MyEnum>
// CHECK:
// Mangled name: MyEnum{}name
// Public signature: /MyEnum.name|4231860309499509769[0]
// Public signature debug description: {}name
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: MyEnum#<get-name>(){}kotlin.String
// Public signature: /MyEnum.name.<get-name>|-8006111524522882650[0]
// Public signature debug description: <get-name>(){}kotlin.String
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#<get-name>(){}
// Public signature: /MyEnum.name.<get-name>|5879344792307730109[0]
// Public signature debug description: <get-name>(){}
/* fake */ override get(): String
// CHECK:
// Mangled name: MyEnum{}ordinal
// Public signature: /MyEnum.ordinal|1912745122988592376[0]
// Public signature debug description: {}ordinal
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: MyEnum#<get-ordinal>(){}kotlin.Int
// Public signature: /MyEnum.ordinal.<get-ordinal>|-6902664390061762634[0]
// Public signature debug description: <get-ordinal>(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: MyEnum#<get-ordinal>(){}
// Public signature: /MyEnum.ordinal.<get-ordinal>|8409904226035914023[0]
// Public signature debug description: <get-ordinal>(){}
/* fake */ override get(): Int
}
@@ -0,0 +1,193 @@
// CHECK:
// Mangled name: MyMap
// Public signature: /MyMap|null[0]
class MyMap<K : Any, V : Any> : AbstractMutableMap<K, V> {
// CHECK:
// Mangled name: MyMap#<init>(){}
// Public signature: /MyMap.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK:
// Mangled name: MyMap#clear(){}
// Public signature: /MyMap.clear|-6446868449915108923[0]
// Public signature debug description: clear(){}
/* fake */ override fun clear(): Unit
// CHECK JVM_IR:
// Mangled name: MyMap#clone(){}kotlin.Any?
// Public signature: /MyMap.clone|-7083896195458302612[0]
// Public signature debug description: clone(){}kotlin.Any?
protected_and_package /* fake */ override fun clone(): Any?
// CHECK JVM_IR:
// Mangled name: MyMap#compute(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1?,out|1:1?>{EnhancedNullability}){}1:1?
// Public signature: /MyMap.compute|8707373617613354757[0]
// Public signature debug description: compute(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1?,out|1:1?>{EnhancedNullability}){}1:1?
/* fake */ override fun compute(p0: @EnhancedNullability K, p1: @EnhancedNullability BiFunction<in @EnhancedNullability K, in V?, out V?>): V?
// CHECK JVM_IR:
// Mangled name: MyMap#computeIfAbsent(1:0{EnhancedNullability};java.util.function.Function<in|1:0{EnhancedNullability},out|1:1{EnhancedNullability}>{EnhancedNullability}){}1:1{EnhancedNullability}
// Public signature: /MyMap.computeIfAbsent|6152183439273290645[0]
// Public signature debug description: computeIfAbsent(1:0{EnhancedNullability};java.util.function.Function<in|1:0{EnhancedNullability},out|1:1{EnhancedNullability}>{EnhancedNullability}){}1:1{EnhancedNullability}
/* fake */ override fun computeIfAbsent(p0: @EnhancedNullability K, p1: @EnhancedNullability Function<in @EnhancedNullability K, out @EnhancedNullability V>): @EnhancedNullability V
// CHECK JVM_IR:
// Mangled name: MyMap#computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1,out|1:1?>{EnhancedNullability}){}1:1?
// Mangled name for the signature by IR: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1,out|1:1?>{EnhancedNullability}){}1:1?
// Mangled name for the signature by Frontend: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1{EnhancedNullability},out|1:1?>{EnhancedNullability}){}1:1?
// Public signature by IR: /MyMap.computeIfPresent|-2673672788318360066[0]
// Public signature by IR debug description: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1,out|1:1?>{EnhancedNullability}){}1:1?
// Public signature by Frontend: /MyMap.computeIfPresent|-4313180944690406140[0]
// Public signature by Frontend debug description: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1{EnhancedNullability},out|1:1?>{EnhancedNullability}){}1:1?
/* fake */ override fun computeIfPresent(p0: @EnhancedNullability K, p1: @EnhancedNullability BiFunction<in @EnhancedNullability K, in V, out V?>): V?
// CHECK JVM_IR:
// Mangled name: MyMap#containsKey(1:0?){}kotlin.Boolean
// Public signature: /MyMap.containsKey|5388260987070917879[0]
// Public signature debug description: containsKey(1:0?){}kotlin.Boolean
/* fake */ override fun containsKey(p0: K?): Boolean
// CHECK JVM_IR:
// Mangled name: MyMap#containsValue(1:1?){}kotlin.Boolean
// Public signature: /MyMap.containsValue|6075307672600079396[0]
// Public signature debug description: containsValue(1:1?){}kotlin.Boolean
/* fake */ override fun containsValue(p0: V?): Boolean
// CHECK JVM_IR:
// Mangled name: MyMap#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /MyMap.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(p0: Any?): Boolean
// CHECK:
// Mangled name: MyMap#forEach(java.util.function.BiConsumer<in|1:0{EnhancedNullability},in|1:1{EnhancedNullability}>{EnhancedNullability}){}
// Public signature: /MyMap.forEach|-3078533954397018194[0]
// Public signature debug description: forEach(java.util.function.BiConsumer<in|1:0{EnhancedNullability},in|1:1{EnhancedNullability}>{EnhancedNullability}){}
/* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer<in @EnhancedNullability K, in @EnhancedNullability V>): Unit
// CHECK JVM_IR:
// Mangled name: MyMap#get(1:0?){}1:1?
// Public signature: /MyMap.get|-6772263552617817959[0]
// Public signature debug description: get(1:0?){}1:1?
/* fake */ override operator fun get(p0: K?): V?
// CHECK JVM_IR:
// Mangled name: MyMap#hashCode(){}kotlin.Int
// Public signature: /MyMap.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: MyMap#isEmpty(){}kotlin.Boolean
// Public signature: /MyMap.isEmpty|-626562167393617703[0]
// Public signature debug description: isEmpty(){}kotlin.Boolean
/* fake */ override fun isEmpty(): Boolean
// CHECK JVM_IR:
// Mangled name: MyMap#merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction<in|1:1,in|1:1,out|1:1?>{EnhancedNullability}){}1:1?
// Mangled name for the signature by IR: merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction<in|1:1,in|1:1,out|1:1?>{EnhancedNullability}){}1:1?
// Mangled name for the signature by Frontend: merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction<in|1:1{EnhancedNullability},in|1:1{EnhancedNullability},out|1:1?>{EnhancedNullability}){}1:1?
// Public signature by IR: /MyMap.merge|5136195963180492586[0]
// Public signature by IR debug description: merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction<in|1:1,in|1:1,out|1:1?>{EnhancedNullability}){}1:1?
// Public signature by Frontend: /MyMap.merge|-7730033017111273031[0]
// Public signature by Frontend debug description: merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction<in|1:1{EnhancedNullability},in|1:1{EnhancedNullability},out|1:1?>{EnhancedNullability}){}1:1?
/* fake */ override fun merge(p0: @EnhancedNullability K, p1: @EnhancedNullability (V & Any), p2: @EnhancedNullability BiFunction<in V, in V, out V?>): V?
// CHECK:
// Mangled name: MyMap#putAll(kotlin.collections.Map<out|1:0?,1:1?>{EnhancedNullability}){}
// Mangled name for the signature by IR: putAll(kotlin.collections.Map<out|1:0?,1:1?>{EnhancedNullability}){}
// Mangled name for the signature by Frontend: putAll(kotlin.collections.Map<out|1:0?,out|1:1?>{EnhancedNullability}){}
// Public signature by IR: /MyMap.putAll|8252374948943605914[0]
// Public signature by IR debug description: putAll(kotlin.collections.Map<out|1:0?,1:1?>{EnhancedNullability}){}
// Public signature by Frontend: /MyMap.putAll|2145725647041437129[0]
// Public signature by Frontend debug description: putAll(kotlin.collections.Map<out|1:0?,out|1:1?>{EnhancedNullability}){}
/* fake */ override fun putAll(p0: @EnhancedNullability Map<out K?, V?>): Unit
// CHECK JVM_IR:
// Mangled name: MyMap#putIfAbsent(1:0{EnhancedNullability};1:1{EnhancedNullability}){}1:1?
// Public signature: /MyMap.putIfAbsent|-8436525025860060266[0]
// Public signature debug description: putIfAbsent(1:0{EnhancedNullability};1:1{EnhancedNullability}){}1:1?
/* fake */ override fun putIfAbsent(p0: @EnhancedNullability K, p1: @EnhancedNullability V): V?
// CHECK JVM_IR:
// Mangled name: MyMap#remove(1:0?){}1:1?
// Public signature: /MyMap.remove|-6409265674850759324[0]
// Public signature debug description: remove(1:0?){}1:1?
/* fake */ override fun remove(p0: K?): V?
// CHECK JVM_IR:
// Mangled name: MyMap#replace(1:0{EnhancedNullability};1:1{EnhancedNullability}){}1:1?
// Public signature: /MyMap.replace|5602916868878322979[0]
// Public signature debug description: replace(1:0{EnhancedNullability};1:1{EnhancedNullability}){}1:1?
/* fake */ override fun replace(p0: @EnhancedNullability K, p1: @EnhancedNullability V): V?
// CHECK JVM_IR:
// Mangled name: MyMap#replace(1:0{EnhancedNullability};1:1{EnhancedNullability};1:1{EnhancedNullability}){}kotlin.Boolean
// Public signature: /MyMap.replace|-7414031042140179973[0]
// Public signature debug description: replace(1:0{EnhancedNullability};1:1{EnhancedNullability};1:1{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun replace(p0: @EnhancedNullability K, p1: @EnhancedNullability V, p2: @EnhancedNullability V): Boolean
// CHECK:
// Mangled name: MyMap#replaceAll(java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1{EnhancedNullability},out|1:1{EnhancedNullability}>{EnhancedNullability}){}
// Public signature: /MyMap.replaceAll|8091434451270596303[0]
// Public signature debug description: replaceAll(java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1{EnhancedNullability},out|1:1{EnhancedNullability}>{EnhancedNullability}){}
/* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction<in @EnhancedNullability K, in @EnhancedNullability V, out @EnhancedNullability V>): Unit
// CHECK JVM_IR:
// Mangled name: MyMap#toString(){}kotlin.String{EnhancedNullability}
// Public signature: /MyMap.toString|7581629773206850948[0]
// Public signature debug description: toString(){}kotlin.String{EnhancedNullability}
/* fake */ override fun toString(): @EnhancedNullability String
// CHECK JVM_IR:
// Mangled name: MyMap#put(1:0;1:1){}1:1?
// Public signature: /MyMap.put|8231545920718079981[0]
// Public signature debug description: put(1:0;1:1){}1:1?
override fun put(key: K, value: V): V?
// CHECK:
// Mangled name: MyMap{}keys
// Public signature: /MyMap.keys|-1539062068328255324[0]
// Public signature debug description: {}keys
/* fake */ override val keys: MutableSet<K?>?
// CHECK JVM_IR:
// Mangled name: MyMap#<get-keys>(){}kotlin.collections.MutableSet<1:0?>?
// Public signature: /MyMap.keys.<get-keys>|-1655820107680360252[0]
// Public signature debug description: <get-keys>(){}kotlin.collections.MutableSet<1:0?>?
/* fake */ override get(): MutableSet<K?>?
// CHECK:
// Mangled name: MyMap{}size
// Public signature: /MyMap.size|-6253659984320132064[0]
// Public signature debug description: {}size
/* fake */ override val size: Int
// CHECK JVM_IR:
// Mangled name: MyMap#<get-size>(){}kotlin.Int
// Public signature: /MyMap.size.<get-size>|-3941649985161900780[0]
// Public signature debug description: <get-size>(){}kotlin.Int
/* fake */ override get(): Int
// CHECK:
// Mangled name: MyMap{}values
// Public signature: /MyMap.values|-764749005844117249[0]
// Public signature debug description: {}values
/* fake */ override val values: MutableCollection<V?>?
// CHECK JVM_IR:
// Mangled name: MyMap#<get-values>(){}kotlin.collections.MutableCollection<1:1?>?
// Public signature: /MyMap.values.<get-values>|-600458440523652989[0]
// Public signature debug description: <get-values>(){}kotlin.collections.MutableCollection<1:1?>?
/* fake */ override get(): MutableCollection<V?>?
// CHECK:
// Mangled name: MyMap{}entries
// Public signature: /MyMap.entries|-586096469347622282[0]
// Public signature debug description: {}entries
override val entries: MutableSet<MutableEntry<K, V>>
// CHECK JVM_IR:
// Mangled name: MyMap#<get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<1:0,1:1>>
// Public signature: /MyMap.entries.<get-entries>|-6853624087387317257[0]
// Public signature debug description: <get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<1:0,1:1>>
override get(): MutableSet<MutableEntry<K, V>>
}
@@ -3,7 +3,7 @@
// JVM_TARGET: 1.8
// TARGET_BACKEND: JVM_IR
// SKIP_SIGNATURE_DUMP
// SEPARATE_SIGNATURE_DUMP_FOR_K2
// ^ Value parameters in fake overrides generated by K1 and K2 are different
class MyMap<K : Any, V : Any> : AbstractMutableMap<K, V>() {
@@ -0,0 +1,181 @@
// CHECK:
// Mangled name: MyMap
// Public signature: /MyMap|null[0]
class MyMap<K : Any, V : Any> : AbstractMutableMap<K, V> {
// CHECK:
// Mangled name: MyMap#<init>(){}
// Public signature: /MyMap.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK:
// Mangled name: MyMap#clear(){}
// Public signature: /MyMap.clear|-6446868449915108923[0]
// Public signature debug description: clear(){}
/* fake */ override fun clear(): Unit
// CHECK JVM_IR:
// Mangled name: MyMap#clone(){}kotlin.Any?
// Public signature: /MyMap.clone|-7083896195458302612[0]
// Public signature debug description: clone(){}kotlin.Any?
protected_and_package /* fake */ override fun clone(): Any?
// CHECK JVM_IR:
// Mangled name: MyMap#compute(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1?{EnhancedNullability},out|1:1?{EnhancedNullability}>{EnhancedNullability}){}1:1?{EnhancedNullability}
// Public signature: /MyMap.compute|4714573429337571093[0]
// Public signature debug description: compute(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1?{EnhancedNullability},out|1:1?{EnhancedNullability}>{EnhancedNullability}){}1:1?{EnhancedNullability}
/* fake */ override fun compute(p0: @EnhancedNullability K, p1: @EnhancedNullability BiFunction<in @EnhancedNullability K, in @EnhancedNullability V?, out @EnhancedNullability V?>): @EnhancedNullability V?
// CHECK JVM_IR:
// Mangled name: MyMap#computeIfAbsent(1:0{EnhancedNullability};java.util.function.Function<in|1:0{EnhancedNullability},out|1:1{EnhancedNullability}>{EnhancedNullability}){}1:1{EnhancedNullability}
// Public signature: /MyMap.computeIfAbsent|6152183439273290645[0]
// Public signature debug description: computeIfAbsent(1:0{EnhancedNullability};java.util.function.Function<in|1:0{EnhancedNullability},out|1:1{EnhancedNullability}>{EnhancedNullability}){}1:1{EnhancedNullability}
/* fake */ override fun computeIfAbsent(p0: @EnhancedNullability K, p1: @EnhancedNullability Function<in @EnhancedNullability K, out @EnhancedNullability V>): @EnhancedNullability V
// CHECK JVM_IR:
// Mangled name: MyMap#computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1{EnhancedNullability},out|1:1?{EnhancedNullability}>{EnhancedNullability}){}1:1?{EnhancedNullability}
// Public signature: /MyMap.computeIfPresent|-5841525018102765873[0]
// Public signature debug description: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1{EnhancedNullability},out|1:1?{EnhancedNullability}>{EnhancedNullability}){}1:1?{EnhancedNullability}
/* fake */ override fun computeIfPresent(p0: @EnhancedNullability K, p1: @EnhancedNullability BiFunction<in @EnhancedNullability K, in @EnhancedNullability V, out @EnhancedNullability V?>): @EnhancedNullability V?
// CHECK JVM_IR:
// Mangled name: MyMap#containsKey(1:0){}kotlin.Boolean
// Public signature: /MyMap.containsKey|-2697616884574929105[0]
// Public signature debug description: containsKey(1:0){}kotlin.Boolean
/* fake */ override fun containsKey(key: K): Boolean
// CHECK JVM_IR:
// Mangled name: MyMap#containsValue(1:1){}kotlin.Boolean
// Public signature: /MyMap.containsValue|4814293423579408279[0]
// Public signature debug description: containsValue(1:1){}kotlin.Boolean
/* fake */ override fun containsValue(value: V): Boolean
// CHECK JVM_IR:
// Mangled name: MyMap#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /MyMap.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK:
// Mangled name: MyMap#forEach(java.util.function.BiConsumer<in|1:0{EnhancedNullability},in|1:1{EnhancedNullability}>{EnhancedNullability}){}
// Public signature: /MyMap.forEach|-3078533954397018194[0]
// Public signature debug description: forEach(java.util.function.BiConsumer<in|1:0{EnhancedNullability},in|1:1{EnhancedNullability}>{EnhancedNullability}){}
/* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer<in @EnhancedNullability K, in @EnhancedNullability V>): Unit
// CHECK JVM_IR:
// Mangled name: MyMap#get(1:0){}1:1?
// Public signature: /MyMap.get|-2177239518810968262[0]
// Public signature debug description: get(1:0){}1:1?
/* fake */ override operator fun get(key: K): V?
// CHECK JVM_IR:
// Mangled name: MyMap#hashCode(){}kotlin.Int
// Public signature: /MyMap.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: MyMap#isEmpty(){}kotlin.Boolean
// Public signature: /MyMap.isEmpty|-626562167393617703[0]
// Public signature debug description: isEmpty(){}kotlin.Boolean
/* fake */ override fun isEmpty(): Boolean
// CHECK JVM_IR:
// Mangled name: MyMap#merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction<in|1:1{EnhancedNullability},in|1:1{EnhancedNullability},out|1:1?{EnhancedNullability}>{EnhancedNullability}){}1:1?{EnhancedNullability}
// Public signature: /MyMap.merge|5784030730910430027[0]
// Public signature debug description: merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction<in|1:1{EnhancedNullability},in|1:1{EnhancedNullability},out|1:1?{EnhancedNullability}>{EnhancedNullability}){}1:1?{EnhancedNullability}
/* fake */ override fun merge(p0: @EnhancedNullability K, p1: @EnhancedNullability V, p2: @EnhancedNullability BiFunction<in @EnhancedNullability V, in @EnhancedNullability V, out @EnhancedNullability V?>): @EnhancedNullability V?
// CHECK:
// Mangled name: MyMap#putAll(kotlin.collections.Map<out|1:0,1:1>){}
// Public signature: /MyMap.putAll|3806055228188180795[0]
// Public signature debug description: putAll(kotlin.collections.Map<out|1:0,1:1>){}
/* fake */ override fun putAll(from: Map<out K, V>): Unit
// CHECK JVM_IR:
// Mangled name: MyMap#putIfAbsent(1:0{EnhancedNullability};1:1{EnhancedNullability}){}1:1?{EnhancedNullability}
// Public signature: /MyMap.putIfAbsent|-6480034727897367684[0]
// Public signature debug description: putIfAbsent(1:0{EnhancedNullability};1:1{EnhancedNullability}){}1:1?{EnhancedNullability}
/* fake */ override fun putIfAbsent(p0: @EnhancedNullability K, p1: @EnhancedNullability V): @EnhancedNullability V?
// CHECK JVM_IR:
// Mangled name: MyMap#remove(1:0){}1:1?
// Public signature: /MyMap.remove|-2166109024517733367[0]
// Public signature debug description: remove(1:0){}1:1?
/* fake */ override fun remove(key: K): V?
// CHECK JVM_IR:
// Mangled name: MyMap#replace(1:0{EnhancedNullability};1:1{EnhancedNullability}){}1:1?{EnhancedNullability}
// Public signature: /MyMap.replace|2326634020395552533[0]
// Public signature debug description: replace(1:0{EnhancedNullability};1:1{EnhancedNullability}){}1:1?{EnhancedNullability}
/* fake */ override fun replace(p0: @EnhancedNullability K, p1: @EnhancedNullability V): @EnhancedNullability V?
// CHECK JVM_IR:
// Mangled name: MyMap#replace(1:0{EnhancedNullability};1:1{EnhancedNullability};1:1{EnhancedNullability}){}kotlin.Boolean
// Public signature: /MyMap.replace|-7414031042140179973[0]
// Public signature debug description: replace(1:0{EnhancedNullability};1:1{EnhancedNullability};1:1{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun replace(p0: @EnhancedNullability K, p1: @EnhancedNullability V, p2: @EnhancedNullability V): Boolean
// CHECK:
// Mangled name: MyMap#replaceAll(java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1{EnhancedNullability},out|1:1{EnhancedNullability}>{EnhancedNullability}){}
// Public signature: /MyMap.replaceAll|8091434451270596303[0]
// Public signature debug description: replaceAll(java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1{EnhancedNullability},out|1:1{EnhancedNullability}>{EnhancedNullability}){}
/* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction<in @EnhancedNullability K, in @EnhancedNullability V, out @EnhancedNullability V>): Unit
// CHECK JVM_IR:
// Mangled name: MyMap#toString(){}kotlin.String
// Public signature: /MyMap.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
/* fake */ override fun toString(): String
// CHECK JVM_IR:
// Mangled name: MyMap#put(1:0;1:1){}1:1?
// Public signature: /MyMap.put|8231545920718079981[0]
// Public signature debug description: put(1:0;1:1){}1:1?
override fun put(key: K, value: V): V?
// CHECK:
// Mangled name: MyMap{}keys
// Public signature: /MyMap.keys|-1539062068328255324[0]
// Public signature debug description: {}keys
/* fake */ override val keys: MutableSet<K>
// CHECK JVM_IR:
// Mangled name: MyMap#<get-keys>(){}kotlin.collections.MutableSet<1:0>
// Public signature: /MyMap.keys.<get-keys>|7916886785914150473[0]
// Public signature debug description: <get-keys>(){}kotlin.collections.MutableSet<1:0>
/* fake */ override get(): MutableSet<K>
// CHECK:
// Mangled name: MyMap{}size
// Public signature: /MyMap.size|-6253659984320132064[0]
// Public signature debug description: {}size
/* fake */ override val size: Int
// CHECK JVM_IR:
// Mangled name: MyMap#<get-size>(){}kotlin.Int
// Public signature: /MyMap.size.<get-size>|-3941649985161900780[0]
// Public signature debug description: <get-size>(){}kotlin.Int
/* fake */ override get(): Int
// CHECK:
// Mangled name: MyMap{}values
// Public signature: /MyMap.values|-764749005844117249[0]
// Public signature debug description: {}values
/* fake */ override val values: MutableCollection<V>
// CHECK JVM_IR:
// Mangled name: MyMap#<get-values>(){}kotlin.collections.MutableCollection<1:1>
// Public signature: /MyMap.values.<get-values>|2480674037943213638[0]
// Public signature debug description: <get-values>(){}kotlin.collections.MutableCollection<1:1>
/* fake */ override get(): MutableCollection<V>
// CHECK:
// Mangled name: MyMap{}entries
// Public signature: /MyMap.entries|-586096469347622282[0]
// Public signature debug description: {}entries
override val entries: MutableSet<MutableEntry<K, V>>
// CHECK JVM_IR:
// Mangled name: MyMap#<get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<1:0,1:1>>
// Public signature: /MyMap.entries.<get-entries>|-6853624087387317257[0]
// Public signature debug description: <get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<1:0,1:1>>
override get(): MutableSet<MutableEntry<K, V>>
}
@@ -0,0 +1,477 @@
// CHECK:
// Mangled name: A1
// Public signature: /A1|null[0]
class A1 : ArrayList<String> {
// CHECK:
// Mangled name: A1#<init>(){}
// Public signature: /A1.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: A1#add(kotlin.String{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A1.add|1013043421416614297[0]
// Public signature debug description: add(kotlin.String{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun add(p0: @EnhancedNullability String): Boolean
// CHECK:
// Mangled name: A1#add(kotlin.Int;kotlin.String{EnhancedNullability}){}
// Public signature: /A1.add|-2609504073906581982[0]
// Public signature debug description: add(kotlin.Int;kotlin.String{EnhancedNullability}){}
/* fake */ override fun add(p0: Int, p1: @EnhancedNullability String): Unit
// CHECK JVM_IR:
// Mangled name: A1#addAll(kotlin.collections.Collection<out|kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A1.addAll|3883602098922245867[0]
// Public signature debug description: addAll(kotlin.collections.Collection<out|kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun addAll(p0: @EnhancedNullability Collection<out @EnhancedNullability String>): Boolean
// CHECK JVM_IR:
// Mangled name: A1#addAll(kotlin.Int;kotlin.collections.Collection<out|kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A1.addAll|-1734069118163689030[0]
// Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection<out|kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun addAll(p0: Int, p1: @EnhancedNullability Collection<out @EnhancedNullability String>): Boolean
// CHECK:
// Mangled name: A1#clear(){}
// Public signature: /A1.clear|-6446868449915108923[0]
// Public signature debug description: clear(){}
/* fake */ override fun clear(): Unit
// CHECK JVM_IR:
// Mangled name: A1#clone(){}kotlin.Any{EnhancedNullability}
// Public signature: /A1.clone|178802004086941196[0]
// Public signature debug description: clone(){}kotlin.Any{EnhancedNullability}
/* fake */ override fun clone(): @EnhancedNullability Any
// CHECK JVM_IR:
// Mangled name: A1#contains(kotlin.String{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A1.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: A1#containsAll(kotlin.collections.Collection<kotlin.String?>){}kotlin.Boolean
// Public signature: /A1.containsAll|1049727718390523309[0]
// Public signature debug description: containsAll(kotlin.collections.Collection<kotlin.String?>){}kotlin.Boolean
/* fake */ override fun containsAll(p0: Collection<String?>): Boolean
// CHECK:
// Mangled name: A1#ensureCapacity(kotlin.Int){}
// Public signature: /A1.ensureCapacity|-7913402150632352615[0]
// Public signature debug description: ensureCapacity(kotlin.Int){}
/* fake */ override fun ensureCapacity(p0: Int): Unit
// CHECK JVM_IR:
// Mangled name: A1#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /A1.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(p0: Any?): Boolean
// CHECK:
// Mangled name: A1#forEach(java.util.function.Consumer<in|kotlin.String?>?){}
// Public signature: /A1.forEach|-5141242812493329438[0]
// Public signature debug description: forEach(java.util.function.Consumer<in|kotlin.String?>?){}
/* fake */ override fun forEach(p0: Consumer<in String?>?): Unit
// CHECK JVM_IR:
// Mangled name: A1#get(kotlin.Int){}kotlin.String{EnhancedNullability}
// Public signature: /A1.get|-5223165249102944743[0]
// Public signature debug description: get(kotlin.Int){}kotlin.String{EnhancedNullability}
/* fake */ override operator fun get(p0: Int): @EnhancedNullability String
// CHECK JVM_IR:
// Mangled name: A1#hashCode(){}kotlin.Int
// Public signature: /A1.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: A1#indexOf(kotlin.String{EnhancedNullability}){}kotlin.Int
// Public signature: /A1.indexOf|4663174940951508272[0]
// Public signature debug description: indexOf(kotlin.String{EnhancedNullability}){}kotlin.Int
/* fake */ override fun indexOf(p0: @EnhancedNullability String): Int
// CHECK JVM_IR:
// Mangled name: A1#isEmpty(){}kotlin.Boolean
// Public signature: /A1.isEmpty|-626562167393617703[0]
// Public signature debug description: isEmpty(){}kotlin.Boolean
/* fake */ override fun isEmpty(): Boolean
// CHECK JVM_IR:
// Mangled name: A1#iterator(){}kotlin.collections.MutableIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
// Public signature: /A1.iterator|1587384006376391028[0]
// Public signature debug description: iterator(){}kotlin.collections.MutableIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
/* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability String>
// CHECK JVM_IR:
// Mangled name: A1#lastIndexOf(kotlin.String{EnhancedNullability}){}kotlin.Int
// Public signature: /A1.lastIndexOf|546858614952815505[0]
// Public signature debug description: lastIndexOf(kotlin.String{EnhancedNullability}){}kotlin.Int
/* fake */ override fun lastIndexOf(p0: @EnhancedNullability String): Int
// CHECK JVM_IR:
// Mangled name: A1#listIterator(){}kotlin.collections.MutableListIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
// Public signature: /A1.listIterator|-4142337689496060808[0]
// Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability String>
// CHECK JVM_IR:
// Mangled name: A1#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
// Public signature: /A1.listIterator|-5700342405546747272[0]
// Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun listIterator(p0: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability String>
// CHECK JVM_IR:
// Mangled name: A1#parallelStream(){}java.util.stream.Stream<kotlin.String?>{EnhancedNullability}
// Public signature: /A1.parallelStream|-4896737022635116901[0]
// Public signature debug description: parallelStream(){}java.util.stream.Stream<kotlin.String?>{EnhancedNullability}
/* fake */ override fun parallelStream(): @EnhancedNullability Stream<String?>
// CHECK JVM_IR:
// Mangled name: A1#remove(kotlin.String{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A1.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: A1#removeAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>){}kotlin.Boolean
// Public signature: /A1.removeAll|239019554007958597[0]
// Public signature debug description: removeAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>){}kotlin.Boolean
/* fake */ override fun removeAll(p0: Collection<@EnhancedNullability String>): Boolean
// CHECK JVM_IR:
// Mangled name: A1#removeAt(kotlin.Int){}kotlin.String{EnhancedNullability}
// Public signature: /A1.removeAt|-4284695263292850234[0]
// Public signature debug description: removeAt(kotlin.Int){}kotlin.String{EnhancedNullability}
/* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability String
// CHECK JVM_IR:
// Mangled name: A1#removeIf(java.util.function.Predicate<in|kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A1.removeIf|-1670885194148112260[0]
// Public signature debug description: removeIf(java.util.function.Predicate<in|kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun removeIf(p0: @EnhancedNullability Predicate<in @EnhancedNullability String>): Boolean
// CHECK:
// Mangled name: A1#removeRange(kotlin.Int;kotlin.Int){}
// Public signature: /A1.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: A1#replaceAll(java.util.function.UnaryOperator<kotlin.String{EnhancedNullability}>{EnhancedNullability}){}
// Public signature: /A1.replaceAll|4357913002581764262[0]
// Public signature debug description: replaceAll(java.util.function.UnaryOperator<kotlin.String{EnhancedNullability}>{EnhancedNullability}){}
/* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability String>): Unit
// CHECK JVM_IR:
// Mangled name: A1#retainAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>){}kotlin.Boolean
// Public signature: /A1.retainAll|8583629559312465774[0]
// Public signature debug description: retainAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>){}kotlin.Boolean
/* fake */ override fun retainAll(p0: Collection<@EnhancedNullability String>): Boolean
// CHECK JVM_IR:
// Mangled name: A1#set(kotlin.Int;kotlin.String{EnhancedNullability}){}kotlin.String{EnhancedNullability}
// Public signature: /A1.set|-410612784715293145[0]
// Public signature debug description: set(kotlin.Int;kotlin.String{EnhancedNullability}){}kotlin.String{EnhancedNullability}
/* fake */ override operator fun set(p0: Int, p1: @EnhancedNullability String): @EnhancedNullability String
// CHECK:
// Mangled name: A1#sort(java.util.Comparator<in|kotlin.String?>?){}
// Public signature: /A1.sort|5087834210959411894[0]
// Public signature debug description: sort(java.util.Comparator<in|kotlin.String?>?){}
/* fake */ override fun sort(p0: Comparator<in String?>?): Unit
// CHECK JVM_IR:
// Mangled name: A1#spliterator(){}java.util.Spliterator<kotlin.String?>{EnhancedNullability}
// Public signature: /A1.spliterator|568936852624165869[0]
// Public signature debug description: spliterator(){}java.util.Spliterator<kotlin.String?>{EnhancedNullability}
/* fake */ override fun spliterator(): @EnhancedNullability Spliterator<String?>
// CHECK JVM_IR:
// Mangled name: A1#stream(){}java.util.stream.Stream<kotlin.String?>{EnhancedNullability}
// Public signature: /A1.stream|-795993718377355146[0]
// Public signature debug description: stream(){}java.util.stream.Stream<kotlin.String?>{EnhancedNullability}
/* fake */ override fun stream(): @EnhancedNullability Stream<String?>
// CHECK JVM_IR:
// Mangled name: A1#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<kotlin.String{EnhancedNullability}>{EnhancedNullability}
// Public signature: /A1.subList|1834706356652401774[0]
// Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<kotlin.String{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun subList(p0: Int, p1: Int): @EnhancedNullability MutableList<@EnhancedNullability String>
// CHECK JVM_IR:
// Mangled name: A1#toArray(){}kotlin.Array<out|kotlin.Any?>?
// Public signature: /A1.toArray|-8468800257910341540[0]
// Public signature debug description: toArray(){}kotlin.Array<out|kotlin.Any?>?
/* fake */ override fun toArray(): Array<out Any?>?
// CHECK JVM_IR:
// Mangled name: A1#toArray(kotlin.Array<out|0:0?>?){0§<kotlin.Any?>}kotlin.Array<out|0:0?>?
// Public signature: /A1.toArray|-7248906015406159030[0]
// Public signature debug description: toArray(kotlin.Array<out|0:0?>?){0§<kotlin.Any?>}kotlin.Array<out|0:0?>?
/* fake */ override fun <T : Any?> toArray(p0: Array<out T?>?): Array<out T?>?
// CHECK JVM_IR:
// Mangled name: A1#toString(){}kotlin.String{EnhancedNullability}
// Public signature: /A1.toString|7581629773206850948[0]
// Public signature debug description: toString(){}kotlin.String{EnhancedNullability}
/* fake */ override fun toString(): @EnhancedNullability String
// CHECK:
// Mangled name: A1#trimToSize(){}
// Public signature: /A1.trimToSize|-5937642362792008740[0]
// Public signature debug description: trimToSize(){}
/* fake */ override fun trimToSize(): Unit
// CHECK:
// Mangled name: A1{}size
// Public signature: /A1.size|-6253659984320132064[0]
// Public signature debug description: {}size
/* fake */ override val size: Int
// CHECK JVM_IR:
// Mangled name: A1#<get-size>(){}kotlin.Int
// Public signature: /A1.size.<get-size>|-3941649985161900780[0]
// Public signature debug description: <get-size>(){}kotlin.Int
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: A2
// Public signature: /A2|null[0]
class A2 : ArrayList<String> {
// CHECK:
// Mangled name: A2#<init>(){}
// Public signature: /A2.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: A2#add(kotlin.String{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A2.add|1013043421416614297[0]
// Public signature debug description: add(kotlin.String{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun add(p0: @EnhancedNullability String): Boolean
// CHECK:
// Mangled name: A2#add(kotlin.Int;kotlin.String{EnhancedNullability}){}
// Public signature: /A2.add|-2609504073906581982[0]
// Public signature debug description: add(kotlin.Int;kotlin.String{EnhancedNullability}){}
/* fake */ override fun add(p0: Int, p1: @EnhancedNullability String): Unit
// CHECK JVM_IR:
// Mangled name: A2#addAll(kotlin.collections.Collection<out|kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A2.addAll|3883602098922245867[0]
// Public signature debug description: addAll(kotlin.collections.Collection<out|kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun addAll(p0: @EnhancedNullability Collection<out @EnhancedNullability String>): Boolean
// CHECK JVM_IR:
// Mangled name: A2#addAll(kotlin.Int;kotlin.collections.Collection<out|kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A2.addAll|-1734069118163689030[0]
// Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection<out|kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun addAll(p0: Int, p1: @EnhancedNullability Collection<out @EnhancedNullability String>): Boolean
// CHECK:
// Mangled name: A2#clear(){}
// Public signature: /A2.clear|-6446868449915108923[0]
// Public signature debug description: clear(){}
/* fake */ override fun clear(): Unit
// CHECK JVM_IR:
// Mangled name: A2#clone(){}kotlin.Any{EnhancedNullability}
// Public signature: /A2.clone|178802004086941196[0]
// Public signature debug description: clone(){}kotlin.Any{EnhancedNullability}
/* fake */ override fun clone(): @EnhancedNullability Any
// CHECK JVM_IR:
// Mangled name: A2#contains(kotlin.String{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A2.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: A2#containsAll(kotlin.collections.Collection<kotlin.String?>){}kotlin.Boolean
// Public signature: /A2.containsAll|1049727718390523309[0]
// Public signature debug description: containsAll(kotlin.collections.Collection<kotlin.String?>){}kotlin.Boolean
/* fake */ override fun containsAll(p0: Collection<String?>): Boolean
// CHECK:
// Mangled name: A2#ensureCapacity(kotlin.Int){}
// Public signature: /A2.ensureCapacity|-7913402150632352615[0]
// Public signature debug description: ensureCapacity(kotlin.Int){}
/* fake */ override fun ensureCapacity(p0: Int): Unit
// CHECK JVM_IR:
// Mangled name: A2#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /A2.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(p0: Any?): Boolean
// CHECK:
// Mangled name: A2#forEach(java.util.function.Consumer<in|kotlin.String?>?){}
// Public signature: /A2.forEach|-5141242812493329438[0]
// Public signature debug description: forEach(java.util.function.Consumer<in|kotlin.String?>?){}
/* fake */ override fun forEach(p0: Consumer<in String?>?): Unit
// CHECK JVM_IR:
// Mangled name: A2#get(kotlin.Int){}kotlin.String{EnhancedNullability}
// Public signature: /A2.get|-5223165249102944743[0]
// Public signature debug description: get(kotlin.Int){}kotlin.String{EnhancedNullability}
/* fake */ override operator fun get(p0: Int): @EnhancedNullability String
// CHECK JVM_IR:
// Mangled name: A2#hashCode(){}kotlin.Int
// Public signature: /A2.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: A2#indexOf(kotlin.String{EnhancedNullability}){}kotlin.Int
// Public signature: /A2.indexOf|4663174940951508272[0]
// Public signature debug description: indexOf(kotlin.String{EnhancedNullability}){}kotlin.Int
/* fake */ override fun indexOf(p0: @EnhancedNullability String): Int
// CHECK JVM_IR:
// Mangled name: A2#isEmpty(){}kotlin.Boolean
// Public signature: /A2.isEmpty|-626562167393617703[0]
// Public signature debug description: isEmpty(){}kotlin.Boolean
/* fake */ override fun isEmpty(): Boolean
// CHECK JVM_IR:
// Mangled name: A2#iterator(){}kotlin.collections.MutableIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
// Public signature: /A2.iterator|1587384006376391028[0]
// Public signature debug description: iterator(){}kotlin.collections.MutableIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
/* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability String>
// CHECK JVM_IR:
// Mangled name: A2#lastIndexOf(kotlin.String{EnhancedNullability}){}kotlin.Int
// Public signature: /A2.lastIndexOf|546858614952815505[0]
// Public signature debug description: lastIndexOf(kotlin.String{EnhancedNullability}){}kotlin.Int
/* fake */ override fun lastIndexOf(p0: @EnhancedNullability String): Int
// CHECK JVM_IR:
// Mangled name: A2#listIterator(){}kotlin.collections.MutableListIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
// Public signature: /A2.listIterator|-4142337689496060808[0]
// Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability String>
// CHECK JVM_IR:
// Mangled name: A2#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
// Public signature: /A2.listIterator|-5700342405546747272[0]
// Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun listIterator(p0: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability String>
// CHECK JVM_IR:
// Mangled name: A2#parallelStream(){}java.util.stream.Stream<kotlin.String?>{EnhancedNullability}
// Public signature: /A2.parallelStream|-4896737022635116901[0]
// Public signature debug description: parallelStream(){}java.util.stream.Stream<kotlin.String?>{EnhancedNullability}
/* fake */ override fun parallelStream(): @EnhancedNullability Stream<String?>
// CHECK JVM_IR:
// Mangled name: A2#removeAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>){}kotlin.Boolean
// Public signature: /A2.removeAll|239019554007958597[0]
// Public signature debug description: removeAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>){}kotlin.Boolean
/* fake */ override fun removeAll(p0: Collection<@EnhancedNullability String>): Boolean
// CHECK JVM_IR:
// Mangled name: A2#removeAt(kotlin.Int){}kotlin.String{EnhancedNullability}
// Public signature: /A2.removeAt|-4284695263292850234[0]
// Public signature debug description: removeAt(kotlin.Int){}kotlin.String{EnhancedNullability}
/* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability String
// CHECK JVM_IR:
// Mangled name: A2#removeIf(java.util.function.Predicate<in|kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A2.removeIf|-1670885194148112260[0]
// Public signature debug description: removeIf(java.util.function.Predicate<in|kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun removeIf(p0: @EnhancedNullability Predicate<in @EnhancedNullability String>): Boolean
// CHECK:
// Mangled name: A2#removeRange(kotlin.Int;kotlin.Int){}
// Public signature: /A2.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: A2#replaceAll(java.util.function.UnaryOperator<kotlin.String{EnhancedNullability}>{EnhancedNullability}){}
// Public signature: /A2.replaceAll|4357913002581764262[0]
// Public signature debug description: replaceAll(java.util.function.UnaryOperator<kotlin.String{EnhancedNullability}>{EnhancedNullability}){}
/* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability String>): Unit
// CHECK JVM_IR:
// Mangled name: A2#retainAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>){}kotlin.Boolean
// Public signature: /A2.retainAll|8583629559312465774[0]
// Public signature debug description: retainAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>){}kotlin.Boolean
/* fake */ override fun retainAll(p0: Collection<@EnhancedNullability String>): Boolean
// CHECK JVM_IR:
// Mangled name: A2#set(kotlin.Int;kotlin.String{EnhancedNullability}){}kotlin.String{EnhancedNullability}
// Public signature: /A2.set|-410612784715293145[0]
// Public signature debug description: set(kotlin.Int;kotlin.String{EnhancedNullability}){}kotlin.String{EnhancedNullability}
/* fake */ override operator fun set(p0: Int, p1: @EnhancedNullability String): @EnhancedNullability String
// CHECK:
// Mangled name: A2#sort(java.util.Comparator<in|kotlin.String?>?){}
// Public signature: /A2.sort|5087834210959411894[0]
// Public signature debug description: sort(java.util.Comparator<in|kotlin.String?>?){}
/* fake */ override fun sort(p0: Comparator<in String?>?): Unit
// CHECK JVM_IR:
// Mangled name: A2#spliterator(){}java.util.Spliterator<kotlin.String?>{EnhancedNullability}
// Public signature: /A2.spliterator|568936852624165869[0]
// Public signature debug description: spliterator(){}java.util.Spliterator<kotlin.String?>{EnhancedNullability}
/* fake */ override fun spliterator(): @EnhancedNullability Spliterator<String?>
// CHECK JVM_IR:
// Mangled name: A2#stream(){}java.util.stream.Stream<kotlin.String?>{EnhancedNullability}
// Public signature: /A2.stream|-795993718377355146[0]
// Public signature debug description: stream(){}java.util.stream.Stream<kotlin.String?>{EnhancedNullability}
/* fake */ override fun stream(): @EnhancedNullability Stream<String?>
// CHECK JVM_IR:
// Mangled name: A2#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<kotlin.String{EnhancedNullability}>{EnhancedNullability}
// Public signature: /A2.subList|1834706356652401774[0]
// Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<kotlin.String{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun subList(p0: Int, p1: Int): @EnhancedNullability MutableList<@EnhancedNullability String>
// CHECK JVM_IR:
// Mangled name: A2#toArray(){}kotlin.Array<out|kotlin.Any?>?
// Public signature: /A2.toArray|-8468800257910341540[0]
// Public signature debug description: toArray(){}kotlin.Array<out|kotlin.Any?>?
/* fake */ override fun toArray(): Array<out Any?>?
// CHECK JVM_IR:
// Mangled name: A2#toArray(kotlin.Array<out|0:0?>?){0§<kotlin.Any?>}kotlin.Array<out|0:0?>?
// Public signature: /A2.toArray|-7248906015406159030[0]
// Public signature debug description: toArray(kotlin.Array<out|0:0?>?){0§<kotlin.Any?>}kotlin.Array<out|0:0?>?
/* fake */ override fun <T : Any?> toArray(p0: Array<out T?>?): Array<out T?>?
// CHECK JVM_IR:
// Mangled name: A2#toString(){}kotlin.String{EnhancedNullability}
// Public signature: /A2.toString|7581629773206850948[0]
// Public signature debug description: toString(){}kotlin.String{EnhancedNullability}
/* fake */ override fun toString(): @EnhancedNullability String
// CHECK:
// Mangled name: A2#trimToSize(){}
// Public signature: /A2.trimToSize|-5937642362792008740[0]
// Public signature debug description: trimToSize(){}
/* fake */ override fun trimToSize(): Unit
// CHECK JVM_IR:
// Mangled name: A2#remove(kotlin.String){}kotlin.Boolean
// Public signature: /A2.remove|-4681585628882047709[0]
// Public signature debug description: remove(kotlin.String){}kotlin.Boolean
override fun remove(x: String): Boolean
// CHECK:
// Mangled name: A2{}size
// Public signature: /A2.size|-6253659984320132064[0]
// Public signature debug description: {}size
/* fake */ override val size: Int
// CHECK JVM_IR:
// Mangled name: A2#<get-size>(){}kotlin.Int
// Public signature: /A2.size.<get-size>|-3941649985161900780[0]
// Public signature debug description: <get-size>(){}kotlin.Int
/* fake */ override get(): Int
}
@@ -2,7 +2,7 @@
// SKIP_KLIB_TEST
// TARGET_BACKEND: JVM_IR
// SKIP_SIGNATURE_DUMP
// SEPARATE_SIGNATURE_DUMP_FOR_K2
// ^ Value parameters in fake overrides generated by K1 and K2 are different
class A1 : java.util.ArrayList<String>()
@@ -0,0 +1,477 @@
// CHECK:
// Mangled name: A1
// Public signature: /A1|null[0]
class A1 : ArrayList<String> {
// CHECK:
// Mangled name: A1#<init>(){}
// Public signature: /A1.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: A1#add(kotlin.String{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A1.add|1013043421416614297[0]
// Public signature debug description: add(kotlin.String{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun add(element: @EnhancedNullability String): Boolean
// CHECK:
// Mangled name: A1#add(kotlin.Int;kotlin.String{EnhancedNullability}){}
// Public signature: /A1.add|-2609504073906581982[0]
// Public signature debug description: add(kotlin.Int;kotlin.String{EnhancedNullability}){}
/* fake */ override fun add(index: Int, element: @EnhancedNullability String): Unit
// CHECK JVM_IR:
// Mangled name: A1#addAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A1.addAll|-895603574928921635[0]
// Public signature debug description: addAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability String>): Boolean
// CHECK JVM_IR:
// Mangled name: A1#addAll(kotlin.Int;kotlin.collections.Collection<kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A1.addAll|-7321521126562575377[0]
// Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection<kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability String>): Boolean
// CHECK:
// Mangled name: A1#clear(){}
// Public signature: /A1.clear|-6446868449915108923[0]
// Public signature debug description: clear(){}
/* fake */ override fun clear(): Unit
// CHECK JVM_IR:
// Mangled name: A1#clone(){}kotlin.Any{EnhancedNullability}
// Public signature: /A1.clone|178802004086941196[0]
// Public signature debug description: clone(){}kotlin.Any{EnhancedNullability}
/* fake */ override fun clone(): @EnhancedNullability Any
// CHECK JVM_IR:
// Mangled name: A1#contains(kotlin.String{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A1.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: A1#containsAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>){}kotlin.Boolean
// Public signature: /A1.containsAll|3856626117350599597[0]
// Public signature debug description: containsAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>){}kotlin.Boolean
/* fake */ override fun containsAll(elements: Collection<@EnhancedNullability String>): Boolean
// CHECK:
// Mangled name: A1#ensureCapacity(kotlin.Int){}
// Public signature: /A1.ensureCapacity|-7913402150632352615[0]
// Public signature debug description: ensureCapacity(kotlin.Int){}
/* fake */ override fun ensureCapacity(p0: Int): Unit
// CHECK JVM_IR:
// Mangled name: A1#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A1.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: A1#forEach(java.util.function.Consumer<in|kotlin.String?>?){}
// Public signature: /A1.forEach|-5141242812493329438[0]
// Public signature debug description: forEach(java.util.function.Consumer<in|kotlin.String?>?){}
/* fake */ override fun forEach(p0: Consumer<in String?>?): Unit
// CHECK JVM_IR:
// Mangled name: A1#get(kotlin.Int){}kotlin.String{EnhancedNullability}
// Public signature: /A1.get|-5223165249102944743[0]
// Public signature debug description: get(kotlin.Int){}kotlin.String{EnhancedNullability}
/* fake */ override operator fun get(index: Int): @EnhancedNullability String
// CHECK JVM_IR:
// Mangled name: A1#hashCode(){}kotlin.Int
// Public signature: /A1.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: A1#indexOf(kotlin.String{EnhancedNullability}){}kotlin.Int
// Public signature: /A1.indexOf|4663174940951508272[0]
// Public signature debug description: indexOf(kotlin.String{EnhancedNullability}){}kotlin.Int
/* fake */ override fun indexOf(element: @EnhancedNullability String): Int
// CHECK JVM_IR:
// Mangled name: A1#isEmpty(){}kotlin.Boolean
// Public signature: /A1.isEmpty|-626562167393617703[0]
// Public signature debug description: isEmpty(){}kotlin.Boolean
/* fake */ override fun isEmpty(): Boolean
// CHECK JVM_IR:
// Mangled name: A1#iterator(){}kotlin.collections.MutableIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
// Public signature: /A1.iterator|1587384006376391028[0]
// Public signature debug description: iterator(){}kotlin.collections.MutableIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
/* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability String>
// CHECK JVM_IR:
// Mangled name: A1#lastIndexOf(kotlin.String{EnhancedNullability}){}kotlin.Int
// Public signature: /A1.lastIndexOf|546858614952815505[0]
// Public signature debug description: lastIndexOf(kotlin.String{EnhancedNullability}){}kotlin.Int
/* fake */ override fun lastIndexOf(element: @EnhancedNullability String): Int
// CHECK JVM_IR:
// Mangled name: A1#listIterator(){}kotlin.collections.MutableListIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
// Public signature: /A1.listIterator|-4142337689496060808[0]
// Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability String>
// CHECK JVM_IR:
// Mangled name: A1#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
// Public signature: /A1.listIterator|-5700342405546747272[0]
// Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability String>
// CHECK JVM_IR:
// Mangled name: A1#parallelStream(){}java.util.stream.Stream<kotlin.String{EnhancedNullability}>{EnhancedNullability}
// Public signature: /A1.parallelStream|5674745598510225962[0]
// Public signature debug description: parallelStream(){}java.util.stream.Stream<kotlin.String{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability String>
// CHECK JVM_IR:
// Mangled name: A1#remove(kotlin.String{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A1.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: A1#removeAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>){}kotlin.Boolean
// Public signature: /A1.removeAll|239019554007958597[0]
// Public signature debug description: removeAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>){}kotlin.Boolean
/* fake */ override fun removeAll(elements: Collection<@EnhancedNullability String>): Boolean
// CHECK JVM_IR:
// Mangled name: A1#removeAt(kotlin.Int){}kotlin.String{EnhancedNullability}
// Public signature: /A1.removeAt|-4284695263292850234[0]
// Public signature debug description: removeAt(kotlin.Int){}kotlin.String{EnhancedNullability}
/* fake */ override fun removeAt(p0: Int): @EnhancedNullability String
// CHECK JVM_IR:
// Mangled name: A1#removeIf(java.util.function.Predicate<in|kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A1.removeIf|-1670885194148112260[0]
// Public signature debug description: removeIf(java.util.function.Predicate<in|kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun removeIf(p0: @EnhancedNullability Predicate<in @EnhancedNullability String>): Boolean
// CHECK:
// Mangled name: A1#removeRange(kotlin.Int;kotlin.Int){}
// Public signature: /A1.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: A1#replaceAll(java.util.function.UnaryOperator<kotlin.String{EnhancedNullability}>{EnhancedNullability}){}
// Public signature: /A1.replaceAll|4357913002581764262[0]
// Public signature debug description: replaceAll(java.util.function.UnaryOperator<kotlin.String{EnhancedNullability}>{EnhancedNullability}){}
/* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability String>): Unit
// CHECK JVM_IR:
// Mangled name: A1#retainAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>){}kotlin.Boolean
// Public signature: /A1.retainAll|8583629559312465774[0]
// Public signature debug description: retainAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>){}kotlin.Boolean
/* fake */ override fun retainAll(elements: Collection<@EnhancedNullability String>): Boolean
// CHECK JVM_IR:
// Mangled name: A1#set(kotlin.Int;kotlin.String{EnhancedNullability}){}kotlin.String{EnhancedNullability}
// Public signature: /A1.set|-410612784715293145[0]
// Public signature debug description: set(kotlin.Int;kotlin.String{EnhancedNullability}){}kotlin.String{EnhancedNullability}
/* fake */ override operator fun set(index: Int, element: @EnhancedNullability String): @EnhancedNullability String
// CHECK:
// Mangled name: A1#sort(java.util.Comparator<in|kotlin.String?>?){}
// Public signature: /A1.sort|5087834210959411894[0]
// Public signature debug description: sort(java.util.Comparator<in|kotlin.String?>?){}
/* fake */ override fun sort(p0: Comparator<in String?>?): Unit
// CHECK JVM_IR:
// Mangled name: A1#spliterator(){}java.util.Spliterator<kotlin.String?>{EnhancedNullability}
// Public signature: /A1.spliterator|568936852624165869[0]
// Public signature debug description: spliterator(){}java.util.Spliterator<kotlin.String?>{EnhancedNullability}
/* fake */ override fun spliterator(): @EnhancedNullability Spliterator<String?>
// CHECK JVM_IR:
// Mangled name: A1#stream(){}java.util.stream.Stream<kotlin.String{EnhancedNullability}>{EnhancedNullability}
// Public signature: /A1.stream|-5169222176134445645[0]
// Public signature debug description: stream(){}java.util.stream.Stream<kotlin.String{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability String>
// CHECK JVM_IR:
// Mangled name: A1#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<kotlin.String{EnhancedNullability}>{EnhancedNullability}
// Public signature: /A1.subList|1834706356652401774[0]
// Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<kotlin.String{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability String>
// CHECK JVM_IR:
// Mangled name: A1#toArray(){}kotlin.Array<out|kotlin.Any?>?
// Public signature: /A1.toArray|-8468800257910341540[0]
// Public signature debug description: toArray(){}kotlin.Array<out|kotlin.Any?>?
/* fake */ override fun toArray(): Array<out Any?>?
// CHECK JVM_IR:
// Mangled name: A1#toArray(kotlin.Array<out|0:0?>?){0§<kotlin.Any?>}kotlin.Array<out|0:0?>?
// Public signature: /A1.toArray|-7248906015406159030[0]
// Public signature debug description: toArray(kotlin.Array<out|0:0?>?){0§<kotlin.Any?>}kotlin.Array<out|0:0?>?
/* fake */ override fun <T : Any?> toArray(p0: Array<out T?>?): Array<out T?>?
// CHECK JVM_IR:
// Mangled name: A1#toString(){}kotlin.String{EnhancedNullability}
// Public signature: /A1.toString|7581629773206850948[0]
// Public signature debug description: toString(){}kotlin.String{EnhancedNullability}
/* fake */ override fun toString(): @EnhancedNullability String
// CHECK:
// Mangled name: A1#trimToSize(){}
// Public signature: /A1.trimToSize|-5937642362792008740[0]
// Public signature debug description: trimToSize(){}
/* fake */ override fun trimToSize(): Unit
// CHECK:
// Mangled name: A1{}size
// Public signature: /A1.size|-6253659984320132064[0]
// Public signature debug description: {}size
/* fake */ override val size: Int
// CHECK JVM_IR:
// Mangled name: A1#<get-size>(){}kotlin.Int
// Public signature: /A1.size.<get-size>|-3941649985161900780[0]
// Public signature debug description: <get-size>(){}kotlin.Int
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: A2
// Public signature: /A2|null[0]
class A2 : ArrayList<String> {
// CHECK:
// Mangled name: A2#<init>(){}
// Public signature: /A2.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: A2#add(kotlin.String{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A2.add|1013043421416614297[0]
// Public signature debug description: add(kotlin.String{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun add(element: @EnhancedNullability String): Boolean
// CHECK:
// Mangled name: A2#add(kotlin.Int;kotlin.String{EnhancedNullability}){}
// Public signature: /A2.add|-2609504073906581982[0]
// Public signature debug description: add(kotlin.Int;kotlin.String{EnhancedNullability}){}
/* fake */ override fun add(index: Int, element: @EnhancedNullability String): Unit
// CHECK JVM_IR:
// Mangled name: A2#addAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A2.addAll|-895603574928921635[0]
// Public signature debug description: addAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability String>): Boolean
// CHECK JVM_IR:
// Mangled name: A2#addAll(kotlin.Int;kotlin.collections.Collection<kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A2.addAll|-7321521126562575377[0]
// Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection<kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability String>): Boolean
// CHECK:
// Mangled name: A2#clear(){}
// Public signature: /A2.clear|-6446868449915108923[0]
// Public signature debug description: clear(){}
/* fake */ override fun clear(): Unit
// CHECK JVM_IR:
// Mangled name: A2#clone(){}kotlin.Any{EnhancedNullability}
// Public signature: /A2.clone|178802004086941196[0]
// Public signature debug description: clone(){}kotlin.Any{EnhancedNullability}
/* fake */ override fun clone(): @EnhancedNullability Any
// CHECK JVM_IR:
// Mangled name: A2#contains(kotlin.String{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A2.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: A2#containsAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>){}kotlin.Boolean
// Public signature: /A2.containsAll|3856626117350599597[0]
// Public signature debug description: containsAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>){}kotlin.Boolean
/* fake */ override fun containsAll(elements: Collection<@EnhancedNullability String>): Boolean
// CHECK:
// Mangled name: A2#ensureCapacity(kotlin.Int){}
// Public signature: /A2.ensureCapacity|-7913402150632352615[0]
// Public signature debug description: ensureCapacity(kotlin.Int){}
/* fake */ override fun ensureCapacity(p0: Int): Unit
// CHECK JVM_IR:
// Mangled name: A2#equals(kotlin.Any?{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A2.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: A2#forEach(java.util.function.Consumer<in|kotlin.String?>?){}
// Public signature: /A2.forEach|-5141242812493329438[0]
// Public signature debug description: forEach(java.util.function.Consumer<in|kotlin.String?>?){}
/* fake */ override fun forEach(p0: Consumer<in String?>?): Unit
// CHECK JVM_IR:
// Mangled name: A2#get(kotlin.Int){}kotlin.String{EnhancedNullability}
// Public signature: /A2.get|-5223165249102944743[0]
// Public signature debug description: get(kotlin.Int){}kotlin.String{EnhancedNullability}
/* fake */ override operator fun get(index: Int): @EnhancedNullability String
// CHECK JVM_IR:
// Mangled name: A2#hashCode(){}kotlin.Int
// Public signature: /A2.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: A2#indexOf(kotlin.String{EnhancedNullability}){}kotlin.Int
// Public signature: /A2.indexOf|4663174940951508272[0]
// Public signature debug description: indexOf(kotlin.String{EnhancedNullability}){}kotlin.Int
/* fake */ override fun indexOf(element: @EnhancedNullability String): Int
// CHECK JVM_IR:
// Mangled name: A2#isEmpty(){}kotlin.Boolean
// Public signature: /A2.isEmpty|-626562167393617703[0]
// Public signature debug description: isEmpty(){}kotlin.Boolean
/* fake */ override fun isEmpty(): Boolean
// CHECK JVM_IR:
// Mangled name: A2#iterator(){}kotlin.collections.MutableIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
// Public signature: /A2.iterator|1587384006376391028[0]
// Public signature debug description: iterator(){}kotlin.collections.MutableIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
/* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability String>
// CHECK JVM_IR:
// Mangled name: A2#lastIndexOf(kotlin.String{EnhancedNullability}){}kotlin.Int
// Public signature: /A2.lastIndexOf|546858614952815505[0]
// Public signature debug description: lastIndexOf(kotlin.String{EnhancedNullability}){}kotlin.Int
/* fake */ override fun lastIndexOf(element: @EnhancedNullability String): Int
// CHECK JVM_IR:
// Mangled name: A2#listIterator(){}kotlin.collections.MutableListIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
// Public signature: /A2.listIterator|-4142337689496060808[0]
// Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability String>
// CHECK JVM_IR:
// Mangled name: A2#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
// Public signature: /A2.listIterator|-5700342405546747272[0]
// Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<kotlin.String{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability String>
// CHECK JVM_IR:
// Mangled name: A2#parallelStream(){}java.util.stream.Stream<kotlin.String{EnhancedNullability}>{EnhancedNullability}
// Public signature: /A2.parallelStream|5674745598510225962[0]
// Public signature debug description: parallelStream(){}java.util.stream.Stream<kotlin.String{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability String>
// CHECK JVM_IR:
// Mangled name: A2#removeAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>){}kotlin.Boolean
// Public signature: /A2.removeAll|239019554007958597[0]
// Public signature debug description: removeAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>){}kotlin.Boolean
/* fake */ override fun removeAll(elements: Collection<@EnhancedNullability String>): Boolean
// CHECK JVM_IR:
// Mangled name: A2#removeAt(kotlin.Int){}kotlin.String{EnhancedNullability}
// Public signature: /A2.removeAt|-4284695263292850234[0]
// Public signature debug description: removeAt(kotlin.Int){}kotlin.String{EnhancedNullability}
/* fake */ override fun removeAt(p0: Int): @EnhancedNullability String
// CHECK JVM_IR:
// Mangled name: A2#removeIf(java.util.function.Predicate<in|kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /A2.removeIf|-1670885194148112260[0]
// Public signature debug description: removeIf(java.util.function.Predicate<in|kotlin.String{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun removeIf(p0: @EnhancedNullability Predicate<in @EnhancedNullability String>): Boolean
// CHECK:
// Mangled name: A2#removeRange(kotlin.Int;kotlin.Int){}
// Public signature: /A2.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: A2#replaceAll(java.util.function.UnaryOperator<kotlin.String{EnhancedNullability}>{EnhancedNullability}){}
// Public signature: /A2.replaceAll|4357913002581764262[0]
// Public signature debug description: replaceAll(java.util.function.UnaryOperator<kotlin.String{EnhancedNullability}>{EnhancedNullability}){}
/* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability String>): Unit
// CHECK JVM_IR:
// Mangled name: A2#retainAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>){}kotlin.Boolean
// Public signature: /A2.retainAll|8583629559312465774[0]
// Public signature debug description: retainAll(kotlin.collections.Collection<kotlin.String{EnhancedNullability}>){}kotlin.Boolean
/* fake */ override fun retainAll(elements: Collection<@EnhancedNullability String>): Boolean
// CHECK JVM_IR:
// Mangled name: A2#set(kotlin.Int;kotlin.String{EnhancedNullability}){}kotlin.String{EnhancedNullability}
// Public signature: /A2.set|-410612784715293145[0]
// Public signature debug description: set(kotlin.Int;kotlin.String{EnhancedNullability}){}kotlin.String{EnhancedNullability}
/* fake */ override operator fun set(index: Int, element: @EnhancedNullability String): @EnhancedNullability String
// CHECK:
// Mangled name: A2#sort(java.util.Comparator<in|kotlin.String?>?){}
// Public signature: /A2.sort|5087834210959411894[0]
// Public signature debug description: sort(java.util.Comparator<in|kotlin.String?>?){}
/* fake */ override fun sort(p0: Comparator<in String?>?): Unit
// CHECK JVM_IR:
// Mangled name: A2#spliterator(){}java.util.Spliterator<kotlin.String?>{EnhancedNullability}
// Public signature: /A2.spliterator|568936852624165869[0]
// Public signature debug description: spliterator(){}java.util.Spliterator<kotlin.String?>{EnhancedNullability}
/* fake */ override fun spliterator(): @EnhancedNullability Spliterator<String?>
// CHECK JVM_IR:
// Mangled name: A2#stream(){}java.util.stream.Stream<kotlin.String{EnhancedNullability}>{EnhancedNullability}
// Public signature: /A2.stream|-5169222176134445645[0]
// Public signature debug description: stream(){}java.util.stream.Stream<kotlin.String{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability String>
// CHECK JVM_IR:
// Mangled name: A2#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<kotlin.String{EnhancedNullability}>{EnhancedNullability}
// Public signature: /A2.subList|1834706356652401774[0]
// Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<kotlin.String{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability String>
// CHECK JVM_IR:
// Mangled name: A2#toArray(){}kotlin.Array<out|kotlin.Any?>?
// Public signature: /A2.toArray|-8468800257910341540[0]
// Public signature debug description: toArray(){}kotlin.Array<out|kotlin.Any?>?
/* fake */ override fun toArray(): Array<out Any?>?
// CHECK JVM_IR:
// Mangled name: A2#toArray(kotlin.Array<out|0:0?>?){0§<kotlin.Any?>}kotlin.Array<out|0:0?>?
// Public signature: /A2.toArray|-7248906015406159030[0]
// Public signature debug description: toArray(kotlin.Array<out|0:0?>?){0§<kotlin.Any?>}kotlin.Array<out|0:0?>?
/* fake */ override fun <T : Any?> toArray(p0: Array<out T?>?): Array<out T?>?
// CHECK JVM_IR:
// Mangled name: A2#toString(){}kotlin.String{EnhancedNullability}
// Public signature: /A2.toString|7581629773206850948[0]
// Public signature debug description: toString(){}kotlin.String{EnhancedNullability}
/* fake */ override fun toString(): @EnhancedNullability String
// CHECK:
// Mangled name: A2#trimToSize(){}
// Public signature: /A2.trimToSize|-5937642362792008740[0]
// Public signature debug description: trimToSize(){}
/* fake */ override fun trimToSize(): Unit
// CHECK JVM_IR:
// Mangled name: A2#remove(kotlin.String){}kotlin.Boolean
// Public signature: /A2.remove|-4681585628882047709[0]
// Public signature debug description: remove(kotlin.String){}kotlin.Boolean
override fun remove(x: String): Boolean
// CHECK:
// Mangled name: A2{}size
// Public signature: /A2.size|-6253659984320132064[0]
// Public signature debug description: {}size
/* fake */ override val size: Int
// CHECK JVM_IR:
// Mangled name: A2#<get-size>(){}kotlin.Int
// Public signature: /A2.size.<get-size>|-3941649985161900780[0]
// Public signature debug description: <get-size>(){}kotlin.Int
/* fake */ override get(): Int
}
@@ -1,7 +1,6 @@
// FIR_IDENTICAL
// WITH_STDLIB
// ISSUE: KT-60312
// SKIP_SIGNATURE_DUMP
fun main() {
consumeVarargs(1, 2)
@@ -0,0 +1,19 @@
// CHECK:
// Mangled name: #consumeVarargs(kotlin.IntArray...){}
// Public signature: /consumeVarargs|2702777436513705083[0]
// Public signature debug description: consumeVarargs(kotlin.IntArray...){}
fun consumeVarargs(vararg arr: Int): Unit
// CHECK JVM_IR:
// Mangled name: #main(){}
// Mangled name for the signature by IR: main(){}
// Mangled name for the signature by Frontend: main(){}%IntArrayAsVararg.kt
// Public signature by IR: /main|-4284757841571462650[0]
// Public signature by IR debug description: main(){}
// Public signature by Frontend: /main|-2337641484263297417[0]
// Public signature by Frontend debug description: main(){}%IntArrayAsVararg.kt
// CHECK JS_IR NATIVE:
// Mangled name: #main(){}
// Public signature: /main|-4284757841571462650[0]
// Public signature debug description: main(){}
fun main(): Unit
@@ -0,0 +1,631 @@
// CHECK:
// Mangled name: FinalList
// Public signature: /FinalList|null[0]
class FinalList : SomeList<String> {
// CHECK:
// Mangled name: FinalList#<init>(){}
// Public signature: /FinalList.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: FinalList#add(Some<kotlin.String>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /FinalList.add|-8984599614497554904[0]
// Public signature debug description: add(Some<kotlin.String>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun add(p0: @EnhancedNullability Some<String>): Boolean
// CHECK:
// Mangled name: FinalList#add(kotlin.Int;Some<kotlin.String>{EnhancedNullability}){}
// Public signature: /FinalList.add|6103522216647968303[0]
// Public signature debug description: add(kotlin.Int;Some<kotlin.String>{EnhancedNullability}){}
/* fake */ override fun add(p0: Int, p1: @EnhancedNullability Some<String>): Unit
// CHECK JVM_IR:
// Mangled name: FinalList#addAll(kotlin.collections.Collection<out|Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /FinalList.addAll|-808020497122409848[0]
// Public signature debug description: addAll(kotlin.collections.Collection<out|Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun addAll(p0: @EnhancedNullability Collection<out @EnhancedNullability Some<String>>): Boolean
// CHECK JVM_IR:
// Mangled name: FinalList#addAll(kotlin.Int;kotlin.collections.Collection<out|Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /FinalList.addAll|-2436690291193212609[0]
// Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection<out|Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun addAll(p0: Int, p1: @EnhancedNullability Collection<out @EnhancedNullability Some<String>>): Boolean
// CHECK:
// Mangled name: FinalList#clear(){}
// Public signature: /FinalList.clear|-6446868449915108923[0]
// Public signature debug description: clear(){}
/* fake */ override fun clear(): Unit
// CHECK JVM_IR:
// Mangled name: FinalList#clone(){}kotlin.Any{EnhancedNullability}
// Public signature: /FinalList.clone|178802004086941196[0]
// Public signature debug description: clone(){}kotlin.Any{EnhancedNullability}
/* fake */ override fun clone(): @EnhancedNullability Any
// CHECK JVM_IR:
// Mangled name: FinalList#contains(Some<kotlin.String>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /FinalList.contains|3096303196508390878[0]
// Public signature debug description: contains(Some<kotlin.String>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override operator fun contains(p0: @EnhancedNullability Some<String>): Boolean
// CHECK JVM_IR:
// Mangled name: FinalList#containsAll(kotlin.collections.Collection<Some<kotlin.String>?>){}kotlin.Boolean
// Public signature: /FinalList.containsAll|5422538213063988463[0]
// Public signature debug description: containsAll(kotlin.collections.Collection<Some<kotlin.String>?>){}kotlin.Boolean
/* fake */ override fun containsAll(p0: Collection<Some<String>?>): Boolean
// CHECK:
// Mangled name: FinalList#ensureCapacity(kotlin.Int){}
// Public signature: /FinalList.ensureCapacity|-7913402150632352615[0]
// Public signature debug description: ensureCapacity(kotlin.Int){}
/* fake */ override fun ensureCapacity(p0: Int): Unit
// CHECK JVM_IR:
// Mangled name: FinalList#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /FinalList.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(p0: Any?): Boolean
// CHECK:
// Mangled name: FinalList#forEach(java.util.function.Consumer<in|Some<kotlin.String>?>?){}
// Public signature: /FinalList.forEach|4696325404101105686[0]
// Public signature debug description: forEach(java.util.function.Consumer<in|Some<kotlin.String>?>?){}
/* fake */ override fun forEach(p0: Consumer<in Some<String>?>?): Unit
// CHECK JVM_IR:
// Mangled name: FinalList#get(kotlin.Int){}Some<kotlin.String>{EnhancedNullability}
// Public signature: /FinalList.get|-1548509062534898774[0]
// Public signature debug description: get(kotlin.Int){}Some<kotlin.String>{EnhancedNullability}
/* fake */ override operator fun get(p0: Int): @EnhancedNullability Some<String>
// CHECK JVM_IR:
// Mangled name: FinalList#hashCode(){}kotlin.Int
// Public signature: /FinalList.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: FinalList#indexOf(Some<kotlin.String>{EnhancedNullability}){}kotlin.Int
// Public signature: /FinalList.indexOf|7750638587776299509[0]
// Public signature debug description: indexOf(Some<kotlin.String>{EnhancedNullability}){}kotlin.Int
/* fake */ override fun indexOf(p0: @EnhancedNullability Some<String>): Int
// CHECK JVM_IR:
// Mangled name: FinalList#isEmpty(){}kotlin.Boolean
// Public signature: /FinalList.isEmpty|-626562167393617703[0]
// Public signature debug description: isEmpty(){}kotlin.Boolean
/* fake */ override fun isEmpty(): Boolean
// CHECK JVM_IR:
// Mangled name: FinalList#iterator(){}kotlin.collections.MutableIterator<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /FinalList.iterator|8558402996726649403[0]
// Public signature debug description: iterator(){}kotlin.collections.MutableIterator<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Some<String>>
// CHECK JVM_IR:
// Mangled name: FinalList#lastIndexOf(Some<kotlin.String>{EnhancedNullability}){}kotlin.Int
// Public signature: /FinalList.lastIndexOf|5741372771241017733[0]
// Public signature debug description: lastIndexOf(Some<kotlin.String>{EnhancedNullability}){}kotlin.Int
/* fake */ override fun lastIndexOf(p0: @EnhancedNullability Some<String>): Int
// CHECK JVM_IR:
// Mangled name: FinalList#listIterator(){}kotlin.collections.MutableListIterator<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /FinalList.listIterator|8523841103372258778[0]
// Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Some<String>>
// CHECK JVM_IR:
// Mangled name: FinalList#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /FinalList.listIterator|-1256207950105493440[0]
// Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun listIterator(p0: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Some<String>>
// CHECK JVM_IR:
// Mangled name: FinalList#parallelStream(){}java.util.stream.Stream<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /FinalList.parallelStream|8044059385260403489[0]
// Public signature debug description: parallelStream(){}java.util.stream.Stream<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Some<String>>
// CHECK JVM_IR:
// Mangled name: FinalList#remove(Some<kotlin.String>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /FinalList.remove|1113376285786700007[0]
// Public signature debug description: remove(Some<kotlin.String>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun remove(p0: @EnhancedNullability Some<String>): Boolean
// CHECK JVM_IR:
// Mangled name: FinalList#removeAll(kotlin.collections.Collection<Some<kotlin.String>{EnhancedNullability}>){}kotlin.Boolean
// Public signature: /FinalList.removeAll|8283758866692309032[0]
// Public signature debug description: removeAll(kotlin.collections.Collection<Some<kotlin.String>{EnhancedNullability}>){}kotlin.Boolean
/* fake */ override fun removeAll(p0: Collection<@EnhancedNullability Some<String>>): Boolean
// CHECK JVM_IR:
// Mangled name: FinalList#removeAt(kotlin.Int){}Some<kotlin.String>{EnhancedNullability}
// Public signature: /FinalList.removeAt|720917123303312228[0]
// Public signature debug description: removeAt(kotlin.Int){}Some<kotlin.String>{EnhancedNullability}
/* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Some<String>
// CHECK JVM_IR:
// Mangled name: FinalList#removeIf(java.util.function.Predicate<in|Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /FinalList.removeIf|8503205219992947771[0]
// Public signature debug description: removeIf(java.util.function.Predicate<in|Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun removeIf(p0: @EnhancedNullability Predicate<in @EnhancedNullability Some<String>>): Boolean
// CHECK:
// Mangled name: FinalList#removeRange(kotlin.Int;kotlin.Int){}
// Public signature: /FinalList.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: FinalList#replaceAll(java.util.function.UnaryOperator<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}){}
// Public signature: /FinalList.replaceAll|-2438443123103518985[0]
// Public signature debug description: replaceAll(java.util.function.UnaryOperator<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}){}
/* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Some<String>>): Unit
// CHECK JVM_IR:
// Mangled name: FinalList#retainAll(kotlin.collections.Collection<Some<kotlin.String>{EnhancedNullability}>){}kotlin.Boolean
// Public signature: /FinalList.retainAll|-7465258836476223838[0]
// Public signature debug description: retainAll(kotlin.collections.Collection<Some<kotlin.String>{EnhancedNullability}>){}kotlin.Boolean
/* fake */ override fun retainAll(p0: Collection<@EnhancedNullability Some<String>>): Boolean
// CHECK JVM_IR:
// Mangled name: FinalList#set(kotlin.Int;Some<kotlin.String>{EnhancedNullability}){}Some<kotlin.String>{EnhancedNullability}
// Public signature: /FinalList.set|-2357920566185129420[0]
// Public signature debug description: set(kotlin.Int;Some<kotlin.String>{EnhancedNullability}){}Some<kotlin.String>{EnhancedNullability}
/* fake */ override operator fun set(p0: Int, p1: @EnhancedNullability Some<String>): @EnhancedNullability Some<String>
// CHECK:
// Mangled name: FinalList#sort(java.util.Comparator<in|Some<kotlin.String>?>?){}
// Public signature: /FinalList.sort|788869724005081799[0]
// Public signature debug description: sort(java.util.Comparator<in|Some<kotlin.String>?>?){}
/* fake */ override fun sort(p0: Comparator<in Some<String>?>?): Unit
// CHECK JVM_IR:
// Mangled name: FinalList#spliterator(){}java.util.Spliterator<Some<kotlin.String>?>{EnhancedNullability}
// Public signature: /FinalList.spliterator|1821695929438060632[0]
// Public signature debug description: spliterator(){}java.util.Spliterator<Some<kotlin.String>?>{EnhancedNullability}
/* fake */ override fun spliterator(): @EnhancedNullability Spliterator<Some<String>?>
// CHECK JVM_IR:
// Mangled name: FinalList#stream(){}java.util.stream.Stream<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /FinalList.stream|904818870795057646[0]
// Public signature debug description: stream(){}java.util.stream.Stream<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Some<String>>
// CHECK JVM_IR:
// Mangled name: FinalList#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /FinalList.subList|-454918096443177489[0]
// Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun subList(p0: Int, p1: Int): @EnhancedNullability MutableList<@EnhancedNullability Some<String>>
// CHECK JVM_IR:
// Mangled name: FinalList#toArray(){}kotlin.Array<out|kotlin.Any?>?
// Public signature: /FinalList.toArray|-8468800257910341540[0]
// Public signature debug description: toArray(){}kotlin.Array<out|kotlin.Any?>?
/* fake */ override fun toArray(): Array<out Any?>?
// CHECK JVM_IR:
// Mangled name: FinalList#toArray(kotlin.Array<out|0:0?>?){0§<kotlin.Any?>}kotlin.Array<out|0:0?>?
// Public signature: /FinalList.toArray|-7248906015406159030[0]
// Public signature debug description: toArray(kotlin.Array<out|0:0?>?){0§<kotlin.Any?>}kotlin.Array<out|0:0?>?
/* fake */ override fun <T : Any?> toArray(p0: Array<out T?>?): Array<out T?>?
// CHECK JVM_IR:
// Mangled name: FinalList#toString(){}kotlin.String{EnhancedNullability}
// Public signature: /FinalList.toString|7581629773206850948[0]
// Public signature debug description: toString(){}kotlin.String{EnhancedNullability}
/* fake */ override fun toString(): @EnhancedNullability String
// CHECK:
// Mangled name: FinalList#trimToSize(){}
// Public signature: /FinalList.trimToSize|-5937642362792008740[0]
// Public signature debug description: trimToSize(){}
/* fake */ override fun trimToSize(): Unit
// CHECK:
// Mangled name: FinalList{}size
// Public signature: /FinalList.size|-6253659984320132064[0]
// Public signature debug description: {}size
/* fake */ override val size: Int
// CHECK JVM_IR:
// Mangled name: FinalList#<get-size>(){}kotlin.Int
// Public signature: /FinalList.size.<get-size>|-3941649985161900780[0]
// Public signature debug description: <get-size>(){}kotlin.Int
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: Some
// Public signature: /Some|null[0]
data class Some<T : Any?> {
// CHECK:
// Mangled name: Some{}value
// Public signature: /Some.value|1987073854177347439[0]
// Public signature debug description: {}value
val value: T
// CHECK JVM_IR:
// Mangled name: Some#<get-value>(){}1:0
// Public signature: /Some.value.<get-value>|3167862337988859752[0]
// Public signature debug description: <get-value>(){}1:0
get
// CHECK:
// Mangled name: Some#<init>(1:0){}
// Public signature: /Some.<init>|-8731461708390519279[0]
// Public signature debug description: <init>(1:0){}
constructor(value: T) /* primary */
// CHECK JVM_IR:
// Mangled name: Some#component1(){}1:0
// Public signature: /Some.component1|2393470133763651536[0]
// Public signature debug description: component1(){}1:0
operator fun component1(): T
// CHECK JVM_IR:
// Mangled name: Some#copy(1:0){}Some<1:0>
// Public signature: /Some.copy|-5113145417327178592[0]
// Public signature debug description: copy(1:0){}Some<1:0>
fun copy(value: T): Some<T>
// CHECK JVM_IR:
// Mangled name: Some#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Some.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: Some#hashCode(){}kotlin.Int
// Public signature: /Some.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: Some#toString(){}kotlin.String
// Public signature: /Some.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
override fun toString(): String
}
// CHECK:
// Mangled name: SomeList
// Public signature: /SomeList|null[0]
open class SomeList<T : Any?> : ArrayList<Some<T>>, MyList<T> {
// CHECK:
// Mangled name: SomeList#<init>(){}
// Public signature: /SomeList.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: SomeList#add(Some<1:0>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /SomeList.add|6625667564777432526[0]
// Public signature debug description: add(Some<1:0>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun add(p0: @EnhancedNullability Some<T>): Boolean
// CHECK:
// Mangled name: SomeList#add(kotlin.Int;Some<1:0>{EnhancedNullability}){}
// Public signature: /SomeList.add|5894306454182126521[0]
// Public signature debug description: add(kotlin.Int;Some<1:0>{EnhancedNullability}){}
/* fake */ override fun add(p0: Int, p1: @EnhancedNullability Some<T>): Unit
// CHECK JVM_IR:
// Mangled name: SomeList#addAll(kotlin.collections.Collection<out|Some<1:0>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /SomeList.addAll|8841102520309421896[0]
// Public signature debug description: addAll(kotlin.collections.Collection<out|Some<1:0>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun addAll(p0: @EnhancedNullability Collection<out @EnhancedNullability Some<T>>): Boolean
// CHECK JVM_IR:
// Mangled name: SomeList#addAll(kotlin.Int;kotlin.collections.Collection<out|Some<1:0>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /SomeList.addAll|-2909110170632963426[0]
// Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection<out|Some<1:0>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun addAll(p0: Int, p1: @EnhancedNullability Collection<out @EnhancedNullability Some<T>>): Boolean
// CHECK:
// Mangled name: SomeList#clear(){}
// Public signature: /SomeList.clear|-6446868449915108923[0]
// Public signature debug description: clear(){}
/* fake */ override fun clear(): Unit
// CHECK JVM_IR:
// Mangled name: SomeList#clone(){}kotlin.Any{EnhancedNullability}
// Public signature: /SomeList.clone|178802004086941196[0]
// Public signature debug description: clone(){}kotlin.Any{EnhancedNullability}
/* fake */ override fun clone(): @EnhancedNullability Any
// CHECK JVM_IR:
// Mangled name: SomeList#contains(Some<1:0>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /SomeList.contains|8295010842646223621[0]
// Public signature debug description: contains(Some<1:0>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override operator fun contains(p0: @EnhancedNullability Some<T>): Boolean
// CHECK JVM_IR:
// Mangled name: SomeList#containsAll(kotlin.collections.Collection<Some<1:0>?>){}kotlin.Boolean
// Public signature: /SomeList.containsAll|5540597363096413063[0]
// Public signature debug description: containsAll(kotlin.collections.Collection<Some<1:0>?>){}kotlin.Boolean
/* fake */ override fun containsAll(p0: Collection<Some<T>?>): Boolean
// CHECK:
// Mangled name: SomeList#ensureCapacity(kotlin.Int){}
// Public signature: /SomeList.ensureCapacity|-7913402150632352615[0]
// Public signature debug description: ensureCapacity(kotlin.Int){}
/* fake */ override fun ensureCapacity(p0: Int): Unit
// CHECK JVM_IR:
// Mangled name: SomeList#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /SomeList.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(p0: Any?): Boolean
// CHECK:
// Mangled name: SomeList#forEach(java.util.function.Consumer<in|Some<1:0>?>?){}
// Public signature: /SomeList.forEach|2335383423896980862[0]
// Public signature debug description: forEach(java.util.function.Consumer<in|Some<1:0>?>?){}
/* fake */ override fun forEach(p0: Consumer<in Some<T>?>?): Unit
// CHECK JVM_IR:
// Mangled name: SomeList#get(kotlin.Int){}Some<1:0>{EnhancedNullability}
// Public signature: /SomeList.get|-3046572306153092239[0]
// Public signature debug description: get(kotlin.Int){}Some<1:0>{EnhancedNullability}
/* fake */ override operator fun get(p0: Int): @EnhancedNullability Some<T>
// CHECK JVM_IR:
// Mangled name: SomeList#hashCode(){}kotlin.Int
// Public signature: /SomeList.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: SomeList#indexOf(Some<1:0>{EnhancedNullability}){}kotlin.Int
// Public signature: /SomeList.indexOf|-8100421064396203855[0]
// Public signature debug description: indexOf(Some<1:0>{EnhancedNullability}){}kotlin.Int
/* fake */ override fun indexOf(p0: @EnhancedNullability Some<T>): Int
// CHECK JVM_IR:
// Mangled name: SomeList#isEmpty(){}kotlin.Boolean
// Public signature: /SomeList.isEmpty|-626562167393617703[0]
// Public signature debug description: isEmpty(){}kotlin.Boolean
/* fake */ override fun isEmpty(): Boolean
// CHECK JVM_IR:
// Mangled name: SomeList#iterator(){}kotlin.collections.MutableIterator<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /SomeList.iterator|-7182993882396126574[0]
// Public signature debug description: iterator(){}kotlin.collections.MutableIterator<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Some<T>>
// CHECK JVM_IR:
// Mangled name: SomeList#lastIndexOf(Some<1:0>{EnhancedNullability}){}kotlin.Int
// Public signature: /SomeList.lastIndexOf|1971452683190765047[0]
// Public signature debug description: lastIndexOf(Some<1:0>{EnhancedNullability}){}kotlin.Int
/* fake */ override fun lastIndexOf(p0: @EnhancedNullability Some<T>): Int
// CHECK JVM_IR:
// Mangled name: SomeList#listIterator(){}kotlin.collections.MutableListIterator<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /SomeList.listIterator|6618472108636157083[0]
// Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Some<T>>
// CHECK JVM_IR:
// Mangled name: SomeList#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /SomeList.listIterator|-3795321970117438398[0]
// Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun listIterator(p0: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Some<T>>
// CHECK JVM_IR:
// Mangled name: SomeList#parallelStream(){}java.util.stream.Stream<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /SomeList.parallelStream|-219890944175584912[0]
// Public signature debug description: parallelStream(){}java.util.stream.Stream<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Some<T>>
// CHECK JVM_IR:
// Mangled name: SomeList#remove(Some<1:0>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /SomeList.remove|8928393929585423329[0]
// Public signature debug description: remove(Some<1:0>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun remove(p0: @EnhancedNullability Some<T>): Boolean
// CHECK JVM_IR:
// Mangled name: SomeList#removeAll(kotlin.collections.Collection<Some<1:0>{EnhancedNullability}>){}kotlin.Boolean
// Public signature: /SomeList.removeAll|-739161647328472857[0]
// Public signature debug description: removeAll(kotlin.collections.Collection<Some<1:0>{EnhancedNullability}>){}kotlin.Boolean
/* fake */ override fun removeAll(p0: Collection<@EnhancedNullability Some<T>>): Boolean
// CHECK JVM_IR:
// Mangled name: SomeList#removeAt(kotlin.Int){}Some<1:0>{EnhancedNullability}
// Public signature: /SomeList.removeAt|1618803614791995920[0]
// Public signature debug description: removeAt(kotlin.Int){}Some<1:0>{EnhancedNullability}
/* fake */ override operator fun removeAt(p0: Int): @EnhancedNullability Some<T>
// CHECK JVM_IR:
// Mangled name: SomeList#removeIf(java.util.function.Predicate<in|Some<1:0>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /SomeList.removeIf|6220917503242239774[0]
// Public signature debug description: removeIf(java.util.function.Predicate<in|Some<1:0>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun removeIf(p0: @EnhancedNullability Predicate<in @EnhancedNullability Some<T>>): Boolean
// CHECK:
// Mangled name: SomeList#removeRange(kotlin.Int;kotlin.Int){}
// Public signature: /SomeList.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: SomeList#replaceAll(java.util.function.UnaryOperator<Some<1:0>{EnhancedNullability}>{EnhancedNullability}){}
// Public signature: /SomeList.replaceAll|8399474219653830736[0]
// Public signature debug description: replaceAll(java.util.function.UnaryOperator<Some<1:0>{EnhancedNullability}>{EnhancedNullability}){}
/* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Some<T>>): Unit
// CHECK JVM_IR:
// Mangled name: SomeList#retainAll(kotlin.collections.Collection<Some<1:0>{EnhancedNullability}>){}kotlin.Boolean
// Public signature: /SomeList.retainAll|776609542356793092[0]
// Public signature debug description: retainAll(kotlin.collections.Collection<Some<1:0>{EnhancedNullability}>){}kotlin.Boolean
/* fake */ override fun retainAll(p0: Collection<@EnhancedNullability Some<T>>): Boolean
// CHECK JVM_IR:
// Mangled name: SomeList#set(kotlin.Int;Some<1:0>{EnhancedNullability}){}Some<1:0>{EnhancedNullability}
// Public signature: /SomeList.set|8710073253272248288[0]
// Public signature debug description: set(kotlin.Int;Some<1:0>{EnhancedNullability}){}Some<1:0>{EnhancedNullability}
/* fake */ override operator fun set(p0: Int, p1: @EnhancedNullability Some<T>): @EnhancedNullability Some<T>
// CHECK:
// Mangled name: SomeList#sort(java.util.Comparator<in|Some<1:0>?>?){}
// Public signature: /SomeList.sort|2356904874097678822[0]
// Public signature debug description: sort(java.util.Comparator<in|Some<1:0>?>?){}
/* fake */ override fun sort(p0: Comparator<in Some<T>?>?): Unit
// CHECK JVM_IR:
// Mangled name: SomeList#spliterator(){}java.util.Spliterator<Some<1:0>?>{EnhancedNullability}
// Public signature: /SomeList.spliterator|4783176954583244560[0]
// Public signature debug description: spliterator(){}java.util.Spliterator<Some<1:0>?>{EnhancedNullability}
/* fake */ override fun spliterator(): @EnhancedNullability Spliterator<Some<T>?>
// CHECK JVM_IR:
// Mangled name: SomeList#stream(){}java.util.stream.Stream<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /SomeList.stream|-3224874826172988287[0]
// Public signature debug description: stream(){}java.util.stream.Stream<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Some<T>>
// CHECK JVM_IR:
// Mangled name: SomeList#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /SomeList.subList|2652767784817291661[0]
// Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun subList(p0: Int, p1: Int): @EnhancedNullability MutableList<@EnhancedNullability Some<T>>
// CHECK JVM_IR:
// Mangled name: SomeList#toArray(){}kotlin.Array<out|kotlin.Any?>?
// Public signature: /SomeList.toArray|-8468800257910341540[0]
// Public signature debug description: toArray(){}kotlin.Array<out|kotlin.Any?>?
/* fake */ override fun toArray(): Array<out Any?>?
// CHECK JVM_IR:
// Mangled name: SomeList#toArray(kotlin.Array<out|0:0?>?){0§<kotlin.Any?>}kotlin.Array<out|0:0?>?
// Public signature: /SomeList.toArray|-7248906015406159030[0]
// Public signature debug description: toArray(kotlin.Array<out|0:0?>?){0§<kotlin.Any?>}kotlin.Array<out|0:0?>?
/* fake */ override fun <T : Any?> toArray(p0: Array<out T?>?): Array<out T?>?
// CHECK JVM_IR:
// Mangled name: SomeList#toString(){}kotlin.String{EnhancedNullability}
// Public signature: /SomeList.toString|7581629773206850948[0]
// Public signature debug description: toString(){}kotlin.String{EnhancedNullability}
/* fake */ override fun toString(): @EnhancedNullability String
// CHECK:
// Mangled name: SomeList#trimToSize(){}
// Public signature: /SomeList.trimToSize|-5937642362792008740[0]
// Public signature debug description: trimToSize(){}
/* fake */ override fun trimToSize(): Unit
// CHECK:
// Mangled name: SomeList{}size
// Public signature: /SomeList.size|-6253659984320132064[0]
// Public signature debug description: {}size
/* fake */ override val size: Int
// CHECK JVM_IR:
// Mangled name: SomeList#<get-size>(){}kotlin.Int
// Public signature: /SomeList.size.<get-size>|-3941649985161900780[0]
// Public signature debug description: <get-size>(){}kotlin.Int
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: MyList
// Public signature: /MyList|null[0]
interface MyList<T : Any?> : List<Some<T>> {
// CHECK JVM_IR:
// Mangled name: MyList#contains(Some<1:0>){}kotlin.Boolean
// Public signature: /MyList.contains|-2920670572443692722[0]
// Public signature debug description: contains(Some<1:0>){}kotlin.Boolean
abstract /* fake */ override operator fun contains(element: Some<T>): Boolean
// CHECK JVM_IR:
// Mangled name: MyList#containsAll(kotlin.collections.Collection<Some<1:0>>){}kotlin.Boolean
// Public signature: /MyList.containsAll|4060484050930787658[0]
// Public signature debug description: containsAll(kotlin.collections.Collection<Some<1:0>>){}kotlin.Boolean
abstract /* fake */ override fun containsAll(elements: Collection<Some<T>>): Boolean
// CHECK:
// Mangled name: MyList#forEach(java.util.function.Consumer<in|Some<1:0>?>?){}
// Public signature: /MyList.forEach|2335383423896980862[0]
// Public signature debug description: forEach(java.util.function.Consumer<in|Some<1:0>?>?){}
/* fake */ override fun forEach(p0: Consumer<in Some<T>?>?): Unit
// CHECK JVM_IR:
// Mangled name: MyList#get(kotlin.Int){}Some<1:0>
// Public signature: /MyList.get|7985278152358407752[0]
// Public signature debug description: get(kotlin.Int){}Some<1:0>
abstract /* fake */ override operator fun get(index: Int): Some<T>
// CHECK JVM_IR:
// Mangled name: MyList#indexOf(Some<1:0>){}kotlin.Int
// Public signature: /MyList.indexOf|4192413876446876489[0]
// Public signature debug description: indexOf(Some<1:0>){}kotlin.Int
abstract /* fake */ override fun indexOf(element: Some<T>): Int
// CHECK JVM_IR:
// Mangled name: MyList#isEmpty(){}kotlin.Boolean
// Public signature: /MyList.isEmpty|-626562167393617703[0]
// Public signature debug description: isEmpty(){}kotlin.Boolean
abstract /* fake */ override fun isEmpty(): Boolean
// CHECK JVM_IR:
// Mangled name: MyList#iterator(){}kotlin.collections.Iterator<Some<1:0>>
// Public signature: /MyList.iterator|4665016051664097318[0]
// Public signature debug description: iterator(){}kotlin.collections.Iterator<Some<1:0>>
abstract /* fake */ override operator fun iterator(): Iterator<Some<T>>
// CHECK JVM_IR:
// Mangled name: MyList#lastIndexOf(Some<1:0>){}kotlin.Int
// Public signature: /MyList.lastIndexOf|-4798028145670003218[0]
// Public signature debug description: lastIndexOf(Some<1:0>){}kotlin.Int
abstract /* fake */ override fun lastIndexOf(element: Some<T>): Int
// CHECK JVM_IR:
// Mangled name: MyList#listIterator(){}kotlin.collections.ListIterator<Some<1:0>>
// Public signature: /MyList.listIterator|-2189861527048971515[0]
// Public signature debug description: listIterator(){}kotlin.collections.ListIterator<Some<1:0>>
abstract /* fake */ override fun listIterator(): ListIterator<Some<T>>
// CHECK JVM_IR:
// Mangled name: MyList#listIterator(kotlin.Int){}kotlin.collections.ListIterator<Some<1:0>>
// Public signature: /MyList.listIterator|-7362392460123500224[0]
// Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.ListIterator<Some<1:0>>
abstract /* fake */ override fun listIterator(index: Int): ListIterator<Some<T>>
// CHECK JVM_IR:
// Mangled name: MyList#parallelStream(){}java.util.stream.Stream<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /MyList.parallelStream|-219890944175584912[0]
// Public signature debug description: parallelStream(){}java.util.stream.Stream<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Some<T>>
// CHECK JVM_IR:
// Mangled name: MyList#spliterator(){}java.util.Spliterator<Some<1:0>?>{EnhancedNullability}
// Public signature: /MyList.spliterator|4783176954583244560[0]
// Public signature debug description: spliterator(){}java.util.Spliterator<Some<1:0>?>{EnhancedNullability}
/* fake */ override fun spliterator(): @EnhancedNullability Spliterator<Some<T>?>
// CHECK JVM_IR:
// Mangled name: MyList#stream(){}java.util.stream.Stream<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /MyList.stream|-3224874826172988287[0]
// Public signature debug description: stream(){}java.util.stream.Stream<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Some<T>>
// CHECK JVM_IR:
// Mangled name: MyList#subList(kotlin.Int;kotlin.Int){}kotlin.collections.List<Some<1:0>>
// Public signature: /MyList.subList|-1812789993592301332[0]
// Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.List<Some<1:0>>
abstract /* fake */ override fun subList(fromIndex: Int, toIndex: Int): List<Some<T>>
// CHECK:
// Mangled name: MyList{}size
// Public signature: /MyList.size|-6253659984320132064[0]
// Public signature debug description: {}size
abstract /* fake */ override val size: Int
// CHECK JVM_IR:
// Mangled name: MyList#<get-size>(){}kotlin.Int
// Public signature: /MyList.size.<get-size>|-3941649985161900780[0]
// Public signature debug description: <get-size>(){}kotlin.Int
abstract /* fake */ override get(): Int
}
+1 -1
View File
@@ -1,7 +1,7 @@
// TARGET_BACKEND: JVM
// FULL_JDK
// SKIP_SIGNATURE_DUMP
// SEPARATE_SIGNATURE_DUMP_FOR_K2
// ^ Value parameters in fake overrides generated by K1 and K2 are different
import java.util.ArrayList
@@ -0,0 +1,631 @@
// CHECK:
// Mangled name: FinalList
// Public signature: /FinalList|null[0]
class FinalList : SomeList<String> {
// CHECK:
// Mangled name: FinalList#<init>(){}
// Public signature: /FinalList.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: FinalList#add(Some<kotlin.String>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /FinalList.add|-8984599614497554904[0]
// Public signature debug description: add(Some<kotlin.String>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun add(element: @EnhancedNullability Some<String>): Boolean
// CHECK:
// Mangled name: FinalList#add(kotlin.Int;Some<kotlin.String>{EnhancedNullability}){}
// Public signature: /FinalList.add|6103522216647968303[0]
// Public signature debug description: add(kotlin.Int;Some<kotlin.String>{EnhancedNullability}){}
/* fake */ override fun add(index: Int, element: @EnhancedNullability Some<String>): Unit
// CHECK JVM_IR:
// Mangled name: FinalList#addAll(kotlin.collections.Collection<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /FinalList.addAll|6541999141588936174[0]
// Public signature debug description: addAll(kotlin.collections.Collection<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Some<String>>): Boolean
// CHECK JVM_IR:
// Mangled name: FinalList#addAll(kotlin.Int;kotlin.collections.Collection<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /FinalList.addAll|-5588261424194102008[0]
// Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Some<String>>): Boolean
// CHECK:
// Mangled name: FinalList#clear(){}
// Public signature: /FinalList.clear|-6446868449915108923[0]
// Public signature debug description: clear(){}
/* fake */ override fun clear(): Unit
// CHECK JVM_IR:
// Mangled name: FinalList#clone(){}kotlin.Any{EnhancedNullability}
// Public signature: /FinalList.clone|178802004086941196[0]
// Public signature debug description: clone(){}kotlin.Any{EnhancedNullability}
/* fake */ override fun clone(): @EnhancedNullability Any
// CHECK JVM_IR:
// Mangled name: FinalList#contains(Some<kotlin.String>){}kotlin.Boolean
// Public signature: /FinalList.contains|3306019531315598892[0]
// Public signature debug description: contains(Some<kotlin.String>){}kotlin.Boolean
/* fake */ override operator fun contains(element: Some<String>): Boolean
// CHECK JVM_IR:
// Mangled name: FinalList#containsAll(kotlin.collections.Collection<Some<kotlin.String>>){}kotlin.Boolean
// Public signature: /FinalList.containsAll|9064771870641374979[0]
// Public signature debug description: containsAll(kotlin.collections.Collection<Some<kotlin.String>>){}kotlin.Boolean
/* fake */ override fun containsAll(elements: Collection<Some<String>>): Boolean
// CHECK:
// Mangled name: FinalList#ensureCapacity(kotlin.Int){}
// Public signature: /FinalList.ensureCapacity|-7913402150632352615[0]
// Public signature debug description: ensureCapacity(kotlin.Int){}
/* fake */ override fun ensureCapacity(p0: Int): Unit
// CHECK JVM_IR:
// Mangled name: FinalList#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /FinalList.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK:
// Mangled name: FinalList#forEach(java.util.function.Consumer<in|Some<kotlin.String>?>?){}
// Public signature: /FinalList.forEach|4696325404101105686[0]
// Public signature debug description: forEach(java.util.function.Consumer<in|Some<kotlin.String>?>?){}
/* fake */ override fun forEach(p0: Consumer<in Some<String>?>?): Unit
// CHECK JVM_IR:
// Mangled name: FinalList#get(kotlin.Int){}Some<kotlin.String>
// Public signature: /FinalList.get|5550525129583729061[0]
// Public signature debug description: get(kotlin.Int){}Some<kotlin.String>
/* fake */ override operator fun get(index: Int): Some<String>
// CHECK JVM_IR:
// Mangled name: FinalList#hashCode(){}kotlin.Int
// Public signature: /FinalList.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: FinalList#indexOf(Some<kotlin.String>){}kotlin.Int
// Public signature: /FinalList.indexOf|5440857764812757471[0]
// Public signature debug description: indexOf(Some<kotlin.String>){}kotlin.Int
/* fake */ override fun indexOf(element: Some<String>): Int
// CHECK JVM_IR:
// Mangled name: FinalList#isEmpty(){}kotlin.Boolean
// Public signature: /FinalList.isEmpty|-626562167393617703[0]
// Public signature debug description: isEmpty(){}kotlin.Boolean
/* fake */ override fun isEmpty(): Boolean
// CHECK JVM_IR:
// Mangled name: FinalList#iterator(){}kotlin.collections.MutableIterator<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /FinalList.iterator|8558402996726649403[0]
// Public signature debug description: iterator(){}kotlin.collections.MutableIterator<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Some<String>>
// CHECK JVM_IR:
// Mangled name: FinalList#lastIndexOf(Some<kotlin.String>){}kotlin.Int
// Public signature: /FinalList.lastIndexOf|-46333449251229155[0]
// Public signature debug description: lastIndexOf(Some<kotlin.String>){}kotlin.Int
/* fake */ override fun lastIndexOf(element: Some<String>): Int
// CHECK JVM_IR:
// Mangled name: FinalList#listIterator(){}kotlin.collections.MutableListIterator<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /FinalList.listIterator|8523841103372258778[0]
// Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Some<String>>
// CHECK JVM_IR:
// Mangled name: FinalList#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /FinalList.listIterator|-1256207950105493440[0]
// Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Some<String>>
// CHECK JVM_IR:
// Mangled name: FinalList#parallelStream(){}java.util.stream.Stream<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /FinalList.parallelStream|8044059385260403489[0]
// Public signature debug description: parallelStream(){}java.util.stream.Stream<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Some<String>>
// CHECK JVM_IR:
// Mangled name: FinalList#remove(Some<kotlin.String>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /FinalList.remove|1113376285786700007[0]
// Public signature debug description: remove(Some<kotlin.String>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun remove(element: @EnhancedNullability Some<String>): Boolean
// CHECK JVM_IR:
// Mangled name: FinalList#removeAll(kotlin.collections.Collection<Some<kotlin.String>{EnhancedNullability}>){}kotlin.Boolean
// Public signature: /FinalList.removeAll|8283758866692309032[0]
// Public signature debug description: removeAll(kotlin.collections.Collection<Some<kotlin.String>{EnhancedNullability}>){}kotlin.Boolean
/* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Some<String>>): Boolean
// CHECK JVM_IR:
// Mangled name: FinalList#removeAt(kotlin.Int){}Some<kotlin.String>{EnhancedNullability}
// Public signature: /FinalList.removeAt|720917123303312228[0]
// Public signature debug description: removeAt(kotlin.Int){}Some<kotlin.String>{EnhancedNullability}
/* fake */ override fun removeAt(p0: Int): @EnhancedNullability Some<String>
// CHECK JVM_IR:
// Mangled name: FinalList#removeIf(java.util.function.Predicate<in|Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /FinalList.removeIf|8503205219992947771[0]
// Public signature debug description: removeIf(java.util.function.Predicate<in|Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun removeIf(p0: @EnhancedNullability Predicate<in @EnhancedNullability Some<String>>): Boolean
// CHECK:
// Mangled name: FinalList#removeRange(kotlin.Int;kotlin.Int){}
// Public signature: /FinalList.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: FinalList#replaceAll(java.util.function.UnaryOperator<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}){}
// Public signature: /FinalList.replaceAll|-2438443123103518985[0]
// Public signature debug description: replaceAll(java.util.function.UnaryOperator<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}){}
/* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Some<String>>): Unit
// CHECK JVM_IR:
// Mangled name: FinalList#retainAll(kotlin.collections.Collection<Some<kotlin.String>{EnhancedNullability}>){}kotlin.Boolean
// Public signature: /FinalList.retainAll|-7465258836476223838[0]
// Public signature debug description: retainAll(kotlin.collections.Collection<Some<kotlin.String>{EnhancedNullability}>){}kotlin.Boolean
/* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Some<String>>): Boolean
// CHECK JVM_IR:
// Mangled name: FinalList#set(kotlin.Int;Some<kotlin.String>{EnhancedNullability}){}Some<kotlin.String>{EnhancedNullability}
// Public signature: /FinalList.set|-2357920566185129420[0]
// Public signature debug description: set(kotlin.Int;Some<kotlin.String>{EnhancedNullability}){}Some<kotlin.String>{EnhancedNullability}
/* fake */ override operator fun set(index: Int, element: @EnhancedNullability Some<String>): @EnhancedNullability Some<String>
// CHECK:
// Mangled name: FinalList#sort(java.util.Comparator<in|Some<kotlin.String>?>?){}
// Public signature: /FinalList.sort|788869724005081799[0]
// Public signature debug description: sort(java.util.Comparator<in|Some<kotlin.String>?>?){}
/* fake */ override fun sort(p0: Comparator<in Some<String>?>?): Unit
// CHECK JVM_IR:
// Mangled name: FinalList#spliterator(){}java.util.Spliterator<Some<kotlin.String>?>{EnhancedNullability}
// Public signature: /FinalList.spliterator|1821695929438060632[0]
// Public signature debug description: spliterator(){}java.util.Spliterator<Some<kotlin.String>?>{EnhancedNullability}
/* fake */ override fun spliterator(): @EnhancedNullability Spliterator<Some<String>?>
// CHECK JVM_IR:
// Mangled name: FinalList#stream(){}java.util.stream.Stream<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /FinalList.stream|904818870795057646[0]
// Public signature debug description: stream(){}java.util.stream.Stream<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Some<String>>
// CHECK JVM_IR:
// Mangled name: FinalList#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /FinalList.subList|-454918096443177489[0]
// Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<Some<kotlin.String>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Some<String>>
// CHECK JVM_IR:
// Mangled name: FinalList#toArray(){}kotlin.Array<out|kotlin.Any?>?
// Public signature: /FinalList.toArray|-8468800257910341540[0]
// Public signature debug description: toArray(){}kotlin.Array<out|kotlin.Any?>?
/* fake */ override fun toArray(): Array<out Any?>?
// CHECK JVM_IR:
// Mangled name: FinalList#toArray(kotlin.Array<out|0:0?>?){0§<kotlin.Any?>}kotlin.Array<out|0:0?>?
// Public signature: /FinalList.toArray|-7248906015406159030[0]
// Public signature debug description: toArray(kotlin.Array<out|0:0?>?){0§<kotlin.Any?>}kotlin.Array<out|0:0?>?
/* fake */ override fun <T : Any?> toArray(p0: Array<out T?>?): Array<out T?>?
// CHECK JVM_IR:
// Mangled name: FinalList#toString(){}kotlin.String
// Public signature: /FinalList.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: FinalList#trimToSize(){}
// Public signature: /FinalList.trimToSize|-5937642362792008740[0]
// Public signature debug description: trimToSize(){}
/* fake */ override fun trimToSize(): Unit
// CHECK:
// Mangled name: FinalList{}size
// Public signature: /FinalList.size|-6253659984320132064[0]
// Public signature debug description: {}size
/* fake */ override val size: Int
// CHECK JVM_IR:
// Mangled name: FinalList#<get-size>(){}kotlin.Int
// Public signature: /FinalList.size.<get-size>|-3941649985161900780[0]
// Public signature debug description: <get-size>(){}kotlin.Int
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: Some
// Public signature: /Some|null[0]
data class Some<T : Any?> {
// CHECK:
// Mangled name: Some{}value
// Public signature: /Some.value|1987073854177347439[0]
// Public signature debug description: {}value
val value: T
// CHECK JVM_IR:
// Mangled name: Some#<get-value>(){}1:0
// Public signature: /Some.value.<get-value>|3167862337988859752[0]
// Public signature debug description: <get-value>(){}1:0
get
// CHECK:
// Mangled name: Some#<init>(1:0){}
// Public signature: /Some.<init>|-8731461708390519279[0]
// Public signature debug description: <init>(1:0){}
constructor(value: T) /* primary */
// CHECK JVM_IR:
// Mangled name: Some#component1(){}1:0
// Public signature: /Some.component1|2393470133763651536[0]
// Public signature debug description: component1(){}1:0
operator fun component1(): T
// CHECK JVM_IR:
// Mangled name: Some#copy(1:0){}Some<1:0>
// Public signature: /Some.copy|-5113145417327178592[0]
// Public signature debug description: copy(1:0){}Some<1:0>
fun copy(value: T): Some<T>
// CHECK JVM_IR:
// Mangled name: Some#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Some.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: Some#hashCode(){}kotlin.Int
// Public signature: /Some.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: Some#toString(){}kotlin.String
// Public signature: /Some.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
override fun toString(): String
}
// CHECK:
// Mangled name: SomeList
// Public signature: /SomeList|null[0]
open class SomeList<T : Any?> : ArrayList<Some<T>>, MyList<T> {
// CHECK:
// Mangled name: SomeList#<init>(){}
// Public signature: /SomeList.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: SomeList#add(Some<1:0>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /SomeList.add|6625667564777432526[0]
// Public signature debug description: add(Some<1:0>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun add(element: @EnhancedNullability Some<T>): Boolean
// CHECK:
// Mangled name: SomeList#add(kotlin.Int;Some<1:0>{EnhancedNullability}){}
// Public signature: /SomeList.add|5894306454182126521[0]
// Public signature debug description: add(kotlin.Int;Some<1:0>{EnhancedNullability}){}
/* fake */ override fun add(index: Int, element: @EnhancedNullability Some<T>): Unit
// CHECK JVM_IR:
// Mangled name: SomeList#addAll(kotlin.collections.Collection<Some<1:0>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /SomeList.addAll|7215816488194227173[0]
// Public signature debug description: addAll(kotlin.collections.Collection<Some<1:0>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun addAll(elements: @EnhancedNullability Collection<@EnhancedNullability Some<T>>): Boolean
// CHECK JVM_IR:
// Mangled name: SomeList#addAll(kotlin.Int;kotlin.collections.Collection<Some<1:0>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /SomeList.addAll|-8771596815386290321[0]
// Public signature debug description: addAll(kotlin.Int;kotlin.collections.Collection<Some<1:0>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun addAll(index: Int, elements: @EnhancedNullability Collection<@EnhancedNullability Some<T>>): Boolean
// CHECK:
// Mangled name: SomeList#clear(){}
// Public signature: /SomeList.clear|-6446868449915108923[0]
// Public signature debug description: clear(){}
/* fake */ override fun clear(): Unit
// CHECK JVM_IR:
// Mangled name: SomeList#clone(){}kotlin.Any{EnhancedNullability}
// Public signature: /SomeList.clone|178802004086941196[0]
// Public signature debug description: clone(){}kotlin.Any{EnhancedNullability}
/* fake */ override fun clone(): @EnhancedNullability Any
// CHECK JVM_IR:
// Mangled name: SomeList#contains(Some<1:0>){}kotlin.Boolean
// Public signature: /SomeList.contains|-2920670572443692722[0]
// Public signature debug description: contains(Some<1:0>){}kotlin.Boolean
/* fake */ override operator fun contains(element: Some<T>): Boolean
// CHECK JVM_IR:
// Mangled name: SomeList#containsAll(kotlin.collections.Collection<Some<1:0>>){}kotlin.Boolean
// Public signature: /SomeList.containsAll|4060484050930787658[0]
// Public signature debug description: containsAll(kotlin.collections.Collection<Some<1:0>>){}kotlin.Boolean
/* fake */ override fun containsAll(elements: Collection<Some<T>>): Boolean
// CHECK:
// Mangled name: SomeList#ensureCapacity(kotlin.Int){}
// Public signature: /SomeList.ensureCapacity|-7913402150632352615[0]
// Public signature debug description: ensureCapacity(kotlin.Int){}
/* fake */ override fun ensureCapacity(p0: Int): Unit
// CHECK JVM_IR:
// Mangled name: SomeList#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /SomeList.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK:
// Mangled name: SomeList#forEach(java.util.function.Consumer<in|Some<1:0>?>?){}
// Public signature: /SomeList.forEach|2335383423896980862[0]
// Public signature debug description: forEach(java.util.function.Consumer<in|Some<1:0>?>?){}
/* fake */ override fun forEach(p0: Consumer<in Some<T>?>?): Unit
// CHECK JVM_IR:
// Mangled name: SomeList#get(kotlin.Int){}Some<1:0>
// Public signature: /SomeList.get|7985278152358407752[0]
// Public signature debug description: get(kotlin.Int){}Some<1:0>
/* fake */ override operator fun get(index: Int): Some<T>
// CHECK JVM_IR:
// Mangled name: SomeList#hashCode(){}kotlin.Int
// Public signature: /SomeList.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: SomeList#indexOf(Some<1:0>){}kotlin.Int
// Public signature: /SomeList.indexOf|4192413876446876489[0]
// Public signature debug description: indexOf(Some<1:0>){}kotlin.Int
/* fake */ override fun indexOf(element: Some<T>): Int
// CHECK JVM_IR:
// Mangled name: SomeList#isEmpty(){}kotlin.Boolean
// Public signature: /SomeList.isEmpty|-626562167393617703[0]
// Public signature debug description: isEmpty(){}kotlin.Boolean
/* fake */ override fun isEmpty(): Boolean
// CHECK JVM_IR:
// Mangled name: SomeList#iterator(){}kotlin.collections.MutableIterator<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /SomeList.iterator|-7182993882396126574[0]
// Public signature debug description: iterator(){}kotlin.collections.MutableIterator<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override operator fun iterator(): @EnhancedNullability MutableIterator<@EnhancedNullability Some<T>>
// CHECK JVM_IR:
// Mangled name: SomeList#lastIndexOf(Some<1:0>){}kotlin.Int
// Public signature: /SomeList.lastIndexOf|-4798028145670003218[0]
// Public signature debug description: lastIndexOf(Some<1:0>){}kotlin.Int
/* fake */ override fun lastIndexOf(element: Some<T>): Int
// CHECK JVM_IR:
// Mangled name: SomeList#listIterator(){}kotlin.collections.MutableListIterator<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /SomeList.listIterator|6618472108636157083[0]
// Public signature debug description: listIterator(){}kotlin.collections.MutableListIterator<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun listIterator(): @EnhancedNullability MutableListIterator<@EnhancedNullability Some<T>>
// CHECK JVM_IR:
// Mangled name: SomeList#listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /SomeList.listIterator|-3795321970117438398[0]
// Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.MutableListIterator<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun listIterator(index: Int): @EnhancedNullability MutableListIterator<@EnhancedNullability Some<T>>
// CHECK JVM_IR:
// Mangled name: SomeList#parallelStream(){}java.util.stream.Stream<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /SomeList.parallelStream|-219890944175584912[0]
// Public signature debug description: parallelStream(){}java.util.stream.Stream<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Some<T>>
// CHECK JVM_IR:
// Mangled name: SomeList#remove(Some<1:0>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /SomeList.remove|8928393929585423329[0]
// Public signature debug description: remove(Some<1:0>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun remove(element: @EnhancedNullability Some<T>): Boolean
// CHECK JVM_IR:
// Mangled name: SomeList#removeAll(kotlin.collections.Collection<Some<1:0>{EnhancedNullability}>){}kotlin.Boolean
// Public signature: /SomeList.removeAll|-739161647328472857[0]
// Public signature debug description: removeAll(kotlin.collections.Collection<Some<1:0>{EnhancedNullability}>){}kotlin.Boolean
/* fake */ override fun removeAll(elements: Collection<@EnhancedNullability Some<T>>): Boolean
// CHECK JVM_IR:
// Mangled name: SomeList#removeAt(kotlin.Int){}Some<1:0>{EnhancedNullability}
// Public signature: /SomeList.removeAt|1618803614791995920[0]
// Public signature debug description: removeAt(kotlin.Int){}Some<1:0>{EnhancedNullability}
/* fake */ override fun removeAt(p0: Int): @EnhancedNullability Some<T>
// CHECK JVM_IR:
// Mangled name: SomeList#removeIf(java.util.function.Predicate<in|Some<1:0>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
// Public signature: /SomeList.removeIf|6220917503242239774[0]
// Public signature debug description: removeIf(java.util.function.Predicate<in|Some<1:0>{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean
/* fake */ override fun removeIf(p0: @EnhancedNullability Predicate<in @EnhancedNullability Some<T>>): Boolean
// CHECK:
// Mangled name: SomeList#removeRange(kotlin.Int;kotlin.Int){}
// Public signature: /SomeList.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: SomeList#replaceAll(java.util.function.UnaryOperator<Some<1:0>{EnhancedNullability}>{EnhancedNullability}){}
// Public signature: /SomeList.replaceAll|8399474219653830736[0]
// Public signature debug description: replaceAll(java.util.function.UnaryOperator<Some<1:0>{EnhancedNullability}>{EnhancedNullability}){}
/* fake */ override fun replaceAll(p0: @EnhancedNullability UnaryOperator<@EnhancedNullability Some<T>>): Unit
// CHECK JVM_IR:
// Mangled name: SomeList#retainAll(kotlin.collections.Collection<Some<1:0>{EnhancedNullability}>){}kotlin.Boolean
// Public signature: /SomeList.retainAll|776609542356793092[0]
// Public signature debug description: retainAll(kotlin.collections.Collection<Some<1:0>{EnhancedNullability}>){}kotlin.Boolean
/* fake */ override fun retainAll(elements: Collection<@EnhancedNullability Some<T>>): Boolean
// CHECK JVM_IR:
// Mangled name: SomeList#set(kotlin.Int;Some<1:0>{EnhancedNullability}){}Some<1:0>{EnhancedNullability}
// Public signature: /SomeList.set|8710073253272248288[0]
// Public signature debug description: set(kotlin.Int;Some<1:0>{EnhancedNullability}){}Some<1:0>{EnhancedNullability}
/* fake */ override operator fun set(index: Int, element: @EnhancedNullability Some<T>): @EnhancedNullability Some<T>
// CHECK:
// Mangled name: SomeList#sort(java.util.Comparator<in|Some<1:0>?>?){}
// Public signature: /SomeList.sort|2356904874097678822[0]
// Public signature debug description: sort(java.util.Comparator<in|Some<1:0>?>?){}
/* fake */ override fun sort(p0: Comparator<in Some<T>?>?): Unit
// CHECK JVM_IR:
// Mangled name: SomeList#spliterator(){}java.util.Spliterator<Some<1:0>?>{EnhancedNullability}
// Public signature: /SomeList.spliterator|4783176954583244560[0]
// Public signature debug description: spliterator(){}java.util.Spliterator<Some<1:0>?>{EnhancedNullability}
/* fake */ override fun spliterator(): @EnhancedNullability Spliterator<Some<T>?>
// CHECK JVM_IR:
// Mangled name: SomeList#stream(){}java.util.stream.Stream<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /SomeList.stream|-3224874826172988287[0]
// Public signature debug description: stream(){}java.util.stream.Stream<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Some<T>>
// CHECK JVM_IR:
// Mangled name: SomeList#subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /SomeList.subList|2652767784817291661[0]
// Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.MutableList<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun subList(fromIndex: Int, toIndex: Int): @EnhancedNullability MutableList<@EnhancedNullability Some<T>>
// CHECK JVM_IR:
// Mangled name: SomeList#toArray(){}kotlin.Array<out|kotlin.Any?>?
// Public signature: /SomeList.toArray|-8468800257910341540[0]
// Public signature debug description: toArray(){}kotlin.Array<out|kotlin.Any?>?
/* fake */ override fun toArray(): Array<out Any?>?
// CHECK JVM_IR:
// Mangled name: SomeList#toArray(kotlin.Array<out|0:0?>?){0§<kotlin.Any?>}kotlin.Array<out|0:0?>?
// Public signature: /SomeList.toArray|-7248906015406159030[0]
// Public signature debug description: toArray(kotlin.Array<out|0:0?>?){0§<kotlin.Any?>}kotlin.Array<out|0:0?>?
/* fake */ override fun <T : Any?> toArray(p0: Array<out T?>?): Array<out T?>?
// CHECK JVM_IR:
// Mangled name: SomeList#toString(){}kotlin.String
// Public signature: /SomeList.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: SomeList#trimToSize(){}
// Public signature: /SomeList.trimToSize|-5937642362792008740[0]
// Public signature debug description: trimToSize(){}
/* fake */ override fun trimToSize(): Unit
// CHECK:
// Mangled name: SomeList{}size
// Public signature: /SomeList.size|-6253659984320132064[0]
// Public signature debug description: {}size
/* fake */ override val size: Int
// CHECK JVM_IR:
// Mangled name: SomeList#<get-size>(){}kotlin.Int
// Public signature: /SomeList.size.<get-size>|-3941649985161900780[0]
// Public signature debug description: <get-size>(){}kotlin.Int
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: MyList
// Public signature: /MyList|null[0]
interface MyList<T : Any?> : List<Some<T>> {
// CHECK JVM_IR:
// Mangled name: MyList#contains(Some<1:0>){}kotlin.Boolean
// Public signature: /MyList.contains|-2920670572443692722[0]
// Public signature debug description: contains(Some<1:0>){}kotlin.Boolean
abstract /* fake */ override operator fun contains(element: Some<T>): Boolean
// CHECK JVM_IR:
// Mangled name: MyList#containsAll(kotlin.collections.Collection<Some<1:0>>){}kotlin.Boolean
// Public signature: /MyList.containsAll|4060484050930787658[0]
// Public signature debug description: containsAll(kotlin.collections.Collection<Some<1:0>>){}kotlin.Boolean
abstract /* fake */ override fun containsAll(elements: Collection<Some<T>>): Boolean
// CHECK:
// Mangled name: MyList#forEach(java.util.function.Consumer<in|Some<1:0>?>?){}
// Public signature: /MyList.forEach|2335383423896980862[0]
// Public signature debug description: forEach(java.util.function.Consumer<in|Some<1:0>?>?){}
/* fake */ override fun forEach(p0: Consumer<in Some<T>?>?): Unit
// CHECK JVM_IR:
// Mangled name: MyList#get(kotlin.Int){}Some<1:0>
// Public signature: /MyList.get|7985278152358407752[0]
// Public signature debug description: get(kotlin.Int){}Some<1:0>
abstract /* fake */ override operator fun get(index: Int): Some<T>
// CHECK JVM_IR:
// Mangled name: MyList#indexOf(Some<1:0>){}kotlin.Int
// Public signature: /MyList.indexOf|4192413876446876489[0]
// Public signature debug description: indexOf(Some<1:0>){}kotlin.Int
abstract /* fake */ override fun indexOf(element: Some<T>): Int
// CHECK JVM_IR:
// Mangled name: MyList#isEmpty(){}kotlin.Boolean
// Public signature: /MyList.isEmpty|-626562167393617703[0]
// Public signature debug description: isEmpty(){}kotlin.Boolean
abstract /* fake */ override fun isEmpty(): Boolean
// CHECK JVM_IR:
// Mangled name: MyList#iterator(){}kotlin.collections.Iterator<Some<1:0>>
// Public signature: /MyList.iterator|4665016051664097318[0]
// Public signature debug description: iterator(){}kotlin.collections.Iterator<Some<1:0>>
abstract /* fake */ override operator fun iterator(): Iterator<Some<T>>
// CHECK JVM_IR:
// Mangled name: MyList#lastIndexOf(Some<1:0>){}kotlin.Int
// Public signature: /MyList.lastIndexOf|-4798028145670003218[0]
// Public signature debug description: lastIndexOf(Some<1:0>){}kotlin.Int
abstract /* fake */ override fun lastIndexOf(element: Some<T>): Int
// CHECK JVM_IR:
// Mangled name: MyList#listIterator(){}kotlin.collections.ListIterator<Some<1:0>>
// Public signature: /MyList.listIterator|-2189861527048971515[0]
// Public signature debug description: listIterator(){}kotlin.collections.ListIterator<Some<1:0>>
abstract /* fake */ override fun listIterator(): ListIterator<Some<T>>
// CHECK JVM_IR:
// Mangled name: MyList#listIterator(kotlin.Int){}kotlin.collections.ListIterator<Some<1:0>>
// Public signature: /MyList.listIterator|-7362392460123500224[0]
// Public signature debug description: listIterator(kotlin.Int){}kotlin.collections.ListIterator<Some<1:0>>
abstract /* fake */ override fun listIterator(index: Int): ListIterator<Some<T>>
// CHECK JVM_IR:
// Mangled name: MyList#parallelStream(){}java.util.stream.Stream<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /MyList.parallelStream|-219890944175584912[0]
// Public signature debug description: parallelStream(){}java.util.stream.Stream<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun parallelStream(): @EnhancedNullability Stream<@EnhancedNullability Some<T>>
// CHECK JVM_IR:
// Mangled name: MyList#spliterator(){}java.util.Spliterator<Some<1:0>?>{EnhancedNullability}
// Public signature: /MyList.spliterator|4783176954583244560[0]
// Public signature debug description: spliterator(){}java.util.Spliterator<Some<1:0>?>{EnhancedNullability}
/* fake */ override fun spliterator(): @EnhancedNullability Spliterator<Some<T>?>
// CHECK JVM_IR:
// Mangled name: MyList#stream(){}java.util.stream.Stream<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
// Public signature: /MyList.stream|-3224874826172988287[0]
// Public signature debug description: stream(){}java.util.stream.Stream<Some<1:0>{EnhancedNullability}>{EnhancedNullability}
/* fake */ override fun stream(): @EnhancedNullability Stream<@EnhancedNullability Some<T>>
// CHECK JVM_IR:
// Mangled name: MyList#subList(kotlin.Int;kotlin.Int){}kotlin.collections.List<Some<1:0>>
// Public signature: /MyList.subList|-1812789993592301332[0]
// Public signature debug description: subList(kotlin.Int;kotlin.Int){}kotlin.collections.List<Some<1:0>>
abstract /* fake */ override fun subList(fromIndex: Int, toIndex: Int): List<Some<T>>
// CHECK:
// Mangled name: MyList{}size
// Public signature: /MyList.size|-6253659984320132064[0]
// Public signature debug description: {}size
abstract /* fake */ override val size: Int
// CHECK JVM_IR:
// Mangled name: MyList#<get-size>(){}kotlin.Int
// Public signature: /MyList.size.<get-size>|-3941649985161900780[0]
// Public signature debug description: <get-size>(){}kotlin.Int
abstract /* fake */ override get(): Int
}
@@ -1,6 +1,5 @@
// FIR_IDENTICAL
// WITH_REFLECT
// SKIP_SIGNATURE_DUMP
var topLevelInt: Int = 0
@@ -0,0 +1,51 @@
// CHECK:
// Mangled name: {}topLevelInt
// Public signature: /topLevelInt|-195133861434444271[0]
// Public signature debug description: {}topLevelInt
var topLevelInt: Int
// CHECK JVM_IR:
// Mangled name: #<get-topLevelInt>(){}kotlin.Int
// Public signature: /topLevelInt.<get-topLevelInt>|-3701121633294691078[0]
// Public signature debug description: <get-topLevelInt>(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: #<get-topLevelInt>(){}
// Public signature: /topLevelInt.<get-topLevelInt>|-8146374746978443891[0]
// Public signature debug description: <get-topLevelInt>(){}
get
// CHECK:
// Mangled name: #<set-topLevelInt>(kotlin.Int){}
// Public signature: /topLevelInt.<set-topLevelInt>|-6405619490912020761[0]
// Public signature debug description: <set-topLevelInt>(kotlin.Int){}
set
// CHECK:
// Mangled name: MyClass
// Public signature: /MyClass|null[0]
class MyClass {
// CHECK:
// Mangled name: MyClass{}delegatedToTopLevel
// Public signature: /MyClass.delegatedToTopLevel|469634053427021861[0]
// Public signature debug description: {}delegatedToTopLevel
var delegatedToTopLevel: Int /* by */
// CHECK JVM_IR:
// Mangled name: MyClass#<get-delegatedToTopLevel>(){}kotlin.Int
// Public signature: /MyClass.delegatedToTopLevel.<get-delegatedToTopLevel>|348815270705246892[0]
// Public signature debug description: <get-delegatedToTopLevel>(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: MyClass#<get-delegatedToTopLevel>(){}
// Public signature: /MyClass.delegatedToTopLevel.<get-delegatedToTopLevel>|-11763650120820505[0]
// Public signature debug description: <get-delegatedToTopLevel>(){}
get(): Int
// CHECK:
// Mangled name: MyClass#<set-delegatedToTopLevel>(kotlin.Int){}
// Public signature: /MyClass.delegatedToTopLevel.<set-delegatedToTopLevel>|-8149849966678796267[0]
// Public signature debug description: <set-delegatedToTopLevel>(kotlin.Int){}
set(<set-?>: Int): Unit
// CHECK:
// Mangled name: MyClass#<init>(){}
// Public signature: /MyClass.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
}
@@ -1,7 +1,6 @@
// WITH_STDLIB
// TARGET_BACKEND: JVM
// ISSUE: KT-61443
// SKIP_SIGNATURE_DUMP
fun foo() = DelegatedB()()
@@ -0,0 +1,95 @@
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C<out T : Any?> : B<T> {
// CHECK:
// Mangled name: C#<init>(){}
// Public signature: /C.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK:
// Mangled name: C#invoke(){}
// Public signature: /C.invoke|-4663091332620260873[0]
// Public signature debug description: invoke(){}
/* fake */ override operator fun invoke(): Unit
// CHECK:
// Mangled name: C#invoke(kotlin.String){}
// Public signature: /C.invoke|-8167496601803439348[0]
// Public signature debug description: invoke(kotlin.String){}
/* fake */ override operator fun invoke(value: String): Unit
}
// CHECK:
// Mangled name: DelegatedB
// Public signature: /DelegatedB|null[0]
open class DelegatedB : B<String> {
// CHECK:
// Mangled name: DelegatedB#<init>(){}
// Public signature: /DelegatedB.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK:
// Mangled name: DelegatedB#invoke(){}
// Public signature: /DelegatedB.invoke|-4663091332620260873[0]
// Public signature debug description: invoke(){}
override operator fun invoke(): Unit
// CHECK:
// Mangled name: DelegatedB#invoke(kotlin.String){}
// Public signature: /DelegatedB.invoke|-8167496601803439348[0]
// Public signature debug description: invoke(kotlin.String){}
override operator fun invoke(value: String): Unit
}
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
interface A {
// CHECK:
// Mangled name: A#invoke(){}
// Public signature: /A.invoke|-4663091332620260873[0]
// Public signature debug description: invoke(){}
operator fun invoke(): Unit
// CHECK:
// Mangled name: A#invoke(kotlin.String){}
// Public signature: /A.invoke|-8167496601803439348[0]
// Public signature debug description: invoke(kotlin.String){}
operator fun invoke(value: String): Unit
}
// CHECK:
// Mangled name: B
// Public signature: /B|null[0]
interface B<out T : Any?> : A {
// CHECK:
// Mangled name: B#invoke(){}
// Public signature: /B.invoke|-4663091332620260873[0]
// Public signature debug description: invoke(){}
/* fake */ override operator fun invoke(): Unit
// CHECK:
// Mangled name: B#invoke(kotlin.String){}
// Public signature: /B.invoke|-8167496601803439348[0]
// Public signature debug description: invoke(kotlin.String){}
/* fake */ override operator fun invoke(value: String): Unit
}
// CHECK:
// Mangled name: #bar@A(kotlin.String){}
// Public signature: /bar|-6811345410593435832[0]
// Public signature debug description: bar@A(kotlin.String){}
fun A.bar(value: String): Unit
// CHECK:
// Mangled name: #foo(){}
// Public signature: /foo|-1041209573719867811[0]
// Public signature debug description: foo(){}
fun foo(): Unit
@@ -0,0 +1,113 @@
// CHECK:
// Mangled name: GenericIn
// Public signature: /GenericIn|null[0]
class GenericIn<in T : Number> {
// CHECK:
// Mangled name: GenericIn#<init>(){}
// Public signature: /GenericIn.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
}
// CHECK:
// Mangled name: GenericInv
// Public signature: /GenericInv|null[0]
class GenericInv<T : Number> {
// CHECK:
// Mangled name: GenericInv#<init>(){}
// Public signature: /GenericInv.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
}
// CHECK:
// Mangled name: GenericOut
// Public signature: /GenericOut|null[0]
class GenericOut<out T : Number> {
// CHECK:
// Mangled name: GenericOut#<init>(){}
// Public signature: /GenericOut.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
}
// CHECK:
// Mangled name: KRaw
// Public signature: /KRaw|null[0]
class KRaw : JRaw {
// CHECK:
// Mangled name: KRaw#<init>(JRaw){}
// Public signature: /KRaw.<init>|-9018601651041838198[0]
// Public signature debug description: <init>(JRaw){}
constructor(j: JRaw) /* primary */
// CHECK JVM_IR:
// Mangled name: KRaw#returnsRawGenericIn(){}GenericIn<kotlin.Number>
// Public signature: /KRaw.returnsRawGenericIn|-5257730602735068314[0]
// Public signature debug description: returnsRawGenericIn(){}GenericIn<kotlin.Number>
override fun returnsRawGenericIn(): GenericIn<Number>
// CHECK JVM_IR:
// Mangled name: KRaw#returnsRawGenericInv(){}GenericInv<kotlin.Number>
// Public signature: /KRaw.returnsRawGenericInv|8692532014882222304[0]
// Public signature debug description: returnsRawGenericInv(){}GenericInv<kotlin.Number>
override fun returnsRawGenericInv(): GenericInv<Number>
// CHECK JVM_IR:
// Mangled name: KRaw#returnsRawGenericOut(){}GenericOut<kotlin.Number>
// Public signature: /KRaw.returnsRawGenericOut|6207427576909418451[0]
// Public signature debug description: returnsRawGenericOut(){}GenericOut<kotlin.Number>
override fun returnsRawGenericOut(): GenericOut<Number>
// CHECK JVM_IR:
// Mangled name: KRaw#returnsRawList(){}kotlin.collections.MutableList<kotlin.Any?>
// Public signature: /KRaw.returnsRawList|1437515324872981008[0]
// Public signature debug description: returnsRawList(){}kotlin.collections.MutableList<kotlin.Any?>
override fun returnsRawList(): MutableList<Any?>
// CHECK:
// Mangled name: KRaw#takesRawGenericIn(GenericIn<kotlin.Number>){}
// Public signature: /KRaw.takesRawGenericIn|-2236627248339978838[0]
// Public signature debug description: takesRawGenericIn(GenericIn<kotlin.Number>){}
override fun takesRawGenericIn(g: GenericIn<Number>): Unit
// CHECK:
// Mangled name: KRaw#takesRawGenericInv(GenericInv<kotlin.Number>){}
// Public signature: /KRaw.takesRawGenericInv|2853148690189632857[0]
// Public signature debug description: takesRawGenericInv(GenericInv<kotlin.Number>){}
override fun takesRawGenericInv(g: GenericInv<Number>): Unit
// CHECK:
// Mangled name: KRaw#takesRawGenericOut(GenericOut<kotlin.Number>){}
// Public signature: /KRaw.takesRawGenericOut|-5773421374790089688[0]
// Public signature debug description: takesRawGenericOut(GenericOut<kotlin.Number>){}
override fun takesRawGenericOut(g: GenericOut<Number>): Unit
// CHECK:
// Mangled name: KRaw#takesRawList(kotlin.collections.MutableList<kotlin.Any?>){}
// Public signature: /KRaw.takesRawList|1781281561350478530[0]
// Public signature debug description: takesRawList(kotlin.collections.MutableList<kotlin.Any?>){}
override fun takesRawList(list: MutableList<Any?>): Unit
}
// CHECK JVM_IR:
// Mangled name: #testReturnsRawGenericIn(JRaw){}GenericIn<kotlin.Number>
// Public signature: /testReturnsRawGenericIn|8366804840057905100[0]
// Public signature debug description: testReturnsRawGenericIn(JRaw){}GenericIn<kotlin.Number>
fun testReturnsRawGenericIn(j: JRaw): GenericIn<Number>
// CHECK JVM_IR:
// Mangled name: #testReturnsRawGenericInv(JRaw){}GenericInv<kotlin.Number>
// Public signature: /testReturnsRawGenericInv|5130359618608443436[0]
// Public signature debug description: testReturnsRawGenericInv(JRaw){}GenericInv<kotlin.Number>
fun testReturnsRawGenericInv(j: JRaw): GenericInv<Number>
// CHECK JVM_IR:
// Mangled name: #testReturnsRawGenericOut(JRaw){}GenericOut<kotlin.Number>
// Public signature: /testReturnsRawGenericOut|-62256167970682834[0]
// Public signature debug description: testReturnsRawGenericOut(JRaw){}GenericOut<kotlin.Number>
fun testReturnsRawGenericOut(j: JRaw): GenericOut<Number>
+1 -1
View File
@@ -1,6 +1,6 @@
// TARGET_BACKEND: JVM
// SKIP_SIGNATURE_DUMP
// SEPARATE_SIGNATURE_DUMP_FOR_K2
// ^ Nullability is different for raw types in K1 and K2
// FILE: rawTypeInSignature.kt
@@ -0,0 +1,113 @@
// CHECK:
// Mangled name: GenericIn
// Public signature: /GenericIn|null[0]
class GenericIn<in T : Number> {
// CHECK:
// Mangled name: GenericIn#<init>(){}
// Public signature: /GenericIn.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
}
// CHECK:
// Mangled name: GenericInv
// Public signature: /GenericInv|null[0]
class GenericInv<T : Number> {
// CHECK:
// Mangled name: GenericInv#<init>(){}
// Public signature: /GenericInv.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
}
// CHECK:
// Mangled name: GenericOut
// Public signature: /GenericOut|null[0]
class GenericOut<out T : Number> {
// CHECK:
// Mangled name: GenericOut#<init>(){}
// Public signature: /GenericOut.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
}
// CHECK:
// Mangled name: KRaw
// Public signature: /KRaw|null[0]
class KRaw : JRaw {
// CHECK:
// Mangled name: KRaw#<init>(JRaw){}
// Public signature: /KRaw.<init>|-9018601651041838198[0]
// Public signature debug description: <init>(JRaw){}
constructor(j: JRaw) /* primary */
// CHECK JVM_IR:
// Mangled name: KRaw#returnsRawGenericIn(){}GenericIn<kotlin.Number>?
// Public signature: /KRaw.returnsRawGenericIn|2316913195849838102[0]
// Public signature debug description: returnsRawGenericIn(){}GenericIn<kotlin.Number>?
override fun returnsRawGenericIn(): GenericIn<Number>?
// CHECK JVM_IR:
// Mangled name: KRaw#returnsRawGenericInv(){}GenericInv<kotlin.Number>?
// Public signature: /KRaw.returnsRawGenericInv|5636795900726870653[0]
// Public signature debug description: returnsRawGenericInv(){}GenericInv<kotlin.Number>?
override fun returnsRawGenericInv(): GenericInv<Number>?
// CHECK JVM_IR:
// Mangled name: KRaw#returnsRawGenericOut(){}GenericOut<kotlin.Number>?
// Public signature: /KRaw.returnsRawGenericOut|-2900081068433007254[0]
// Public signature debug description: returnsRawGenericOut(){}GenericOut<kotlin.Number>?
override fun returnsRawGenericOut(): GenericOut<Number>?
// CHECK JVM_IR:
// Mangled name: KRaw#returnsRawList(){}kotlin.collections.MutableList<kotlin.Any?>?
// Public signature: /KRaw.returnsRawList|-6457317888193014337[0]
// Public signature debug description: returnsRawList(){}kotlin.collections.MutableList<kotlin.Any?>?
override fun returnsRawList(): MutableList<Any?>?
// CHECK:
// Mangled name: KRaw#takesRawGenericIn(GenericIn<kotlin.Number>?){}
// Public signature: /KRaw.takesRawGenericIn|7111924639802650374[0]
// Public signature debug description: takesRawGenericIn(GenericIn<kotlin.Number>?){}
override fun takesRawGenericIn(g: GenericIn<Number>?): Unit
// CHECK:
// Mangled name: KRaw#takesRawGenericInv(GenericInv<kotlin.Number>?){}
// Public signature: /KRaw.takesRawGenericInv|-7043210737732405875[0]
// Public signature debug description: takesRawGenericInv(GenericInv<kotlin.Number>?){}
override fun takesRawGenericInv(g: GenericInv<Number>?): Unit
// CHECK:
// Mangled name: KRaw#takesRawGenericOut(GenericOut<kotlin.Number>?){}
// Public signature: /KRaw.takesRawGenericOut|-6937861296436003286[0]
// Public signature debug description: takesRawGenericOut(GenericOut<kotlin.Number>?){}
override fun takesRawGenericOut(g: GenericOut<Number>?): Unit
// CHECK:
// Mangled name: KRaw#takesRawList(kotlin.collections.MutableList<kotlin.Any?>?){}
// Public signature: /KRaw.takesRawList|-1231162314770327388[0]
// Public signature debug description: takesRawList(kotlin.collections.MutableList<kotlin.Any?>?){}
override fun takesRawList(list: MutableList<Any?>?): Unit
}
// CHECK JVM_IR:
// Mangled name: #testReturnsRawGenericIn(JRaw){}GenericIn<kotlin.Number>?
// Public signature: /testReturnsRawGenericIn|-306193371031556622[0]
// Public signature debug description: testReturnsRawGenericIn(JRaw){}GenericIn<kotlin.Number>?
fun testReturnsRawGenericIn(j: JRaw): GenericIn<Number>?
// CHECK JVM_IR:
// Mangled name: #testReturnsRawGenericInv(JRaw){}GenericInv<kotlin.Number>?
// Public signature: /testReturnsRawGenericInv|6592680998914081032[0]
// Public signature debug description: testReturnsRawGenericInv(JRaw){}GenericInv<kotlin.Number>?
fun testReturnsRawGenericInv(j: JRaw): GenericInv<Number>?
// CHECK JVM_IR:
// Mangled name: #testReturnsRawGenericOut(JRaw){}GenericOut<kotlin.Number>?
// Public signature: /testReturnsRawGenericOut|6146268409340591089[0]
// Public signature debug description: testReturnsRawGenericOut(JRaw){}GenericOut<kotlin.Number>?
fun testReturnsRawGenericOut(j: JRaw): GenericOut<Number>?
@@ -32,7 +32,8 @@ import org.jetbrains.kotlin.test.backend.codegenSuppressionChecker
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.DUMP_SIGNATURES
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.MUTE_SIGNATURE_COMPARISON_K2
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.SKIP_SIGNATURE_DUMP
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.SEPARATE_SIGNATURE_DUMP_FOR_K2
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.FIR_IDENTICAL
import org.jetbrains.kotlin.test.model.BackendKind
import org.jetbrains.kotlin.test.model.FrontendKinds
import org.jetbrains.kotlin.test.model.TestModule
@@ -52,11 +53,14 @@ private const val CHECK_MARKER = "// CHECK"
* Prints a mangled name and an [IdSignature] for each declaration and compares the result with
* an expected output in a `*.sig.kt.txt` file located next to the test file.
*
* Can be enabled by specifying the [DUMP_SIGNATURES] directive, and disabled with the [SKIP_SIGNATURE_DUMP] test directive.
* Can be enabled by specifying the [DUMP_SIGNATURES] directive.
*
* Other useful directives:
* - [MUTE_SIGNATURE_COMPARISON_K2] can be used for muting the comparison result on the K2 frontend. The comparison will
* still be performed, and if it succeeds, the test will fail with a message reminding you to unmute it.
* - [SEPARATE_SIGNATURE_DUMP_FOR_K2] acts like the inverse of [FIR_IDENTICAL], but it only affects signature dumps. Usually, signature
* dumps generated from K1 and K2 must be identical, but sometimes there are reasons to use separate dumps — in that case specify this
* directive.
*
* Since mangled names and signatures may be different depending on the backend, in order to reduce the number
* of expectation files, this handler uses `// CHECK` blocks to compare the dump with an expectation in a smarter way than
@@ -101,13 +105,23 @@ class IrMangledNameAndSignatureDumpHandler(
const val DUMP_EXTENSION = "sig.kt.txt"
}
private fun computeDumpExtension(): String {
return if (testServices.defaultsProvider.defaultFrontend == FrontendKinds.ClassicFrontend ||
SEPARATE_SIGNATURE_DUMP_FOR_K2 !in testServices.moduleStructure.allDirectives
) {
DUMP_EXTENSION
} else {
"fir.$DUMP_EXTENSION"
}
}
private val dumper = MultiModuleInfoDumper("// MODULE: %s")
/**
* The file that stores the expected signatures of the test file.
*/
private val expectedFile: File by lazy {
testServices.moduleStructure.originalTestDataFiles.first().withExtension(DUMP_EXTENSION)
testServices.moduleStructure.originalTestDataFiles.first().withExtension(computeDumpExtension())
}
/**
@@ -124,7 +138,7 @@ class IrMangledNameAndSignatureDumpHandler(
}
override fun processModule(module: TestModule, info: IrBackendInput) {
if (DUMP_SIGNATURES !in module.directives || SKIP_SIGNATURE_DUMP in module.directives) return
if (DUMP_SIGNATURES !in module.directives) return
dumpModuleKotlinLike(
module,
@@ -164,8 +164,13 @@ object CodegenTestDirectives : SimpleDirectivesContainer() {
""".trimIndent()
)
val SKIP_SIGNATURE_DUMP by directive(
description = "Disables dumping signatures and mangled names of declarations to the ${IrMangledNameAndSignatureDumpHandler.DUMP_EXTENSION} file"
val SEPARATE_SIGNATURE_DUMP_FOR_K2 by directive(
description = """
Usually the signature dump must not differ between K1 and K2.
There are rare cases, however, when there is legitimate difference (for example, if the set of fake overrides is different).
Please always document the usage of this directive and carefully verify that the difference between K1 and K2 does
not affect IR linkage.
""".trimIndent()
)
val MUTE_SIGNATURE_COMPARISON_K2 by enumDirective<TargetBackend>(