validate FQ name when checking the Java mapping (EA-72095)

This commit is contained in:
Dmitry Jemerov
2015-08-25 13:27:00 +02:00
parent 9054151546
commit 4991aff086
@@ -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