From 76b73542d938441af7b2beb24f76728c3bc34c91 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Tue, 26 Mar 2019 16:42:57 +0300 Subject: [PATCH] New J2K: Add type arguments to multi-dimension array initializers --- .../kotlin/nj2k/conversions/ArrayInitializerConversion.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/ArrayInitializerConversion.kt b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/ArrayInitializerConversion.kt index 43cbf078424..5a536008c62 100644 --- a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/ArrayInitializerConversion.kt +++ b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/ArrayInitializerConversion.kt @@ -55,6 +55,9 @@ class ArrayInitializerConversion(private val context: ConversionContext) : Recur } } if (dimensions[1] !is JKStubExpression) { + val arrayType = dimensions.drop(1).fold(type) { currentType, _ -> + JKJavaArrayTypeImpl(currentType) + } return JKJavaMethodCallExpressionImpl( context.symbolProvider.provideByFqName("kotlin.Array"), JKArgumentListImpl( @@ -63,7 +66,8 @@ class ArrayInitializerConversion(private val context: ConversionContext) : Recur JKExpressionStatementImpl(buildArrayInitializer(dimensions.subList(1, dimensions.size), type)), emptyList() ) - ) + ), + JKTypeArgumentListImpl(listOf(JKTypeElementImpl(arrayType))) ) } var resultType = JKClassTypeImpl(