Data class must have at least one argument is reported on constructor parameter list now, if any #KT-9999 Fixed
This commit is contained in:
@@ -41,7 +41,9 @@ public class DataClassAnnotationChecker : DeclarationChecker {
|
||||
val primaryConstructor = declaration.getPrimaryConstructor()
|
||||
val parameters = primaryConstructor?.valueParameters ?: emptyList()
|
||||
if (parameters.isEmpty()) {
|
||||
declaration.nameIdentifier?.let { diagnosticHolder.report(Errors.DATA_CLASS_WITHOUT_PARAMETERS.on(it)) }
|
||||
(primaryConstructor?.valueParameterList ?: declaration.nameIdentifier)?.let {
|
||||
diagnosticHolder.report(Errors.DATA_CLASS_WITHOUT_PARAMETERS.on(it))
|
||||
}
|
||||
}
|
||||
for (parameter in parameters) {
|
||||
if (parameter.isVarArg) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
data class <!DATA_CLASS_WITHOUT_PARAMETERS!>A<!>()
|
||||
data class A<!DATA_CLASS_WITHOUT_PARAMETERS!>()<!>
|
||||
|
||||
fun foo(a: A) {
|
||||
a.<!UNRESOLVED_REFERENCE!>component1<!>()
|
||||
|
||||
@@ -10,3 +10,5 @@ data class A2(val y: String, val z: Int) {
|
||||
data class <!PRIMARY_CONSTRUCTOR_REQUIRED_FOR_DATA_CLASS, DATA_CLASS_WITHOUT_PARAMETERS!>A3<!> {
|
||||
constructor()
|
||||
}
|
||||
|
||||
data class A4 internal constructor<!DATA_CLASS_WITHOUT_PARAMETERS!>()<!>
|
||||
|
||||
@@ -30,3 +30,11 @@ public final data class A3 {
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final data class A4 {
|
||||
internal constructor A4()
|
||||
public final /*synthesized*/ fun copy(): A4
|
||||
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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user