Files
kotlin-fork/compiler/testData/ir/irText/js/dynamic/dynamicInDataClass.sig.kt.txt
T
Brian Norman ed4a778aa7 [FIR2IR] Convert data class properties of type dynamic for hashCode
Properties of type dynamic within a data class cause compilation to fail
when converting FIR to IR. This is because dynamic types do not have a
proper backing class for symbol lookup. However, dynamic types can just
be considered of type Any for hashCode calculations.

^KT-63094 Fixed
2023-11-14 17:45:04 +00:00

75 lines
2.6 KiB
Kotlin
Vendored

// CHECK:
// Mangled name: Some
// Public signature: /Some|null[0]
data class Some {
// CHECK:
// Mangled name: Some{}a
// Public signature: /Some.a|-1200697420457237799[0]
// Public signature debug description: {}a
val a: String
// CHECK JS_IR NATIVE:
// Mangled name: Some#<get-a>(){}
// Public signature: /Some.a.<get-a>|6785176174175479410[0]
// Public signature debug description: <get-a>(){}
get
// CHECK:
// Mangled name: Some{}b
// Public signature: /Some.b|772347207915745207[0]
// Public signature debug description: {}b
val b: dynamic
// CHECK JS_IR NATIVE:
// Mangled name: Some#<get-b>(){}
// Public signature: /Some.b.<get-b>|812004636995167743[0]
// Public signature debug description: <get-b>(){}
get
// CHECK:
// Mangled name: Some#<init>(kotlin.String;<dynamic>){}
// Public signature: /Some.<init>|-5225459408480290556[0]
// Public signature debug description: <init>(kotlin.String;<dynamic>){}
constructor(a: String, b: dynamic) /* primary */
// CHECK JS_IR NATIVE:
// Mangled name: Some#component1(){}
// Public signature: /Some.component1|162597135895221648[0]
// Public signature debug description: component1(){}
operator fun component1(): String
// CHECK JS_IR NATIVE:
// Mangled name: Some#component2(){}
// Public signature: /Some.component2|3796717572321500973[0]
// Public signature debug description: component2(){}
operator fun component2(): dynamic
// CHECK JS_IR NATIVE:
// Mangled name: Some#copy(kotlin.String;<dynamic>){}
// Public signature: /Some.copy|-666200579701757332[0]
// Public signature debug description: copy(kotlin.String;<dynamic>){}
fun copy(a: String, b: dynamic): Some
// CHECK JS_IR NATIVE:
// Mangled name: Some#equals(kotlin.Any?){}
// Public signature: /Some.equals|4638265728071529943[0]
// Public signature debug description: equals(kotlin.Any?){}
override operator fun equals(other: Any?): Boolean
// CHECK JS_IR NATIVE:
// Mangled name: Some#hashCode(){}
// Public signature: /Some.hashCode|3409210261493131192[0]
// Public signature debug description: hashCode(){}
override fun hashCode(): Int
// CHECK JS_IR NATIVE:
// Mangled name: Some#toString(){}
// Public signature: /Some.toString|-1522858123163872138[0]
// Public signature debug description: toString(){}
override fun toString(): String
}
// CHECK JS_IR NATIVE:
// Mangled name: #box(){}
// Public signature: /box|2173511048851971368[0]
// Public signature debug description: box(){}
fun box(): String