[FIR2IR] Use only data class primary constructor parameters for equals

This commit is contained in:
simon.ogorodnik
2020-04-27 21:57:27 +03:00
committed by Mikhail Glukhikh
parent 0890b8bad3
commit ef8bcceb8e
2 changed files with 5 additions and 2 deletions

View File

@@ -119,7 +119,11 @@ class DataClassMembersGenerator(val components: Fir2IrComponents) {
(this.name == toStringName && matchesToStringSignature)
fun generate(klass: FirClass<*>): List<Name> {
val properties = irClass.declarations.filterIsInstance<IrProperty>().map { it.descriptor }
val propertyParametersCount = irClass.primaryConstructor?.explicitParameters?.size ?: 0
val properties = irClass.declarations
.filterIsInstance<IrProperty>()
.take(propertyParametersCount)
.map { it.descriptor }
if (properties.isEmpty()) {
return emptyList()
}

View File

@@ -1,4 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
internal data class A1(val prop1: String) {
val prop2: String = "const2"
var prop3: String = ""