From 4991aff0864ef6c666caab2f35d5f43cd5cf752e Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 25 Aug 2015 13:27:00 +0200 Subject: [PATCH] validate FQ name when checking the Java mapping (EA-72095) --- .../kotlin/asJava/KotlinLightClassForExplicitDeclaration.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KotlinLightClassForExplicitDeclaration.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KotlinLightClassForExplicitDeclaration.kt index 8ccabf44967..28c43d6e989 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KotlinLightClassForExplicitDeclaration.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KotlinLightClassForExplicitDeclaration.kt @@ -36,6 +36,7 @@ import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.idea.JetLanguage import org.jetbrains.kotlin.lexer.JetTokens.* import org.jetbrains.kotlin.name.FqName +import org.jetbrains.kotlin.name.FqNameUnsafe import org.jetbrains.kotlin.platform.JavaToKotlinClassMap import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType @@ -439,7 +440,8 @@ public open class KotlinLightClassForExplicitDeclaration( if (qualifiedName == DescriptorUtils.getFqName(classDescriptor).asString()) return true - val mappedDescriptor = JavaToKotlinClassMap.INSTANCE.mapJavaToKotlin(FqName(qualifiedName)) + val fqName = FqNameUnsafe(qualifiedName) + val mappedDescriptor = if (fqName.isSafe()) JavaToKotlinClassMap.INSTANCE.mapJavaToKotlin(fqName.toSafe()) else null val mappedQName = if (mappedDescriptor == null) null else DescriptorUtils.getFqName(mappedDescriptor).asString() if (qualifiedName == mappedQName) return true