diff --git a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/TypeMappingConversion.kt b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/TypeMappingConversion.kt index b7af1d1b804..1350d55fd5a 100644 --- a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/TypeMappingConversion.kt +++ b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/TypeMappingConversion.kt @@ -136,8 +136,10 @@ class TypeMappingConversion(val context: NewJ2kConverterContext) : RecursiveAppl else toKotlinTypesMap[fqName] } - private fun JKClassSymbol.kotlinStandardType(): String? = - JavaToKotlinClassMap.mapJavaToKotlin(FqName(fqName))?.asString() + private fun JKClassSymbol.kotlinStandardType(): String? { + if (isKtFunction(fqName)) return fqName + return JavaToKotlinClassMap.mapJavaToKotlin(FqName(fqName))?.asString() + } private fun JKJavaPrimitiveType.mapPrimitiveType(): JKClassType { val fqName = jvmPrimitiveType.primitiveType.typeFqName @@ -156,4 +158,10 @@ class TypeMappingConversion(val context: NewJ2kConverterContext) : RecursiveAppl else -> false } } + + companion object { + private val ktFunctionRegex = "kotlin\\.jvm\\.functions\\.Function\\d+".toRegex() + private fun isKtFunction(fqName: String) = + ktFunctionRegex.matches(fqName) + } } \ No newline at end of file