[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:
committed by
Space Team
parent
93a1ceae75
commit
abc53b2ee3
-16
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
|||||||
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor
|
import org.jetbrains.kotlin.descriptors.ClassifierDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||||
import org.jetbrains.kotlin.library.SerializedMetadata
|
|
||||||
import org.jetbrains.kotlin.library.metadata.KlibMetadataVersion
|
import org.jetbrains.kotlin.library.metadata.KlibMetadataVersion
|
||||||
import org.jetbrains.kotlin.metadata.ProtoBuf
|
import org.jetbrains.kotlin.metadata.ProtoBuf
|
||||||
import org.jetbrains.kotlin.name.FqName
|
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_DECLARATION_COUNT_PER_FILE = null
|
||||||
override val TOP_LEVEL_CLASS_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)
|
|
||||||
}
|
|
||||||
+12
-9
@@ -10,7 +10,6 @@ import org.jetbrains.kotlin.KtIoFileSourceFile
|
|||||||
import org.jetbrains.kotlin.KtPsiSourceFile
|
import org.jetbrains.kotlin.KtPsiSourceFile
|
||||||
import org.jetbrains.kotlin.KtSourceFile
|
import org.jetbrains.kotlin.KtSourceFile
|
||||||
import org.jetbrains.kotlin.KtVirtualFileSourceFile
|
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.backend.common.serialization.metadata.serializeKlibHeader
|
||||||
import org.jetbrains.kotlin.config.CommonConfigurationKeys
|
import org.jetbrains.kotlin.config.CommonConfigurationKeys
|
||||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||||
@@ -181,14 +180,18 @@ fun <Dependency : KotlinLibrary> serializeModuleIntoKlib(
|
|||||||
|
|
||||||
processKlibHeader(header)
|
processKlibHeader(header)
|
||||||
|
|
||||||
val serializedMetadata = makeSerializedKlibMetadata(
|
val (fragmentNames, fragmentParts) = compiledKotlinFiles
|
||||||
fragments = compiledKotlinFiles
|
.groupBy { it.fqName }
|
||||||
.groupBy { it.fqName }
|
.map { (fqn, data) ->
|
||||||
.map { (fqn, data) ->
|
fqn to data.sortedBy { it.path }.map { it.metadata }
|
||||||
fqn to data.sortedBy { it.path }.map { it.metadata }
|
}
|
||||||
}
|
.sortedBy { it.first }
|
||||||
.toMap(),
|
.unzip()
|
||||||
header = header,
|
|
||||||
|
val serializedMetadata = SerializedMetadata(
|
||||||
|
module = header,
|
||||||
|
fragments = fragmentParts,
|
||||||
|
fragmentNames = fragmentNames
|
||||||
)
|
)
|
||||||
|
|
||||||
return SerializerOutput(
|
return SerializerOutput(
|
||||||
|
|||||||
Reference in New Issue
Block a user