Drop type aliases for JS and KLIB string tables

They used to use the same approximation logic anyway
^KT-20996
This commit is contained in:
Pavel Kirpichenkov
2021-01-18 17:53:31 +03:00
parent 2f3f75b512
commit b66f5c8180
6 changed files with 11 additions and 40 deletions
@@ -10,11 +10,11 @@ import kotlinx.metadata.KmModuleFragment
import kotlinx.metadata.impl.WriteContext
import kotlinx.metadata.impl.accept
import kotlinx.metadata.klib.impl.*
import org.jetbrains.kotlin.backend.common.serialization.metadata.KlibMetadataStringTable
import org.jetbrains.kotlin.library.metadata.parseModuleHeader
import org.jetbrains.kotlin.library.metadata.parsePackageFragment
import org.jetbrains.kotlin.metadata.ProtoBuf
import org.jetbrains.kotlin.metadata.deserialization.NameResolverImpl
import org.jetbrains.kotlin.serialization.ApproximatingStringTable
/**
* Allows to modify the way fragments of the single package are read by [KlibModuleMetadata.read].
@@ -120,12 +120,12 @@ class KlibModuleMetadata(
)
val groupedProtos = groupedFragments.mapValues { (_, fragments) ->
fragments.map {
val c = WriteContext(KlibMetadataStringTable(), listOf(reverseIndex))
KlibModuleFragmentWriter(c.strings as KlibMetadataStringTable, c.contextExtensions).also(it::accept).write()
val c = WriteContext(ApproximatingStringTable(), listOf(reverseIndex))
KlibModuleFragmentWriter(c.strings as ApproximatingStringTable, c.contextExtensions).also(it::accept).write()
}
}
// This context and string table is only required for module-level annotations.
val c = WriteContext(KlibMetadataStringTable(), listOf(reverseIndex))
val c = WriteContext(ApproximatingStringTable(), listOf(reverseIndex))
return SerializedKlibMetadata(
header.writeHeader(c).build().toByteArray(),
groupedProtos.map { it.value.map(ProtoBuf.PackageFragment::toByteArray) },
@@ -7,9 +7,9 @@ package kotlinx.metadata.klib.impl
import kotlinx.metadata.impl.*
import kotlinx.metadata.klib.KlibSourceFile
import org.jetbrains.kotlin.backend.common.serialization.metadata.KlibMetadataStringTable
import org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf
import org.jetbrains.kotlin.metadata.ProtoBuf
import org.jetbrains.kotlin.serialization.ApproximatingStringTable
class ReverseSourceFileIndexWriteExtension : WriteContextExtension {
private val filesReverseIndex = mutableMapOf<KlibSourceFile, Int>()
@@ -26,7 +26,7 @@ class ReverseSourceFileIndexWriteExtension : WriteContextExtension {
}
class KlibModuleFragmentWriter(
stringTable: KlibMetadataStringTable,
stringTable: ApproximatingStringTable,
contextExtensions: List<WriteContextExtension> = emptyList()
) : ModuleFragmentWriter(stringTable, contextExtensions) {
@@ -36,7 +36,7 @@ class KlibModuleFragmentWriter(
override fun visitEnd() {
// TODO: This should be moved to ModuleFragmentWriter.
val (strings, qualifiedNames) = (c.strings as KlibMetadataStringTable).buildProto()
val (strings, qualifiedNames) = (c.strings as ApproximatingStringTable).buildProto()
t.strings = strings
t.qualifiedNames = qualifiedNames