[klib] Inline the makeSerializedKlibMetadata function

It's used in only one place, and it doesn't really make the code easier
to read.
This commit is contained in:
Sergej Jaskiewicz
2024-01-23 12:44:58 +01:00
committed by Space Team
parent 93a1ceae75
commit abc53b2ee3
2 changed files with 12 additions and 25 deletions
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.descriptors.CallableDescriptor
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.library.SerializedMetadata
import org.jetbrains.kotlin.library.metadata.KlibMetadataVersion
import org.jetbrains.kotlin.metadata.ProtoBuf
import org.jetbrains.kotlin.name.FqName
@@ -70,18 +69,3 @@ class KlibMetadataIncrementalSerializer(
override val TOP_LEVEL_DECLARATION_COUNT_PER_FILE = null
override val TOP_LEVEL_CLASS_DECLARATION_COUNT_PER_FILE = null
}
fun makeSerializedKlibMetadata(
fragments: Map<String, List<ByteArray>>,
header: ByteArray
): SerializedMetadata {
val fragmentNames = mutableListOf<String>()
val fragmentParts = mutableListOf<List<ByteArray>>()
for ((fqName, fragment) in fragments.entries.sortedBy { it.key }) {
fragmentNames += fqName
fragmentParts += fragment
}
return SerializedMetadata(header, fragmentParts, fragmentNames)
}
@@ -10,7 +10,6 @@ import org.jetbrains.kotlin.KtIoFileSourceFile
import org.jetbrains.kotlin.KtPsiSourceFile
import org.jetbrains.kotlin.KtSourceFile
import org.jetbrains.kotlin.KtVirtualFileSourceFile
import org.jetbrains.kotlin.backend.common.serialization.metadata.makeSerializedKlibMetadata
import org.jetbrains.kotlin.backend.common.serialization.metadata.serializeKlibHeader
import org.jetbrains.kotlin.config.CommonConfigurationKeys
import org.jetbrains.kotlin.config.CompilerConfiguration
@@ -181,14 +180,18 @@ fun <Dependency : KotlinLibrary> serializeModuleIntoKlib(
processKlibHeader(header)
val serializedMetadata = makeSerializedKlibMetadata(
fragments = compiledKotlinFiles
.groupBy { it.fqName }
.map { (fqn, data) ->
fqn to data.sortedBy { it.path }.map { it.metadata }
}
.toMap(),
header = header,
val (fragmentNames, fragmentParts) = compiledKotlinFiles
.groupBy { it.fqName }
.map { (fqn, data) ->
fqn to data.sortedBy { it.path }.map { it.metadata }
}
.sortedBy { it.first }
.unzip()
val serializedMetadata = SerializedMetadata(
module = header,
fragments = fragmentParts,
fragmentNames = fragmentNames
)
return SerializerOutput(