[IR] Dump IdSignatures and mangled names in irText tests

The reason #1 for this feature is that we want to test IdSignatures
generated for declarations. Currently, there is no (easy) way to ensure
that a change in the signature building logic doesn't cause any breaking
changes wrt klibs.

Now, most IdSignatures include hashed mangled names in them, so even if
we catch a regression where the included hash changes, there would be no
way of knowing immediately what caused it, unless we'd also have mangled
names in the expectations.

The reason #2 is to test the manglers themselves. Currently, there are
no tests for them. They heavily duplicate each other, this is already
causing issues (see KT-57427) that would be very hard to catch without
these tests.

^KT-58238 Fixed
This commit is contained in:
Sergej Jaskiewicz
2023-04-06 15:07:36 +02:00
committed by Space Team
parent bccf69910d
commit 6e8283a6fe
791 changed files with 36162 additions and 357 deletions
@@ -0,0 +1,23 @@
// CHECK:
// Mangled name: SomeAnn
// Public signature: /SomeAnn|null[0]
open annotation class SomeAnn : Annotation {
// CHECK:
// Mangled name: SomeAnn#<init>(){}
// Public signature: /SomeAnn.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: My
// Public signature: /My|null[0]
@SomeAnn
class My {
// CHECK:
// Mangled name: My#<init>(){}
// Public signature: /My.<init>|-5645683436151566731[0]
constructor() /* primary */
}
@@ -0,0 +1,76 @@
// CHECK:
// Mangled name: A1
// Public signature: /A1|null[0]
open annotation class A1 : Annotation {
// CHECK:
// Mangled name: A1{}x
// Public signature: /A1.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: A1#<get-x>(){}kotlin.Int
// Public signature: /A1.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: A1#<get-x>(){}
// Public signature: /A1.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: A1#<init>(kotlin.Int){}
// Public signature: /A1.<init>|-5182794243525578284[0]
constructor(x: Int) /* primary */
}
// CHECK:
// Mangled name: A2
// Public signature: /A2|null[0]
open annotation class A2 : Annotation {
// CHECK:
// Mangled name: A2{}a
// Public signature: /A2.a|-1200697420457237799[0]
val a: A1
// CHECK JVM_IR:
// Mangled name: A2#<get-a>(){}A1
// Public signature: /A2.a.<get-a>|7276890167111587032[0]
// CHECK JS_IR NATIVE:
// Mangled name: A2#<get-a>(){}
// Public signature: /A2.a.<get-a>|6785176174175479410[0]
get
// CHECK:
// Mangled name: A2#<init>(A1){}
// Public signature: /A2.<init>|1733910541133145704[0]
constructor(a: A1) /* primary */
}
// CHECK:
// Mangled name: AA
// Public signature: /AA|null[0]
open annotation class AA : Annotation {
// CHECK:
// Mangled name: AA{}xs
// Public signature: /AA.xs|1063330853857063704[0]
val xs: Array<A1>
// CHECK JVM_IR:
// Mangled name: AA#<get-xs>(){}kotlin.Array<A1>
// Public signature: /AA.xs.<get-xs>|466319571514416331[0]
// CHECK JS_IR NATIVE:
// Mangled name: AA#<get-xs>(){}
// Public signature: /AA.xs.<get-xs>|-6958094100501701183[0]
get
// CHECK:
// Mangled name: AA#<init>(kotlin.Array<A1>){}
// Public signature: /AA.<init>|-748301654061855634[0]
constructor(xs: Array<A1>) /* primary */
}
// CHECK:
// Mangled name: #test(){}
// Public signature: /test|6620506149988718649[0]
@A2(a = A1(x = 42))
@AA(xs = [A1(x = 1), A1(x = 2)])
fun test(): Unit
@@ -1,3 +1,6 @@
// SKIP_SIGNATURE_DUMP
// ^ Difference in annotations generated by K1 and K2
annotation class Ann
interface IFoo {
@@ -7,4 +10,4 @@ interface IFoo {
@Ann fun String.testExtFun()
}
class DFoo(d: IFoo) : IFoo by d
class DFoo(d: IFoo) : IFoo by d
@@ -0,0 +1,65 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
open annotation class A : Annotation {
// CHECK:
// Mangled name: A{}x
// Public signature: /A.x|-8060530855978347579[0]
val x: String
// CHECK JVM_IR:
// Mangled name: A#<get-x>(){}kotlin.String
// Public signature: /A.x.<get-x>|316111172223894646[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-x>(){}
// Public signature: /A.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: A{}y
// Public signature: /A.y|3625903257357557171[0]
val y: Int
// CHECK JVM_IR:
// Mangled name: A#<get-y>(){}kotlin.Int
// Public signature: /A.y.<get-y>|-6745575372101973707[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-y>(){}
// Public signature: /A.y.<get-y>|-7902422373892128922[0]
get
// CHECK:
// Mangled name: A#<init>(kotlin.String;kotlin.Int){}
// Public signature: /A.<init>|-2457917570611619111[0]
constructor(x: String, y: Int) /* primary */
}
// CHECK:
// Mangled name: #test1(){}
// Public signature: /test1|4297044443957252634[0]
@A(x = "abc", y = 123)
fun test1(): Unit
// CHECK:
// Mangled name: #test2(){}
// Public signature: /test2|4279114864133353152[0]
@A(x = "def")
fun test2(): Unit
// CHECK:
// Mangled name: #test3(){}
// Public signature: /test3|-3759735065270951803[0]
@A(x = "ghi")
fun test3(): Unit
// CHECK:
// Mangled name: #test4(){}
// Public signature: /test4|5588455914500386239[0]
@A(, y = 456)
fun test4(): Unit
// CHECK:
// Mangled name: #test5(){}
// Public signature: /test5|-2461239215881954159[0]
@A
fun test5(): Unit
@@ -0,0 +1,41 @@
// 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]
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]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-xs>(){}
// Public signature: /A.xs.<get-xs>|-6958094100501701183[0]
get
// CHECK:
// Mangled name: A#<init>(kotlin.Array<out|kotlin.String>...){}
// Public signature: /A.<init>|-6780234697714860085[0]
constructor(vararg xs: String) /* primary */
}
// CHECK:
// Mangled name: #test1(){}
// Public signature: /test1|4297044443957252634[0]
@A(xs = ["abc", "def"])
fun test1(): Unit
// CHECK:
// Mangled name: #test2(){}
// Public signature: /test2|4279114864133353152[0]
@A(xs = ["abc"])
fun test2(): Unit
// CHECK:
// Mangled name: #test3(){}
// Public signature: /test3|-3759735065270951803[0]
@A(xs = [])
fun test3(): Unit
@@ -0,0 +1,20 @@
// CHECK:
// Mangled name: ModuleInfo
// Public signature: /ModuleInfo|null[0]
open annotation class ModuleInfo : Annotation {
// CHECK:
// Mangled name: ModuleInfo{}keyBind
// Public signature: /ModuleInfo.keyBind|-3946407517690370511[0]
val keyBind: Int
// CHECK JVM_IR:
// Mangled name: ModuleInfo#<get-keyBind>(){}kotlin.Int
// Public signature: /ModuleInfo.keyBind.<get-keyBind>|-5105783608349623557[0]
get
// CHECK:
// Mangled name: ModuleInfo#<init>(kotlin.Int){}
// Public signature: /ModuleInfo.<init>|-5182794243525578284[0]
constructor(keyBind: Int) /* primary */
}
@@ -0,0 +1,60 @@
// CHECK:
// Mangled name: TestAnnWithIntArray
// Public signature: /TestAnnWithIntArray|null[0]
open annotation class TestAnnWithIntArray : Annotation {
// CHECK:
// Mangled name: TestAnnWithIntArray{}x
// Public signature: /TestAnnWithIntArray.x|-8060530855978347579[0]
val x: IntArray
// CHECK JVM_IR:
// Mangled name: TestAnnWithIntArray#<get-x>(){}kotlin.IntArray
// Public signature: /TestAnnWithIntArray.x.<get-x>|-5699461780158713262[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestAnnWithIntArray#<get-x>(){}
// Public signature: /TestAnnWithIntArray.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestAnnWithIntArray#<init>(kotlin.IntArray){}
// Public signature: /TestAnnWithIntArray.<init>|6811679238332965682[0]
constructor(x: IntArray) /* primary */
}
// CHECK:
// Mangled name: TestAnnWithStringArray
// Public signature: /TestAnnWithStringArray|null[0]
open annotation class TestAnnWithStringArray : Annotation {
// CHECK:
// Mangled name: TestAnnWithStringArray{}x
// Public signature: /TestAnnWithStringArray.x|-8060530855978347579[0]
val x: Array<String>
// CHECK JVM_IR:
// Mangled name: TestAnnWithStringArray#<get-x>(){}kotlin.Array<kotlin.String>
// Public signature: /TestAnnWithStringArray.x.<get-x>|-709321774523398734[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestAnnWithStringArray#<get-x>(){}
// Public signature: /TestAnnWithStringArray.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestAnnWithStringArray#<init>(kotlin.Array<kotlin.String>){}
// Public signature: /TestAnnWithStringArray.<init>|5393043463829665764[0]
constructor(x: Array<String>) /* primary */
}
// CHECK:
// Mangled name: #test1(){}
// Public signature: /test1|4297044443957252634[0]
@TestAnnWithIntArray(x = [1, 2, 3])
@TestAnnWithStringArray(x = ["a", "b", "c"])
fun test1(): Unit
// CHECK:
// Mangled name: #test2(){}
// Public signature: /test2|4279114864133353152[0]
@TestAnnWithIntArray(x = [4, 5, 6])
@TestAnnWithStringArray(x = ["d", "e", "f"])
fun test2(): Unit
@@ -0,0 +1,40 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
open annotation class A : Annotation {
// CHECK:
// Mangled name: A{}klass
// Public signature: /A.klass|6015918431206184939[0]
val klass: KClass<*>
// CHECK JVM_IR:
// Mangled name: A#<get-klass>(){}kotlin.reflect.KClass<*>
// Public signature: /A.klass.<get-klass>|5739372350059323846[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-klass>(){}
// Public signature: /A.klass.<get-klass>|4259458871347467473[0]
get
// CHECK:
// Mangled name: A#<init>(kotlin.reflect.KClass<*>){}
// Public signature: /A.<init>|5783844857148764471[0]
constructor(klass: KClass<*>) /* primary */
}
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C {
// CHECK:
// Mangled name: C#<init>(){}
// Public signature: /C.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: #test1(){}
// Public signature: /test1|4297044443957252634[0]
@A(klass = C::class)
fun test1(): Unit
@@ -1,6 +1,9 @@
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57777
annotation class TestAnn(val x: String)
@TestAnn("class")
@@ -0,0 +1,193 @@
// 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]
val x: String
// CHECK JVM_IR:
// Mangled name: TestAnn#<get-x>(){}kotlin.String
// Public signature: /TestAnn.x.<get-x>|316111172223894646[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestAnn#<get-x>(){}
// Public signature: /TestAnn.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestAnn#<init>(kotlin.String){}
// Public signature: /TestAnn.<init>|1280618353163213788[0]
constructor(x: String) /* primary */
}
// CHECK:
// Mangled name: TestAnnotation
// Public signature: /TestAnnotation|null[0]
@TestAnn(x = "annotation")
open annotation class TestAnnotation : Annotation {
// CHECK:
// Mangled name: TestAnnotation#<init>(){}
// Public signature: /TestAnnotation.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: Host
// Public signature: /Host|null[0]
class Host {
// CHECK:
// Mangled name: Host.TestCompanion
// Public signature: /Host.TestCompanion|null[0]
@TestAnn(x = "companion")
companion object TestCompanion {
// CHECK:
// Mangled name: Host.TestCompanion#<init>(){}
// Public signature: /Host.TestCompanion.<init>|-5645683436151566731[0]
private constructor() /* primary */
}
// CHECK:
// Mangled name: Host#<init>(){}
// Public signature: /Host.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: TestClass
// Public signature: /TestClass|null[0]
@TestAnn(x = "class")
class TestClass {
// CHECK:
// Mangled name: TestClass#<init>(){}
// Public signature: /TestClass.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: TestEnum
// Public signature: /TestEnum|null[0]
@TestAnn(x = "enum")
enum class TestEnum : Enum<TestEnum> {
// CHECK:
// Mangled name: TestEnum#<init>(){}
// Public signature: /TestEnum.<init>|-5645683436151566731[0]
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: TestEnum#valueOf#static(kotlin.String){}TestEnum
// Public signature: /TestEnum.valueOf|1811575739170804829[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#valueOf#static(kotlin.String){}
// Public signature: /TestEnum.valueOf|-4683474617854611729[0]
fun valueOf(value: String): TestEnum
// CHECK JVM_IR:
// Mangled name: TestEnum#values#static(){}kotlin.Array<TestEnum>
// Public signature: /TestEnum.values|-4299804782350326897[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#values#static(){}
// Public signature: /TestEnum.values|-8715569000920726747[0]
fun values(): Array<TestEnum>
// CHECK JVM_IR:
// Mangled name: TestEnum#clone(){}kotlin.Any
// Public signature: /TestEnum.clone|-6903128697527593263[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#compareTo(TestEnum){}
// Public signature: /TestEnum.compareTo|7350720606720122863[0]
protected /* fake */ override fun clone(): Any
// CHECK JVM_IR:
// Mangled name: TestEnum#compareTo(TestEnum){}kotlin.Int
// Public signature: /TestEnum.compareTo|7559751212169934687[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#equals(kotlin.Any?){}
// Public signature: /TestEnum.equals|4638265728071529943[0]
/* 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]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#hashCode(){}
// Public signature: /TestEnum.hashCode|3409210261493131192[0]
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: TestEnum#hashCode(){}kotlin.Int
// Public signature: /TestEnum.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#toString(){}
// Public signature: /TestEnum.toString|-1522858123163872138[0]
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: TestEnum#toString(){}kotlin.String
// Public signature: /TestEnum.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#static{}entries
// Public signature: /TestEnum.entries|-5134227801081826149[0]
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: TestEnum#static{}entries
// Public signature: /TestEnum.entries|-5134227801081826149[0]
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]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum{}name
// Public signature: /TestEnum.name|4231860309499509769[0]
get(): EnumEntries<TestEnum>
// CHECK:
// Mangled name: TestEnum{}name
// Public signature: /TestEnum.name|4231860309499509769[0]
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: TestEnum#<get-name>(){}kotlin.String
// Public signature: /TestEnum.name.<get-name>|-8006111524522882650[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum{}ordinal
// Public signature: /TestEnum.ordinal|1912745122988592376[0]
/* fake */ override get(): String
// CHECK:
// Mangled name: TestEnum{}ordinal
// Public signature: /TestEnum.ordinal|1912745122988592376[0]
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: TestEnum#<get-ordinal>(){}kotlin.Int
// Public signature: /TestEnum.ordinal.<get-ordinal>|-6902664390061762634[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestInterface
// Public signature: /TestInterface|null[0]
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: TestInterface
// Public signature: /TestInterface|null[0]
@TestAnn(x = "interface")
interface TestInterface {
}
// CHECK:
// Mangled name: TestObject
// Public signature: /TestObject|null[0]
@TestAnn(x = "object")
object TestObject {
// CHECK:
// Mangled name: TestObject#<init>(){}
// Public signature: /TestObject.<init>|-5645683436151566731[0]
private constructor() /* primary */
}
@@ -1,5 +1,9 @@
// FIR_IDENTICAL
// MUTE_SIGNATURE_COMPARISON_K2: JS_IR
// MUTE_SIGNATURE_COMPARISON_K2: NATIVE
// ^ KT-57818
const val ONE = 1
annotation class A(val x: Int)
@@ -0,0 +1,47 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
open annotation class A : Annotation {
// CHECK:
// Mangled name: A{}x
// Public signature: /A.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: A#<get-x>(){}kotlin.Int
// Public signature: /A.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-x>(){}
// Public signature: /A.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: A#<init>(kotlin.Int){}
// Public signature: /A.<init>|-5182794243525578284[0]
constructor(x: Int) /* primary */
}
// CHECK:
// Mangled name: #test1(){}
// Public signature: /test1|4297044443957252634[0]
@A(x = 1)
fun test1(): Unit
// CHECK:
// Mangled name: #test2(){}
// Public signature: /test2|4279114864133353152[0]
@A(x = 2)
fun test2(): Unit
// CHECK:
// Mangled name: {}ONE
// Public signature: /ONE|5698484753436154102[0]
const val ONE: Int
// CHECK JVM_IR:
// Mangled name: #<get-ONE>(){}kotlin.Int
// Public signature: /ONE.<get-ONE>|7844388037784691246[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-ONE>(){}
// Public signature: /ONE.<get-ONE>|6594203029520379115[0]
get
@@ -0,0 +1,40 @@
// 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]
val x: Int
// CHECK JVM_IR:
// Mangled name: TestAnn#<get-x>(){}kotlin.Int
// Public signature: /TestAnn.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestAnn#<get-x>(){}
// Public signature: /TestAnn.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestAnn#<init>(kotlin.Int){}
// Public signature: /TestAnn.<init>|-5182794243525578284[0]
constructor(x: Int) /* primary */
}
// CHECK:
// Mangled name: TestClass
// Public signature: /TestClass|null[0]
class TestClass {
// CHECK:
// Mangled name: TestClass#<init>(){}
// Public signature: /TestClass.<init>|-5645683436151566731[0]
@TestAnn(x = 1)
constructor() /* primary */
// CHECK:
// Mangled name: TestClass#<init>(kotlin.Int){}
// Public signature: /TestClass.<init>|-5182794243525578284[0]
@TestAnn(x = 2)
constructor(x: Int)
}
@@ -1,8 +1,12 @@
// FIR_IDENTICAL
// WITH_STDLIB
// DUMP_LOCAL_DECLARATION_SIGNATURES
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57428
annotation class Ann
@delegate:Ann
@@ -0,0 +1,32 @@
// CHECK:
// Mangled name: {}test1
// Public signature: /test1|6005685442305498193[0]
val test1: Int /* by */
field
// CHECK JVM_IR:
// Mangled name (compatible mode: false): {}test1#<anonymous>#static(){}kotlin.Int
// Mangled name (compatible mode: true): test1$delegate#<anonymous>#static(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: #<get-test1>(){}
// Public signature: /test1.<get-test1>|-5735092642142423279[0]
local fun <anonymous>(): Int
// CHECK JVM_IR:
// Mangled name: #<get-test1>(){}kotlin.Int
// Public signature: /test1.<get-test1>|3978508226793108919[0]
// CHECK JS_IR NATIVE:
// Mangled name (compatible mode: false): {}test1#<anonymous>#static(){}
// Mangled name (compatible mode: true): test1$delegate#<anonymous>#static(){}
get(): Int
// 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]
constructor() /* primary */
}
@@ -1,3 +1,7 @@
// MUTE_SIGNATURE_COMPARISON_K2: JS_IR
// MUTE_SIGNATURE_COMPARISON_K2: NATIVE
// ^ KT-57818
annotation class A(val x: String)
class Cell(var value: Int) {
@@ -14,4 +18,4 @@ val test1 by Cell(1)
@get:A("test2.get")
@set:A("test2.set")
@setparam:A("test2.set.param")
var test2 by Cell(2)
var test2 by Cell(2)
@@ -0,0 +1,94 @@
// CHECK:
// Mangled name: {}test1
// Public signature: /test1|6005685442305498193[0]
val test1: Int /* by */
// CHECK JVM_IR:
// Mangled name: #<get-test1>(){}kotlin.Int
// Public signature: /test1.<get-test1>|3978508226793108919[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-test1>(){}
// Public signature: /test1.<get-test1>|-5735092642142423279[0]
@A(x = "test1.get")
get(): Int
// CHECK:
// Mangled name: {}test2
// Public signature: /test2|2517758057000911509[0]
var test2: Int /* by */
// CHECK JVM_IR:
// Mangled name: #<get-test2>(){}kotlin.Int
// Public signature: /test2.<get-test2>|-8779933517717592707[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-test2>(){}
// Public signature: /test2.<get-test2>|-5218942532816206869[0]
@A(x = "test2.get")
get(): Int
// CHECK:
// Mangled name: #<set-test2>(kotlin.Int){}
// Public signature: /test2.<set-test2>|1925150309265265312[0]
@A(x = "test2.set")
set(@A(x = "test2.set.param") <set-?>: Int): Unit
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
open annotation class A : Annotation {
// CHECK:
// Mangled name: A{}x
// Public signature: /A.x|-8060530855978347579[0]
val x: String
// CHECK JVM_IR:
// Mangled name: A#<get-x>(){}kotlin.String
// Public signature: /A.x.<get-x>|316111172223894646[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-x>(){}
// Public signature: /A.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: A#<init>(kotlin.String){}
// Public signature: /A.<init>|1280618353163213788[0]
constructor(x: String) /* primary */
}
// CHECK:
// Mangled name: Cell
// Public signature: /Cell|null[0]
class Cell {
// CHECK:
// Mangled name: Cell{}value
// Public signature: /Cell.value|1987073854177347439[0]
var value: Int
// CHECK JVM_IR:
// Mangled name: Cell#<get-value>(){}kotlin.Int
// Public signature: /Cell.value.<get-value>|-5900028706170996[0]
// CHECK JS_IR NATIVE:
// Mangled name: Cell#<get-value>(){}
// Public signature: /Cell.value.<get-value>|3260093555963109437[0]
get
// CHECK:
// Mangled name: Cell#<set-value>(kotlin.Int){}
// Public signature: /Cell.value.<set-value>|-195057410739577239[0]
set
// CHECK:
// Mangled name: Cell#<init>(kotlin.Int){}
// Public signature: /Cell.<init>|-5182794243525578284[0]
constructor(value: Int) /* primary */
// CHECK JVM_IR:
// Mangled name: Cell#getValue(kotlin.Any?;kotlin.Any?){}kotlin.Int
// Public signature: /Cell.getValue|-3377375928534350672[0]
// CHECK JS_IR NATIVE:
// Mangled name: Cell#getValue(kotlin.Any?;kotlin.Any?){}
// Public signature: /Cell.getValue|-9077843357189755365[0]
operator fun getValue(thisRef: Any?, kProp: Any?): Int
// CHECK:
// Mangled name: Cell#setValue(kotlin.Any?;kotlin.Any?;kotlin.Int){}
// Public signature: /Cell.setValue|6795912344196649599[0]
operator fun setValue(thisRef: Any?, kProp: Any?, newValue: Int): Unit
}
@@ -1,6 +1,9 @@
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// SKIP_SIGNATURE_DUMP
// ^ Difference in annotations generated by K1 and K2
annotation class TestAnn(val x: String)
enum class TestEnum {
@@ -1,6 +1,9 @@
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57777
enum class En { A, B, C, D }
annotation class TestAnn(val x: En)
@@ -0,0 +1,151 @@
// 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]
val x: En
// CHECK JVM_IR:
// Mangled name: TestAnn#<get-x>(){}En
// Public signature: /TestAnn.x.<get-x>|-9017037183382597029[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestAnn#<get-x>(){}
// Public signature: /TestAnn.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestAnn#<init>(En){}
// Public signature: /TestAnn.<init>|2681758674480694769[0]
constructor(x: En) /* primary */
}
// CHECK:
// Mangled name: En
// Public signature: /En|null[0]
enum class En : Enum<En> {
// CHECK:
// Mangled name: En#<init>(){}
// Public signature: /En.<init>|-5645683436151566731[0]
private constructor() /* primary */
// CHECK:
// Mangled name: En.A
// Public signature: /En.A|null[0]
A
// CHECK:
// Mangled name: En.B
// Public signature: /En.B|null[0]
B
// CHECK:
// Mangled name: En.C
// Public signature: /En.C|null[0]
C
// CHECK:
// Mangled name: En.D
// Public signature: /En.D|null[0]
D
// CHECK JVM_IR:
// Mangled name: En#valueOf#static(kotlin.String){}En
// Public signature: /En.valueOf|-1047188124757226812[0]
// CHECK JS_IR NATIVE:
// Mangled name: En#valueOf#static(kotlin.String){}
// Public signature: /En.valueOf|-4683474617854611729[0]
fun valueOf(value: String): En
// CHECK JVM_IR:
// Mangled name: En#values#static(){}kotlin.Array<En>
// Public signature: /En.values|-6442868649398371099[0]
// CHECK JS_IR NATIVE:
// Mangled name: En#values#static(){}
// Public signature: /En.values|-8715569000920726747[0]
fun values(): Array<En>
// CHECK JVM_IR:
// Mangled name: En#clone(){}kotlin.Any
// Public signature: /En.clone|-6903128697527593263[0]
// CHECK JS_IR NATIVE:
// Mangled name: En#compareTo(En){}
// Public signature: /En.compareTo|3555292261046836181[0]
protected /* fake */ override fun clone(): Any
// CHECK JVM_IR:
// Mangled name: En#compareTo(En){}kotlin.Int
// Public signature: /En.compareTo|7450321438177070471[0]
// CHECK JS_IR NATIVE:
// Mangled name: En#equals(kotlin.Any?){}
// Public signature: /En.equals|4638265728071529943[0]
/* fake */ override operator fun compareTo(other: En): Int
// CHECK JVM_IR:
// Mangled name: En#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /En.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: En#hashCode(){}
// Public signature: /En.hashCode|3409210261493131192[0]
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: En#hashCode(){}kotlin.Int
// Public signature: /En.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: En#toString(){}
// Public signature: /En.toString|-1522858123163872138[0]
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: En#toString(){}kotlin.String
// Public signature: /En.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: En#static{}entries
// Public signature: /En.entries|-5134227801081826149[0]
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: En#static{}entries
// Public signature: /En.entries|-5134227801081826149[0]
val entries: EnumEntries<En>
// CHECK JVM_IR:
// Mangled name: En#<get-entries>#static(){}kotlin.enums.EnumEntries<En>
// Public signature: /En.entries.<get-entries>|7832995474718587298[0]
// CHECK JS_IR NATIVE:
// Mangled name: En{}name
// Public signature: /En.name|4231860309499509769[0]
get(): EnumEntries<En>
// CHECK:
// Mangled name: En{}name
// Public signature: /En.name|4231860309499509769[0]
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: En#<get-name>(){}kotlin.String
// Public signature: /En.name.<get-name>|-8006111524522882650[0]
// CHECK JS_IR NATIVE:
// Mangled name: En{}ordinal
// Public signature: /En.ordinal|1912745122988592376[0]
/* fake */ override get(): String
// CHECK:
// Mangled name: En{}ordinal
// Public signature: /En.ordinal|1912745122988592376[0]
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: En#<get-ordinal>(){}kotlin.Int
// Public signature: /En.ordinal.<get-ordinal>|-6902664390061762634[0]
// CHECK JS_IR NATIVE:
// Mangled name: #test1(){}
// Public signature: /test1|4297044443957252634[0]
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: #test1(){}
// Public signature: /test1|4297044443957252634[0]
@TestAnn(x = En.A)
fun test1(): Unit
@@ -1,8 +1,13 @@
// FIR_IDENTICAL
// MUTE_SIGNATURE_COMPARISON_K2: JS_IR
// MUTE_SIGNATURE_COMPARISON_K2: NATIVE
// ^ KT-57818
annotation class TestAnn(val x: String)
@field:TestAnn("testVal.field")
val testVal = "a val"
@field:TestAnn("testVar.field")
var testVar = "a var"
var testVar = "a var"
@@ -0,0 +1,51 @@
// CHECK:
// Mangled name: {}testVal
// Public signature: /testVal|2839078120601828782[0]
val testVal: String
// CHECK JVM_IR:
// Mangled name: #<get-testVal>(){}kotlin.String
// Public signature: /testVal.<get-testVal>|-8940261368877498423[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-testVal>(){}
// Public signature: /testVal.<get-testVal>|-3119877793352707332[0]
get
// CHECK:
// Mangled name: {}testVar
// Public signature: /testVar|8413087277002944883[0]
var testVar: String
// CHECK JVM_IR:
// Mangled name: #<get-testVar>(){}kotlin.String
// Public signature: /testVar.<get-testVar>|7475404540439630194[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-testVar>(){}
// Public signature: /testVar.<get-testVar>|-6235253478789807887[0]
get
// CHECK:
// Mangled name: #<set-testVar>(kotlin.String){}
// Public signature: /testVar.<set-testVar>|4717402140198696174[0]
set
// 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]
val x: String
// CHECK JVM_IR:
// Mangled name: TestAnn#<get-x>(){}kotlin.String
// Public signature: /TestAnn.x.<get-x>|316111172223894646[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestAnn#<get-x>(){}
// Public signature: /TestAnn.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestAnn#<init>(kotlin.String){}
// Public signature: /TestAnn.<init>|1280618353163213788[0]
constructor(x: String) /* primary */
}
@@ -0,0 +1,27 @@
@file:A(x = "File annotation")
package test
// CHECK:
// Mangled name: test.A
// Public signature: test/A|null[0]
@Target(allowedTargets = [AnnotationTarget.FILE])
open annotation class A : Annotation {
// CHECK:
// Mangled name: test.A{}x
// Public signature: test/A.x|-8060530855978347579[0]
val x: String
// CHECK JVM_IR:
// Mangled name: test.A#<get-x>(){}kotlin.String
// Public signature: test/A.x.<get-x>|316111172223894646[0]
// CHECK JS_IR NATIVE:
// Mangled name: test.A#<get-x>(){}
// Public signature: test/A.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: test.A#<init>(kotlin.String){}
// Public signature: test/A.<init>|1280618353163213788[0]
constructor(x: String) /* primary */
}
@@ -0,0 +1,29 @@
// 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]
val x: Int
// CHECK JVM_IR:
// Mangled name: TestAnn#<get-x>(){}kotlin.Int
// Public signature: /TestAnn.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestAnn#<get-x>(){}
// Public signature: /TestAnn.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestAnn#<init>(kotlin.Int){}
// Public signature: /TestAnn.<init>|-5182794243525578284[0]
constructor(x: Int) /* primary */
}
// CHECK:
// Mangled name: #testSimpleFunction(){}
// Public signature: /testSimpleFunction|-5790063669455148045[0]
@TestAnn(x = 42)
fun testSimpleFunction(): Unit
@@ -1,3 +1,6 @@
// SKIP_SIGNATURE_DUMP
// ^ KT-57429, different types in annotations generated by K1 and K2
package ann
annotation class Test1<T>(val x: Int)
@@ -22,4 +25,4 @@ annotation class Test5<T>(vararg val xs: Test3<T, C<T>>)
@Test3<String, C<String>>(Test1(39))
@Test4([Test3(Test1(40)), Test3(Test1(50)), Test3(Test1(60))])
@Test5<ARG>(*arrayOf(Test3(Test1(70))), *arrayOf(Test3(Test1(80))))
class CC
class CC
@@ -1,3 +1,6 @@
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57754
interface IFoo {
@Deprecated("")
val prop: String get() = ""
@@ -13,4 +16,4 @@ class DefaultImpl : IFoo
class ExplicitOverride : IFoo {
override val prop: String get() = ""
override val String.extProp: String get() = ""
}
}
@@ -0,0 +1,140 @@
// CHECK:
// Mangled name: DefaultImpl
// Public signature: /DefaultImpl|null[0]
class DefaultImpl : IFoo {
// CHECK:
// Mangled name: DefaultImpl#<init>(){}
// Public signature: /DefaultImpl.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: DefaultImpl@kotlin.String{}extProp
// Public signature: /DefaultImpl.extProp|9137761441129982647[0]
/* fake */ override val String.extProp: String
// CHECK JVM_IR:
// Mangled name: DefaultImpl#<get-extProp>@kotlin.String(){}kotlin.String
// Public signature: /DefaultImpl.extProp.<get-extProp>|-8732758648969586151[0]
// CHECK JS_IR NATIVE:
// Mangled name: DefaultImpl#<get-extProp>@kotlin.String(){}
// Public signature: /DefaultImpl.extProp.<get-extProp>|-2957953481772901234[0]
/* fake */ override get(): String
// CHECK:
// Mangled name: DefaultImpl{}prop
// Public signature: /DefaultImpl.prop|3598315380056892812[0]
/* fake */ override val prop: String
// CHECK JVM_IR:
// Mangled name: DefaultImpl#<get-prop>(){}kotlin.String
// Public signature: /DefaultImpl.prop.<get-prop>|-4077144726618700772[0]
// CHECK JS_IR NATIVE:
// Mangled name: DefaultImpl#<get-prop>(){}
// Public signature: /DefaultImpl.prop.<get-prop>|-5734736374948136327[0]
/* fake */ override get(): String
}
// CHECK:
// Mangled name: Delegated
// Public signature: /Delegated|null[0]
class Delegated : IFoo {
// CHECK:
// Mangled name: Delegated#<init>(IFoo){}
// Public signature: /Delegated.<init>|-657369904845510135[0]
constructor(foo: IFoo) /* primary */
// CHECK:
// Mangled name: Delegated.$$delegate_0
// Public signature: /Delegated.$$delegate_0|-7286425919675154353[0]
private /* final field */ val $$delegate_0: IFoo
// CHECK:
// Mangled name: Delegated@kotlin.String{}extProp
// Public signature: /Delegated.extProp|9137761441129982647[0]
override val String.extProp: String
// CHECK JVM_IR:
// Mangled name: Delegated#<get-extProp>@kotlin.String(){}kotlin.String
// Public signature: /Delegated.extProp.<get-extProp>|-8732758648969586151[0]
// CHECK JS_IR NATIVE:
// Mangled name: Delegated#<get-extProp>@kotlin.String(){}
// Public signature: /Delegated.extProp.<get-extProp>|-2957953481772901234[0]
override get(): String
// CHECK:
// Mangled name: Delegated{}prop
// Public signature: /Delegated.prop|3598315380056892812[0]
override val prop: String
// CHECK JVM_IR:
// Mangled name: Delegated#<get-prop>(){}kotlin.String
// Public signature: /Delegated.prop.<get-prop>|-4077144726618700772[0]
// CHECK JS_IR NATIVE:
// Mangled name: Delegated#<get-prop>(){}
// Public signature: /Delegated.prop.<get-prop>|-5734736374948136327[0]
override get(): String
}
// CHECK:
// Mangled name: ExplicitOverride
// Public signature: /ExplicitOverride|null[0]
class ExplicitOverride : IFoo {
// CHECK:
// Mangled name: ExplicitOverride#<init>(){}
// Public signature: /ExplicitOverride.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: ExplicitOverride@kotlin.String{}extProp
// Public signature: /ExplicitOverride.extProp|9137761441129982647[0]
override val String.extProp: String
// CHECK JVM_IR:
// Mangled name: ExplicitOverride#<get-extProp>@kotlin.String(){}kotlin.String
// Public signature: /ExplicitOverride.extProp.<get-extProp>|-8732758648969586151[0]
// CHECK JS_IR NATIVE:
// Mangled name: ExplicitOverride#<get-extProp>@kotlin.String(){}
// Public signature: /ExplicitOverride.extProp.<get-extProp>|-2957953481772901234[0]
override get(): String
// CHECK:
// Mangled name: ExplicitOverride{}prop
// Public signature: /ExplicitOverride.prop|3598315380056892812[0]
override val prop: String
// CHECK JVM_IR:
// Mangled name: ExplicitOverride#<get-prop>(){}kotlin.String
// Public signature: /ExplicitOverride.prop.<get-prop>|-4077144726618700772[0]
// CHECK JS_IR NATIVE:
// Mangled name: ExplicitOverride#<get-prop>(){}
// Public signature: /ExplicitOverride.prop.<get-prop>|-5734736374948136327[0]
override get(): String
}
// CHECK:
// Mangled name: IFoo
// Public signature: /IFoo|null[0]
interface IFoo {
// CHECK:
// Mangled name: IFoo@kotlin.String{}extProp
// Public signature: /IFoo.extProp|9137761441129982647[0]
val String.extProp: String
// CHECK JVM_IR:
// Mangled name: IFoo#<get-extProp>@kotlin.String(){}kotlin.String
// Public signature: /IFoo.extProp.<get-extProp>|-8732758648969586151[0]
// CHECK JS_IR NATIVE:
// Mangled name: IFoo#<get-extProp>@kotlin.String(){}
// Public signature: /IFoo.extProp.<get-extProp>|-2957953481772901234[0]
get(): String
// CHECK:
// Mangled name: IFoo{}prop
// Public signature: /IFoo.prop|3598315380056892812[0]
val prop: String
// CHECK JVM_IR:
// Mangled name: IFoo#<get-prop>(){}kotlin.String
// Public signature: /IFoo.prop.<get-prop>|-4077144726618700772[0]
// CHECK JS_IR NATIVE:
// Mangled name: IFoo#<get-prop>(){}
// Public signature: /IFoo.prop.<get-prop>|-5734736374948136327[0]
get(): String
}
@@ -0,0 +1,18 @@
// CHECK:
// Mangled name: #test1(){}
// Public signature: /test1|4297044443957252634[0]
@JavaAnn
fun test1(): Unit
// CHECK:
// Mangled name: #test2(){}
// Public signature: /test2|4279114864133353152[0]
@JavaAnn(value = "abc", i = 123)
fun test2(): Unit
// CHECK:
// Mangled name: #test3(){}
// Public signature: /test3|-3759735065270951803[0]
@JavaAnn(value = "abc", i = 123)
fun test3(): Unit
@@ -1,5 +1,9 @@
// SKIP_KT_DUMP
// TARGET_BACKEND: JVM
// SKIP_SIGNATURE_DUMP
// ^ Different types in annotations generated by K1 and K2
// FILE: A.java
public class A {
@@ -0,0 +1,28 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
open annotation class A : Annotation {
// CHECK:
// Mangled name: A{}x
// Public signature: /A.x|-8060530855978347579[0]
val x: String
// CHECK JVM_IR:
// Mangled name: A#<get-x>(){}kotlin.String
// Public signature: /A.x.<get-x>|316111172223894646[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-x>(){}
// Public signature: /A.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: A#<init>(kotlin.String){}
// Public signature: /A.<init>|1280618353163213788[0]
constructor(x: String) /* primary */
}
// CHECK:
// Mangled name: #foo(kotlin.collections.Map<kotlin.String,kotlin.Int>){}
// Public signature: /foo|2882082711847831728[0]
fun foo(m: Map<String, Int>): Unit
@@ -0,0 +1,41 @@
// CHECK:
// Mangled name: A1
// Public signature: /A1|null[0]
open annotation class A1 : Annotation {
// CHECK:
// Mangled name: A1#<init>(){}
// Public signature: /A1.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: A2
// Public signature: /A2|null[0]
open annotation class A2 : Annotation {
// CHECK:
// Mangled name: A2#<init>(){}
// Public signature: /A2.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: A3
// Public signature: /A3|null[0]
open annotation class A3 : Annotation {
// CHECK:
// Mangled name: A3#<init>(){}
// Public signature: /A3.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: #test(){}
// Public signature: /test|6620506149988718649[0]
@A1
@A2
@A3
fun test(): Unit
@@ -0,0 +1,34 @@
// 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]
constructor() /* primary */
}
// CHECK:
// Mangled name: Test
// Public signature: /Test|null[0]
class Test {
// CHECK:
// Mangled name: Test{}x
// Public signature: /Test.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: Test#<get-x>(){}kotlin.Int
// Public signature: /Test.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test#<get-x>(){}
// Public signature: /Test.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: Test#<init>(kotlin.Int){}
// Public signature: /Test.<init>|-5182794243525578284[0]
constructor(@Ann x: Int) /* primary */
}
@@ -1,5 +1,10 @@
// FIR_IDENTICAL
// MUTE_SIGNATURE_COMPARISON_K2: JS_IR
// MUTE_SIGNATURE_COMPARISON_K2: NATIVE
// ^ KT-57818
annotation class TestAnn(val x: String)
@TestAnn("testVal.property")
val testVal: String = ""
val testVal: String = ""
@@ -0,0 +1,36 @@
// CHECK:
// Mangled name: {}testVal
// Public signature: /testVal|2839078120601828782[0]
@TestAnn(x = "testVal.property")
val testVal: String
// CHECK JVM_IR:
// Mangled name: #<get-testVal>(){}kotlin.String
// Public signature: /testVal.<get-testVal>|-8940261368877498423[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-testVal>(){}
// Public signature: /testVal.<get-testVal>|-3119877793352707332[0]
get
// 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]
val x: String
// CHECK JVM_IR:
// Mangled name: TestAnn#<get-x>(){}kotlin.String
// Public signature: /TestAnn.x.<get-x>|316111172223894646[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestAnn#<get-x>(){}
// Public signature: /TestAnn.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestAnn#<init>(kotlin.String){}
// Public signature: /TestAnn.<init>|1280618353163213788[0]
constructor(x: String) /* primary */
}
@@ -0,0 +1,65 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
open annotation class A : Annotation {
// CHECK:
// Mangled name: A{}x
// Public signature: /A.x|-8060530855978347579[0]
val x: String
// CHECK JVM_IR:
// Mangled name: A#<get-x>(){}kotlin.String
// Public signature: /A.x.<get-x>|316111172223894646[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-x>(){}
// Public signature: /A.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: A#<init>(kotlin.String){}
// Public signature: /A.<init>|1280618353163213788[0]
constructor(x: String) /* primary */
}
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C {
// CHECK:
// Mangled name: C{}x
// Public signature: /C.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: C#<get-x>(){}kotlin.Int
// Public signature: /C.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: C#<get-x>(){}
// Public signature: /C.x.<get-x>|1482705010654679335[0]
@A(x = "C.x.get")
get
// CHECK:
// Mangled name: C{}y
// Public signature: /C.y|3625903257357557171[0]
var y: Int
// CHECK JVM_IR:
// Mangled name: C#<get-y>(){}kotlin.Int
// Public signature: /C.y.<get-y>|-6745575372101973707[0]
// CHECK JS_IR NATIVE:
// Mangled name: C#<get-y>(){}
// Public signature: /C.y.<get-y>|-7902422373892128922[0]
@A(x = "C.y.get")
get
// CHECK:
// Mangled name: C#<set-y>(kotlin.Int){}
// Public signature: /C.y.<set-y>|2154335559382602722[0]
@A(x = "C.y.set")
set
// CHECK:
// Mangled name: C#<init>(kotlin.Int;kotlin.Int){}
// Public signature: /C.<init>|-7691762014320324121[0]
constructor(x: Int, y: Int) /* primary */
}
@@ -1,4 +1,9 @@
// FIR_IDENTICAL
// MUTE_SIGNATURE_COMPARISON_K2: JS_IR
// MUTE_SIGNATURE_COMPARISON_K2: NATIVE
// ^ KT-57818
annotation class TestAnn(val x: String)
val test1: String
@@ -13,4 +18,4 @@ val test3: String = ""
@get:TestAnn("test4.get")
@set:TestAnn("test4.set")
var test4: String = ""
var test4: String = ""
@@ -0,0 +1,85 @@
// CHECK:
// Mangled name: {}test3
// Public signature: /test3|7677556066983021166[0]
val test3: String
// CHECK JVM_IR:
// Mangled name: #<get-test3>(){}kotlin.String
// Public signature: /test3.<get-test3>|-2084248125648281731[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-test3>(){}
// Public signature: /test3.<get-test3>|-7333791615083236686[0]
@TestAnn(x = "test3.get")
get
// CHECK:
// Mangled name: {}test4
// Public signature: /test4|-9115637610245762085[0]
var test4: String
// CHECK JVM_IR:
// Mangled name: #<get-test4>(){}kotlin.String
// Public signature: /test4.<get-test4>|5046196083583551233[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-test4>(){}
// Public signature: /test4.<get-test4>|4166854324968284003[0]
@TestAnn(x = "test4.get")
get
// CHECK:
// Mangled name: #<set-test4>(kotlin.String){}
// Public signature: /test4.<set-test4>|-6376420079491092905[0]
@TestAnn(x = "test4.set")
set
// 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]
val x: String
// CHECK JVM_IR:
// Mangled name: TestAnn#<get-x>(){}kotlin.String
// Public signature: /TestAnn.x.<get-x>|316111172223894646[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestAnn#<get-x>(){}
// Public signature: /TestAnn.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestAnn#<init>(kotlin.String){}
// Public signature: /TestAnn.<init>|1280618353163213788[0]
constructor(x: String) /* primary */
}
// CHECK:
// Mangled name: {}test1
// Public signature: /test1|6005685442305498193[0]
val test1: String
// CHECK JVM_IR:
// Mangled name: #<get-test1>(){}kotlin.String
// Public signature: /test1.<get-test1>|-7403750508378492770[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-test1>(){}
// Public signature: /test1.<get-test1>|-5735092642142423279[0]
@TestAnn(x = "test1.get")
get(): String
// CHECK:
// Mangled name: {}test2
// Public signature: /test2|2517758057000911509[0]
var test2: String
// CHECK JVM_IR:
// Mangled name: #<get-test2>(){}kotlin.String
// Public signature: /test2.<get-test2>|-8062412501290172814[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-test2>(){}
// Public signature: /test2.<get-test2>|-5218942532816206869[0]
@TestAnn(x = "test2.get")
get(): String
// CHECK:
// Mangled name: #<set-test2>(kotlin.String){}
// Public signature: /test2.<set-test2>|4560361687368503848[0]
@TestAnn(x = "test2.set")
set(value: String): Unit
@@ -1,7 +1,12 @@
// FIR_IDENTICAL
// MUTE_SIGNATURE_COMPARISON_K2: JS_IR
// MUTE_SIGNATURE_COMPARISON_K2: NATIVE
// ^ KT-57818
annotation class AnnParam
@setparam:AnnParam
var p: Int = 0
class C(@setparam:AnnParam var p: Int)
class C(@setparam:AnnParam var p: Int)
@@ -0,0 +1,54 @@
// CHECK:
// Mangled name: {}p
// Public signature: /p|6715504260787941082[0]
var p: Int
// CHECK JVM_IR:
// Mangled name: #<get-p>(){}kotlin.Int
// Public signature: /p.<get-p>|5329635969197638839[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-p>(){}
// Public signature: /p.<get-p>|-1162552463316289847[0]
get
// CHECK:
// Mangled name: #<set-p>(kotlin.Int){}
// Public signature: /p.<set-p>|-6346582004572228570[0]
set
// CHECK:
// Mangled name: AnnParam
// Public signature: /AnnParam|null[0]
open annotation class AnnParam : Annotation {
// CHECK:
// Mangled name: AnnParam#<init>(){}
// Public signature: /AnnParam.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C {
// CHECK:
// Mangled name: C{}p
// Public signature: /C.p|6715504260787941082[0]
var p: Int
// CHECK JVM_IR:
// Mangled name: C#<get-p>(){}kotlin.Int
// Public signature: /C.p.<get-p>|5329635969197638839[0]
// CHECK JS_IR NATIVE:
// Mangled name: C#<get-p>(){}
// Public signature: /C.p.<get-p>|-1162552463316289847[0]
get
// CHECK:
// Mangled name: C#<set-p>(kotlin.Int){}
// Public signature: /C.p.<set-p>|-6346582004572228570[0]
set
// CHECK:
// Mangled name: C#<init>(kotlin.Int){}
// Public signature: /C.<init>|-5182794243525578284[0]
constructor(p: Int) /* primary */
}
@@ -1,4 +1,9 @@
// FIR_IDENTICAL
// MUTE_SIGNATURE_COMPARISON_K2: JS_IR
// MUTE_SIGNATURE_COMPARISON_K2: NATIVE
// ^ KT-57818
annotation class Ann
class A {
@@ -0,0 +1,62 @@
// 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]
constructor() /* primary */
}
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
class A {
// CHECK:
// Mangled name: A#<init>(){}
// Public signature: /A.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: A#f@kotlin.String(){}kotlin.String
// Public signature: /A.f|-7101655006580999052[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#f@kotlin.String(){}
// Public signature: /A.f|8972825158424444953[0]
fun String.f(): String
// CHECK:
// Mangled name: A@kotlin.String?{}p
// Public signature: /A.p|-5332805019112550693[0]
val String?.p: String
// CHECK JVM_IR:
// Mangled name: A#<get-p>@kotlin.String?(){}kotlin.String
// Public signature: /A.p.<get-p>|2132774030714660058[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-p>@kotlin.String?(){}
// Public signature: /A.p.<get-p>|-206460032103866705[0]
get(): String
}
// CHECK JVM_IR:
// Mangled name: #topLevelF@kotlin.String?(){}kotlin.String
// Public signature: /topLevelF|1393314255563085986[0]
// CHECK JS_IR NATIVE:
// Mangled name: #topLevelF@kotlin.String?(){}
// Public signature: /topLevelF|657392952960169607[0]
fun String?.topLevelF(): String
// CHECK:
// Mangled name: @kotlin.String{}topLevelP
// Public signature: /topLevelP|4430474858321876067[0]
val String.topLevelP: String
// CHECK JVM_IR:
// Mangled name: #<get-topLevelP>@kotlin.String(){}kotlin.String
// Public signature: /topLevelP.<get-topLevelP>|6082050321613134215[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-topLevelP>@kotlin.String(){}
// Public signature: /topLevelP.<get-topLevelP>|529461791237324071[0]
get(): String
@@ -1,5 +1,8 @@
// SKIP_SIGNATURE_DUMP
// ^ Different types in annotations generated by K1 and K2
annotation class A(vararg val xs: String)
@A(*arrayOf("a"), *arrayOf("b"))
fun test() {}
fun test() {}
@@ -0,0 +1,29 @@
// CHECK:
// Mangled name: TestAnn
// Public signature: /TestAnn|null[0]
@Target(allowedTargets = [AnnotationTarget.TYPEALIAS])
open annotation class TestAnn : Annotation {
// CHECK:
// Mangled name: TestAnn{}x
// Public signature: /TestAnn.x|-8060530855978347579[0]
val x: String
// CHECK JVM_IR:
// Mangled name: TestAnn#<get-x>(){}kotlin.String
// Public signature: /TestAnn.x.<get-x>|316111172223894646[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestAnn#<get-x>(){}
// Public signature: /TestAnn.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestAnn#<init>(kotlin.String){}
// Public signature: /TestAnn.<init>|1280618353163213788[0]
constructor(x: String) /* primary */
}
// CHECK:
// Mangled name: TestTypeAlias
// Public signature: /TestTypeAlias|null[0]
@TestAnn(x = "TestTypeAlias")
typealias TestTypeAlias = String
@@ -0,0 +1,17 @@
// CHECK:
// Mangled name: Anno
// Public signature: /Anno|null[0]
@Target(allowedTargets = [AnnotationTarget.TYPE_PARAMETER])
open annotation class Anno : Annotation {
// CHECK:
// Mangled name: Anno#<init>(){}
// Public signature: /Anno.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: #foo(){0§<kotlin.Any?>}
// Public signature: /foo|-7822584347064313243[0]
fun <@Anno T : Any?> foo(): Unit
@@ -0,0 +1,51 @@
// 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]
val x: String
// CHECK JVM_IR:
// Mangled name: TestAnn#<get-x>(){}kotlin.String
// Public signature: /TestAnn.x.<get-x>|316111172223894646[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestAnn#<get-x>(){}
// Public signature: /TestAnn.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestAnn#<init>(kotlin.String){}
// Public signature: /TestAnn.<init>|1280618353163213788[0]
constructor(x: String) /* primary */
}
// CHECK:
// Mangled name: TestClassConstructor1
// Public signature: /TestClassConstructor1|null[0]
class TestClassConstructor1 {
// CHECK:
// Mangled name: TestClassConstructor1{}xx
// Public signature: /TestClassConstructor1.xx|5916295751157136767[0]
val xx: Int
// CHECK JVM_IR:
// Mangled name: TestClassConstructor1#<get-xx>(){}kotlin.Int
// Public signature: /TestClassConstructor1.xx.<get-xx>|-7844073399004608724[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestClassConstructor1#<get-xx>(){}
// Public signature: /TestClassConstructor1.xx.<get-xx>|5648847738704808838[0]
get
// CHECK:
// Mangled name: TestClassConstructor1#<init>(kotlin.Int){}
// Public signature: /TestClassConstructor1.<init>|-5182794243525578284[0]
constructor(@TestAnn(x = "TestClassConstructor1.x") x: Int) /* primary */
}
// CHECK:
// Mangled name: #testFun(kotlin.Int){}
// Public signature: /testFun|7846764360131207179[0]
fun testFun(@TestAnn(x = "testFun.x") x: Int): Unit
@@ -0,0 +1,85 @@
// CHECK:
// Mangled name: A1
// Public signature: /A1|null[0]
open annotation class A1 : Annotation {
// CHECK:
// Mangled name: A1{}xs
// Public signature: /A1.xs|1063330853857063704[0]
val xs: IntArray
// CHECK JVM_IR:
// Mangled name: A1#<get-xs>(){}kotlin.IntArray
// Public signature: /A1.xs.<get-xs>|5887559004820637749[0]
// CHECK JS_IR NATIVE:
// Mangled name: A1#<get-xs>(){}
// Public signature: /A1.xs.<get-xs>|-6958094100501701183[0]
get
// CHECK:
// Mangled name: A1#<init>(kotlin.IntArray...){}
// Public signature: /A1.<init>|3304157197881351514[0]
constructor(vararg xs: Int) /* primary */
}
// CHECK:
// Mangled name: A2
// Public signature: /A2|null[0]
open annotation class A2 : Annotation {
// CHECK:
// Mangled name: A2{}xs
// Public signature: /A2.xs|1063330853857063704[0]
val xs: Array<out String>
// CHECK JVM_IR:
// Mangled name: A2#<get-xs>(){}kotlin.Array<out|kotlin.String>
// Public signature: /A2.xs.<get-xs>|9188548163055185324[0]
// CHECK JS_IR NATIVE:
// Mangled name: A2#<get-xs>(){}
// Public signature: /A2.xs.<get-xs>|-6958094100501701183[0]
get
// CHECK:
// Mangled name: A2#<init>(kotlin.Array<out|kotlin.String>...){}
// Public signature: /A2.<init>|-6780234697714860085[0]
constructor(vararg xs: String) /* primary */
}
// CHECK:
// Mangled name: AA
// Public signature: /AA|null[0]
open annotation class AA : Annotation {
// CHECK:
// Mangled name: AA{}xs
// Public signature: /AA.xs|1063330853857063704[0]
val xs: Array<out A1>
// CHECK JVM_IR:
// Mangled name: AA#<get-xs>(){}kotlin.Array<out|A1>
// Public signature: /AA.xs.<get-xs>|-3667422235339963828[0]
// CHECK JS_IR NATIVE:
// Mangled name: AA#<get-xs>(){}
// Public signature: /AA.xs.<get-xs>|-6958094100501701183[0]
get
// CHECK:
// Mangled name: AA#<init>(kotlin.Array<out|A1>...){}
// Public signature: /AA.<init>|-3149474316715311617[0]
constructor(vararg xs: A1) /* primary */
}
// CHECK:
// Mangled name: #test1(){}
// Public signature: /test1|4297044443957252634[0]
@A1(xs = [1, 2, 3])
@A2(xs = ["a", "b", "c"])
@AA(xs = [A1(xs = [4]), A1(xs = [5]), A1(xs = [6])])
fun test1(): Unit
// CHECK:
// Mangled name: #test2(){}
// Public signature: /test2|4279114864133353152[0]
@A1(xs = [])
@A2(xs = [])
@AA(xs = [])
fun test2(): Unit
@@ -0,0 +1,28 @@
// 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]
val x: String
// CHECK JVM_IR:
// Mangled name: TestAnn#<get-x>(){}kotlin.String
// Public signature: /TestAnn.x.<get-x>|316111172223894646[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestAnn#<get-x>(){}
// Public signature: /TestAnn.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestAnn#<init>(kotlin.String){}
// Public signature: /TestAnn.<init>|1280618353163213788[0]
constructor(x: String) /* primary */
}
// CHECK:
// Mangled name: #foo(){}
// Public signature: /foo|-1041209573719867811[0]
fun foo(): Unit
@@ -1,2 +1,7 @@
// FIR_IDENTICAL
val test = try { } catch (e : Throwable) { }
// MUTE_SIGNATURE_COMPARISON_K2: JS_IR
// MUTE_SIGNATURE_COMPARISON_K2: NATIVE
// ^ KT-57818
val test = try { } catch (e : Throwable) { }
@@ -0,0 +1,9 @@
// CHECK:
// Mangled name: {}test
// Public signature: /test|-5712650070209114719[0]
val test: Unit
// CHECK:
// Mangled name: #<get-test>(){}
// Public signature: /test.<get-test>|208282462577758837[0]
get
@@ -0,0 +1,123 @@
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C {
// CHECK:
// Mangled name: C{}test1
// Public signature: /C.test1|6005685442305498193[0]
val test1: Int
// CHECK JVM_IR:
// Mangled name: C#<get-test1>(){}kotlin.Int
// Public signature: /C.test1.<get-test1>|3978508226793108919[0]
// CHECK JS_IR NATIVE:
// Mangled name: C#<get-test1>(){}
// Public signature: /C.test1.<get-test1>|-5735092642142423279[0]
get
// CHECK:
// Mangled name: C{}test3
// Public signature: /C.test3|7677556066983021166[0]
var test3: Int
// CHECK JVM_IR:
// Mangled name: C#<get-test3>(){}kotlin.Int
// Public signature: /C.test3.<get-test3>|6145294165644146033[0]
// CHECK JS_IR NATIVE:
// Mangled name: C#<get-test3>(){}
// Public signature: /C.test3.<get-test3>|-7333791615083236686[0]
get
// CHECK:
// Mangled name: C#<set-test3>(kotlin.Int){}
// Public signature: /C.test3.<set-test3>|-4170290427940674844[0]
set
// CHECK:
// Mangled name: C{}test4
// Public signature: /C.test4|-9115637610245762085[0]
var test4: Int
// CHECK JVM_IR:
// Mangled name: C#<get-test4>(){}kotlin.Int
// Public signature: /C.test4.<get-test4>|-8911174941514444072[0]
// CHECK JS_IR NATIVE:
// Mangled name: C#<get-test4>(){}
// Public signature: /C.test4.<get-test4>|4166854324968284003[0]
get
// CHECK:
// Mangled name: C#<set-test4>(kotlin.Int){}
// Public signature: /C.test4.<set-test4>|8105340104867729538[0]
set(value: Int): Unit
// CHECK:
// Mangled name: C{}test5
// Public signature: /C.test5|4734809624271551895[0]
var test5: Int
// CHECK JVM_IR:
// Mangled name: C#<get-test5>(){}kotlin.Int
// Public signature: /C.test5.<get-test5>|-639929328226188476[0]
// CHECK JS_IR NATIVE:
// Mangled name: C#<get-test5>(){}
// Public signature: /C.test5.<get-test5>|-839819880171293643[0]
get
// CHECK:
// Mangled name: C#<set-test5>(kotlin.Int){}
// Public signature: /C.test5.<set-test5>|-8941794992615749462[0]
private set
// CHECK:
// Mangled name: C{}test6
// Public signature: /C.test6|-2606527149405855403[0]
val test6: Int
// CHECK JVM_IR:
// Mangled name: C#<get-test6>(){}kotlin.Int
// Public signature: /C.test6.<get-test6>|-7378740493776144578[0]
// CHECK JS_IR NATIVE:
// Mangled name: C#<get-test6>(){}
// Public signature: /C.test6.<get-test6>|2028965735388282488[0]
get
// CHECK:
// Mangled name: C{}test7
// Public signature: /C.test7|1362036650170262859[0]
val test7: Int /* by */
// CHECK JVM_IR:
// Mangled name: C#<get-test7>(){}kotlin.Int
// Public signature: /C.test7.<get-test7>|-7305979124924885797[0]
// CHECK JS_IR NATIVE:
// Mangled name: C#<get-test7>(){}
// Public signature: /C.test7.<get-test7>|-4463638325142628163[0]
get(): Int
// CHECK:
// Mangled name: C{}test8
// Public signature: /C.test8|5640428216506241852[0]
var test8: Int /* by */
// CHECK JVM_IR:
// Mangled name: C#<get-test8>(){}kotlin.Int
// Public signature: /C.test8.<get-test8>|-4986202166917088055[0]
// CHECK JS_IR NATIVE:
// Mangled name: C#<get-test8>(){}
// Public signature: /C.test8.<get-test8>|-4670710835380513070[0]
get(): Int
// CHECK:
// Mangled name: C#<set-test8>(kotlin.Int){}
// Public signature: /C.test8.<set-test8>|-6993542117905462862[0]
set(<set-?>: Int): Unit
// CHECK:
// Mangled name: C#<init>(){}
// Public signature: /C.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: C{}test2
// Public signature: /C.test2|2517758057000911509[0]
val test2: Int
// CHECK JVM_IR:
// Mangled name: C#<get-test2>(){}kotlin.Int
// Public signature: /C.test2.<get-test2>|-8779933517717592707[0]
// CHECK JS_IR NATIVE:
// Mangled name: C#<get-test2>(){}
// Public signature: /C.test2.<get-test2>|-5218942532816206869[0]
get(): Int
}
@@ -1,5 +1,9 @@
// FIR_IDENTICAL
// MUTE_SIGNATURE_COMPARISON_K2: JS_IR
// MUTE_SIGNATURE_COMPARISON_K2: NATIVE
// ^ KT-57818
const val I0 = 0
const val I1 = 1
const val I2 = I0 + I1 + I1
@@ -0,0 +1,84 @@
// CHECK:
// Mangled name: {}I0
// Public signature: /I0|3638397844945051376[0]
const val I0: Int
// CHECK JVM_IR:
// Mangled name: #<get-I0>(){}kotlin.Int
// Public signature: /I0.<get-I0>|-6746694356593193165[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-I0>(){}
// Public signature: /I0.<get-I0>|7085170094336958136[0]
get
// CHECK:
// Mangled name: {}I1
// Public signature: /I1|84494794639401383[0]
const val I1: Int
// CHECK JVM_IR:
// Mangled name: #<get-I1>(){}kotlin.Int
// Public signature: /I1.<get-I1>|-8819240179982204215[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-I1>(){}
// Public signature: /I1.<get-I1>|1430672906566406691[0]
get
// CHECK:
// Mangled name: {}I2
// Public signature: /I2|-5820322169900540552[0]
const val I2: Int
// CHECK JVM_IR:
// Mangled name: #<get-I2>(){}kotlin.Int
// Public signature: /I2.<get-I2>|-4989683773709385937[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-I2>(){}
// Public signature: /I2.<get-I2>|-1160209788406877161[0]
get
// CHECK:
// Mangled name: {}STR1
// Public signature: /STR1|-6743560849647323388[0]
const val STR1: String
// CHECK JVM_IR:
// Mangled name: #<get-STR1>(){}kotlin.String
// Public signature: /STR1.<get-STR1>|-2293085048547070941[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-STR1>(){}
// Public signature: /STR1.<get-STR1>|5781950605000309766[0]
get
// CHECK:
// Mangled name: {}STR2
// Public signature: /STR2|373630768127354084[0]
const val STR2: String
// CHECK JVM_IR:
// Mangled name: #<get-STR2>(){}kotlin.String
// Public signature: /STR2.<get-STR2>|1585456442054637269[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-STR2>(){}
// Public signature: /STR2.<get-STR2>|8041479152331919578[0]
get
// CHECK:
// Mangled name: {}STR3
// Public signature: /STR3|-2584825627971705247[0]
const val STR3: String
// CHECK JVM_IR:
// Mangled name: #<get-STR3>(){}kotlin.String
// Public signature: /STR3.<get-STR3>|-7307022761040876675[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-STR3>(){}
// Public signature: /STR3.<get-STR3>|8574952695803340733[0]
get
// CHECK:
// Mangled name: {}STR4
// Public signature: /STR4|-8283585211440994945[0]
const val STR4: String
// CHECK JVM_IR:
// Mangled name: #<get-STR4>(){}kotlin.String
// Public signature: /STR4.<get-STR4>|-2113476242053901162[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-STR4>(){}
// Public signature: /STR4.<get-STR4>|-7243567156065898284[0]
get
@@ -1,6 +1,9 @@
// !LANGUAGE: +ContextReceivers
// TARGET_BACKEND: JVM_IR
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57435
data class MyContainer(var i: Int)
var operationScore = 0
@@ -0,0 +1,84 @@
// CHECK:
// Mangled name: {}operationScore
// Public signature: /operationScore|-9073278321118823634[0]
var operationScore: Int
// CHECK JVM_IR:
// Mangled name: #<get-operationScore>(){}kotlin.Int
// Public signature: /operationScore.<get-operationScore>|7107010356269447258[0]
get
// CHECK:
// Mangled name: #<set-operationScore>(kotlin.Int){}
// Public signature: /operationScore.<set-operationScore>|1936076120216071025[0]
set
// CHECK:
// Mangled name: MyContainer
// Public signature: /MyContainer|null[0]
data class MyContainer {
// CHECK:
// Mangled name: MyContainer{}i
// Public signature: /MyContainer.i|5014384761142332495[0]
var i: Int
// CHECK JVM_IR:
// Mangled name: MyContainer#<get-i>(){}kotlin.Int
// Public signature: /MyContainer.i.<get-i>|-8784396159001927527[0]
get
// CHECK:
// Mangled name: MyContainer#<set-i>(kotlin.Int){}
// Public signature: /MyContainer.i.<set-i>|1223530399758590178[0]
set
// CHECK:
// Mangled name: MyContainer#<init>(kotlin.Int){}
// Public signature: /MyContainer.<init>|-5182794243525578284[0]
constructor(i: Int) /* primary */
// CHECK JVM_IR:
// Mangled name: MyContainer#component1(){}kotlin.Int
// Public signature: /MyContainer.component1|-8217597213800111288[0]
operator fun component1(): Int
// CHECK JVM_IR:
// Mangled name: MyContainer#copy(kotlin.Int){}MyContainer
// Public signature: /MyContainer.copy|-2712595066263545556[0]
fun copy(i: Int): MyContainer
// CHECK JVM_IR:
// Mangled name: MyContainer#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /MyContainer.equals|722809408929142791[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: MyContainer#hashCode(){}kotlin.Int
// Public signature: /MyContainer.hashCode|-8048879360829830756[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: MyContainer#toString(){}kotlin.String
// Public signature: /MyContainer.toString|6958853723545266802[0]
override fun toString(): String
}
// CHECK JVM_IR:
// Mangled name: #box(){}kotlin.String
// Public signature: /box|-9347091776561469[0]
fun box(): String
// CHECK JVM_IR:
// Mangled name computed from Ir: #get@MyContainer(kotlin.Int;kotlin.Int){}kotlin.Int
// Mangled name computed from Descriptor: #get!kotlin.Int@MyContainer(kotlin.Int){}kotlin.Int
// Public signature: /get|-3979760669169671321[0]
operator fun MyContainer.get($context_receiver_0: Int, index: Int): Int
// CHECK JVM_IR:
// Mangled name computed from Ir: #inc@MyContainer(kotlin.Int){}MyContainer
// Mangled name computed from Descriptor: #inc!kotlin.Int@MyContainer(){}MyContainer
// Public signature: /inc|-8228731243470619532[0]
operator fun MyContainer.inc($context_receiver_0: Int): MyContainer
// CHECK:
// Mangled name computed from Ir: #plusAssign@MyContainer(kotlin.Int;MyContainer){}
// Mangled name computed from Descriptor: #plusAssign!kotlin.Int@MyContainer(MyContainer){}
// Public signature: /plusAssign|677104996565540010[0]
operator fun MyContainer.plusAssign($context_receiver_0: Int, other: MyContainer): Unit
@@ -1,6 +1,9 @@
// !LANGUAGE: +ContextReceivers
// TARGET_BACKEND: JVM_IR
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57435
data class MyContainer(var s: String)
context(Int)
@@ -0,0 +1,65 @@
// CHECK:
// Mangled name: MyContainer
// Public signature: /MyContainer|null[0]
data class MyContainer {
// CHECK:
// Mangled name: MyContainer{}s
// Public signature: /MyContainer.s|7217541905509134881[0]
var s: String
// CHECK JVM_IR:
// Mangled name: MyContainer#<get-s>(){}kotlin.String
// Public signature: /MyContainer.s.<get-s>|4142379646177092803[0]
get
// CHECK:
// Mangled name: MyContainer#<set-s>(kotlin.String){}
// Public signature: /MyContainer.s.<set-s>|8225901422521337963[0]
set
// CHECK:
// Mangled name: MyContainer#<init>(kotlin.String){}
// Public signature: /MyContainer.<init>|1280618353163213788[0]
constructor(s: String) /* primary */
// CHECK JVM_IR:
// Mangled name: MyContainer#component1(){}kotlin.String
// Public signature: /MyContainer.component1|-7481405593404337796[0]
operator fun component1(): String
// CHECK JVM_IR:
// Mangled name: MyContainer#copy(kotlin.String){}MyContainer
// Public signature: /MyContainer.copy|-9194766205182052641[0]
fun copy(s: String): MyContainer
// CHECK JVM_IR:
// Mangled name: MyContainer#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /MyContainer.equals|722809408929142791[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: MyContainer#hashCode(){}kotlin.Int
// Public signature: /MyContainer.hashCode|-8048879360829830756[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: MyContainer#toString(){}kotlin.String
// Public signature: /MyContainer.toString|6958853723545266802[0]
override fun toString(): String
}
// CHECK JVM_IR:
// Mangled name: #box(){}kotlin.String
// Public signature: /box|-9347091776561469[0]
fun box(): String
// CHECK JVM_IR:
// Mangled name computed from Ir: #get@MyContainer(kotlin.Int;kotlin.Int){}kotlin.String?
// Mangled name computed from Descriptor: #get!kotlin.Int@MyContainer(kotlin.Int){}kotlin.String?
// Public signature: /get|-262764729710480185[0]
operator fun MyContainer.get($context_receiver_0: Int, index: Int): String?
// CHECK:
// Mangled name computed from Ir: #set@MyContainer(kotlin.Int;kotlin.Int;kotlin.String){}
// Mangled name computed from Descriptor: #set!kotlin.Int@MyContainer(kotlin.Int;kotlin.String){}
// Public signature: /set|1694887052182048775[0]
operator fun MyContainer.set($context_receiver_0: Int, index: Int, value: String): Unit
@@ -1,8 +1,12 @@
// FIR_IDENTICAL
// !LANGUAGE: +ContextReceivers
// DUMP_LOCAL_DECLARATION_SIGNATURES
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57428, KT-57435
class Outer {
val x: Int = 1
}
@@ -0,0 +1,50 @@
// CHECK:
// Mangled name: Inner
// Public signature: /Inner|null[0]
class Inner {
// CHECK:
// Mangled name computed from Ir: Inner#<init>(Outer;kotlin.Any){}
// Mangled name computed from Descriptor: Inner#<init>!Outer(kotlin.Any){}
// Public signature: /Inner.<init>|7428094623108856579[0]
constructor($context_receiver_0: Outer, arg: Any) /* primary */
// CHECK:
// Mangled name computed from Ir: Inner.contextReceiverField0
// Mangled name computed from Descriptor: Inner{}contextReceiverField0#jf
private /* final field */ val contextReceiverField0: Outer
// CHECK JVM_IR:
// Mangled name: Inner#bar(){}kotlin.Int
// Public signature: /Inner.bar|-6436649210114349217[0]
fun bar(): Int
}
// CHECK:
// Mangled name: Outer
// Public signature: /Outer|null[0]
class Outer {
// CHECK:
// Mangled name: Outer{}x
// Public signature: /Outer.x|-8060530855978347579[0]
val x: Int
field
// CHECK JVM_IR:
// Mangled name: Outer#<get-x>(){}kotlin.Int
// Public signature: /Outer.x.<get-x>|4966956098150895696[0]
get
// CHECK:
// Mangled name: Outer#<init>(){}
// Public signature: /Outer.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: #f(Outer){}
// Public signature: /f|-90367846469451219[0]
fun f(outer: Outer): Unit
// CHECK JVM_IR:
// Mangled name: #f(Outer){}#<anonymous>#static@Outer(){}Inner
local fun Outer.<anonymous>(): Inner
@@ -1,6 +1,9 @@
// !LANGUAGE: +ContextReceivers
// TARGET_BACKEND: JVM_IR
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57435
data class Result(var i: Int)
var operationScore = 0
@@ -0,0 +1,114 @@
// CHECK:
// Mangled name: {}operationScore
// Public signature: /operationScore|-9073278321118823634[0]
var operationScore: Int
// CHECK JVM_IR:
// Mangled name: #<get-operationScore>(){}kotlin.Int
// Public signature: /operationScore.<get-operationScore>|7107010356269447258[0]
get
// CHECK:
// Mangled name: #<set-operationScore>(kotlin.Int){}
// Public signature: /operationScore.<set-operationScore>|1936076120216071025[0]
set
// CHECK:
// Mangled name: Result
// Public signature: /Result|null[0]
data class Result {
// CHECK:
// Mangled name: Result{}i
// Public signature: /Result.i|5014384761142332495[0]
var i: Int
// CHECK JVM_IR:
// Mangled name: Result#<get-i>(){}kotlin.Int
// Public signature: /Result.i.<get-i>|-8784396159001927527[0]
get
// CHECK:
// Mangled name: Result#<set-i>(kotlin.Int){}
// Public signature: /Result.i.<set-i>|1223530399758590178[0]
set
// CHECK:
// Mangled name: Result#<init>(kotlin.Int){}
// Public signature: /Result.<init>|-5182794243525578284[0]
constructor(i: Int) /* primary */
// CHECK JVM_IR:
// Mangled name: Result#component1(){}kotlin.Int
// Public signature: /Result.component1|-8217597213800111288[0]
operator fun component1(): Int
// CHECK JVM_IR:
// Mangled name: Result#copy(kotlin.Int){}Result
// Public signature: /Result.copy|5439238034196076859[0]
fun copy(i: Int): Result
// CHECK JVM_IR:
// Mangled name: Result#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Result.equals|722809408929142791[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: Result#hashCode(){}kotlin.Int
// Public signature: /Result.hashCode|-8048879360829830756[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: Result#toString(){}kotlin.String
// Public signature: /Result.toString|6958853723545266802[0]
override fun toString(): String
}
// CHECK JVM_IR:
// Mangled name: #box(){}kotlin.String
// Public signature: /box|-9347091776561469[0]
fun box(): String
// CHECK JVM_IR:
// Mangled name computed from Ir: #div@Result(kotlin.Int;Result){}Result
// Mangled name computed from Descriptor: #div!kotlin.Int@Result(Result){}Result
// Public signature: /div|4720798164978030724[0]
operator fun Result.div($context_receiver_0: Int, other: Result): Result
// CHECK:
// Mangled name computed from Ir: #divAssign@Result(kotlin.Int;Result){}
// Mangled name computed from Descriptor: #divAssign!kotlin.Int@Result(Result){}
// Public signature: /divAssign|2355297718303587055[0]
operator fun Result.divAssign($context_receiver_0: Int, other: Result): Unit
// CHECK JVM_IR:
// Mangled name computed from Ir: #minus@Result(kotlin.Int;Result){}Result
// Mangled name computed from Descriptor: #minus!kotlin.Int@Result(Result){}Result
// Public signature: /minus|3968749932240310139[0]
operator fun Result.minus($context_receiver_0: Int, other: Result): Result
// CHECK:
// Mangled name computed from Ir: #minusAssign@Result(kotlin.Int;Result){}
// Mangled name computed from Descriptor: #minusAssign!kotlin.Int@Result(Result){}
// Public signature: /minusAssign|5475976237961546392[0]
operator fun Result.minusAssign($context_receiver_0: Int, other: Result): Unit
// CHECK JVM_IR:
// Mangled name computed from Ir: #plus@Result(kotlin.Int;Result){}Result
// Mangled name computed from Descriptor: #plus!kotlin.Int@Result(Result){}Result
// Public signature: /plus|4903222358721452198[0]
operator fun Result.plus($context_receiver_0: Int, other: Result): Result
// CHECK:
// Mangled name computed from Ir: #plusAssign@Result(kotlin.Int;Result){}
// Mangled name computed from Descriptor: #plusAssign!kotlin.Int@Result(Result){}
// Public signature: /plusAssign|-1237264614376392652[0]
operator fun Result.plusAssign($context_receiver_0: Int, other: Result): Unit
// CHECK JVM_IR:
// Mangled name computed from Ir: #times@Result(kotlin.Int;Result){}Result
// Mangled name computed from Descriptor: #times!kotlin.Int@Result(Result){}Result
// Public signature: /times|3621876074874527655[0]
operator fun Result.times($context_receiver_0: Int, other: Result): Result
// CHECK:
// Mangled name computed from Ir: #timesAssign@Result(kotlin.Int;Result){}
// Mangled name computed from Descriptor: #timesAssign!kotlin.Int@Result(Result){}
// Public signature: /timesAssign|1025810528106719294[0]
operator fun Result.timesAssign($context_receiver_0: Int, other: Result): Unit
@@ -3,6 +3,9 @@
// IGNORE_BACKEND_K1: JS_IR
// IGNORE_BACKEND_K1: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57435
class Context {
fun foo() = 1
}
@@ -0,0 +1,42 @@
// CHECK:
// Mangled name: Context
// Public signature: /Context|null[0]
class Context {
// CHECK:
// Mangled name: Context#<init>(){}
// Public signature: /Context.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: Context#foo(){}kotlin.Int
// Public signature: /Context.foo|-1256155405684507276[0]
fun foo(): Int
}
// CHECK:
// Mangled name: Test
// Public signature: /Test|null[0]
class Test {
// CHECK:
// Mangled name computed from Ir: Test#<init>(Context){}
// Mangled name computed from Descriptor: Test#<init>!Context(){}
// Public signature: /Test.<init>|4848133296495274545[0]
constructor($context_receiver_0: Context) /* primary */
// CHECK:
// Mangled name computed from Ir: Test.contextReceiverField0
// Mangled name computed from Descriptor: Test{}contextReceiverField0#jf
private /* final field */ val contextReceiverField0: Context
// CHECK:
// Mangled name: Test#bar(){}
// Public signature: /Test.bar|496682602797471549[0]
fun bar(): Unit
// CHECK JVM_IR:
// Mangled name: Test#foo(){}kotlin.Int
// Public signature: /Test.foo|-1256155405684507276[0]
fun foo(): Int
}
@@ -0,0 +1,15 @@
// CHECK JVM_IR:
// Mangled name: #box(){}kotlin.String
// Public signature: /box|-9347091776561469[0]
fun box(): String
// CHECK JVM_IR:
// Mangled name: #callWithContext(kotlin.Function1<kotlin.String,kotlin.String>){}kotlin.String
// Public signature: /callWithContext|2869415620415030876[0]
fun callWithContext(f: Function1<String, String>): String
// CHECK JVM_IR:
// Mangled name: #withContext(kotlin.Function1<kotlin.String,kotlin.String>){}kotlin.String
// Public signature: /withContext|-1533357735492795771[0]
fun withContext(f: Function1<String, String>): String
@@ -1,6 +1,9 @@
// !LANGUAGE: +ContextReceivers
// TARGET_BACKEND: JVM_IR
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57435
class Context {
fun c() = 1
}
@@ -34,4 +37,4 @@ fun box(): String = with(Context()) {
result += 1.testInlineWithExtensionAndMultipleContextsAndArgs()
}
return if (result == 23) "OK" else "fail"
}
}
@@ -0,0 +1,71 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
class A {
// CHECK:
// Mangled name: A{}a
// Public signature: /A.a|-1200697420457237799[0]
val a: Any?
// CHECK JVM_IR:
// Mangled name: A#<get-a>(){}kotlin.Any?
// Public signature: /A.a.<get-a>|-5253003527138676623[0]
get
// CHECK:
// Mangled name: A#<init>(kotlin.Any?){}
// Public signature: /A.<init>|-8205545948568413246[0]
constructor(a: Any?) /* primary */
}
// CHECK:
// Mangled name: Context
// Public signature: /Context|null[0]
class Context {
// CHECK:
// Mangled name: Context#<init>(){}
// Public signature: /Context.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: Context#c(){}kotlin.Int
// Public signature: /Context.c|-7090409735962961857[0]
fun c(): Int
}
// CHECK JVM_IR:
// Mangled name: #box(){}kotlin.String
// Public signature: /box|-9347091776561469[0]
fun box(): String
// CHECK JVM_IR:
// Mangled name computed from Ir: #testInline(Context){}kotlin.Int
// Mangled name computed from Descriptor: #testInline!Context(){}kotlin.Int
// Public signature: /testInline|2700554304824268037[0]
inline fun testInline($context_receiver_0: Context): Int
// CHECK JVM_IR:
// Mangled name computed from Ir: #testInlineWithArg(Context;kotlin.Int){}kotlin.Int
// Mangled name computed from Descriptor: #testInlineWithArg!Context(kotlin.Int){}kotlin.Int
// Public signature: /testInlineWithArg|9204994988875814257[0]
inline fun testInlineWithArg($context_receiver_0: Context, i: Int): Int
// CHECK JVM_IR:
// Mangled name computed from Ir: #testInlineWithExtensionAndArg@kotlin.Int(Context;kotlin.Int){}kotlin.Int
// Mangled name computed from Descriptor: #testInlineWithExtensionAndArg!Context@kotlin.Int(kotlin.Int){}kotlin.Int
// Public signature: /testInlineWithExtensionAndArg|-7753885706218316674[0]
inline fun Int.testInlineWithExtensionAndArg($context_receiver_0: Context, i: Int): Int
// CHECK JVM_IR:
// Mangled name computed from Ir: #testInlineWithExtensionAndMultipleArgs@kotlin.Int(Context;kotlin.Int;kotlin.Int){}kotlin.Int
// Mangled name computed from Descriptor: #testInlineWithExtensionAndMultipleArgs!Context@kotlin.Int(kotlin.Int;kotlin.Int){}kotlin.Int
// Public signature: /testInlineWithExtensionAndMultipleArgs|6839067967550411636[0]
inline fun Int.testInlineWithExtensionAndMultipleArgs($context_receiver_0: Context, i1: Int, i2: Int): Int
// CHECK JVM_IR:
// Mangled name computed from Ir: #testInlineWithExtensionAndMultipleContextsAndArgs@kotlin.Int(Context;A;kotlin.Int;kotlin.Int){}kotlin.Int
// Mangled name computed from Descriptor: #testInlineWithExtensionAndMultipleContextsAndArgs!Context!A@kotlin.Int(kotlin.Int;kotlin.Int){}kotlin.Int
// Public signature: /testInlineWithExtensionAndMultipleContextsAndArgs|4315160499148454711[0]
inline fun Int.testInlineWithExtensionAndMultipleContextsAndArgs($context_receiver_0: Context, $context_receiver_1: A, i1: Int, i2: Int): Int
@@ -1,8 +1,12 @@
// FIR_IDENTICAL
// !LANGUAGE: +ContextReceivers
// DUMP_LOCAL_DECLARATION_SIGNATURES
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57428, KT-57435
class O(val o: String)
context(O)
@@ -0,0 +1,65 @@
// CHECK:
// Mangled name: O
// Public signature: /O|null[0]
class O {
// CHECK:
// Mangled name: O{}o
// Public signature: /O.o|-5332571409865440260[0]
val o: String
field
// CHECK JVM_IR:
// Mangled name: O#<get-o>(){}kotlin.String
// Public signature: /O.o.<get-o>|2606027183154875572[0]
get
// CHECK:
// Mangled name: O#<init>(kotlin.String){}
// Public signature: /O.<init>|1280618353163213788[0]
constructor(o: String) /* primary */
}
// CHECK:
// Mangled name: OK
// Public signature: /OK|null[0]
class OK {
// CHECK:
// Mangled name: OK{}k
// Public signature: /OK.k|2162811783424158931[0]
val k: String
field
// CHECK JVM_IR:
// Mangled name: OK#<get-k>(){}kotlin.String
// Public signature: /OK.k.<get-k>|-8248201737917988340[0]
get
// CHECK:
// Mangled name: OK{}result
// Public signature: /OK.result|456251868630197251[0]
val result: String
field
// CHECK JVM_IR:
// Mangled name: OK#<get-result>(){}kotlin.String
// Public signature: /OK.result.<get-result>|8441547134620975366[0]
get
// CHECK:
// Mangled name computed from Ir: OK#<init>(O;kotlin.String){}
// Mangled name computed from Descriptor: OK#<init>!O(kotlin.String){}
// Public signature: /OK.<init>|-804847331171011326[0]
constructor($context_receiver_0: O, k: String) /* primary */
// CHECK:
// Mangled name computed from Ir: OK.contextReceiverField0
// Mangled name computed from Descriptor: OK{}contextReceiverField0#jf
private /* final field */ val contextReceiverField0: O
}
// CHECK JVM_IR:
// Mangled name: #box(){}kotlin.String
// Public signature: /box|-9347091776561469[0]
fun box(): String
// CHECK JVM_IR:
// Mangled name: #box(){}kotlin.String#<anonymous>#static@O(){}kotlin.String
local fun O.<anonymous>(): String
@@ -2,6 +2,9 @@
// TARGET_BACKEND: JVM_IR
// WITH_STDLIB
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57435
import kotlin.reflect.KProperty
var operationScore = 0
@@ -0,0 +1,83 @@
// CHECK:
// Mangled name: {}operationScore
// Public signature: /operationScore|-9073278321118823634[0]
var operationScore: Int
// CHECK JVM_IR:
// Mangled name: #<get-operationScore>(){}kotlin.Int
// Public signature: /operationScore.<get-operationScore>|7107010356269447258[0]
get
// CHECK:
// Mangled name: #<set-operationScore>(kotlin.Int){}
// Public signature: /operationScore.<set-operationScore>|1936076120216071025[0]
set
// CHECK:
// Mangled name: Delegate
// Public signature: /Delegate|null[0]
class Delegate {
// CHECK:
// Mangled name: Delegate{}delegateValue
// Public signature: /Delegate.delegateValue|-8268138023786011357[0]
var delegateValue: String
// CHECK JVM_IR:
// Mangled name: Delegate#<get-delegateValue>(){}kotlin.String
// Public signature: /Delegate.delegateValue.<get-delegateValue>|-8802990183041924458[0]
get
// CHECK:
// Mangled name: Delegate#<set-delegateValue>(kotlin.String){}
// Public signature: /Delegate.delegateValue.<set-delegateValue>|-6867110197203157583[0]
set
// CHECK:
// Mangled name: Delegate#<init>(){}
// Public signature: /Delegate.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name computed from Ir: Delegate#getValue(kotlin.Int;kotlin.Any?;kotlin.reflect.KProperty<*>){}kotlin.String
// Mangled name computed from Descriptor: Delegate#getValue!kotlin.Int(kotlin.Any?;kotlin.reflect.KProperty<*>){}kotlin.String
// Public signature: /Delegate.getValue|-7764345795816801347[0]
operator fun getValue($context_receiver_0: Int, thisRef: Any?, property: KProperty<*>): String
// CHECK:
// Mangled name computed from Ir: Delegate#setValue(kotlin.Int;kotlin.Any?;kotlin.reflect.KProperty<*>;kotlin.String){}
// Mangled name computed from Descriptor: Delegate#setValue!kotlin.Int(kotlin.Any?;kotlin.reflect.KProperty<*>;kotlin.String){}
// Public signature: /Delegate.setValue|9105212648373628088[0]
operator fun setValue($context_receiver_0: Int, thisRef: Any?, property: KProperty<*>, value: String): Unit
}
// CHECK:
// Mangled name: Result
// Public signature: /Result|null[0]
class Result {
// CHECK:
// Mangled name: Result{}s
// Public signature: /Result.s|7217541905509134881[0]
var s: String /* by */
// CHECK JVM_IR:
// Mangled name: Result#<get-s>(){}kotlin.String
// Public signature: /Result.s.<get-s>|4142379646177092803[0]
get(): String
// CHECK:
// Mangled name: Result#<set-s>(kotlin.String){}
// Public signature: /Result.s.<set-s>|8225901422521337963[0]
set(<set-?>: String): Unit
// CHECK:
// Mangled name computed from Ir: Result#<init>(kotlin.Int){}
// Mangled name computed from Descriptor: Result#<init>!kotlin.Int(){}
// Public signature: /Result.<init>|-1392650824251324893[0]
constructor($context_receiver_0: Int) /* primary */
// CHECK:
// Mangled name computed from Ir: Result.contextReceiverField0
// Mangled name computed from Descriptor: Result{}contextReceiverField0#jf
private /* final field */ val contextReceiverField0: Int
}
// CHECK JVM_IR:
// Mangled name: #box(){}kotlin.String
// Public signature: /box|-9347091776561469[0]
fun box(): String
@@ -2,6 +2,9 @@
// !LANGUAGE: +ContextReceivers
// TARGET_BACKEND: JVM_IR
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57435
interface Canvas {
val suffix: String
}
@@ -0,0 +1,71 @@
// CHECK:
// Mangled name: Circle
// Public signature: /Circle|null[0]
class Circle : Shape {
// CHECK:
// Mangled name: Circle#<init>(){}
// Public signature: /Circle.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name computed from Ir: Circle#draw(Canvas){}kotlin.String
// Mangled name computed from Descriptor: Circle#draw!Canvas(){}kotlin.String
// Public signature: /Circle.draw|-6733499063990640842[0]
override fun draw($context_receiver_0: Canvas): String
}
// CHECK:
// Mangled name: Canvas
// Public signature: /Canvas|null[0]
interface Canvas {
// CHECK:
// Mangled name: Canvas{}suffix
// Public signature: /Canvas.suffix|-3301965527200666288[0]
abstract val suffix: String
// CHECK JVM_IR:
// Mangled name: Canvas#<get-suffix>(){}kotlin.String
// Public signature: /Canvas.suffix.<get-suffix>|8958072538558116778[0]
abstract get
}
// CHECK:
// Mangled name: Shape
// Public signature: /Shape|null[0]
interface Shape {
// CHECK JVM_IR:
// Mangled name computed from Ir: Shape#draw(Canvas){}kotlin.String
// Mangled name computed from Descriptor: Shape#draw!Canvas(){}kotlin.String
// Public signature: /Shape.draw|-6733499063990640842[0]
abstract fun draw($context_receiver_0: Canvas): String
}
// CHECK:
// Mangled name: MyCanvas
// Public signature: /MyCanvas|null[0]
object MyCanvas : Canvas {
// CHECK:
// Mangled name: MyCanvas{}suffix
// Public signature: /MyCanvas.suffix|-3301965527200666288[0]
override val suffix: String
// CHECK JVM_IR:
// Mangled name: MyCanvas#<get-suffix>(){}kotlin.String
// Public signature: /MyCanvas.suffix.<get-suffix>|8958072538558116778[0]
override get
// CHECK:
// Mangled name: MyCanvas#<init>(){}
// Public signature: /MyCanvas.<init>|-5645683436151566731[0]
private constructor() /* primary */
}
// CHECK JVM_IR:
// Mangled name: #box(){}kotlin.String
// Public signature: /box|-9347091776561469[0]
fun box(): String
@@ -1,6 +1,9 @@
// !LANGUAGE: +ContextReceivers
// TARGET_BACKEND: JVM_IR
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57429, KT-57435
data class Pair<A, B>(val first: A, val second: B)
context(Comparator<T>)
@@ -0,0 +1,79 @@
// CHECK:
// Mangled name: Pair
// Public signature: /Pair|null[0]
data class Pair<A : Any?, B : Any?> {
// CHECK:
// Mangled name: Pair{}first
// Public signature: /Pair.first|1497393077339299626[0]
val first: A
// CHECK JVM_IR:
// Mangled name: Pair#<get-first>(){}1:0
// Public signature: /Pair.first.<get-first>|-2355525345180386541[0]
get
// CHECK:
// Mangled name: Pair{}second
// Public signature: /Pair.second|8934636033843101515[0]
val second: B
// CHECK JVM_IR:
// Mangled name: Pair#<get-second>(){}1:1
// Public signature: /Pair.second.<get-second>|-7108495346814383827[0]
get
// CHECK:
// Mangled name: Pair#<init>(1:0;1:1){}
// Public signature: /Pair.<init>|3086114026882374588[0]
constructor(first: A, second: B) /* primary */
// CHECK JVM_IR:
// Mangled name: Pair#component1(){}1:0
// Public signature: /Pair.component1|2393470133763651536[0]
operator fun component1(): A
// CHECK JVM_IR:
// Mangled name: Pair#component2(){}1:1
// Public signature: /Pair.component2|319033347667924570[0]
operator fun component2(): B
// CHECK JVM_IR:
// Mangled name: Pair#copy(1:0;1:1){}Pair<1:0,1:1>
// Public signature: /Pair.copy|7298985996422673194[0]
fun copy(first: A, second: B): Pair<A, B>
// CHECK JVM_IR:
// Mangled name: Pair#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Pair.equals|722809408929142791[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: Pair#hashCode(){}kotlin.Int
// Public signature: /Pair.hashCode|-8048879360829830756[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: Pair#toString(){}kotlin.String
// Public signature: /Pair.toString|6958853723545266802[0]
override fun toString(): String
}
// CHECK JVM_IR:
// Mangled name: #box(){}kotlin.String
// Public signature: /box|-9347091776561469[0]
fun box(): String
// CHECK JVM_IR:
// Mangled name computed from Ir: #compareTo@0:0(java.util.Comparator<0:0>;0:0){0§<kotlin.Any?>}kotlin.Int
// Mangled name computed from Descriptor: #compareTo!java.util.Comparator<0:0>@0:0(0:0){0§<kotlin.Any?>}kotlin.Int
// Public signature: /compareTo|-4091974102091923679[0]
infix operator fun <T : Any?> T.compareTo($context_receiver_0: Comparator<T>, other: T): Int
// CHECK:
// Mangled name: @Pair<0:0,0:0>{0§<kotlin.Any?>}min
// Public signature: /min|6885845668930107919[0]
val <T : Any?> Pair<T, T>.min: T
// CHECK JVM_IR:
// Mangled name computed from Ir: #<get-min>@Pair<0:0,0:0>(java.util.Comparator<0:0>){0§<kotlin.Any?>}0:0
// Mangled name computed from Descriptor: #<get-min>!java.util.Comparator<0:0>@Pair<0:0,0:0>(){0§<kotlin.Any?>}0:0
// Public signature: /min.<get-min>|6404877126791863503[0]
get($context_receiver_0: Comparator<T>): T
@@ -2,6 +2,9 @@
// TARGET_BACKEND: JVM_IR
// WITH_STDLIB
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57435
class View {
val coefficient = 42
}
@@ -0,0 +1,35 @@
// CHECK:
// Mangled name: View
// Public signature: /View|null[0]
class View {
// CHECK:
// Mangled name: View{}coefficient
// Public signature: /View.coefficient|4563127391682800227[0]
val coefficient: Int
// CHECK JVM_IR:
// Mangled name: View#<get-coefficient>(){}kotlin.Int
// Public signature: /View.coefficient.<get-coefficient>|2286291581442465794[0]
get
// CHECK:
// Mangled name: View#<init>(){}
// Public signature: /View.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK JVM_IR:
// Mangled name: #box(){}kotlin.String
// Public signature: /box|-9347091776561469[0]
fun box(): String
// CHECK:
// Mangled name: @kotlin.Int{}dp
// Public signature: /dp|-4245635280375224248[0]
val Int.dp: Int
// CHECK JVM_IR:
// Mangled name computed from Ir: #<get-dp>@kotlin.Int(View){}kotlin.Int
// Mangled name computed from Descriptor: #<get-dp>!View@kotlin.Int(){}kotlin.Int
// Public signature: /dp.<get-dp>|933397372434095199[0]
get($context_receiver_0: View): Int
@@ -1,6 +1,9 @@
// !LANGUAGE: +ContextReceivers
// TARGET_BACKEND: JVM_IR
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57435
class Param
class O {
val o = "O"
@@ -0,0 +1,62 @@
// CHECK:
// Mangled name: K
// Public signature: /K|null[0]
class K {
// CHECK:
// Mangled name: K{}k
// Public signature: /K.k|2162811783424158931[0]
val k: String
// CHECK JVM_IR:
// Mangled name: K#<get-k>(){}kotlin.String
// Public signature: /K.k.<get-k>|-8248201737917988340[0]
get
// CHECK:
// Mangled name: K#<init>(){}
// Public signature: /K.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: O
// Public signature: /O|null[0]
class O {
// CHECK:
// Mangled name: O{}o
// Public signature: /O.o|-5332571409865440260[0]
val o: String
// CHECK JVM_IR:
// Mangled name: O#<get-o>(){}kotlin.String
// Public signature: /O.o.<get-o>|2606027183154875572[0]
get
// CHECK:
// Mangled name: O#<init>(){}
// Public signature: /O.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: Param
// Public signature: /Param|null[0]
class Param {
// CHECK:
// Mangled name: Param#<init>(){}
// Public signature: /Param.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK JVM_IR:
// Mangled name: #box(){}kotlin.String
// Public signature: /box|-9347091776561469[0]
fun box(): String
// CHECK JVM_IR:
// Mangled name computed from Ir: #f@K(O;kotlin.Function3<O,K,Param,0:0>){0§<kotlin.Any?>}0:0
// Mangled name computed from Descriptor: #f!O@K(kotlin.Function3<O,K,Param,0:0>){0§<kotlin.Any?>}0:0
// Public signature: /f|-7653040485655702379[0]
fun <T : Any?> K.f($context_receiver_0: O, g: @ExtensionFunctionType Function3<O, K, Param, T>): T
@@ -2,6 +2,9 @@
// TARGET_BACKEND: JVM_IR
// WITH_STDLIB
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57435
interface Semigroup<T> {
infix fun T.combine(other: T): T
}
@@ -0,0 +1,93 @@
// CHECK:
// Mangled name: Monoid
// Public signature: /Monoid|null[0]
interface Monoid<T : Any?> : Semigroup<T> {
// CHECK JVM_IR:
// Mangled name: Monoid#combine@1:0(1:0){}1:0
// Public signature: /Monoid.combine|-3517256775590682507[0]
abstract /* fake */ override infix fun T.combine(other: T): T
// CHECK:
// Mangled name: Monoid{}unit
// Public signature: /Monoid.unit|-5200734743185576787[0]
abstract val unit: T
// CHECK JVM_IR:
// Mangled name: Monoid#<get-unit>(){}1:0
// Public signature: /Monoid.unit.<get-unit>|-2842189358620964971[0]
abstract get
}
// CHECK:
// Mangled name: Semigroup
// Public signature: /Semigroup|null[0]
interface Semigroup<T : Any?> {
// CHECK JVM_IR:
// Mangled name: Semigroup#combine@1:0(1:0){}1:0
// Public signature: /Semigroup.combine|-3517256775590682507[0]
abstract infix fun T.combine(other: T): T
}
// CHECK:
// Mangled name: IntMonoid
// Public signature: /IntMonoid|null[0]
object IntMonoid : Monoid<Int> {
// CHECK:
// Mangled name: IntMonoid{}unit
// Public signature: /IntMonoid.unit|-5200734743185576787[0]
override val unit: Int
// CHECK JVM_IR:
// Mangled name: IntMonoid#<get-unit>(){}kotlin.Int
// Public signature: /IntMonoid.unit.<get-unit>|3772729924213749256[0]
override get
// CHECK:
// Mangled name: IntMonoid#<init>(){}
// Public signature: /IntMonoid.<init>|-5645683436151566731[0]
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: IntMonoid#combine@kotlin.Int(kotlin.Int){}kotlin.Int
// Public signature: /IntMonoid.combine|4765448259581317405[0]
override infix fun Int.combine(other: Int): Int
}
// CHECK:
// Mangled name: StringMonoid
// Public signature: /StringMonoid|null[0]
object StringMonoid : Monoid<String> {
// CHECK:
// Mangled name: StringMonoid{}unit
// Public signature: /StringMonoid.unit|-5200734743185576787[0]
override val unit: String
// CHECK JVM_IR:
// Mangled name: StringMonoid#<get-unit>(){}kotlin.String
// Public signature: /StringMonoid.unit.<get-unit>|4504480110251605077[0]
override get
// CHECK:
// Mangled name: StringMonoid#<init>(){}
// Public signature: /StringMonoid.<init>|-5645683436151566731[0]
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: StringMonoid#combine@kotlin.String(kotlin.String){}kotlin.String
// Public signature: /StringMonoid.combine|-5815259829474546918[0]
override infix fun String.combine(other: String): String
}
// CHECK JVM_IR:
// Mangled name: #box(){}kotlin.String
// Public signature: /box|-9347091776561469[0]
fun box(): String
// CHECK JVM_IR:
// Mangled name computed from Ir: #sum@kotlin.collections.List<0:0>(Monoid<0:0>){0§<kotlin.Any?>}0:0
// Mangled name computed from Descriptor: #sum!Monoid<0:0>@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}0:0
// Public signature: /sum|7635142307973834922[0]
fun <T : Any?> List<T>.sum($context_receiver_0: Monoid<T>): T
@@ -1,8 +1,12 @@
// FIR_IDENTICAL
// !LANGUAGE: +ContextReceivers
// DUMP_LOCAL_DECLARATION_SIGNATURES
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57428, KT-57435
class C {
val c = 42
}
@@ -0,0 +1,35 @@
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C {
// CHECK:
// Mangled name: C{}c
// Public signature: /C.c|-4416962153448040627[0]
val c: Int
field
// CHECK JVM_IR:
// Mangled name: C#<get-c>(){}kotlin.Int
// Public signature: /C.c.<get-c>|-2440337234483931882[0]
get
// CHECK:
// Mangled name: C#<init>(){}
// Public signature: /C.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: #bar(C){}
// Public signature: /bar|-380723744805794672[0]
fun bar(c: C): Unit
// CHECK:
// Mangled name: #bar(C){}#<anonymous>#static@C(){}
local fun C.<anonymous>(): Unit
// CHECK:
// Mangled name computed from Ir: #foo(C){}
// Mangled name computed from Descriptor: #foo!C(){}
// Public signature: /foo|-1491377105373055541[0]
fun foo($context_receiver_0: C): Unit
@@ -2,6 +2,9 @@
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57435
class Param
class C {
val c = 42
@@ -0,0 +1,80 @@
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C {
// CHECK:
// Mangled name: C{}c
// Public signature: /C.c|-4416962153448040627[0]
val c: Int
// CHECK JVM_IR:
// Mangled name: C#<get-c>(){}kotlin.Int
// Public signature: /C.c.<get-c>|-2440337234483931882[0]
get
// CHECK:
// Mangled name: C#<init>(){}
// Public signature: /C.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: Param
// Public signature: /Param|null[0]
class Param {
// CHECK:
// Mangled name: Param#<init>(){}
// Public signature: /Param.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: R
// Public signature: /R|null[0]
class R {
// CHECK:
// Mangled name: R{}r
// Public signature: /R.r|-8117627916896159533[0]
val r: Int
// CHECK JVM_IR:
// Mangled name: R#<get-r>(){}kotlin.Int
// Public signature: /R.r.<get-r>|4210912234201800356[0]
get
// CHECK:
// Mangled name: R#<init>(){}
// Public signature: /R.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name computed from Ir: #f1@R(C;kotlin.Function3<C,R,Param,kotlin.Unit>){}
// Mangled name computed from Descriptor: #f1!C@R(kotlin.Function3<C,R,Param,kotlin.Unit>){}
// Public signature: /f1|-6159499595952586733[0]
fun R.f1($context_receiver_0: C, g: @ExtensionFunctionType Function3<C, R, Param, Unit>): Unit
// CHECK:
// Mangled name computed from Ir: #f2(C;kotlin.Function2<C,Param,kotlin.Unit>){}
// Mangled name computed from Descriptor: #f2!C(kotlin.Function2<C,Param,kotlin.Unit>){}
// Public signature: /f2|916795325728250836[0]
fun f2($context_receiver_0: C, g: Function2<C, Param, Unit>): Unit
// CHECK:
// Mangled name computed from Ir: #f3@R(C;kotlin.Function2<C,R,kotlin.Unit>){}
// Mangled name computed from Descriptor: #f3!C@R(kotlin.Function2<C,R,kotlin.Unit>){}
// Public signature: /f3|-4964362597990757320[0]
fun R.f3($context_receiver_0: C, g: @ExtensionFunctionType Function2<C, R, Unit>): Unit
// CHECK:
// Mangled name computed from Ir: #f4(C;kotlin.Function1<C,kotlin.Unit>){}
// Mangled name computed from Descriptor: #f4!C(kotlin.Function1<C,kotlin.Unit>){}
// Public signature: /f4|-1495265522536685659[0]
fun f4($context_receiver_0: C, g: Function1<C, Unit>): Unit
// CHECK:
// Mangled name: #test(){}
// Public signature: /test|6620506149988718649[0]
fun test(): Unit
@@ -4,6 +4,10 @@
// IGNORE_BACKEND_K1: JS_IR
// IGNORE_BACKEND_K1: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57429, KT-57435
context(T) class A<T>
context(Collection<P>) class B<P>
@@ -0,0 +1,42 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
class A<T : Any?> {
// CHECK:
// Mangled name computed from Ir: A#<init>(1:0){}
// Mangled name computed from Descriptor: A#<init>!1:0(){}
// Public signature: /A.<init>|5547349096232763669[0]
constructor($context_receiver_0: T) /* primary */
// CHECK:
// Mangled name computed from Ir: A.contextReceiverField0
// Mangled name computed from Descriptor: A{}contextReceiverField0#jf
private /* final field */ val contextReceiverField0: T
}
// CHECK:
// Mangled name: B
// Public signature: /B|null[0]
class B<P : Any?> {
// CHECK:
// Mangled name computed from Ir: B#<init>(kotlin.collections.Collection<1:0>){}
// Mangled name computed from Descriptor: B#<init>!kotlin.collections.Collection<1:0>(){}
// Public signature: /B.<init>|-5453957848603821578[0]
constructor($context_receiver_0: Collection<P>) /* primary */
// CHECK:
// Mangled name computed from Ir: B.contextReceiverField0
// Mangled name computed from Descriptor: B{}contextReceiverField0#jf
private /* final field */ val contextReceiverField0: Collection<P>
}
// CHECK:
// Mangled name: #bar@kotlin.collections.Collection<kotlin.Int>(){}
// Public signature: /bar|-6231113953181180683[0]
fun Collection<Int>.bar(): Unit
// CHECK:
// Mangled name: #foo@kotlin.Int(){}
// Public signature: /foo|4521317896132265411[0]
fun Int.foo(): Unit
@@ -2,6 +2,9 @@
// TARGET_BACKEND: JVM_IR
// WITH_STDLIB
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57435
data class Counter(var i: Int = 0)
data class CounterConfig(val max: Int = 10)
@@ -0,0 +1,138 @@
// CHECK:
// Mangled name: Counter
// Public signature: /Counter|null[0]
data class Counter {
// CHECK:
// Mangled name: Counter{}i
// Public signature: /Counter.i|5014384761142332495[0]
var i: Int
// CHECK JVM_IR:
// Mangled name: Counter#<get-i>(){}kotlin.Int
// Public signature: /Counter.i.<get-i>|-8784396159001927527[0]
get
// CHECK:
// Mangled name: Counter#<set-i>(kotlin.Int){}
// Public signature: /Counter.i.<set-i>|1223530399758590178[0]
set
// CHECK:
// Mangled name: Counter#<init>(kotlin.Int){}
// Public signature: /Counter.<init>|-5182794243525578284[0]
constructor(i: Int) /* primary */
// CHECK JVM_IR:
// Mangled name: Counter#component1(){}kotlin.Int
// Public signature: /Counter.component1|-8217597213800111288[0]
operator fun component1(): Int
// CHECK JVM_IR:
// Mangled name: Counter#copy(kotlin.Int){}Counter
// Public signature: /Counter.copy|2961790952651150110[0]
fun copy(i: Int): Counter
// CHECK JVM_IR:
// Mangled name: Counter#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Counter.equals|722809408929142791[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: Counter#hashCode(){}kotlin.Int
// Public signature: /Counter.hashCode|-8048879360829830756[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: Counter#toString(){}kotlin.String
// Public signature: /Counter.toString|6958853723545266802[0]
override fun toString(): String
}
// CHECK:
// Mangled name: CounterConfig
// Public signature: /CounterConfig|null[0]
data class CounterConfig {
// CHECK:
// Mangled name: CounterConfig{}max
// Public signature: /CounterConfig.max|-4328207510034083913[0]
val max: Int
// CHECK JVM_IR:
// Mangled name: CounterConfig#<get-max>(){}kotlin.Int
// Public signature: /CounterConfig.max.<get-max>|3083068406880796820[0]
get
// CHECK:
// Mangled name: CounterConfig#<init>(kotlin.Int){}
// Public signature: /CounterConfig.<init>|-5182794243525578284[0]
constructor(max: Int) /* primary */
// CHECK JVM_IR:
// Mangled name: CounterConfig#component1(){}kotlin.Int
// Public signature: /CounterConfig.component1|-8217597213800111288[0]
operator fun component1(): Int
// CHECK JVM_IR:
// Mangled name: CounterConfig#copy(kotlin.Int){}CounterConfig
// Public signature: /CounterConfig.copy|-6936688204078599579[0]
fun copy(max: Int): CounterConfig
// CHECK JVM_IR:
// Mangled name: CounterConfig#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /CounterConfig.equals|722809408929142791[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: CounterConfig#hashCode(){}kotlin.Int
// Public signature: /CounterConfig.hashCode|-8048879360829830756[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: CounterConfig#toString(){}kotlin.String
// Public signature: /CounterConfig.toString|6958853723545266802[0]
override fun toString(): String
}
// CHECK:
// Mangled name: CounterIterator
// Public signature: /CounterIterator|null[0]
class CounterIterator : Iterator<Int> {
// CHECK:
// Mangled name: CounterIterator{}counter
// Public signature: /CounterIterator.counter|3849500605769271673[0]
private val counter: Counter
// CHECK JVM_IR:
// Mangled name: CounterIterator#<get-counter>(){}Counter
// Public signature: /CounterIterator.counter.<get-counter>|-1972897806384113317[0]
private get
// CHECK:
// Mangled name computed from Ir: CounterIterator#<init>(CounterConfig;Counter){}
// Mangled name computed from Descriptor: CounterIterator#<init>!CounterConfig(Counter){}
// Public signature: /CounterIterator.<init>|4731448293962665986[0]
constructor($context_receiver_0: CounterConfig, counter: Counter) /* primary */
// CHECK:
// Mangled name computed from Ir: CounterIterator.contextReceiverField0
// Mangled name computed from Descriptor: CounterIterator{}contextReceiverField0#jf
private /* final field */ val contextReceiverField0: CounterConfig
// CHECK JVM_IR:
// Mangled name: CounterIterator#hasNext(){}kotlin.Boolean
// Public signature: /CounterIterator.hasNext|-8822308834813776763[0]
override operator fun hasNext(): Boolean
// CHECK JVM_IR:
// Mangled name: CounterIterator#next(){}kotlin.Int
// Public signature: /CounterIterator.next|-2200495694769701977[0]
override operator fun next(): Int
}
// CHECK JVM_IR:
// Mangled name: #box(){}kotlin.String
// Public signature: /box|-9347091776561469[0]
fun box(): String
// CHECK JVM_IR:
// Mangled name computed from Ir: #iterator@Counter(CounterConfig){}CounterIterator
// Mangled name computed from Descriptor: #iterator!CounterConfig@Counter(){}CounterIterator
// Public signature: /iterator|3723033021471264185[0]
operator fun Counter.iterator($context_receiver_0: CounterConfig): CounterIterator
@@ -2,5 +2,8 @@
// FIR_IDENTICAL
// TARGET_BACKEND: JVM_IR
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57435
context(Unit, Int)
class MyClass
class MyClass
@@ -0,0 +1,20 @@
// CHECK:
// Mangled name: MyClass
// Public signature: /MyClass|null[0]
class MyClass {
// CHECK:
// Mangled name computed from Ir: MyClass#<init>(kotlin.Unit;kotlin.Int){}
// Mangled name computed from Descriptor: MyClass#<init>!kotlin.Unit!kotlin.Int(){}
// Public signature: /MyClass.<init>|1062323742830185042[0]
constructor($context_receiver_0: Unit, $context_receiver_1: Int) /* primary */
// CHECK:
// Mangled name computed from Ir: MyClass.contextReceiverField0
// Mangled name computed from Descriptor: MyClass{}contextReceiverField0#jf
private /* final field */ val contextReceiverField0: Unit
// CHECK:
// Mangled name computed from Ir: MyClass.contextReceiverField1
// Mangled name computed from Descriptor: MyClass{}contextReceiverField1#jf
private /* final field */ val contextReceiverField1: Int
}
@@ -1,8 +1,12 @@
// FIR_IDENTICAL
// !LANGUAGE: +ContextReceivers
// DUMP_LOCAL_DECLARATION_SIGNATURES
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57428, KT-57435
interface Lazy<T>
context(Lazy<Int>, Lazy<CharSequence>)
@@ -0,0 +1,64 @@
// CHECK:
// Mangled name: Lazy
// Public signature: /Lazy|null[0]
interface Lazy<T : Any?> {
}
// CHECK:
// Mangled name: #f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<0:0>;Lazy<Lazy<0:0>>){0§<kotlin.Any?>}
// Public signature: /f|-6064829949850642050[0]
fun <T : Any?> f(lazy1: Lazy<Int>, lazy2: Lazy<CharSequence>, lazyT: Lazy<T>, lazyLazyT: Lazy<Lazy<T>>): Unit
// CHECK:
// Mangled name: #f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<1:0>;Lazy<Lazy<1:0>>){0§<kotlin.Any?>}#<anonymous>#static@Lazy<kotlin.Int>(){}
local fun Lazy<Int>.<anonymous>(): Unit
// CHECK:
// Mangled name: #f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<2:0>;Lazy<Lazy<2:0>>){0§<kotlin.Any?>}#<anonymous>#static@Lazy<kotlin.Int>(){}#<anonymous>#static@Lazy<kotlin.CharSequence>(){}
local fun Lazy<CharSequence>.<anonymous>(): Unit
// CHECK:
// Mangled name: #f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<1:0>;Lazy<Lazy<1:0>>){0§<kotlin.Any?>}#<anonymous>#static@Lazy<kotlin.CharSequence>(){}
local fun Lazy<CharSequence>.<anonymous>(): Unit
// CHECK:
// Mangled name: #f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<2:0>;Lazy<Lazy<2:0>>){0§<kotlin.Any?>}#<anonymous>#static@Lazy<kotlin.CharSequence>(){}#<anonymous>#static@Lazy<kotlin.Int>(){}
local fun Lazy<Int>.<anonymous>(): Unit
// CHECK:
// Mangled name: #f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<1:0>;Lazy<Lazy<1:0>>){0§<kotlin.Any?>}#<anonymous>#static@Lazy<1:0>(){}
local fun Lazy<T>.<anonymous>(): Unit
// CHECK:
// Mangled name: #f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<2:0>;Lazy<Lazy<2:0>>){0§<kotlin.Any?>}#<anonymous>#static@Lazy<2:0>(){}#<anonymous>#static@Lazy<kotlin.Int>(){}
local fun Lazy<Int>.<anonymous>(): Unit
// CHECK:
// Mangled name: #f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<1:0>;Lazy<Lazy<1:0>>){0§<kotlin.Any?>}#<anonymous>#static@Lazy<Lazy<1:0>>(){}
local fun Lazy<Lazy<T>>.<anonymous>(): Unit
// CHECK:
// Mangled name: #f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<2:0>;Lazy<Lazy<2:0>>){0§<kotlin.Any?>}#<anonymous>#static@Lazy<Lazy<2:0>>(){}#<anonymous>#static@Lazy<kotlin.Int>(){}
local fun Lazy<Int>.<anonymous>(): Unit
// CHECK:
// Mangled name: #f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<1:0>;Lazy<Lazy<1:0>>){0§<kotlin.Any?>}#<anonymous>#static@Lazy<kotlin.Int>(){}
local fun Lazy<Int>.<anonymous>(): Unit
// CHECK:
// Mangled name: #f(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>;Lazy<2:0>;Lazy<Lazy<2:0>>){0§<kotlin.Any?>}#<anonymous>#static@Lazy<kotlin.Int>(){}#<anonymous>#static@Lazy<Lazy<2:0>>(){}
local fun Lazy<Lazy<T>>.<anonymous>(): Unit
// CHECK:
// Mangled name computed from Ir: #test1(Lazy<kotlin.Int>;Lazy<kotlin.CharSequence>){}
// Mangled name computed from Descriptor: #test1!Lazy<kotlin.Int>!Lazy<kotlin.CharSequence>(){}
// Public signature: /test1|5140438532469983470[0]
fun test1($context_receiver_0: Lazy<Int>, $context_receiver_1: Lazy<CharSequence>): Unit
// CHECK:
// Mangled name computed from Ir: #test2@Lazy<kotlin.Int>(Lazy<0:0>){0§<kotlin.Any?>}
// Mangled name computed from Descriptor: #test2!Lazy<0:0>@Lazy<kotlin.Int>(){0§<kotlin.Any?>}
// Public signature: /test2|-2502875315769862011[0]
fun <T : Any?> Lazy<Int>.test2($context_receiver_0: Lazy<T>): Unit
// CHECK:
// Mangled name computed from Ir: #test3@Lazy<kotlin.Int>(Lazy<Lazy<0:0>>){0§<kotlin.Any?>}
// Mangled name computed from Descriptor: #test3!Lazy<Lazy<0:0>>@Lazy<kotlin.Int>(){0§<kotlin.Any?>}
// Public signature: /test3|-745136432920564509[0]
fun <T : Any?> Lazy<Int>.test3($context_receiver_0: Lazy<Lazy<T>>): Unit
@@ -1,8 +1,12 @@
// FIR_IDENTICAL
// !LANGUAGE: +ContextReceivers
// DUMP_LOCAL_DECLARATION_SIGNATURES
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57428, KT-57435
class Context
context(Context)
@@ -0,0 +1,30 @@
// CHECK:
// Mangled name: Context
// Public signature: /Context|null[0]
class Context {
// CHECK:
// Mangled name: Context#<init>(){}
// Public signature: /Context.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK JVM_IR:
// Mangled name computed from Ir: #f(Context){}kotlin.String
// Mangled name computed from Descriptor: #f!Context(){}kotlin.String
// Public signature: /f|-5175802051654911360[0]
fun f($context_receiver_0: Context): String
// CHECK JVM_IR:
// Mangled name: #f(){}kotlin.Any
// Public signature: /f|-2324325393552926316[0]
fun f(): Any
// CHECK:
// Mangled name: #test(){}
// Public signature: /test|6620506149988718649[0]
fun test(): Unit
// CHECK JVM_IR:
// Mangled name: #test(){}#<anonymous>#static@Context(){}kotlin.Int
local fun Context.<anonymous>(): Int
@@ -1,8 +1,12 @@
// FIR_IDENTICAL
// !LANGUAGE: +ContextReceivers
// DUMP_LOCAL_DECLARATION_SIGNATURES
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57428, KT-57435
context(Int, String)
fun foo(): Int {
return this@Int + 42
@@ -0,0 +1,20 @@
// CHECK JVM_IR:
// Mangled name computed from Ir: #foo(kotlin.Int){}kotlin.Int
// Mangled name computed from Descriptor: #foo!kotlin.Int(){}kotlin.Int
// Public signature: /foo|-298514072419997277[0]
fun foo($context_receiver_0: Int): Int
// CHECK JVM_IR:
// Mangled name computed from Ir: #foo(kotlin.Int;kotlin.String){}kotlin.Int
// Mangled name computed from Descriptor: #foo!kotlin.Int!kotlin.String(){}kotlin.Int
// Public signature: /foo|7076979931255393427[0]
fun foo($context_receiver_0: Int, $context_receiver_1: String): Int
// CHECK:
// Mangled name: #test(){}
// Public signature: /test|6620506149988718649[0]
fun test(): Unit
// CHECK JVM_IR:
// Mangled name: #test(){}#<anonymous>#static@kotlin.Int(){}kotlin.Int
local fun Int.<anonymous>(): Int
@@ -0,0 +1,30 @@
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C {
// CHECK:
// Mangled name: C{}result
// Public signature: /C.result|456251868630197251[0]
val result: String
// CHECK JVM_IR:
// Mangled name: C#<get-result>(){}kotlin.String
// Public signature: /C.result.<get-result>|8441547134620975366[0]
get
// CHECK:
// Mangled name: C#<init>(){}
// Public signature: /C.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK JVM_IR:
// Mangled name: #box(){}kotlin.String
// Public signature: /box|-9347091776561469[0]
fun box(): String
// CHECK JVM_IR:
// Mangled name: #contextual(kotlin.Function1<C,kotlin.String>){}kotlin.String
// Public signature: /contextual|-248785556334643583[0]
fun contextual(f: Function1<C, String>): String
@@ -4,6 +4,9 @@
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57435
interface NumberOperations {
fun Number.plus(other: Number): Number
}
@@ -0,0 +1,34 @@
// CHECK:
// Mangled name: Matrix
// Public signature: /Matrix|null[0]
class Matrix {
// CHECK:
// Mangled name: Matrix#<init>(){}
// Public signature: /Matrix.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: NumberOperations
// Public signature: /NumberOperations|null[0]
interface NumberOperations {
// CHECK JVM_IR:
// Mangled name: NumberOperations#plus@kotlin.Number(kotlin.Number){}kotlin.Number
// Public signature: /NumberOperations.plus|-6518987633126930952[0]
abstract fun Number.plus(other: Number): Number
}
// CHECK JVM_IR:
// Mangled name computed from Ir: #plus@Matrix(NumberOperations;Matrix){}Matrix
// Mangled name computed from Descriptor: #plus!NumberOperations@Matrix(Matrix){}Matrix
// Public signature: /plus|1303343764214809933[0]
fun Matrix.plus($context_receiver_0: NumberOperations, other: Matrix): Matrix
// CHECK:
// Mangled name: #plusMatrix@NumberOperations(Matrix;Matrix){}
// Public signature: /plusMatrix|-8194087590203252948[0]
fun NumberOperations.plusMatrix(m1: Matrix, m2: Matrix): Unit
@@ -1,6 +1,9 @@
// FIR_IDENTICAL
// !LANGUAGE: +ContextReceivers
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57435
interface A {
fun a(): Int
}
@@ -0,0 +1,44 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
interface A {
// CHECK JVM_IR:
// Mangled name: A#a(){}kotlin.Int
// Public signature: /A.a|5993980063692763883[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#a(){}
// Public signature: /A.a|-4432112437378250461[0]
abstract fun a(): Int
}
// CHECK:
// Mangled name: B
// Public signature: /B|null[0]
interface B {
// CHECK JVM_IR:
// Mangled name: B#b(){}kotlin.Int
// Public signature: /B.b|-6472101675379091489[0]
// CHECK JS_IR NATIVE:
// Mangled name: B#b(){}
// Public signature: /B.b|4789657038926421504[0]
abstract fun b(): Int
}
// CHECK:
// Mangled name: {}c
// Public signature: /c|-4416962153448040627[0]
val c: Int
// CHECK JVM_IR:
// Mangled name computed from Ir: #<get-c>(A;B){}kotlin.Int
// Mangled name computed from Descriptor: #<get-c>!A!B(){}kotlin.Int
// Public signature: /c.<get-c>|-2082007887378586898[0]
// CHECK JS_IR NATIVE:
// Mangled name computed from Ir: #<get-c>(A;B){}
// Mangled name computed from Descriptor: #<get-c>!A!B(){}
// Public signature: /c.<get-c>|2760865531401172403[0]
get($context_receiver_0: A, $context_receiver_1: B): Int

Some files were not shown because too many files have changed in this diff Show More