mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-03-10 08:31:29 +00:00
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:
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
|
||||
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
|
||||
import org.jetbrains.kotlin.serialization.ApproximatingStringTable
|
||||
import org.jetbrains.kotlin.serialization.DescriptorSerializer
|
||||
import org.jetbrains.kotlin.serialization.StringTableImpl
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor
|
||||
@@ -51,7 +52,7 @@ abstract class KlibMetadataSerializer(
|
||||
val extension = KlibMetadataSerializerExtension(
|
||||
languageVersionSettings,
|
||||
metadataVersion,
|
||||
KlibMetadataStringTable(),
|
||||
ApproximatingStringTable(),
|
||||
allowErrorTypes
|
||||
)
|
||||
return SerializerContext(
|
||||
|
||||
@@ -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
|
||||
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.metadata.serialization.MutableVersionRequirementTabl
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||
import org.jetbrains.kotlin.resolve.source.PsiSourceFile
|
||||
import org.jetbrains.kotlin.serialization.ApproximatingStringTable
|
||||
import org.jetbrains.kotlin.serialization.DescriptorSerializer
|
||||
import org.jetbrains.kotlin.serialization.KotlinSerializerExtensionBase
|
||||
import org.jetbrains.kotlin.types.FlexibleType
|
||||
@@ -35,7 +36,7 @@ class KotlinJavascriptSerializerExtension(
|
||||
private val languageVersionSettings: LanguageVersionSettings,
|
||||
override val metadataVersion: BinaryVersion
|
||||
) : KotlinSerializerExtensionBase(JsSerializerProtocol) {
|
||||
override val stringTable = JavaScriptStringTable()
|
||||
override val stringTable = ApproximatingStringTable()
|
||||
|
||||
override fun serializeFlexibleType(flexibleType: FlexibleType, lowerProto: ProtoBuf.Type.Builder, upperProto: ProtoBuf.Type.Builder) {
|
||||
lowerProto.flexibleTypeCapabilitiesId = stringTable.getStringIndex(DynamicTypeDeserializer.id)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user