diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/LegacyDescriptorUtils.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/LegacyDescriptorUtils.kt index 8513d9577a2..8104f4eb547 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/LegacyDescriptorUtils.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/LegacyDescriptorUtils.kt @@ -12,8 +12,13 @@ import org.jetbrains.kotlin.descriptors.MemberDescriptor import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor import org.jetbrains.kotlin.resolve.checkers.ExpectedActualDeclarationChecker import org.jetbrains.kotlin.descriptors.* +import org.jetbrains.kotlin.library.KotlinLibrary +import org.jetbrains.kotlin.library.metadata.KlibMetadataPackageFragment +import org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.OverridingUtil +import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedPropertyDescriptor +import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedSimpleFunctionDescriptor internal val DeclarationDescriptor.isExpectMember: Boolean get() = this is MemberDescriptor && this.isExpect @@ -49,3 +54,23 @@ internal fun T.resolveFakeOverrideMaybeAbstract() // This is Native specific. Try to eliminate. val ModuleDescriptor.isForwardDeclarationModule get() = name == Name.special("") + +private fun sourceByIndex(descriptor: CallableMemberDescriptor, index: Int): SourceFile { + val fragment = descriptor.findPackage() as KlibMetadataPackageFragment + return fragment.fileRegistry.sourceFile(index) +} + +fun CallableMemberDescriptor.findSourceFile(): SourceFile { + val source = this.source.containingFile + if (source != SourceFile.NO_SOURCE_FILE) + return source + return when { + this is DeserializedSimpleFunctionDescriptor && proto.hasExtension(KlibMetadataProtoBuf.functionFile) -> + sourceByIndex( + this, proto.getExtension(KlibMetadataProtoBuf.functionFile)) + this is DeserializedPropertyDescriptor && proto.hasExtension(KlibMetadataProtoBuf.propertyFile) -> + sourceByIndex( + this, proto.getExtension(KlibMetadataProtoBuf.propertyFile)) + else -> TODO() + } +} \ No newline at end of file diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/metadata/KlibFileMetadata.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/metadata/KlibFileMetadata.kt index 065480ea2fb..db9ff8bfd89 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/metadata/KlibFileMetadata.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/metadata/KlibFileMetadata.kt @@ -3,7 +3,7 @@ * 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.ir.backend.js.lower.serialization.metadata +package org.jetbrains.kotlin.backend.common.serialization.metadata import org.jetbrains.kotlin.library.metadata.KlibMetadataPackageFragment import org.jetbrains.kotlin.psi.KtFile diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/metadata/KlibMetadataFileRegistry.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/metadata/KlibMetadataFileRegistry.kt deleted file mode 100644 index 6b55809d9df..00000000000 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/metadata/KlibMetadataFileRegistry.kt +++ /dev/null @@ -1,41 +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.ir.backend.js.lower.serialization.metadata - -import org.jetbrains.kotlin.backend.common.serialization.metadata.extractFileId -import org.jetbrains.kotlin.descriptors.DeclarationDescriptor -import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithSource -import org.jetbrains.kotlin.library.metadata.KlibMetadataPackageFragment -import org.jetbrains.kotlin.psi.KtFile -import org.jetbrains.kotlin.resolve.DescriptorUtils -import org.jetbrains.kotlin.resolve.source.PsiSourceFile - - -class KlibMetadataFileRegistry { - private val fileIdsImpl = mutableMapOf() - - fun lookup(file: KlibFileMetadata) = fileIdsImpl.getOrPut(file) { fileIdsImpl.size } - - val fileIds: Map - get() = fileIdsImpl - - fun getFileId(descriptor: DeclarationDescriptor): Int? { - if (!DescriptorUtils.isTopLevelDeclaration(descriptor) || descriptor !is DeclarationDescriptorWithSource) return null - - val fileId = descriptor.extractFileId() - if (fileId != null) { - (descriptor.containingDeclaration as? KlibMetadataPackageFragment)?.let { packageFragment -> - return this.lookup(KotlinDeserializedFileMetadata(packageFragment, fileId)) - } - } - - val file = descriptor.source.containingFile as? PsiSourceFile ?: return null - - val psiFile = file.psiFile - return (psiFile as? KtFile)?.let { this.lookup(KotlinPsiFileMetadata(it)) } - } - -} diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/metadata/KlibMetadataSerializer.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/metadata/KlibMetadataSerializer.kt index c4770b749c2..5214ce8a0ab 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/metadata/KlibMetadataSerializer.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/metadata/KlibMetadataSerializer.kt @@ -11,8 +11,7 @@ import org.jetbrains.kotlin.config.AnalysisFlags import org.jetbrains.kotlin.config.LanguageVersionSettings import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.incremental.components.NoLookupLocation -import org.jetbrains.kotlin.ir.backend.js.lower.serialization.metadata.KlibMetadataFileRegistry -import org.jetbrains.kotlin.ir.backend.js.lower.serialization.metadata.KotlinPsiFileMetadata +import org.jetbrains.kotlin.library.metadata.KlibMetadataFileRegistry import org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf import org.jetbrains.kotlin.metadata.ProtoBuf import org.jetbrains.kotlin.metadata.deserialization.BinaryVersion @@ -35,7 +34,6 @@ abstract class KlibMetadataSerializer( val metadataVersion: BinaryVersion, val descriptorTable: DescriptorTable ) { - val fileRegistry = KlibMetadataFileRegistry() lateinit var serializerContext: SerializerContext @@ -57,7 +55,7 @@ abstract class KlibMetadataSerializer( languageVersionSettings, metadataVersion, ::declarationTableHandler, - {descriptor -> fileRegistry.getFileId(descriptor) } , + {descriptor: DeclarationDescriptorWithSource -> fileRegistry.assign(descriptor.source.containingFile) } , KlibMetadataStringTable() ) return SerializerContext( @@ -82,10 +80,6 @@ abstract class KlibMetadataSerializer( val (stringTableProto, nameTableProto) = serializerExtension.stringTable.buildProto() - // TODO: we place files table to each and every fragment. - // Need to refactor it out sonehow. - val files = serializeFiles(fileRegistry, bindingContext, AnnotationSerializer(serializerExtension.stringTable)) - return ProtoBuf.PackageFragment.newBuilder() .setPackage(packageProto) .addAllClass_(classesProto.map { it.first }) @@ -95,7 +89,6 @@ abstract class KlibMetadataSerializer( classesProto.forEach { packageFragment.addExtension(KlibMetadataProtoBuf.className, it.second ) } - packageFragment.setExtension(KlibMetadataProtoBuf.packageFragmentFiles, files) packageFragment.setExtension(KlibMetadataProtoBuf.isEmpty, isEmpty) packageFragment.setExtension(KlibMetadataProtoBuf.fqName, fqName.asString()) } @@ -224,32 +217,17 @@ abstract class KlibMetadataSerializer( } private fun serializeFiles( - fileRegistry: KlibMetadataFileRegistry, - bindingContext: BindingContext, - serializer: AnnotationSerializer - ): KlibMetadataProtoBuf.Files { - val filesProto = KlibMetadataProtoBuf.Files.newBuilder() - for ((file, id) in fileRegistry.fileIds.entries.sortedBy { it.value }) { + header: KlibMetadataProtoBuf.Header.Builder, + fileRegistry: KlibMetadataFileRegistry + ) { + + fileRegistry.filesAndClear().map { it.name ?: "" }.forEach { val fileProto = KlibMetadataProtoBuf.File.newBuilder() - if (id != filesProto.fileCount) { - fileProto.id = id - } - val annotations = when (file) { - is KotlinPsiFileMetadata -> file.ktFile.annotationEntries.map { bindingContext[BindingContext.ANNOTATION, it]!! } - //is KotlinDeserializedFileMetadata -> file.packageFragment.fileMap[file.fileId]!!.annotations - else -> TODO("support other file types") - } - for (annotation in annotations.filterOutSourceAnnotations()) { - fileProto.addAnnotation(serializer.serializeAnnotation(annotation)) - } - val name = when (file) { - is KotlinPsiFileMetadata -> file.ktFile.getName() - else -> TODO("support other file types") - } - fileProto.name = name - filesProto.addFile(fileProto) + .setName(it) + .build() + + header.addFile(fileProto) } - return filesProto.build() } protected fun getPackagesFqNames(module: ModuleDescriptor): Set { @@ -296,6 +274,9 @@ abstract class KlibMetadataSerializer( emptyPackages.forEach { header.addEmptyPackage(it) } + + serializeFiles(header, fileRegistry) + return header.build() } diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/metadata/KlibMetadataSerializerExtension.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/metadata/KlibMetadataSerializerExtension.kt index c313ea87df6..215ba780ab4 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/metadata/KlibMetadataSerializerExtension.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/metadata/KlibMetadataSerializerExtension.kt @@ -22,7 +22,7 @@ class KlibMetadataSerializerExtension( private val languageVersionSettings: LanguageVersionSettings, override val metadataVersion: BinaryVersion, val declarationTableHandler: (DeclarationDescriptor) -> KlibMetadataProtoBuf.DescriptorUniqId?, - val descriptorFileId: (DeclarationDescriptor) -> Int?, + val descriptorFileId: (DeclarationDescriptorWithSource) -> Int?, override val stringTable: StringTableImpl ) : KotlinSerializerExtensionBase(KlibMetadataSerializerProtocol) { override fun shouldUseTypeTable(): Boolean = true diff --git a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/metadata/JsKlibMetadataPackageFragment.kt b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/metadata/JsKlibMetadataPackageFragment.kt deleted file mode 100644 index 47f26225561..00000000000 --- a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/lower/serialization/metadata/JsKlibMetadataPackageFragment.kt +++ /dev/null @@ -1,76 +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.ir.backend.js.lower.serialization.metadata - -import org.jetbrains.kotlin.descriptors.ModuleDescriptor -import org.jetbrains.kotlin.descriptors.SourceFile -import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor -import org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf -import org.jetbrains.kotlin.metadata.ProtoBuf -import org.jetbrains.kotlin.metadata.deserialization.NameResolverImpl -import org.jetbrains.kotlin.name.ClassId -import org.jetbrains.kotlin.name.FqName -import org.jetbrains.kotlin.serialization.deserialization.* -import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource -import org.jetbrains.kotlin.storage.StorageManager -import org.jetbrains.kotlin.storage.getValue - -class JsKlibMetadataPackageFragment( - fqName: FqName, - storageManager: StorageManager, - module: ModuleDescriptor, - proto: ProtoBuf.PackageFragment, - header: KlibMetadataProtoBuf.Header, - metadataVersion: JsKlibMetadataVersion, - configuration: DeserializationConfiguration -) : DeserializedPackageFragmentImpl( - fqName, storageManager, module, proto, metadataVersion, JsContainerSource(fqName, header, configuration) -) { - val fileMap: Map = - proto.getExtension(KlibMetadataProtoBuf.packageFragmentFiles).fileList.withIndex().associate { (index, file) -> - (if (file.hasId()) file.id else index) to FileHolder(file.annotationList) - } - - private lateinit var annotationDeserializer: AnnotationDeserializer - - override fun initialize(components: DeserializationComponents) { - super.initialize(components) - this.annotationDeserializer = AnnotationDeserializer(components.moduleDescriptor, components.notFoundClasses) - } - - inner class FileHolder(private val annotationsProto: List) { - val annotations: List by storageManager.createLazyValue { - annotationsProto.map { annotationDeserializer.deserializeAnnotation(it, nameResolver) } - } - } - - class JsContainerSource( - private val fqName: FqName, - header: KlibMetadataProtoBuf.Header, - configuration: DeserializationConfiguration - ) : DeserializedContainerSource { - val annotations: List = - if (header.annotationCount == 0) emptyList() - else NameResolverImpl(header.strings, header.qualifiedNames).let { nameResolver -> - // TODO: read arguments of module annotations - header.annotationList.map { annotation -> nameResolver.getClassId(annotation.id) } - } - - // TODO - override fun getContainingFile(): SourceFile = SourceFile.NO_SOURCE_FILE - - // This is null because we look for incompatible libraries in dependencies in the beginning of the compilation anyway, - // and refuse to compile against them completely - override val incompatibility: IncompatibleVersionErrorData<*>? - get() = null - - override val isPreReleaseInvisible: Boolean = - configuration.reportErrorsOnPreReleaseDependencies && (header.flags and 1) != 0 - - override val presentableString: String - get() = "Package '$fqName'" - } -} diff --git a/compiler/util-klib-metadata/src/KlibMetadataProtoBuf.proto b/compiler/util-klib-metadata/src/KlibMetadataProtoBuf.proto index 45fccb3d531..ddac31e6d2b 100644 --- a/compiler/util-klib-metadata/src/KlibMetadataProtoBuf.proto +++ b/compiler/util-klib-metadata/src/KlibMetadataProtoBuf.proto @@ -33,6 +33,7 @@ message Header { repeated org.jetbrains.kotlin.metadata.Annotation annotation = 6; repeated string package_fragment_name = 7; repeated string empty_package = 8; + repeated File file = 9; // TODO: Unused. // TODO: We need to have backend specific extension for versionings. @@ -42,14 +43,7 @@ message Header { } message File { - // If absent, id is the index of the file in the Files.file list - optional int32 id = 1; - required string name = 2; - repeated org.jetbrains.kotlin.metadata.Annotation annotation = 3; -} - -message Files { - repeated File file = 1; + required string name = 1; } message DescriptorUniqId { @@ -92,6 +86,10 @@ extend org.jetbrains.kotlin.metadata.EnumEntry { optional DescriptorUniqId enum_entry_uniq_id = 172; } +extend org.jetbrains.kotlin.metadata.ValueParameter { + repeated org.jetbrains.kotlin.metadata.Annotation parameter_annotation = 170; +} + extend org.jetbrains.kotlin.metadata.Type { repeated org.jetbrains.kotlin.metadata.Annotation type_annotation = 170; } @@ -102,7 +100,7 @@ extend org.jetbrains.kotlin.metadata.TypeParameter { } extend org.jetbrains.kotlin.metadata.PackageFragment { - optional Files package_fragment_files = 170; + repeated int32 package_fragment_files = 170; optional bool is_empty = 172; optional string fq_name = 173; // id in StringTable diff --git a/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/SourceFileMap.kt b/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/KlibMetadataFileRegistry.kt similarity index 71% rename from compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/SourceFileMap.kt rename to compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/KlibMetadataFileRegistry.kt index aa427499a41..737da7039dd 100644 --- a/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/SourceFileMap.kt +++ b/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/KlibMetadataFileRegistry.kt @@ -1,26 +1,13 @@ /* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the LICENSE file. + * 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 +package org.jetbrains.kotlin.library.metadata import org.jetbrains.kotlin.descriptors.SourceFile import org.jetbrains.kotlin.library.KotlinLibrary -private class DeserializedSourceFile( - val name_: String, val index: Int, val library: KotlinLibrary) : SourceFile { - override fun getName(): String? = name_ - - override fun equals(other: Any?): Boolean { - return other is DeserializedSourceFile && library == other.library && index == other.index - } - - override fun hashCode(): Int { - return library.hashCode() xor index - } -} - -class SourceFileMap { +class KlibMetadataFileRegistry { private val sourceToIndex = mutableMapOf() private val indexToSource = mutableMapOf() @@ -37,7 +24,7 @@ class SourceFileMap { } fun sourceFile(index: Int): SourceFile = - indexToSource[index] ?: throw Error("Unknown file for $index") + indexToSource[index] ?: throw Error("Unknown file for $index") fun filesAndClear() = sourceToIndex.keys.sortedBy { @@ -51,4 +38,18 @@ class SourceFileMap { sourceToIndex.clear() indexToSource.clear() } +} + +class DeserializedSourceFile( + val name_: String, val index: Int, val library: KotlinLibrary +) : SourceFile { + override fun getName(): String? = name_ + + override fun equals(other: Any?): Boolean { + return other is DeserializedSourceFile && library == other.library && index == other.index + } + + override fun hashCode(): Int { + return library.hashCode() xor index + } } \ No newline at end of file diff --git a/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/KlibMetadataPackageFragment.kt b/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/KlibMetadataPackageFragment.kt index 1d5e3ed7e3f..4f274c8e6e5 100644 --- a/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/KlibMetadataPackageFragment.kt +++ b/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/KlibMetadataPackageFragment.kt @@ -19,6 +19,16 @@ import org.jetbrains.kotlin.serialization.deserialization.getClassId import org.jetbrains.kotlin.serialization.deserialization.getName import org.jetbrains.kotlin.storage.StorageManager +private val KotlinLibrary.fileSources: KlibMetadataFileRegistry get() { + val result = KlibMetadataFileRegistry() + val proto = parseModuleHeader(moduleHeaderData) + proto.fileList.forEachIndexed { index, it -> + result.provide(it.name, index, this) + } + return result +} + + class KlibMetadataPackageFragment( fqName: FqName, private val library: KotlinLibrary, @@ -28,6 +38,10 @@ class KlibMetadataPackageFragment( private val partName: String ) : DeserializedPackageFragment(fqName, storageManager, module) { + val fileRegistry: KlibMetadataFileRegistry by lazy { + library.fileSources + } + lateinit var components: DeserializationComponents override fun initialize(components: DeserializationComponents) { diff --git a/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/KlibMetadataProtoBuf.java b/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/KlibMetadataProtoBuf.java index 9880df23cd0..5cb8c8714da 100644 --- a/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/KlibMetadataProtoBuf.java +++ b/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/KlibMetadataProtoBuf.java @@ -26,7 +26,6 @@ public final class KlibMetadataProtoBuf { registry.add(org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.enumEntryOrdinal); registry.add(org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.enumEntryUniqId); registry.add(org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.parameterAnnotation); - registry.add(org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.valueParamUniqId); registry.add(org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.typeAnnotation); registry.add(org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.typeParameterAnnotation); registry.add(org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.typeParamUniqId); @@ -152,6 +151,20 @@ public final class KlibMetadataProtoBuf { */ org.jetbrains.kotlin.protobuf.ByteString getEmptyPackageBytes(int index); + + /** + * repeated .org.jetbrains.kotlin.library.metadata.File file = 9; + */ + java.util.List + getFileList(); + /** + * repeated .org.jetbrains.kotlin.library.metadata.File file = 9; + */ + org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File getFile(int index); + /** + * repeated .org.jetbrains.kotlin.library.metadata.File file = 9; + */ + int getFileCount(); } /** * Protobuf type {@code org.jetbrains.kotlin.library.metadata.Header} @@ -266,6 +279,14 @@ public final class KlibMetadataProtoBuf { emptyPackage_.add(bs); break; } + case 74: { + if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) { + file_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000080; + } + file_.add(input.readMessage(org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File.PARSER, extensionRegistry)); + break; + } } } } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) { @@ -283,6 +304,9 @@ public final class KlibMetadataProtoBuf { if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) { emptyPackage_ = emptyPackage_.getUnmodifiableView(); } + if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) { + file_ = java.util.Collections.unmodifiableList(file_); + } try { unknownFieldsCodedOutput.flush(); } catch (java.io.IOException e) { @@ -517,6 +541,41 @@ public final class KlibMetadataProtoBuf { return emptyPackage_.getByteString(index); } + public static final int FILE_FIELD_NUMBER = 9; + private java.util.List file_; + /** + * repeated .org.jetbrains.kotlin.library.metadata.File file = 9; + */ + public java.util.List getFileList() { + return file_; + } + /** + * repeated .org.jetbrains.kotlin.library.metadata.File file = 9; + */ + public java.util.List + getFileOrBuilderList() { + return file_; + } + /** + * repeated .org.jetbrains.kotlin.library.metadata.File file = 9; + */ + public int getFileCount() { + return file_.size(); + } + /** + * repeated .org.jetbrains.kotlin.library.metadata.File file = 9; + */ + public org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File getFile(int index) { + return file_.get(index); + } + /** + * repeated .org.jetbrains.kotlin.library.metadata.File file = 9; + */ + public org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.FileOrBuilder getFileOrBuilder( + int index) { + return file_.get(index); + } + private void initFields() { moduleName_ = ""; flags_ = 0; @@ -525,6 +584,7 @@ public final class KlibMetadataProtoBuf { annotation_ = java.util.Collections.emptyList(); packageFragmentName_ = org.jetbrains.kotlin.protobuf.LazyStringArrayList.EMPTY; emptyPackage_ = org.jetbrains.kotlin.protobuf.LazyStringArrayList.EMPTY; + file_ = java.util.Collections.emptyList(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -548,6 +608,12 @@ public final class KlibMetadataProtoBuf { return false; } } + for (int i = 0; i < getFileCount(); i++) { + if (!getFile(i).isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } memoizedIsInitialized = 1; return true; } @@ -576,6 +642,9 @@ public final class KlibMetadataProtoBuf { for (int i = 0; i < emptyPackage_.size(); i++) { output.writeBytes(8, emptyPackage_.getByteString(i)); } + for (int i = 0; i < file_.size(); i++) { + output.writeMessage(9, file_.get(i)); + } output.writeRawBytes(unknownFields); } @@ -623,6 +692,10 @@ public final class KlibMetadataProtoBuf { size += dataSize; size += 1 * getEmptyPackageList().size(); } + for (int i = 0; i < file_.size(); i++) { + size += org.jetbrains.kotlin.protobuf.CodedOutputStream + .computeMessageSize(9, file_.get(i)); + } size += unknownFields.size(); memoizedSerializedSize = size; return size; @@ -731,6 +804,8 @@ public final class KlibMetadataProtoBuf { bitField0_ = (bitField0_ & ~0x00000020); emptyPackage_ = org.jetbrains.kotlin.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000040); + file_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000080); return this; } @@ -785,6 +860,11 @@ public final class KlibMetadataProtoBuf { bitField0_ = (bitField0_ & ~0x00000040); } result.emptyPackage_ = emptyPackage_; + if (((bitField0_ & 0x00000080) == 0x00000080)) { + file_ = java.util.Collections.unmodifiableList(file_); + bitField0_ = (bitField0_ & ~0x00000080); + } + result.file_ = file_; result.bitField0_ = to_bitField0_; return result; } @@ -834,6 +914,16 @@ public final class KlibMetadataProtoBuf { emptyPackage_.addAll(other.emptyPackage_); } + } + if (!other.file_.isEmpty()) { + if (file_.isEmpty()) { + file_ = other.file_; + bitField0_ = (bitField0_ & ~0x00000080); + } else { + ensureFileIsMutable(); + file_.addAll(other.file_); + } + } setUnknownFields( getUnknownFields().concat(other.unknownFields)); @@ -857,6 +947,12 @@ public final class KlibMetadataProtoBuf { return false; } } + for (int i = 0; i < getFileCount(); i++) { + if (!getFile(i).isInitialized()) { + + return false; + } + } return true; } @@ -1482,6 +1578,131 @@ public final class KlibMetadataProtoBuf { return this; } + private java.util.List file_ = + java.util.Collections.emptyList(); + private void ensureFileIsMutable() { + if (!((bitField0_ & 0x00000080) == 0x00000080)) { + file_ = new java.util.ArrayList(file_); + bitField0_ |= 0x00000080; + } + } + + /** + * repeated .org.jetbrains.kotlin.library.metadata.File file = 9; + */ + public java.util.List getFileList() { + return java.util.Collections.unmodifiableList(file_); + } + /** + * repeated .org.jetbrains.kotlin.library.metadata.File file = 9; + */ + public int getFileCount() { + return file_.size(); + } + /** + * repeated .org.jetbrains.kotlin.library.metadata.File file = 9; + */ + public org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File getFile(int index) { + return file_.get(index); + } + /** + * repeated .org.jetbrains.kotlin.library.metadata.File file = 9; + */ + public Builder setFile( + int index, org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File value) { + if (value == null) { + throw new NullPointerException(); + } + ensureFileIsMutable(); + file_.set(index, value); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.library.metadata.File file = 9; + */ + public Builder setFile( + int index, org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File.Builder builderForValue) { + ensureFileIsMutable(); + file_.set(index, builderForValue.build()); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.library.metadata.File file = 9; + */ + public Builder addFile(org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File value) { + if (value == null) { + throw new NullPointerException(); + } + ensureFileIsMutable(); + file_.add(value); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.library.metadata.File file = 9; + */ + public Builder addFile( + int index, org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File value) { + if (value == null) { + throw new NullPointerException(); + } + ensureFileIsMutable(); + file_.add(index, value); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.library.metadata.File file = 9; + */ + public Builder addFile( + org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File.Builder builderForValue) { + ensureFileIsMutable(); + file_.add(builderForValue.build()); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.library.metadata.File file = 9; + */ + public Builder addFile( + int index, org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File.Builder builderForValue) { + ensureFileIsMutable(); + file_.add(index, builderForValue.build()); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.library.metadata.File file = 9; + */ + public Builder addAllFile( + java.lang.Iterable values) { + ensureFileIsMutable(); + org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll( + values, file_); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.library.metadata.File file = 9; + */ + public Builder clearFile() { + file_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000080); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.library.metadata.File file = 9; + */ + public Builder removeFile(int index) { + ensureFileIsMutable(); + file_.remove(index); + + return this; + } + // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.library.metadata.Header) } @@ -1498,49 +1719,18 @@ public final class KlibMetadataProtoBuf { org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder { /** - * optional int32 id = 1; - * - *
-     * If absent, id is the index of the file in the Files.file list
-     * 
- */ - boolean hasId(); - /** - * optional int32 id = 1; - * - *
-     * If absent, id is the index of the file in the Files.file list
-     * 
- */ - int getId(); - - /** - * required string name = 2; + * required string name = 1; */ boolean hasName(); /** - * required string name = 2; + * required string name = 1; */ java.lang.String getName(); /** - * required string name = 2; + * required string name = 1; */ org.jetbrains.kotlin.protobuf.ByteString getNameBytes(); - - /** - * repeated .org.jetbrains.kotlin.metadata.Annotation annotation = 3; - */ - java.util.List - getAnnotationList(); - /** - * repeated .org.jetbrains.kotlin.metadata.Annotation annotation = 3; - */ - org.jetbrains.kotlin.metadata.ProtoBuf.Annotation getAnnotation(int index); - /** - * repeated .org.jetbrains.kotlin.metadata.Annotation annotation = 3; - */ - int getAnnotationCount(); } /** * Protobuf type {@code org.jetbrains.kotlin.library.metadata.File} @@ -1592,25 +1782,12 @@ public final class KlibMetadataProtoBuf { } break; } - case 8: { - bitField0_ |= 0x00000001; - id_ = input.readInt32(); - break; - } - case 18: { + case 10: { org.jetbrains.kotlin.protobuf.ByteString bs = input.readBytes(); - bitField0_ |= 0x00000002; + bitField0_ |= 0x00000001; name_ = bs; break; } - case 26: { - if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) { - annotation_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000004; - } - annotation_.add(input.readMessage(org.jetbrains.kotlin.metadata.ProtoBuf.Annotation.PARSER, extensionRegistry)); - break; - } } } } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) { @@ -1619,9 +1796,6 @@ public final class KlibMetadataProtoBuf { throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException( e.getMessage()).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) { - annotation_ = java.util.Collections.unmodifiableList(annotation_); - } try { unknownFieldsCodedOutput.flush(); } catch (java.io.IOException e) { @@ -1648,39 +1822,16 @@ public final class KlibMetadataProtoBuf { } private int bitField0_; - public static final int ID_FIELD_NUMBER = 1; - private int id_; + public static final int NAME_FIELD_NUMBER = 1; + private java.lang.Object name_; /** - * optional int32 id = 1; - * - *
-     * If absent, id is the index of the file in the Files.file list
-     * 
+ * required string name = 1; */ - public boolean hasId() { + public boolean hasName() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * optional int32 id = 1; - * - *
-     * If absent, id is the index of the file in the Files.file list
-     * 
- */ - public int getId() { - return id_; - } - - public static final int NAME_FIELD_NUMBER = 2; - private java.lang.Object name_; - /** - * required string name = 2; - */ - public boolean hasName() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * required string name = 2; + * required string name = 1; */ public java.lang.String getName() { java.lang.Object ref = name_; @@ -1697,7 +1848,7 @@ public final class KlibMetadataProtoBuf { } } /** - * required string name = 2; + * required string name = 1; */ public org.jetbrains.kotlin.protobuf.ByteString getNameBytes() { @@ -1713,45 +1864,8 @@ public final class KlibMetadataProtoBuf { } } - public static final int ANNOTATION_FIELD_NUMBER = 3; - private java.util.List annotation_; - /** - * repeated .org.jetbrains.kotlin.metadata.Annotation annotation = 3; - */ - public java.util.List getAnnotationList() { - return annotation_; - } - /** - * repeated .org.jetbrains.kotlin.metadata.Annotation annotation = 3; - */ - public java.util.List - getAnnotationOrBuilderList() { - return annotation_; - } - /** - * repeated .org.jetbrains.kotlin.metadata.Annotation annotation = 3; - */ - public int getAnnotationCount() { - return annotation_.size(); - } - /** - * repeated .org.jetbrains.kotlin.metadata.Annotation annotation = 3; - */ - public org.jetbrains.kotlin.metadata.ProtoBuf.Annotation getAnnotation(int index) { - return annotation_.get(index); - } - /** - * repeated .org.jetbrains.kotlin.metadata.Annotation annotation = 3; - */ - public org.jetbrains.kotlin.metadata.ProtoBuf.AnnotationOrBuilder getAnnotationOrBuilder( - int index) { - return annotation_.get(index); - } - private void initFields() { - id_ = 0; name_ = ""; - annotation_ = java.util.Collections.emptyList(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -1763,12 +1877,6 @@ public final class KlibMetadataProtoBuf { memoizedIsInitialized = 0; return false; } - for (int i = 0; i < getAnnotationCount(); i++) { - if (!getAnnotation(i).isInitialized()) { - memoizedIsInitialized = 0; - return false; - } - } memoizedIsInitialized = 1; return true; } @@ -1777,13 +1885,7 @@ public final class KlibMetadataProtoBuf { throws java.io.IOException { getSerializedSize(); if (((bitField0_ & 0x00000001) == 0x00000001)) { - output.writeInt32(1, id_); - } - if (((bitField0_ & 0x00000002) == 0x00000002)) { - output.writeBytes(2, getNameBytes()); - } - for (int i = 0; i < annotation_.size(); i++) { - output.writeMessage(3, annotation_.get(i)); + output.writeBytes(1, getNameBytes()); } output.writeRawBytes(unknownFields); } @@ -1796,15 +1898,7 @@ public final class KlibMetadataProtoBuf { size = 0; if (((bitField0_ & 0x00000001) == 0x00000001)) { size += org.jetbrains.kotlin.protobuf.CodedOutputStream - .computeInt32Size(1, id_); - } - if (((bitField0_ & 0x00000002) == 0x00000002)) { - size += org.jetbrains.kotlin.protobuf.CodedOutputStream - .computeBytesSize(2, getNameBytes()); - } - for (int i = 0; i < annotation_.size(); i++) { - size += org.jetbrains.kotlin.protobuf.CodedOutputStream - .computeMessageSize(3, annotation_.get(i)); + .computeBytesSize(1, getNameBytes()); } size += unknownFields.size(); memoizedSerializedSize = size; @@ -1900,12 +1994,8 @@ public final class KlibMetadataProtoBuf { public Builder clear() { super.clear(); - id_ = 0; - bitField0_ = (bitField0_ & ~0x00000001); name_ = ""; - bitField0_ = (bitField0_ & ~0x00000002); - annotation_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000001); return this; } @@ -1932,39 +2022,17 @@ public final class KlibMetadataProtoBuf { if (((from_bitField0_ & 0x00000001) == 0x00000001)) { to_bitField0_ |= 0x00000001; } - result.id_ = id_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; - } result.name_ = name_; - if (((bitField0_ & 0x00000004) == 0x00000004)) { - annotation_ = java.util.Collections.unmodifiableList(annotation_); - bitField0_ = (bitField0_ & ~0x00000004); - } - result.annotation_ = annotation_; result.bitField0_ = to_bitField0_; return result; } public Builder mergeFrom(org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File other) { if (other == org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File.getDefaultInstance()) return this; - if (other.hasId()) { - setId(other.getId()); - } if (other.hasName()) { - bitField0_ |= 0x00000002; + bitField0_ |= 0x00000001; name_ = other.name_; - } - if (!other.annotation_.isEmpty()) { - if (annotation_.isEmpty()) { - annotation_ = other.annotation_; - bitField0_ = (bitField0_ & ~0x00000004); - } else { - ensureAnnotationIsMutable(); - annotation_.addAll(other.annotation_); - } - } setUnknownFields( getUnknownFields().concat(other.unknownFields)); @@ -1976,12 +2044,6 @@ public final class KlibMetadataProtoBuf { return false; } - for (int i = 0; i < getAnnotationCount(); i++) { - if (!getAnnotation(i).isInitialized()) { - - return false; - } - } return true; } @@ -2004,63 +2066,15 @@ public final class KlibMetadataProtoBuf { } private int bitField0_; - private int id_ ; + private java.lang.Object name_ = ""; /** - * optional int32 id = 1; - * - *
-       * If absent, id is the index of the file in the Files.file list
-       * 
+ * required string name = 1; */ - public boolean hasId() { + public boolean hasName() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * optional int32 id = 1; - * - *
-       * If absent, id is the index of the file in the Files.file list
-       * 
- */ - public int getId() { - return id_; - } - /** - * optional int32 id = 1; - * - *
-       * If absent, id is the index of the file in the Files.file list
-       * 
- */ - public Builder setId(int value) { - bitField0_ |= 0x00000001; - id_ = value; - - return this; - } - /** - * optional int32 id = 1; - * - *
-       * If absent, id is the index of the file in the Files.file list
-       * 
- */ - public Builder clearId() { - bitField0_ = (bitField0_ & ~0x00000001); - id_ = 0; - - return this; - } - - private java.lang.Object name_ = ""; - /** - * required string name = 2; - */ - public boolean hasName() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * required string name = 2; + * required string name = 1; */ public java.lang.String getName() { java.lang.Object ref = name_; @@ -2077,7 +2091,7 @@ public final class KlibMetadataProtoBuf { } } /** - * required string name = 2; + * required string name = 1; */ public org.jetbrains.kotlin.protobuf.ByteString getNameBytes() { @@ -2093,166 +2107,41 @@ public final class KlibMetadataProtoBuf { } } /** - * required string name = 2; + * required string name = 1; */ public Builder setName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + bitField0_ |= 0x00000001; name_ = value; return this; } /** - * required string name = 2; + * required string name = 1; */ public Builder clearName() { - bitField0_ = (bitField0_ & ~0x00000002); + bitField0_ = (bitField0_ & ~0x00000001); name_ = getDefaultInstance().getName(); return this; } /** - * required string name = 2; + * required string name = 1; */ public Builder setNameBytes( org.jetbrains.kotlin.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + bitField0_ |= 0x00000001; name_ = value; return this; } - private java.util.List annotation_ = - java.util.Collections.emptyList(); - private void ensureAnnotationIsMutable() { - if (!((bitField0_ & 0x00000004) == 0x00000004)) { - annotation_ = new java.util.ArrayList(annotation_); - bitField0_ |= 0x00000004; - } - } - - /** - * repeated .org.jetbrains.kotlin.metadata.Annotation annotation = 3; - */ - public java.util.List getAnnotationList() { - return java.util.Collections.unmodifiableList(annotation_); - } - /** - * repeated .org.jetbrains.kotlin.metadata.Annotation annotation = 3; - */ - public int getAnnotationCount() { - return annotation_.size(); - } - /** - * repeated .org.jetbrains.kotlin.metadata.Annotation annotation = 3; - */ - public org.jetbrains.kotlin.metadata.ProtoBuf.Annotation getAnnotation(int index) { - return annotation_.get(index); - } - /** - * repeated .org.jetbrains.kotlin.metadata.Annotation annotation = 3; - */ - public Builder setAnnotation( - int index, org.jetbrains.kotlin.metadata.ProtoBuf.Annotation value) { - if (value == null) { - throw new NullPointerException(); - } - ensureAnnotationIsMutable(); - annotation_.set(index, value); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.metadata.Annotation annotation = 3; - */ - public Builder setAnnotation( - int index, org.jetbrains.kotlin.metadata.ProtoBuf.Annotation.Builder builderForValue) { - ensureAnnotationIsMutable(); - annotation_.set(index, builderForValue.build()); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.metadata.Annotation annotation = 3; - */ - public Builder addAnnotation(org.jetbrains.kotlin.metadata.ProtoBuf.Annotation value) { - if (value == null) { - throw new NullPointerException(); - } - ensureAnnotationIsMutable(); - annotation_.add(value); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.metadata.Annotation annotation = 3; - */ - public Builder addAnnotation( - int index, org.jetbrains.kotlin.metadata.ProtoBuf.Annotation value) { - if (value == null) { - throw new NullPointerException(); - } - ensureAnnotationIsMutable(); - annotation_.add(index, value); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.metadata.Annotation annotation = 3; - */ - public Builder addAnnotation( - org.jetbrains.kotlin.metadata.ProtoBuf.Annotation.Builder builderForValue) { - ensureAnnotationIsMutable(); - annotation_.add(builderForValue.build()); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.metadata.Annotation annotation = 3; - */ - public Builder addAnnotation( - int index, org.jetbrains.kotlin.metadata.ProtoBuf.Annotation.Builder builderForValue) { - ensureAnnotationIsMutable(); - annotation_.add(index, builderForValue.build()); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.metadata.Annotation annotation = 3; - */ - public Builder addAllAnnotation( - java.lang.Iterable values) { - ensureAnnotationIsMutable(); - org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll( - values, annotation_); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.metadata.Annotation annotation = 3; - */ - public Builder clearAnnotation() { - annotation_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.metadata.Annotation annotation = 3; - */ - public Builder removeAnnotation(int index) { - ensureAnnotationIsMutable(); - annotation_.remove(index); - - return this; - } - // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.library.metadata.File) } @@ -2264,499 +2153,6 @@ public final class KlibMetadataProtoBuf { // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.library.metadata.File) } - public interface FilesOrBuilder extends - // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.library.metadata.Files) - org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder { - - /** - * repeated .org.jetbrains.kotlin.library.metadata.File file = 1; - */ - java.util.List - getFileList(); - /** - * repeated .org.jetbrains.kotlin.library.metadata.File file = 1; - */ - org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File getFile(int index); - /** - * repeated .org.jetbrains.kotlin.library.metadata.File file = 1; - */ - int getFileCount(); - } - /** - * Protobuf type {@code org.jetbrains.kotlin.library.metadata.Files} - */ - public static final class Files extends - org.jetbrains.kotlin.protobuf.GeneratedMessageLite implements - // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.library.metadata.Files) - FilesOrBuilder { - // Use Files.newBuilder() to construct. - private Files(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) { - super(builder); - this.unknownFields = builder.getUnknownFields(); - } - private Files(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;} - - private static final Files defaultInstance; - public static Files getDefaultInstance() { - return defaultInstance; - } - - public Files getDefaultInstanceForType() { - return defaultInstance; - } - - private final org.jetbrains.kotlin.protobuf.ByteString unknownFields; - private Files( - org.jetbrains.kotlin.protobuf.CodedInputStream input, - org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) - throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { - initFields(); - int mutable_bitField0_ = 0; - org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput = - org.jetbrains.kotlin.protobuf.ByteString.newOutput(); - org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput = - org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance( - unknownFieldsOutput); - try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch (tag) { - case 0: - done = true; - break; - default: { - if (!parseUnknownField(input, unknownFieldsCodedOutput, - extensionRegistry, tag)) { - done = true; - } - break; - } - case 10: { - if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) { - file_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - file_.add(input.readMessage(org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File.PARSER, extensionRegistry)); - break; - } - } - } - } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(this); - } catch (java.io.IOException e) { - throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException( - e.getMessage()).setUnfinishedMessage(this); - } finally { - if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) { - file_ = java.util.Collections.unmodifiableList(file_); - } - try { - unknownFieldsCodedOutput.flush(); - } catch (java.io.IOException e) { - // Should not happen - } finally { - unknownFields = unknownFieldsOutput.toByteString(); - } - makeExtensionsImmutable(); - } - } - public static org.jetbrains.kotlin.protobuf.Parser PARSER = - new org.jetbrains.kotlin.protobuf.AbstractParser() { - public Files parsePartialFrom( - org.jetbrains.kotlin.protobuf.CodedInputStream input, - org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) - throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { - return new Files(input, extensionRegistry); - } - }; - - @java.lang.Override - public org.jetbrains.kotlin.protobuf.Parser getParserForType() { - return PARSER; - } - - public static final int FILE_FIELD_NUMBER = 1; - private java.util.List file_; - /** - * repeated .org.jetbrains.kotlin.library.metadata.File file = 1; - */ - public java.util.List getFileList() { - return file_; - } - /** - * repeated .org.jetbrains.kotlin.library.metadata.File file = 1; - */ - public java.util.List - getFileOrBuilderList() { - return file_; - } - /** - * repeated .org.jetbrains.kotlin.library.metadata.File file = 1; - */ - public int getFileCount() { - return file_.size(); - } - /** - * repeated .org.jetbrains.kotlin.library.metadata.File file = 1; - */ - public org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File getFile(int index) { - return file_.get(index); - } - /** - * repeated .org.jetbrains.kotlin.library.metadata.File file = 1; - */ - public org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.FileOrBuilder getFileOrBuilder( - int index) { - return file_.get(index); - } - - private void initFields() { - file_ = java.util.Collections.emptyList(); - } - private byte memoizedIsInitialized = -1; - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - for (int i = 0; i < getFileCount(); i++) { - if (!getFile(i).isInitialized()) { - memoizedIsInitialized = 0; - return false; - } - } - memoizedIsInitialized = 1; - return true; - } - - public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output) - throws java.io.IOException { - getSerializedSize(); - for (int i = 0; i < file_.size(); i++) { - output.writeMessage(1, file_.get(i)); - } - output.writeRawBytes(unknownFields); - } - - private int memoizedSerializedSize = -1; - public int getSerializedSize() { - int size = memoizedSerializedSize; - if (size != -1) return size; - - size = 0; - for (int i = 0; i < file_.size(); i++) { - size += org.jetbrains.kotlin.protobuf.CodedOutputStream - .computeMessageSize(1, file_.get(i)); - } - size += unknownFields.size(); - memoizedSerializedSize = size; - return size; - } - - private static final long serialVersionUID = 0L; - @java.lang.Override - protected java.lang.Object writeReplace() - throws java.io.ObjectStreamException { - return super.writeReplace(); - } - - public static org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files parseFrom( - org.jetbrains.kotlin.protobuf.ByteString data) - throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files parseFrom( - org.jetbrains.kotlin.protobuf.ByteString data, - org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) - throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files parseFrom(byte[] data) - throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data); - } - public static org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files parseFrom( - byte[] data, - org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) - throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { - return PARSER.parseFrom(data, extensionRegistry); - } - public static org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files parseFrom(java.io.InputStream input) - throws java.io.IOException { - return PARSER.parseFrom(input); - } - public static org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files parseFrom( - java.io.InputStream input, - org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return PARSER.parseFrom(input, extensionRegistry); - } - public static org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files parseDelimitedFrom(java.io.InputStream input) - throws java.io.IOException { - return PARSER.parseDelimitedFrom(input); - } - public static org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files parseDelimitedFrom( - java.io.InputStream input, - org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return PARSER.parseDelimitedFrom(input, extensionRegistry); - } - public static org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files parseFrom( - org.jetbrains.kotlin.protobuf.CodedInputStream input) - throws java.io.IOException { - return PARSER.parseFrom(input); - } - public static org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files parseFrom( - org.jetbrains.kotlin.protobuf.CodedInputStream input, - org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - return PARSER.parseFrom(input, extensionRegistry); - } - - public static Builder newBuilder() { return Builder.create(); } - public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder(org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files prototype) { - return newBuilder().mergeFrom(prototype); - } - public Builder toBuilder() { return newBuilder(this); } - - /** - * Protobuf type {@code org.jetbrains.kotlin.library.metadata.Files} - */ - public static final class Builder extends - org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder< - org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files, Builder> - implements - // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.library.metadata.Files) - org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.FilesOrBuilder { - // Construct using org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files.newBuilder() - private Builder() { - maybeForceBuilderInitialization(); - } - - private void maybeForceBuilderInitialization() { - } - private static Builder create() { - return new Builder(); - } - - public Builder clear() { - super.clear(); - file_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - return this; - } - - public Builder clone() { - return create().mergeFrom(buildPartial()); - } - - public org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files getDefaultInstanceForType() { - return org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files.getDefaultInstance(); - } - - public org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files build() { - org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files result = buildPartial(); - if (!result.isInitialized()) { - throw newUninitializedMessageException(result); - } - return result; - } - - public org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files buildPartial() { - org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files result = new org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files(this); - int from_bitField0_ = bitField0_; - if (((bitField0_ & 0x00000001) == 0x00000001)) { - file_ = java.util.Collections.unmodifiableList(file_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.file_ = file_; - return result; - } - - public Builder mergeFrom(org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files other) { - if (other == org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files.getDefaultInstance()) return this; - if (!other.file_.isEmpty()) { - if (file_.isEmpty()) { - file_ = other.file_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureFileIsMutable(); - file_.addAll(other.file_); - } - - } - setUnknownFields( - getUnknownFields().concat(other.unknownFields)); - return this; - } - - public final boolean isInitialized() { - for (int i = 0; i < getFileCount(); i++) { - if (!getFile(i).isInitialized()) { - - return false; - } - } - return true; - } - - public Builder mergeFrom( - org.jetbrains.kotlin.protobuf.CodedInputStream input, - org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files) e.getUnfinishedMessage(); - throw e; - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - private int bitField0_; - - private java.util.List file_ = - java.util.Collections.emptyList(); - private void ensureFileIsMutable() { - if (!((bitField0_ & 0x00000001) == 0x00000001)) { - file_ = new java.util.ArrayList(file_); - bitField0_ |= 0x00000001; - } - } - - /** - * repeated .org.jetbrains.kotlin.library.metadata.File file = 1; - */ - public java.util.List getFileList() { - return java.util.Collections.unmodifiableList(file_); - } - /** - * repeated .org.jetbrains.kotlin.library.metadata.File file = 1; - */ - public int getFileCount() { - return file_.size(); - } - /** - * repeated .org.jetbrains.kotlin.library.metadata.File file = 1; - */ - public org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File getFile(int index) { - return file_.get(index); - } - /** - * repeated .org.jetbrains.kotlin.library.metadata.File file = 1; - */ - public Builder setFile( - int index, org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File value) { - if (value == null) { - throw new NullPointerException(); - } - ensureFileIsMutable(); - file_.set(index, value); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.library.metadata.File file = 1; - */ - public Builder setFile( - int index, org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File.Builder builderForValue) { - ensureFileIsMutable(); - file_.set(index, builderForValue.build()); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.library.metadata.File file = 1; - */ - public Builder addFile(org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File value) { - if (value == null) { - throw new NullPointerException(); - } - ensureFileIsMutable(); - file_.add(value); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.library.metadata.File file = 1; - */ - public Builder addFile( - int index, org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File value) { - if (value == null) { - throw new NullPointerException(); - } - ensureFileIsMutable(); - file_.add(index, value); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.library.metadata.File file = 1; - */ - public Builder addFile( - org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File.Builder builderForValue) { - ensureFileIsMutable(); - file_.add(builderForValue.build()); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.library.metadata.File file = 1; - */ - public Builder addFile( - int index, org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.File.Builder builderForValue) { - ensureFileIsMutable(); - file_.add(index, builderForValue.build()); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.library.metadata.File file = 1; - */ - public Builder addAllFile( - java.lang.Iterable values) { - ensureFileIsMutable(); - org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll( - values, file_); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.library.metadata.File file = 1; - */ - public Builder clearFile() { - file_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.library.metadata.File file = 1; - */ - public Builder removeFile(int index) { - ensureFileIsMutable(); - file_.remove(index); - - return this; - } - - // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.library.metadata.Files) - } - - static { - defaultInstance = new Files(true); - defaultInstance.initFields(); - } - - // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.library.metadata.Files) - } - public interface DescriptorUniqIdOrBuilder extends // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.library.metadata.DescriptorUniqId) org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder { @@ -3421,22 +2817,6 @@ public final class KlibMetadataProtoBuf { org.jetbrains.kotlin.protobuf.WireFormat.FieldType.MESSAGE, false, org.jetbrains.kotlin.metadata.ProtoBuf.Annotation.class); - public static final int VALUE_PARAM_UNIQ_ID_FIELD_NUMBER = 171; - /** - * extend .org.jetbrains.kotlin.metadata.ValueParameter { ... } - */ - public static final - org.jetbrains.kotlin.protobuf.GeneratedMessageLite.GeneratedExtension< - org.jetbrains.kotlin.metadata.ProtoBuf.ValueParameter, - org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.DescriptorUniqId> valueParamUniqId = org.jetbrains.kotlin.protobuf.GeneratedMessageLite - .newSingularGeneratedExtension( - org.jetbrains.kotlin.metadata.ProtoBuf.ValueParameter.getDefaultInstance(), - org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.DescriptorUniqId.getDefaultInstance(), - org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.DescriptorUniqId.getDefaultInstance(), - null, - 171, - org.jetbrains.kotlin.protobuf.WireFormat.FieldType.MESSAGE, - org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.DescriptorUniqId.class); public static final int TYPE_ANNOTATION_FIELD_NUMBER = 170; /** * extend .org.jetbrains.kotlin.metadata.Type { ... } @@ -3492,15 +2872,15 @@ public final class KlibMetadataProtoBuf { public static final org.jetbrains.kotlin.protobuf.GeneratedMessageLite.GeneratedExtension< org.jetbrains.kotlin.metadata.ProtoBuf.PackageFragment, - org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files> packageFragmentFiles = org.jetbrains.kotlin.protobuf.GeneratedMessageLite - .newSingularGeneratedExtension( + java.util.List> packageFragmentFiles = org.jetbrains.kotlin.protobuf.GeneratedMessageLite + .newRepeatedGeneratedExtension( org.jetbrains.kotlin.metadata.ProtoBuf.PackageFragment.getDefaultInstance(), - org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files.getDefaultInstance(), - org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files.getDefaultInstance(), + null, null, 170, - org.jetbrains.kotlin.protobuf.WireFormat.FieldType.MESSAGE, - org.jetbrains.kotlin.library.metadata.KlibMetadataProtoBuf.Files.class); + org.jetbrains.kotlin.protobuf.WireFormat.FieldType.INT32, + false, + java.lang.Integer.class); public static final int IS_EMPTY_FIELD_NUMBER = 172; /** * extend .org.jetbrains.kotlin.metadata.PackageFragment { ... } diff --git a/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinAbiVersion.kt b/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinAbiVersion.kt index 9b306f5e8d5..3ea08d32ca4 100644 --- a/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinAbiVersion.kt +++ b/compiler/util-klib/src/org/jetbrains/kotlin/library/KotlinAbiVersion.kt @@ -22,7 +22,7 @@ fun String.parseKonanAbiVersion(): KotlinAbiVersion { data class KotlinAbiVersion(val version: Int) { companion object { - val CURRENT = KotlinAbiVersion(16) + val CURRENT = KotlinAbiVersion(17) } override fun toString() = "$version" }