Check created javaFileFacadeFqName short name (EA-122324)
This commit is contained in:
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.fileClasses
|
package org.jetbrains.kotlin.fileClasses
|
||||||
|
|
||||||
|
import com.intellij.openapi.diagnostic.Logger
|
||||||
import com.intellij.psi.util.CachedValueProvider
|
import com.intellij.psi.util.CachedValueProvider
|
||||||
import com.intellij.psi.util.CachedValuesManager
|
import com.intellij.psi.util.CachedValuesManager
|
||||||
import org.jetbrains.kotlin.load.java.descriptors.getImplClassNameForDeserialized
|
import org.jetbrains.kotlin.load.java.descriptors.getImplClassNameForDeserialized
|
||||||
@@ -109,10 +110,20 @@ val KtFile.javaFileFacadeFqName: FqName
|
|||||||
val facadeFqName =
|
val facadeFqName =
|
||||||
if (isCompiled) packageFqName.child(Name.identifier(virtualFile.nameWithoutExtension))
|
if (isCompiled) packageFqName.child(Name.identifier(virtualFile.nameWithoutExtension))
|
||||||
else JvmFileClassUtil.getFileClassInfoNoResolve(this).facadeClassFqName
|
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)
|
CachedValueProvider.Result(facadeFqName, this)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val LOG = Logger.getInstance("JvmFileClassUtil")
|
||||||
|
|
||||||
fun KtDeclaration.isInsideJvmMultifileClassFile() = JvmFileClassUtil.findAnnotationEntryOnFileNoResolve(
|
fun KtDeclaration.isInsideJvmMultifileClassFile() = JvmFileClassUtil.findAnnotationEntryOnFileNoResolve(
|
||||||
containingKtFile,
|
containingKtFile,
|
||||||
JvmFileClassUtil.JVM_MULTIFILE_CLASS_SHORT
|
JvmFileClassUtil.JVM_MULTIFILE_CLASS_SHORT
|
||||||
|
|||||||
Reference in New Issue
Block a user