From d47543820aca4820133ada944637ed5b470949a9 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Wed, 5 Dec 2018 17:06:07 +0300 Subject: [PATCH] New J2K: Add collection classes mapping to TypeMappingConversion --- .../kotlin/j2k/conversions/TypeMappingConversion.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/TypeMappingConversion.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/TypeMappingConversion.kt index 8a71d2d0bf8..57e722dc44e 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/TypeMappingConversion.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/TypeMappingConversion.kt @@ -70,7 +70,10 @@ class TypeMappingConversion(val context: ConversionContext) : RecursiveApplicabl } private fun mapClassType(type: JKClassType, element: JKTreeElement): JKClassType { - val newFqName = JavaToKotlinClassMap.mapJavaToKotlin(FqName(type.classReference.fqName ?: return type)) ?: return type + val fqName = type.classReference.fqName ?: return type + val newFqName = JavaToKotlinClassMap.mapJavaToKotlin(FqName(fqName)) + ?: mapCollectionClass(fqName)?.let { ClassId.fromString(it) } + ?: return type return JKClassTypeImpl( context.symbolProvider.provideByFqName(newFqName), type.parameters.map { mapType(it, element) }, @@ -78,6 +81,9 @@ class TypeMappingConversion(val context: ConversionContext) : RecursiveApplicabl ) } + private fun mapCollectionClass(fqName: String): String? = + mapOf("java.util.Collection" to "kotlin.collections.Collection")[fqName] + private fun mapPrimitiveType(type: JKJavaPrimitiveType): JKClassType { val fqName = type.jvmPrimitiveType.primitiveType.typeFqName return JKClassTypeImpl(context.symbolProvider.provideByFqName(ClassId.topLevel(fqName)), nullability = Nullability.NotNull)