(lightClass) multifile classes facade in libraries added
relates to #KT-39196
This commit is contained in:
@@ -108,24 +108,28 @@ object JvmFileClassUtil {
|
||||
|
||||
internal class ParsedJvmFileClassAnnotations(val jvmName: String?, val jvmPackageName: FqName?, val isMultifileClass: Boolean)
|
||||
|
||||
val KtFile.javaFileFacadeFqName: FqName
|
||||
val KtFile.fileClassInfo: JvmFileClassInfo
|
||||
get() {
|
||||
return CachedValuesManager.getCachedValue(this) {
|
||||
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)
|
||||
CachedValueProvider.Result(JvmFileClassUtil.getFileClassInfoNoResolve(this), this)
|
||||
}
|
||||
}
|
||||
|
||||
val KtFile.javaFileFacadeFqName: FqName
|
||||
get() {
|
||||
val facadeFqName =
|
||||
if (isCompiled) packageFqName.child(Name.identifier(virtualFile.nameWithoutExtension))
|
||||
else this.fileClassInfo.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)"
|
||||
)
|
||||
}
|
||||
return facadeFqName
|
||||
}
|
||||
|
||||
private val LOG = Logger.getInstance("JvmFileClassUtil")
|
||||
|
||||
fun KtDeclaration.isInsideJvmMultifileClassFile() =
|
||||
|
||||
Reference in New Issue
Block a user