Prohibit data classes with no primary constructor

This commit is contained in:
Denis Zharkov
2015-02-27 13:10:17 +03:00
parent 40d7816575
commit 67f97fea42
10 changed files with 92 additions and 4 deletions
@@ -0,0 +1,12 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
data class A1(val x: String) {
constructor(): this("") {}
}
data class A2() {
constructor(x: String): this() {}
}
data class <!PRIMARY_CONSTRUCTOR_REQUIRED_FOR_DATA_CLASS!>A3<!> {
constructor() {}
}
@@ -0,0 +1,28 @@
package
kotlin.data() internal final class A1 {
public constructor A1()
public constructor A1(/*0*/ x: kotlin.String)
internal final val x: kotlin.String
internal final /*synthesized*/ fun component1(): kotlin.String
public final /*synthesized*/ fun copy(/*0*/ x: kotlin.String = ...): A1
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
}
kotlin.data() internal final class A2 {
public constructor A2()
public constructor A2(/*0*/ x: kotlin.String)
public final /*synthesized*/ fun copy(): A2
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
}
kotlin.data() internal final class A3 {
public constructor A3()
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
}