New J2K: Fix nullability preserving in AST conversions

This commit is contained in:
Ilya Kirillov
2019-03-21 23:04:18 +03:00
committed by Ilya Kirillov
parent bdd773f806
commit dff4ab2437
2 changed files with 3 additions and 3 deletions
@@ -44,7 +44,7 @@ class ArrayInitializerConversion(private val context: ConversionContext) : Recur
JKJavaMethodCallExpressionImpl( JKJavaMethodCallExpressionImpl(
context.symbolProvider.provideByFqName("kotlin/arrayOfNulls"), context.symbolProvider.provideByFqName("kotlin/arrayOfNulls"),
JKArgumentListImpl(dimensions[0]), JKArgumentListImpl(dimensions[0]),
JKTypeArgumentListImpl(listOf(JKTypeElementImpl(type.updateNullability(Nullability.NotNull)))) JKTypeArgumentListImpl(listOf(JKTypeElementImpl(type)))
) )
} else { } else {
JKJavaNewExpressionImpl( JKJavaNewExpressionImpl(
@@ -75,7 +75,7 @@ class ArrayInitializerConversion(private val context: ConversionContext) : Recur
resultType = JKClassTypeImpl( resultType = JKClassTypeImpl(
context.symbolProvider.provideByFqName(KotlinBuiltIns.FQ_NAMES.array.asString()), context.symbolProvider.provideByFqName(KotlinBuiltIns.FQ_NAMES.array.asString()),
listOf(resultType), listOf(resultType),
Nullability.NotNull Nullability.Default
) )
} }
return JKJavaMethodCallExpressionImpl( return JKJavaMethodCallExpressionImpl(
@@ -107,7 +107,7 @@ class TypeMappingConversion(val context: ConversionContext) : RecursiveApplicabl
JKClassTypeImpl( JKClassTypeImpl(
context.symbolProvider.provideByFqName(type.arrayFqName()), context.symbolProvider.provideByFqName(type.arrayFqName()),
if (type is JKJavaPrimitiveType) emptyList() else listOf(type.mapType(typeElement)), if (type is JKJavaPrimitiveType) emptyList() else listOf(type.mapType(typeElement)),
type.nullability nullability
) )
else -> this else -> this
} }