New J2K: fix ExceptionInInitializerError in JKJavaPrimitiveTypeImpl
This commit is contained in:
@@ -111,7 +111,7 @@ class ImplicitInitializerConversion(private val context: NewJ2kConverterContext)
|
|||||||
|
|
||||||
private fun createPrimitiveTypeInitializer(primitiveType: JKJavaPrimitiveType): JKLiteralExpression =
|
private fun createPrimitiveTypeInitializer(primitiveType: JKJavaPrimitiveType): JKLiteralExpression =
|
||||||
when (primitiveType) {
|
when (primitiveType) {
|
||||||
is JKJavaPrimitiveTypeImpl.BOOLEAN ->
|
JKJavaPrimitiveTypeImpl.BOOLEAN ->
|
||||||
JKBooleanLiteral(false)
|
JKBooleanLiteral(false)
|
||||||
else ->
|
else ->
|
||||||
JKJavaLiteralExpressionImpl("0", JKLiteralExpression.LiteralType.INT)
|
JKJavaLiteralExpressionImpl("0", JKLiteralExpression.LiteralType.INT)
|
||||||
|
|||||||
@@ -261,20 +261,22 @@ class JKJavaNewArrayImpl(initializer: List<JKExpression>, type: JKTypeElement) :
|
|||||||
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitJavaNewArray(this, data)
|
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitJavaNewArray(this, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class JKJavaPrimitiveTypeImpl(override val jvmPrimitiveType: JvmPrimitiveType) : JKJavaPrimitiveType {
|
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)
|
|
||||||
|
|
||||||
companion object {
|
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(
|
val KEYWORD_TO_INSTANCE = listOf(
|
||||||
BOOLEAN, CHAR, BYTE, SHORT, INT, FLOAT, LONG, DOUBLE
|
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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user