[Generator] Write the body of Boolean.hashCode in one place

This commit is contained in:
Ilya Gorbunov
2023-08-29 04:46:41 +02:00
committed by Space Team
parent 1c149925b7
commit 918b935e22
@@ -144,6 +144,7 @@ abstract class BooleanGenerator(private val writer: PrintWriter) : BuiltInsGener
methodName = "hashCode"
returnType = PrimitiveType.INT.capitalized
}
"if (this) 1231 else 1237".setAsExpressionBody()
}.modifyGeneratedHashCode()
}
@@ -165,6 +166,10 @@ class JvmBooleanGenerator(writer: PrintWriter) : BooleanGenerator(writer) {
override fun ClassBuilder.modifyGeneratedClass() {
appendDoc("On the JVM, non-nullable values of this type are represented as values of the primitive type `boolean`.")
}
override fun MethodBuilder.modifyGeneratedHashCode() {
noBody()
}
}
class JsBooleanGenerator(writer: PrintWriter) : BooleanGenerator(writer) {
@@ -172,6 +177,10 @@ class JsBooleanGenerator(writer: PrintWriter) : BooleanGenerator(writer) {
suppress("NON_ABSTRACT_FUNCTION_WITH_NO_BODY")
suppress("UNUSED_PARAMETER")
}
override fun MethodBuilder.modifyGeneratedHashCode() {
noBody()
}
}
class WasmBooleanGenerator(writer: PrintWriter) : BooleanGenerator(writer) {
@@ -232,7 +241,6 @@ class WasmBooleanGenerator(writer: PrintWriter) : BooleanGenerator(writer) {
override fun MethodBuilder.modifyGeneratedHashCode() {
modifySignature { visibility = null }
"if (this) 1231 else 1237".setAsExpressionBody()
}
override fun ClassBuilder.generateAdditionalMethods() {
@@ -301,7 +309,6 @@ class NativeBooleanGenerator(writer: PrintWriter) : BooleanGenerator(writer) {
override fun MethodBuilder.modifyGeneratedHashCode() {
modifySignature { visibility = MethodVisibility.PUBLIC }
"if (this) 1231 else 1237".setAsExpressionBody()
}
override fun ClassBuilder.generateAdditionalMethods() {