From 5e35fd1758e17a4cb7bb03fcd17ccee522e7dc9b Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Thu, 12 Jul 2018 18:56:51 +0300 Subject: [PATCH] Check created `javaFileFacadeFqName` short name (EA-122324) --- .../jetbrains/kotlin/fileClasses/JvmFileClassUtil.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/fileClasses/JvmFileClassUtil.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/fileClasses/JvmFileClassUtil.kt index bf2b4960b8f..c60fb553859 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/fileClasses/JvmFileClassUtil.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/fileClasses/JvmFileClassUtil.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.fileClasses +import com.intellij.openapi.diagnostic.Logger import com.intellij.psi.util.CachedValueProvider import com.intellij.psi.util.CachedValuesManager import org.jetbrains.kotlin.load.java.descriptors.getImplClassNameForDeserialized @@ -109,10 +110,20 @@ val KtFile.javaFileFacadeFqName: FqName val facadeFqName = if (isCompiled) packageFqName.child(Name.identifier(virtualFile.nameWithoutExtension)) else JvmFileClassUtil.getFileClassInfoNoResolve(this).facadeClassFqName + + if (!Name.isValidIdentifier(facadeFqName.shortName().identifier)) { + LOG.error( + "An invalid fqName `$facadeFqName` with short name `${facadeFqName.shortName()}` is created for file `$name` " + + "(isCompiled = $isCompiled)" + ) + } + CachedValueProvider.Result(facadeFqName, this) } } +val LOG = Logger.getInstance("JvmFileClassUtil") + fun KtDeclaration.isInsideJvmMultifileClassFile() = JvmFileClassUtil.findAnnotationEntryOnFileNoResolve( containingKtFile, JvmFileClassUtil.JVM_MULTIFILE_CLASS_SHORT