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:
+2
-1
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.name.ClassId
|
|||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
|
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
|
||||||
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
|
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
|
||||||
|
import org.jetbrains.kotlin.serialization.ApproximatingStringTable
|
||||||
import org.jetbrains.kotlin.serialization.DescriptorSerializer
|
import org.jetbrains.kotlin.serialization.DescriptorSerializer
|
||||||
import org.jetbrains.kotlin.serialization.StringTableImpl
|
import org.jetbrains.kotlin.serialization.StringTableImpl
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor
|
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor
|
||||||
@@ -51,7 +52,7 @@ abstract class KlibMetadataSerializer(
|
|||||||
val extension = KlibMetadataSerializerExtension(
|
val extension = KlibMetadataSerializerExtension(
|
||||||
languageVersionSettings,
|
languageVersionSettings,
|
||||||
metadataVersion,
|
metadataVersion,
|
||||||
KlibMetadataStringTable(),
|
ApproximatingStringTable(),
|
||||||
allowErrorTypes
|
allowErrorTypes
|
||||||
)
|
)
|
||||||
return SerializerContext(
|
return SerializerContext(
|
||||||
|
|||||||
-10
@@ -1,10 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
|
||||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.jetbrains.kotlin.backend.common.serialization.metadata
|
|
||||||
|
|
||||||
import org.jetbrains.kotlin.serialization.ApproximatingStringTable
|
|
||||||
|
|
||||||
typealias KlibMetadataStringTable = ApproximatingStringTable
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2016 JetBrains s.r.o.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.jetbrains.kotlin.serialization.js
|
|
||||||
|
|
||||||
import org.jetbrains.kotlin.serialization.ApproximatingStringTable
|
|
||||||
|
|
||||||
typealias JavaScriptStringTable = ApproximatingStringTable
|
|
||||||
+2
-1
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.metadata.serialization.MutableVersionRequirementTabl
|
|||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||||
import org.jetbrains.kotlin.resolve.source.PsiSourceFile
|
import org.jetbrains.kotlin.resolve.source.PsiSourceFile
|
||||||
|
import org.jetbrains.kotlin.serialization.ApproximatingStringTable
|
||||||
import org.jetbrains.kotlin.serialization.DescriptorSerializer
|
import org.jetbrains.kotlin.serialization.DescriptorSerializer
|
||||||
import org.jetbrains.kotlin.serialization.KotlinSerializerExtensionBase
|
import org.jetbrains.kotlin.serialization.KotlinSerializerExtensionBase
|
||||||
import org.jetbrains.kotlin.types.FlexibleType
|
import org.jetbrains.kotlin.types.FlexibleType
|
||||||
@@ -35,7 +36,7 @@ class KotlinJavascriptSerializerExtension(
|
|||||||
private val languageVersionSettings: LanguageVersionSettings,
|
private val languageVersionSettings: LanguageVersionSettings,
|
||||||
override val metadataVersion: BinaryVersion
|
override val metadataVersion: BinaryVersion
|
||||||
) : KotlinSerializerExtensionBase(JsSerializerProtocol) {
|
) : KotlinSerializerExtensionBase(JsSerializerProtocol) {
|
||||||
override val stringTable = JavaScriptStringTable()
|
override val stringTable = ApproximatingStringTable()
|
||||||
|
|
||||||
override fun serializeFlexibleType(flexibleType: FlexibleType, lowerProto: ProtoBuf.Type.Builder, upperProto: ProtoBuf.Type.Builder) {
|
override fun serializeFlexibleType(flexibleType: FlexibleType, lowerProto: ProtoBuf.Type.Builder, upperProto: ProtoBuf.Type.Builder) {
|
||||||
lowerProto.flexibleTypeCapabilitiesId = stringTable.getStringIndex(DynamicTypeDeserializer.id)
|
lowerProto.flexibleTypeCapabilitiesId = stringTable.getStringIndex(DynamicTypeDeserializer.id)
|
||||||
|
|||||||
@@ -10,11 +10,11 @@ import kotlinx.metadata.KmModuleFragment
|
|||||||
import kotlinx.metadata.impl.WriteContext
|
import kotlinx.metadata.impl.WriteContext
|
||||||
import kotlinx.metadata.impl.accept
|
import kotlinx.metadata.impl.accept
|
||||||
import kotlinx.metadata.klib.impl.*
|
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.parseModuleHeader
|
||||||
import org.jetbrains.kotlin.library.metadata.parsePackageFragment
|
import org.jetbrains.kotlin.library.metadata.parsePackageFragment
|
||||||
import org.jetbrains.kotlin.metadata.ProtoBuf
|
import org.jetbrains.kotlin.metadata.ProtoBuf
|
||||||
import org.jetbrains.kotlin.metadata.deserialization.NameResolverImpl
|
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].
|
* 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) ->
|
val groupedProtos = groupedFragments.mapValues { (_, fragments) ->
|
||||||
fragments.map {
|
fragments.map {
|
||||||
val c = WriteContext(KlibMetadataStringTable(), listOf(reverseIndex))
|
val c = WriteContext(ApproximatingStringTable(), listOf(reverseIndex))
|
||||||
KlibModuleFragmentWriter(c.strings as KlibMetadataStringTable, c.contextExtensions).also(it::accept).write()
|
KlibModuleFragmentWriter(c.strings as ApproximatingStringTable, c.contextExtensions).also(it::accept).write()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// This context and string table is only required for module-level annotations.
|
// 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(
|
return SerializedKlibMetadata(
|
||||||
header.writeHeader(c).build().toByteArray(),
|
header.writeHeader(c).build().toByteArray(),
|
||||||
groupedProtos.map { it.value.map(ProtoBuf.PackageFragment::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.impl.*
|
||||||
import kotlinx.metadata.klib.KlibSourceFile
|
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.library.metadata.KlibMetadataProtoBuf
|
||||||
import org.jetbrains.kotlin.metadata.ProtoBuf
|
import org.jetbrains.kotlin.metadata.ProtoBuf
|
||||||
|
import org.jetbrains.kotlin.serialization.ApproximatingStringTable
|
||||||
|
|
||||||
class ReverseSourceFileIndexWriteExtension : WriteContextExtension {
|
class ReverseSourceFileIndexWriteExtension : WriteContextExtension {
|
||||||
private val filesReverseIndex = mutableMapOf<KlibSourceFile, Int>()
|
private val filesReverseIndex = mutableMapOf<KlibSourceFile, Int>()
|
||||||
@@ -26,7 +26,7 @@ class ReverseSourceFileIndexWriteExtension : WriteContextExtension {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class KlibModuleFragmentWriter(
|
class KlibModuleFragmentWriter(
|
||||||
stringTable: KlibMetadataStringTable,
|
stringTable: ApproximatingStringTable,
|
||||||
contextExtensions: List<WriteContextExtension> = emptyList()
|
contextExtensions: List<WriteContextExtension> = emptyList()
|
||||||
) : ModuleFragmentWriter(stringTable, contextExtensions) {
|
) : ModuleFragmentWriter(stringTable, contextExtensions) {
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@ class KlibModuleFragmentWriter(
|
|||||||
override fun visitEnd() {
|
override fun visitEnd() {
|
||||||
|
|
||||||
// TODO: This should be moved to ModuleFragmentWriter.
|
// 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.strings = strings
|
||||||
t.qualifiedNames = qualifiedNames
|
t.qualifiedNames = qualifiedNames
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user