Allow impl class to be data class, allow impl constructor properties
This commit is contained in:
+32
@@ -0,0 +1,32 @@
|
||||
// !LANGUAGE: +MultiPlatformProjects
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
|
||||
header class Foo(x: Int, y: String) {
|
||||
val x: Int
|
||||
val y: String
|
||||
}
|
||||
|
||||
header class Bar(z: Double)
|
||||
|
||||
header class Baz(w: List<String>) {
|
||||
val w: List<String>
|
||||
|
||||
operator fun component1(): List<String>
|
||||
|
||||
// Disabled because default arguments are not allowed
|
||||
// fun copy(w: List<T> = ...): Baz<T>
|
||||
|
||||
override fun equals(other: Any?): Boolean
|
||||
override fun hashCode(): Int
|
||||
override fun toString(): String
|
||||
}
|
||||
|
||||
// MODULE: m2-jvm(m1-common)
|
||||
// FILE: jvm.kt
|
||||
|
||||
impl data class Foo(impl val x: Int, impl val y: String)
|
||||
|
||||
impl data class Bar(val z: Double)
|
||||
|
||||
impl data class Baz(impl val w: List<String>)
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
// -- Module: <m1-common> --
|
||||
package
|
||||
|
||||
public final header class Bar {
|
||||
public constructor Bar(/*0*/ z: kotlin.Double)
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final header class Baz {
|
||||
public constructor Baz(/*0*/ w: kotlin.collections.List<kotlin.String>)
|
||||
public final val w: kotlin.collections.List<kotlin.String>
|
||||
public final operator header fun component1(): kotlin.collections.List<kotlin.String>
|
||||
public open header override /*1*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open header override /*1*/ fun hashCode(): kotlin.Int
|
||||
public open header override /*1*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final header class Foo {
|
||||
public constructor Foo(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.String)
|
||||
public final val x: kotlin.Int
|
||||
public final val y: kotlin.String
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
|
||||
// -- Module: <m2-jvm> --
|
||||
package
|
||||
|
||||
public final impl data class Bar {
|
||||
public constructor Bar(/*0*/ z: kotlin.Double)
|
||||
public final val z: kotlin.Double
|
||||
public final operator /*synthesized*/ fun component1(): kotlin.Double
|
||||
public final /*synthesized*/ fun copy(/*0*/ z: kotlin.Double = ...): Bar
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final impl data class Baz {
|
||||
public constructor Baz(/*0*/ w: kotlin.collections.List<kotlin.String>)
|
||||
public final val w: kotlin.collections.List<kotlin.String>
|
||||
public final operator /*synthesized*/ fun component1(): kotlin.collections.List<kotlin.String>
|
||||
public final /*synthesized*/ fun copy(/*0*/ w: kotlin.collections.List<kotlin.String> = ...): Baz
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final impl data class Foo {
|
||||
public constructor Foo(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.String)
|
||||
public final val x: kotlin.Int
|
||||
public final val y: kotlin.String
|
||||
public final operator /*synthesized*/ fun component1(): kotlin.Int
|
||||
public final operator /*synthesized*/ fun component2(): kotlin.String
|
||||
public final /*synthesized*/ fun copy(/*0*/ x: kotlin.Int = ..., /*1*/ y: kotlin.String = ...): Foo
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
Reference in New Issue
Block a user