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)