Use internal names in multifile class metadata
To reuse the strings already existing in the constant pool of the class file
This commit is contained in:
@@ -89,9 +89,6 @@ public fun findMultifileClassParts(file: VirtualFile, multifileClass: KotlinJvmB
|
||||
val partsFinder = DirectoryBasedClassFinder(file.parent!!, packageFqName)
|
||||
val partNames = multifileClass.classHeader.filePartClassNames ?: return emptyList()
|
||||
return partNames.map {
|
||||
partsFinder.findKotlinClass(ClassId(packageFqName, Name.identifier(it)))
|
||||
partsFinder.findKotlinClass(ClassId(packageFqName, Name.identifier(it.substringAfterLast('/'))))
|
||||
}.filterNotNull()
|
||||
}
|
||||
|
||||
public fun readMultifileClassPartHeaders(file: VirtualFile, multifileClass: KotlinJvmBinaryClass): List<KotlinClassHeader> =
|
||||
findMultifileClassParts(file, multifileClass).map { it.classHeader }
|
||||
|
||||
+1
-1
@@ -80,7 +80,7 @@ fun createMultifileClassStub(
|
||||
components: ClsStubBuilderComponents
|
||||
): KotlinFileStubImpl {
|
||||
val packageFqName = facadeFqName.parent()
|
||||
val partNames = multifileClass.classHeader.filePartClassNames?.asList()
|
||||
val partNames = multifileClass.classHeader.filePartClassNames?.asList()?.map { it.substringAfterLast('/') }
|
||||
val fileStub = KotlinFileStubForIde.forMultifileClassStub(facadeFqName, partNames, packageFqName.isRoot)
|
||||
setupFileStub(fileStub, packageFqName)
|
||||
for (partFile in partFiles) {
|
||||
|
||||
Reference in New Issue
Block a user