Generate equals/hashCode(): Fix function body generation

#KT-18596 Fixed
This commit is contained in:
Alexey Sedunov
2017-06-29 18:01:21 +03:00
parent 33c22b8251
commit 2a53043fef
@@ -180,7 +180,7 @@ class KotlinGenerateEqualsAndHashcodeAction : KotlinGenerateMemberActionBase<Kot
else {
generateClassLiteralsNotEqual(paramName, targetClass)
}
val bodyText = StringBuilder().apply {
val bodyText = buildString {
append("if (this === $paramName) return true\n")
append("if ($isNotInstanceCondition) return false\n")
@@ -213,7 +213,7 @@ class KotlinGenerateEqualsAndHashcodeAction : KotlinGenerateMemberActionBase<Kot
append("return true")
}
equalsFun.bodyExpression!!.replace(KtPsiFactory(project).createExpression("{\n$bodyText\n}"))
equalsFun.bodyExpression!!.replace(KtPsiFactory(project).createBlock(bodyText))
return equalsFun
}
@@ -269,7 +269,7 @@ class KotlinGenerateEqualsAndHashcodeAction : KotlinGenerateMemberActionBase<Kot
}.toString()
} else "return $initialValue"
hashCodeFun.bodyExpression!!.replace(KtPsiFactory(project).createExpression("{\n$bodyText\n}"))
hashCodeFun.bodyExpression!!.replace(KtPsiFactory(project).createBlock(bodyText))
return hashCodeFun
}