diff --git a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/ImplicitInitializerConversion.kt b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/ImplicitInitializerConversion.kt index 02aa36f9cf4..1171132428e 100644 --- a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/ImplicitInitializerConversion.kt +++ b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/ImplicitInitializerConversion.kt @@ -111,7 +111,7 @@ class ImplicitInitializerConversion(private val context: NewJ2kConverterContext) private fun createPrimitiveTypeInitializer(primitiveType: JKJavaPrimitiveType): JKLiteralExpression = when (primitiveType) { - is JKJavaPrimitiveTypeImpl.BOOLEAN -> + JKJavaPrimitiveTypeImpl.BOOLEAN -> JKBooleanLiteral(false) else -> JKJavaLiteralExpressionImpl("0", JKLiteralExpression.LiteralType.INT) diff --git a/nj2k/src/org/jetbrains/kotlin/nj2k/tree/impl/j.kt b/nj2k/src/org/jetbrains/kotlin/nj2k/tree/impl/j.kt index 4db4c452f1e..934bbb3fd5f 100644 --- a/nj2k/src/org/jetbrains/kotlin/nj2k/tree/impl/j.kt +++ b/nj2k/src/org/jetbrains/kotlin/nj2k/tree/impl/j.kt @@ -261,20 +261,22 @@ class JKJavaNewArrayImpl(initializer: List, type: JKTypeElement) : override fun accept(visitor: JKVisitor, data: D): R = visitor.visitJavaNewArray(this, data) } -sealed class JKJavaPrimitiveTypeImpl(override val jvmPrimitiveType: JvmPrimitiveType) : JKJavaPrimitiveType { - object BOOLEAN : JKJavaPrimitiveTypeImpl(JvmPrimitiveType.BOOLEAN) - object CHAR : JKJavaPrimitiveTypeImpl(JvmPrimitiveType.CHAR) - object BYTE : JKJavaPrimitiveTypeImpl(JvmPrimitiveType.BYTE) - object SHORT : JKJavaPrimitiveTypeImpl(JvmPrimitiveType.SHORT) - object INT : JKJavaPrimitiveTypeImpl(JvmPrimitiveType.INT) - object FLOAT : JKJavaPrimitiveTypeImpl(JvmPrimitiveType.FLOAT) - object LONG : JKJavaPrimitiveTypeImpl(JvmPrimitiveType.LONG) - object DOUBLE : JKJavaPrimitiveTypeImpl(JvmPrimitiveType.DOUBLE) - +class JKJavaPrimitiveTypeImpl(override val jvmPrimitiveType: JvmPrimitiveType) : JKJavaPrimitiveType { companion object { + val BOOLEAN = JKJavaPrimitiveTypeImpl(JvmPrimitiveType.BOOLEAN) + val CHAR = JKJavaPrimitiveTypeImpl(JvmPrimitiveType.CHAR) + val BYTE = JKJavaPrimitiveTypeImpl(JvmPrimitiveType.BYTE) + val SHORT = JKJavaPrimitiveTypeImpl(JvmPrimitiveType.SHORT) + val INT = JKJavaPrimitiveTypeImpl(JvmPrimitiveType.INT) + val FLOAT = JKJavaPrimitiveTypeImpl(JvmPrimitiveType.FLOAT) + val LONG = JKJavaPrimitiveTypeImpl(JvmPrimitiveType.LONG) + val DOUBLE = JKJavaPrimitiveTypeImpl(JvmPrimitiveType.DOUBLE) + val KEYWORD_TO_INSTANCE = listOf( BOOLEAN, CHAR, BYTE, SHORT, INT, FLOAT, LONG, DOUBLE - ).associate { it.jvmPrimitiveType.javaKeywordName to it } + ("void" to JKJavaVoidType) + ).associate { + it.jvmPrimitiveType.javaKeywordName to it + } + ("void" to JKJavaVoidType) } }