diff --git a/build-common/test/org/jetbrains/kotlin/serialization/jvm/DebugJvmPackageTable.java b/build-common/test/org/jetbrains/kotlin/serialization/jvm/DebugJvmPackageTable.java index ca1af3b4371..0da1e91bbca 100644 --- a/build-common/test/org/jetbrains/kotlin/serialization/jvm/DebugJvmPackageTable.java +++ b/build-common/test/org/jetbrains/kotlin/serialization/jvm/DebugJvmPackageTable.java @@ -14,27 +14,91 @@ public final class DebugJvmPackageTable { /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+     * Names of .class files for each package
+     * 
*/ java.util.List getPackagePartsList(); /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+     * Names of .class files for each package
+     * 
*/ org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts getPackageParts(int index); /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+     * Names of .class files for each package
+     * 
*/ int getPackagePartsCount(); /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+     * Names of .class files for each package
+     * 
*/ java.util.List getPackagePartsOrBuilderList(); /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+     * Names of .class files for each package
+     * 
*/ org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackagePartsOrBuilder getPackagePartsOrBuilder( int index); + + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+     * Names of .kotlin_metadata files for each package
+     * 
+ */ + java.util.List + getMetadataPartsList(); + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+     * Names of .kotlin_metadata files for each package
+     * 
+ */ + org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts getMetadataParts(int index); + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+     * Names of .kotlin_metadata files for each package
+     * 
+ */ + int getMetadataPartsCount(); + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+     * Names of .kotlin_metadata files for each package
+     * 
+ */ + java.util.List + getMetadataPartsOrBuilderList(); + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+     * Names of .kotlin_metadata files for each package
+     * 
+ */ + org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackagePartsOrBuilder getMetadataPartsOrBuilder( + int index); } /** * Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.PackageTable} @@ -96,6 +160,14 @@ public final class DebugJvmPackageTable { packageParts_.add(input.readMessage(org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts.PARSER, extensionRegistry)); break; } + case 18: { + if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) { + metadataParts_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000002; + } + metadataParts_.add(input.readMessage(org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts.PARSER, extensionRegistry)); + break; + } } } } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) { @@ -107,6 +179,9 @@ public final class DebugJvmPackageTable { if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) { packageParts_ = java.util.Collections.unmodifiableList(packageParts_); } + if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) { + metadataParts_ = java.util.Collections.unmodifiableList(metadataParts_); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } @@ -142,12 +217,20 @@ public final class DebugJvmPackageTable { private java.util.List packageParts_; /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+     * Names of .class files for each package
+     * 
*/ public java.util.List getPackagePartsList() { return packageParts_; } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+     * Names of .class files for each package
+     * 
*/ public java.util.List getPackagePartsOrBuilderList() { @@ -155,26 +238,94 @@ public final class DebugJvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+     * Names of .class files for each package
+     * 
*/ public int getPackagePartsCount() { return packageParts_.size(); } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+     * Names of .class files for each package
+     * 
*/ public org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts getPackageParts(int index) { return packageParts_.get(index); } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+     * Names of .class files for each package
+     * 
*/ public org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackagePartsOrBuilder getPackagePartsOrBuilder( int index) { return packageParts_.get(index); } + public static final int METADATA_PARTS_FIELD_NUMBER = 2; + private java.util.List metadataParts_; + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+     * Names of .kotlin_metadata files for each package
+     * 
+ */ + public java.util.List getMetadataPartsList() { + return metadataParts_; + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+     * Names of .kotlin_metadata files for each package
+     * 
+ */ + public java.util.List + getMetadataPartsOrBuilderList() { + return metadataParts_; + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+     * Names of .kotlin_metadata files for each package
+     * 
+ */ + public int getMetadataPartsCount() { + return metadataParts_.size(); + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+     * Names of .kotlin_metadata files for each package
+     * 
+ */ + public org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts getMetadataParts(int index) { + return metadataParts_.get(index); + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+     * Names of .kotlin_metadata files for each package
+     * 
+ */ + public org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackagePartsOrBuilder getMetadataPartsOrBuilder( + int index) { + return metadataParts_.get(index); + } + private void initFields() { packageParts_ = java.util.Collections.emptyList(); + metadataParts_ = java.util.Collections.emptyList(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -188,6 +339,12 @@ public final class DebugJvmPackageTable { return false; } } + for (int i = 0; i < getMetadataPartsCount(); i++) { + if (!getMetadataParts(i).isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } memoizedIsInitialized = 1; return true; } @@ -198,6 +355,9 @@ public final class DebugJvmPackageTable { for (int i = 0; i < packageParts_.size(); i++) { output.writeMessage(1, packageParts_.get(i)); } + for (int i = 0; i < metadataParts_.size(); i++) { + output.writeMessage(2, metadataParts_.get(i)); + } getUnknownFields().writeTo(output); } @@ -211,6 +371,10 @@ public final class DebugJvmPackageTable { size += org.jetbrains.kotlin.protobuf.CodedOutputStream .computeMessageSize(1, packageParts_.get(i)); } + for (int i = 0; i < metadataParts_.size(); i++) { + size += org.jetbrains.kotlin.protobuf.CodedOutputStream + .computeMessageSize(2, metadataParts_.get(i)); + } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; return size; @@ -321,6 +485,7 @@ public final class DebugJvmPackageTable { private void maybeForceBuilderInitialization() { if (org.jetbrains.kotlin.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { getPackagePartsFieldBuilder(); + getMetadataPartsFieldBuilder(); } } private static Builder create() { @@ -335,6 +500,12 @@ public final class DebugJvmPackageTable { } else { packagePartsBuilder_.clear(); } + if (metadataPartsBuilder_ == null) { + metadataParts_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + } else { + metadataPartsBuilder_.clear(); + } return this; } @@ -371,6 +542,15 @@ public final class DebugJvmPackageTable { } else { result.packageParts_ = packagePartsBuilder_.build(); } + if (metadataPartsBuilder_ == null) { + if (((bitField0_ & 0x00000002) == 0x00000002)) { + metadataParts_ = java.util.Collections.unmodifiableList(metadataParts_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.metadataParts_ = metadataParts_; + } else { + result.metadataParts_ = metadataPartsBuilder_.build(); + } onBuilt(); return result; } @@ -412,6 +592,32 @@ public final class DebugJvmPackageTable { } } } + if (metadataPartsBuilder_ == null) { + if (!other.metadataParts_.isEmpty()) { + if (metadataParts_.isEmpty()) { + metadataParts_ = other.metadataParts_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureMetadataPartsIsMutable(); + metadataParts_.addAll(other.metadataParts_); + } + onChanged(); + } + } else { + if (!other.metadataParts_.isEmpty()) { + if (metadataPartsBuilder_.isEmpty()) { + metadataPartsBuilder_.dispose(); + metadataPartsBuilder_ = null; + metadataParts_ = other.metadataParts_; + bitField0_ = (bitField0_ & ~0x00000002); + metadataPartsBuilder_ = + org.jetbrains.kotlin.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + getMetadataPartsFieldBuilder() : null; + } else { + metadataPartsBuilder_.addAllMessages(other.metadataParts_); + } + } + } this.mergeUnknownFields(other.getUnknownFields()); return this; } @@ -423,6 +629,12 @@ public final class DebugJvmPackageTable { return false; } } + for (int i = 0; i < getMetadataPartsCount(); i++) { + if (!getMetadataParts(i).isInitialized()) { + + return false; + } + } return true; } @@ -459,6 +671,10 @@ public final class DebugJvmPackageTable { /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public java.util.List getPackagePartsList() { if (packagePartsBuilder_ == null) { @@ -469,6 +685,10 @@ public final class DebugJvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public int getPackagePartsCount() { if (packagePartsBuilder_ == null) { @@ -479,6 +699,10 @@ public final class DebugJvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts getPackageParts(int index) { if (packagePartsBuilder_ == null) { @@ -489,6 +713,10 @@ public final class DebugJvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public Builder setPackageParts( int index, org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts value) { @@ -506,6 +734,10 @@ public final class DebugJvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public Builder setPackageParts( int index, org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts.Builder builderForValue) { @@ -520,6 +752,10 @@ public final class DebugJvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public Builder addPackageParts(org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts value) { if (packagePartsBuilder_ == null) { @@ -536,6 +772,10 @@ public final class DebugJvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public Builder addPackageParts( int index, org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts value) { @@ -553,6 +793,10 @@ public final class DebugJvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public Builder addPackageParts( org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts.Builder builderForValue) { @@ -567,6 +811,10 @@ public final class DebugJvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public Builder addPackageParts( int index, org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts.Builder builderForValue) { @@ -581,6 +829,10 @@ public final class DebugJvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public Builder addAllPackageParts( java.lang.Iterable values) { @@ -596,6 +848,10 @@ public final class DebugJvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public Builder clearPackageParts() { if (packagePartsBuilder_ == null) { @@ -609,6 +865,10 @@ public final class DebugJvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public Builder removePackageParts(int index) { if (packagePartsBuilder_ == null) { @@ -622,6 +882,10 @@ public final class DebugJvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts.Builder getPackagePartsBuilder( int index) { @@ -629,6 +893,10 @@ public final class DebugJvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackagePartsOrBuilder getPackagePartsOrBuilder( int index) { @@ -639,6 +907,10 @@ public final class DebugJvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public java.util.List getPackagePartsOrBuilderList() { @@ -650,6 +922,10 @@ public final class DebugJvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts.Builder addPackagePartsBuilder() { return getPackagePartsFieldBuilder().addBuilder( @@ -657,6 +933,10 @@ public final class DebugJvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts.Builder addPackagePartsBuilder( int index) { @@ -665,6 +945,10 @@ public final class DebugJvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public java.util.List getPackagePartsBuilderList() { @@ -685,6 +969,318 @@ public final class DebugJvmPackageTable { return packagePartsBuilder_; } + private java.util.List metadataParts_ = + java.util.Collections.emptyList(); + private void ensureMetadataPartsIsMutable() { + if (!((bitField0_ & 0x00000002) == 0x00000002)) { + metadataParts_ = new java.util.ArrayList(metadataParts_); + bitField0_ |= 0x00000002; + } + } + + private org.jetbrains.kotlin.protobuf.RepeatedFieldBuilder< + org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts, org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts.Builder, org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackagePartsOrBuilder> metadataPartsBuilder_; + + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public java.util.List getMetadataPartsList() { + if (metadataPartsBuilder_ == null) { + return java.util.Collections.unmodifiableList(metadataParts_); + } else { + return metadataPartsBuilder_.getMessageList(); + } + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public int getMetadataPartsCount() { + if (metadataPartsBuilder_ == null) { + return metadataParts_.size(); + } else { + return metadataPartsBuilder_.getCount(); + } + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts getMetadataParts(int index) { + if (metadataPartsBuilder_ == null) { + return metadataParts_.get(index); + } else { + return metadataPartsBuilder_.getMessage(index); + } + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public Builder setMetadataParts( + int index, org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts value) { + if (metadataPartsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureMetadataPartsIsMutable(); + metadataParts_.set(index, value); + onChanged(); + } else { + metadataPartsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public Builder setMetadataParts( + int index, org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts.Builder builderForValue) { + if (metadataPartsBuilder_ == null) { + ensureMetadataPartsIsMutable(); + metadataParts_.set(index, builderForValue.build()); + onChanged(); + } else { + metadataPartsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public Builder addMetadataParts(org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts value) { + if (metadataPartsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureMetadataPartsIsMutable(); + metadataParts_.add(value); + onChanged(); + } else { + metadataPartsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public Builder addMetadataParts( + int index, org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts value) { + if (metadataPartsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureMetadataPartsIsMutable(); + metadataParts_.add(index, value); + onChanged(); + } else { + metadataPartsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public Builder addMetadataParts( + org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts.Builder builderForValue) { + if (metadataPartsBuilder_ == null) { + ensureMetadataPartsIsMutable(); + metadataParts_.add(builderForValue.build()); + onChanged(); + } else { + metadataPartsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public Builder addMetadataParts( + int index, org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts.Builder builderForValue) { + if (metadataPartsBuilder_ == null) { + ensureMetadataPartsIsMutable(); + metadataParts_.add(index, builderForValue.build()); + onChanged(); + } else { + metadataPartsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public Builder addAllMetadataParts( + java.lang.Iterable values) { + if (metadataPartsBuilder_ == null) { + ensureMetadataPartsIsMutable(); + org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll( + values, metadataParts_); + onChanged(); + } else { + metadataPartsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public Builder clearMetadataParts() { + if (metadataPartsBuilder_ == null) { + metadataParts_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + } else { + metadataPartsBuilder_.clear(); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public Builder removeMetadataParts(int index) { + if (metadataPartsBuilder_ == null) { + ensureMetadataPartsIsMutable(); + metadataParts_.remove(index); + onChanged(); + } else { + metadataPartsBuilder_.remove(index); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts.Builder getMetadataPartsBuilder( + int index) { + return getMetadataPartsFieldBuilder().getBuilder(index); + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackagePartsOrBuilder getMetadataPartsOrBuilder( + int index) { + if (metadataPartsBuilder_ == null) { + return metadataParts_.get(index); } else { + return metadataPartsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public java.util.List + getMetadataPartsOrBuilderList() { + if (metadataPartsBuilder_ != null) { + return metadataPartsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(metadataParts_); + } + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts.Builder addMetadataPartsBuilder() { + return getMetadataPartsFieldBuilder().addBuilder( + org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts.getDefaultInstance()); + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts.Builder addMetadataPartsBuilder( + int index) { + return getMetadataPartsFieldBuilder().addBuilder( + index, org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts.getDefaultInstance()); + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public java.util.List + getMetadataPartsBuilderList() { + return getMetadataPartsFieldBuilder().getBuilderList(); + } + private org.jetbrains.kotlin.protobuf.RepeatedFieldBuilder< + org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts, org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts.Builder, org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackagePartsOrBuilder> + getMetadataPartsFieldBuilder() { + if (metadataPartsBuilder_ == null) { + metadataPartsBuilder_ = new org.jetbrains.kotlin.protobuf.RepeatedFieldBuilder< + org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts, org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackageParts.Builder, org.jetbrains.kotlin.serialization.jvm.DebugJvmPackageTable.PackagePartsOrBuilder>( + metadataParts_, + ((bitField0_ & 0x00000002) == 0x00000002), + getParentForChildren(), + isClean()); + metadataParts_ = null; + } + return metadataPartsBuilder_; + } + // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.jvm.PackageTable) } @@ -716,19 +1312,35 @@ public final class DebugJvmPackageTable { /** * repeated string class_name = 2; + * + *
+     * Short names of files, without extension, present in this package
+     * 
*/ org.jetbrains.kotlin.protobuf.ProtocolStringList getClassNameList(); /** * repeated string class_name = 2; + * + *
+     * Short names of files, without extension, present in this package
+     * 
*/ int getClassNameCount(); /** * repeated string class_name = 2; + * + *
+     * Short names of files, without extension, present in this package
+     * 
*/ java.lang.String getClassName(int index); /** * repeated string class_name = 2; + * + *
+     * Short names of files, without extension, present in this package
+     * 
*/ org.jetbrains.kotlin.protobuf.ByteString getClassNameBytes(int index); @@ -889,6 +1501,10 @@ public final class DebugJvmPackageTable { private org.jetbrains.kotlin.protobuf.LazyStringList className_; /** * repeated string class_name = 2; + * + *
+     * Short names of files, without extension, present in this package
+     * 
*/ public org.jetbrains.kotlin.protobuf.ProtocolStringList getClassNameList() { @@ -896,18 +1512,30 @@ public final class DebugJvmPackageTable { } /** * repeated string class_name = 2; + * + *
+     * Short names of files, without extension, present in this package
+     * 
*/ public int getClassNameCount() { return className_.size(); } /** * repeated string class_name = 2; + * + *
+     * Short names of files, without extension, present in this package
+     * 
*/ public java.lang.String getClassName(int index) { return className_.get(index); } /** * repeated string class_name = 2; + * + *
+     * Short names of files, without extension, present in this package
+     * 
*/ public org.jetbrains.kotlin.protobuf.ByteString getClassNameBytes(int index) { @@ -1268,6 +1896,10 @@ public final class DebugJvmPackageTable { } /** * repeated string class_name = 2; + * + *
+       * Short names of files, without extension, present in this package
+       * 
*/ public org.jetbrains.kotlin.protobuf.ProtocolStringList getClassNameList() { @@ -1275,18 +1907,30 @@ public final class DebugJvmPackageTable { } /** * repeated string class_name = 2; + * + *
+       * Short names of files, without extension, present in this package
+       * 
*/ public int getClassNameCount() { return className_.size(); } /** * repeated string class_name = 2; + * + *
+       * Short names of files, without extension, present in this package
+       * 
*/ public java.lang.String getClassName(int index) { return className_.get(index); } /** * repeated string class_name = 2; + * + *
+       * Short names of files, without extension, present in this package
+       * 
*/ public org.jetbrains.kotlin.protobuf.ByteString getClassNameBytes(int index) { @@ -1294,6 +1938,10 @@ public final class DebugJvmPackageTable { } /** * repeated string class_name = 2; + * + *
+       * Short names of files, without extension, present in this package
+       * 
*/ public Builder setClassName( int index, java.lang.String value) { @@ -1307,6 +1955,10 @@ public final class DebugJvmPackageTable { } /** * repeated string class_name = 2; + * + *
+       * Short names of files, without extension, present in this package
+       * 
*/ public Builder addClassName( java.lang.String value) { @@ -1320,6 +1972,10 @@ public final class DebugJvmPackageTable { } /** * repeated string class_name = 2; + * + *
+       * Short names of files, without extension, present in this package
+       * 
*/ public Builder addAllClassName( java.lang.Iterable values) { @@ -1331,6 +1987,10 @@ public final class DebugJvmPackageTable { } /** * repeated string class_name = 2; + * + *
+       * Short names of files, without extension, present in this package
+       * 
*/ public Builder clearClassName() { className_ = org.jetbrains.kotlin.protobuf.LazyStringArrayList.EMPTY; @@ -1340,6 +2000,10 @@ public final class DebugJvmPackageTable { } /** * repeated string class_name = 2; + * + *
+       * Short names of files, without extension, present in this package
+       * 
*/ public Builder addClassNameBytes( org.jetbrains.kotlin.protobuf.ByteString value) { @@ -1384,12 +2048,13 @@ public final class DebugJvmPackageTable { java.lang.String[] descriptorData = { "\n=core/descriptor.loader.java/src/jvm_pa" + "ckage_table.debug.proto\022&org.jetbrains.k" + - "otlin.serialization.jvm\"[\n\014PackageTable\022" + - "K\n\rpackage_parts\030\001 \003(\01324.org.jetbrains.k" + - "otlin.serialization.jvm.PackageParts\";\n\014" + - "PackageParts\022\027\n\017package_fq_name\030\001 \002(\t\022\022\n" + - "\nclass_name\030\002 \003(\tB\026B\024DebugJvmPackageTabl" + - "e" + "otlin.serialization.jvm\"\251\001\n\014PackageTable" + + "\022K\n\rpackage_parts\030\001 \003(\01324.org.jetbrains." + + "kotlin.serialization.jvm.PackageParts\022L\n" + + "\016metadata_parts\030\002 \003(\01324.org.jetbrains.ko" + + "tlin.serialization.jvm.PackageParts\";\n\014P" + + "ackageParts\022\027\n\017package_fq_name\030\001 \002(\t\022\022\n\n" + + "class_name\030\002 \003(\tB\026B\024DebugJvmPackageTable" }; org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -1408,7 +2073,7 @@ public final class DebugJvmPackageTable { internal_static_org_jetbrains_kotlin_serialization_jvm_PackageTable_fieldAccessorTable = new org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_org_jetbrains_kotlin_serialization_jvm_PackageTable_descriptor, - new java.lang.String[] { "PackageParts", }); + new java.lang.String[] { "PackageParts", "MetadataParts", }); internal_static_org_jetbrains_kotlin_serialization_jvm_PackageParts_descriptor = getDescriptor().getMessageTypes().get(1); internal_static_org_jetbrains_kotlin_serialization_jvm_PackageParts_fieldAccessorTable = new diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/ClassFileFactory.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/ClassFileFactory.java index b91c6f1d96d..ee7d6702a60 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/ClassFileFactory.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/ClassFileFactory.java @@ -19,9 +19,7 @@ package org.jetbrains.kotlin.codegen; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiFile; import com.intellij.util.Function; -import com.intellij.util.SmartList; import com.intellij.util.containers.ContainerUtil; -import com.intellij.util.io.DataOutputStream; import kotlin.collections.CollectionsKt; import kotlin.collections.MapsKt; import kotlin.jvm.functions.Function0; @@ -31,7 +29,6 @@ import org.jetbrains.annotations.TestOnly; import org.jetbrains.kotlin.backend.common.output.OutputFile; import org.jetbrains.kotlin.backend.common.output.OutputFileCollection; import org.jetbrains.kotlin.codegen.state.GenerationState; -import org.jetbrains.kotlin.load.kotlin.JvmMetadataVersion; import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils; import org.jetbrains.kotlin.load.kotlin.PackageParts; import org.jetbrains.kotlin.name.FqName; @@ -40,9 +37,7 @@ import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOrigin; import org.jetbrains.kotlin.serialization.jvm.JvmPackageTable; import org.jetbrains.org.objectweb.asm.Type; -import java.io.ByteArrayOutputStream; import java.io.File; -import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.*; @@ -100,47 +95,28 @@ public class ClassFileFactory implements OutputFileCollection { final JvmPackageTable.PackageTable.Builder builder = JvmPackageTable.PackageTable.newBuilder(); String outputFilePath = getMappingFileName(state.getModuleName()); - List parts = new SmartList(partsGroupedByPackage.values()); - - for (PackageParts part : ClassFileUtilsKt.addCompiledPartsAndSort(parts, state)) { - PackageParts.Companion.serialize(part, builder); + for (PackageParts part : ClassFileUtilsKt.addCompiledPartsAndSort(partsGroupedByPackage.values(), state)) { + part.addTo(builder); } - if (builder.getPackagePartsCount() != 0) { - generators.put(outputFilePath, new OutAndSourceFileList(CollectionsKt.toList(packagePartSourceFiles)) { - @Override - public byte[] asBytes(ClassBuilderFactory factory) { - try { - ByteArrayOutputStream moduleMapping = new ByteArrayOutputStream(4096); - DataOutputStream dataOutStream = new DataOutputStream(moduleMapping); - int[] version = JvmMetadataVersion.INSTANCE.toArray(); - dataOutStream.writeInt(version.length); - for (int number : version) { - dataOutStream.writeInt(number); - } - builder.build().writeTo(dataOutStream); - dataOutStream.flush(); - return moduleMapping.toByteArray(); - } - catch (UnsupportedEncodingException e) { - throw new RuntimeException(e); - } - catch (IOException e) { - throw new RuntimeException(e); - } - } + if (builder.getPackagePartsCount() == 0) return; - @Override - public String asText(ClassBuilderFactory factory) { - try { - return new String(asBytes(factory), "UTF-8"); - } - catch (UnsupportedEncodingException e) { - throw new RuntimeException(e); - } + generators.put(outputFilePath, new OutAndSourceFileList(CollectionsKt.toList(packagePartSourceFiles)) { + @Override + public byte[] asBytes(ClassBuilderFactory factory) { + return ClassFileUtilsKt.serializeToByteArray(builder); + } + + @Override + public String asText(ClassBuilderFactory factory) { + try { + return new String(asBytes(factory), "UTF-8"); } - }); - } + catch (UnsupportedEncodingException e) { + throw new RuntimeException(e); + } + } + }); } @NotNull diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/classFileUtils.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/classFileUtils.kt index ea11f4e1e5a..c0a03150f49 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/classFileUtils.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/classFileUtils.kt @@ -16,10 +16,14 @@ package org.jetbrains.kotlin.codegen +import com.intellij.util.io.DataOutputStream import org.jetbrains.kotlin.backend.common.output.OutputFile import org.jetbrains.kotlin.codegen.state.GenerationState +import org.jetbrains.kotlin.load.kotlin.JvmMetadataVersion import org.jetbrains.kotlin.load.kotlin.ModuleMapping import org.jetbrains.kotlin.load.kotlin.PackageParts +import org.jetbrains.kotlin.serialization.jvm.JvmPackageTable +import java.io.ByteArrayOutputStream fun ClassFileFactory.getClassFiles(): Iterable { return asList().filterClassFiles() @@ -29,12 +33,12 @@ fun List.filterClassFiles(): Iterable { return filter { it.relativePath.endsWith(".class") } } -fun List.addCompiledPartsAndSort(state: GenerationState): List = +fun Iterable.addCompiledPartsAndSort(state: GenerationState): List = addCompiledParts(state).sortedBy { it.packageFqName } -private fun List.addCompiledParts(state: GenerationState): List { - val incrementalCache = state.incrementalCacheForThisTarget ?: return this - val moduleMappingData = incrementalCache.getModuleMappingData() ?: return this +private fun Iterable.addCompiledParts(state: GenerationState): List { + val incrementalCache = state.incrementalCacheForThisTarget ?: return this.toList() + val moduleMappingData = incrementalCache.getModuleMappingData() ?: return this.toList() val mapping = ModuleMapping.create(moduleMappingData, "") @@ -54,3 +58,16 @@ private fun List.addCompiledParts(state: GenerationState): List + \ No newline at end of file diff --git a/compiler/builtins-serializer/src/org/jetbrains/kotlin/serialization/MetadataSerializer.kt b/compiler/builtins-serializer/src/org/jetbrains/kotlin/serialization/MetadataSerializer.kt index 3eb9f1c0d7b..d19f4061976 100644 --- a/compiler/builtins-serializer/src/org/jetbrains/kotlin/serialization/MetadataSerializer.kt +++ b/compiler/builtins-serializer/src/org/jetbrains/kotlin/serialization/MetadataSerializer.kt @@ -24,12 +24,15 @@ import org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment +import org.jetbrains.kotlin.codegen.JvmCodegenUtil +import org.jetbrains.kotlin.codegen.serializeToByteArray import org.jetbrains.kotlin.config.CommonConfigurationKeys import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils +import org.jetbrains.kotlin.load.kotlin.PackageParts import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name @@ -38,6 +41,7 @@ import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf import org.jetbrains.kotlin.serialization.builtins.BuiltInsSerializerExtension +import org.jetbrains.kotlin.serialization.jvm.JvmPackageTable import java.io.ByteArrayOutputStream import java.io.DataOutputStream import java.io.File @@ -72,6 +76,8 @@ open class MetadataSerializer(private val dependOnOldBuiltIns: Boolean) { protected open fun performSerialization( files: Collection, bindingContext: BindingContext, module: ModuleDescriptor, destDir: File ) { + val packageTable = hashMapOf() + for (file in files) { val packageFqName = file.packageFqName val members = arrayListOf() @@ -100,10 +106,24 @@ open class MetadataSerializer(private val dependOnOldBuiltIns: Boolean) { } }) } - // TODO (!): store list of all such files somewhere - val destFile = File(destDir, getPackageFilePath(packageFqName, file.name)) - PackageSerializer(emptyList(), members, packageFqName, destFile).run() + + if (members.isNotEmpty()) { + val destFile = File(destDir, getPackageFilePath(packageFqName, file.name)) + PackageSerializer(emptyList(), members, packageFqName, destFile).run() + + packageTable.getOrPut(packageFqName) { PackageParts(packageFqName.asString()) }.metadataParts.add(destFile.nameWithoutExtension) + } } + + val kotlinModuleFile = File(destDir, JvmCodegenUtil.getMappingFileName(JvmCodegenUtil.getModuleName(module))) + val packageTableBytes = JvmPackageTable.PackageTable.newBuilder().apply { + for (table in packageTable.values) { + table.addTo(this) + } + }.serializeToByteArray() + + kotlinModuleFile.parentFile.mkdirs() + kotlinModuleFile.writeBytes(packageTableBytes) } private fun getPackageFilePath(packageFqName: FqName, fileName: String): String = diff --git a/core/descriptor.loader.java/src/jvm_package_table.proto b/core/descriptor.loader.java/src/jvm_package_table.proto index 7dc49d015be..6c4f5dacefc 100644 --- a/core/descriptor.loader.java/src/jvm_package_table.proto +++ b/core/descriptor.loader.java/src/jvm_package_table.proto @@ -20,10 +20,16 @@ option java_outer_classname = "JvmPackageTable"; option optimize_for = LITE_RUNTIME; message PackageTable { + // Names of .class files for each package repeated PackageParts package_parts = 1; + + // Names of .kotlin_metadata files for each package + repeated PackageParts metadata_parts = 2; } message PackageParts { required string package_fq_name = 1; + + // Short names of files, without extension, present in this package repeated string class_name = 2; } diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/ModuleMapping.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/ModuleMapping.kt index f0d8cfb51f4..e1cb2a4b907 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/ModuleMapping.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/ModuleMapping.kt @@ -66,26 +66,32 @@ class ModuleMapping private constructor(val packageFqName2Parts: Map() + // See JvmPackageTable.PackageTable.metadata_parts + val metadataParts = linkedSetOf() - override fun equals(other: Any?) = - other is PackageParts && other.packageFqName == packageFqName && other.parts == parts - - override fun hashCode() = - packageFqName.hashCode() * 31 + parts.hashCode() - - override fun toString() = - parts.toString() - - companion object { - @JvmStatic - fun PackageParts.serialize(builder: JvmPackageTable.PackageTable.Builder) { - if (this.parts.isNotEmpty()) { - val packageParts = JvmPackageTable.PackageParts.newBuilder() - packageParts.packageFqName = this.packageFqName - packageParts.addAllClassName(this.parts.sorted()) - builder.addPackageParts(packageParts) - } + fun addTo(builder: JvmPackageTable.PackageTable.Builder) { + if (parts.isNotEmpty()) { + builder.addPackageParts(JvmPackageTable.PackageParts.newBuilder().apply { + packageFqName = this@PackageParts.packageFqName + addAllClassName(parts.sorted()) + }) + } + if (metadataParts.isNotEmpty()) { + builder.addMetadataParts(JvmPackageTable.PackageParts.newBuilder().apply { + packageFqName = this@PackageParts.packageFqName + addAllClassName(metadataParts.sorted()) + }) } } + + override fun equals(other: Any?) = + other is PackageParts && other.packageFqName == packageFqName && other.parts == parts && other.metadataParts == metadataParts + + override fun hashCode() = + (packageFqName.hashCode() * 31 + parts.hashCode()) * 31 + metadataParts.hashCode() + + override fun toString() = + (parts + metadataParts).toString() } diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/serialization/jvm/JvmPackageTable.java b/core/descriptor.loader.java/src/org/jetbrains/kotlin/serialization/jvm/JvmPackageTable.java index e1a7a391816..df4ed62cee1 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/serialization/jvm/JvmPackageTable.java +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/serialization/jvm/JvmPackageTable.java @@ -14,17 +14,55 @@ public final class JvmPackageTable { /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+     * Names of .class files for each package
+     * 
*/ java.util.List getPackagePartsList(); /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+     * Names of .class files for each package
+     * 
*/ org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackageParts getPackageParts(int index); /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+     * Names of .class files for each package
+     * 
*/ int getPackagePartsCount(); + + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+     * Names of .kotlin_metadata files for each package
+     * 
+ */ + java.util.List + getMetadataPartsList(); + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+     * Names of .kotlin_metadata files for each package
+     * 
+ */ + org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackageParts getMetadataParts(int index); + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+     * Names of .kotlin_metadata files for each package
+     * 
+ */ + int getMetadataPartsCount(); } /** * Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.PackageTable} @@ -84,6 +122,14 @@ public final class JvmPackageTable { packageParts_.add(input.readMessage(org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackageParts.PARSER, extensionRegistry)); break; } + case 18: { + if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) { + metadataParts_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000002; + } + metadataParts_.add(input.readMessage(org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackageParts.PARSER, extensionRegistry)); + break; + } } } } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) { @@ -95,6 +141,9 @@ public final class JvmPackageTable { if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) { packageParts_ = java.util.Collections.unmodifiableList(packageParts_); } + if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) { + metadataParts_ = java.util.Collections.unmodifiableList(metadataParts_); + } try { unknownFieldsCodedOutput.flush(); } catch (java.io.IOException e) { @@ -124,12 +173,20 @@ public final class JvmPackageTable { private java.util.List packageParts_; /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+     * Names of .class files for each package
+     * 
*/ public java.util.List getPackagePartsList() { return packageParts_; } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+     * Names of .class files for each package
+     * 
*/ public java.util.List getPackagePartsOrBuilderList() { @@ -137,26 +194,94 @@ public final class JvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+     * Names of .class files for each package
+     * 
*/ public int getPackagePartsCount() { return packageParts_.size(); } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+     * Names of .class files for each package
+     * 
*/ public org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackageParts getPackageParts(int index) { return packageParts_.get(index); } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+     * Names of .class files for each package
+     * 
*/ public org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackagePartsOrBuilder getPackagePartsOrBuilder( int index) { return packageParts_.get(index); } + public static final int METADATA_PARTS_FIELD_NUMBER = 2; + private java.util.List metadataParts_; + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+     * Names of .kotlin_metadata files for each package
+     * 
+ */ + public java.util.List getMetadataPartsList() { + return metadataParts_; + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+     * Names of .kotlin_metadata files for each package
+     * 
+ */ + public java.util.List + getMetadataPartsOrBuilderList() { + return metadataParts_; + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+     * Names of .kotlin_metadata files for each package
+     * 
+ */ + public int getMetadataPartsCount() { + return metadataParts_.size(); + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+     * Names of .kotlin_metadata files for each package
+     * 
+ */ + public org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackageParts getMetadataParts(int index) { + return metadataParts_.get(index); + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+     * Names of .kotlin_metadata files for each package
+     * 
+ */ + public org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackagePartsOrBuilder getMetadataPartsOrBuilder( + int index) { + return metadataParts_.get(index); + } + private void initFields() { packageParts_ = java.util.Collections.emptyList(); + metadataParts_ = java.util.Collections.emptyList(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -170,6 +295,12 @@ public final class JvmPackageTable { return false; } } + for (int i = 0; i < getMetadataPartsCount(); i++) { + if (!getMetadataParts(i).isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } memoizedIsInitialized = 1; return true; } @@ -180,6 +311,9 @@ public final class JvmPackageTable { for (int i = 0; i < packageParts_.size(); i++) { output.writeMessage(1, packageParts_.get(i)); } + for (int i = 0; i < metadataParts_.size(); i++) { + output.writeMessage(2, metadataParts_.get(i)); + } output.writeRawBytes(unknownFields); } @@ -193,6 +327,10 @@ public final class JvmPackageTable { size += org.jetbrains.kotlin.protobuf.CodedOutputStream .computeMessageSize(1, packageParts_.get(i)); } + for (int i = 0; i < metadataParts_.size(); i++) { + size += org.jetbrains.kotlin.protobuf.CodedOutputStream + .computeMessageSize(2, metadataParts_.get(i)); + } size += unknownFields.size(); memoizedSerializedSize = size; return size; @@ -289,6 +427,8 @@ public final class JvmPackageTable { super.clear(); packageParts_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); + metadataParts_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); return this; } @@ -316,6 +456,11 @@ public final class JvmPackageTable { bitField0_ = (bitField0_ & ~0x00000001); } result.packageParts_ = packageParts_; + if (((bitField0_ & 0x00000002) == 0x00000002)) { + metadataParts_ = java.util.Collections.unmodifiableList(metadataParts_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.metadataParts_ = metadataParts_; return result; } @@ -330,6 +475,16 @@ public final class JvmPackageTable { packageParts_.addAll(other.packageParts_); } + } + if (!other.metadataParts_.isEmpty()) { + if (metadataParts_.isEmpty()) { + metadataParts_ = other.metadataParts_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureMetadataPartsIsMutable(); + metadataParts_.addAll(other.metadataParts_); + } + } setUnknownFields( getUnknownFields().concat(other.unknownFields)); @@ -343,6 +498,12 @@ public final class JvmPackageTable { return false; } } + for (int i = 0; i < getMetadataPartsCount(); i++) { + if (!getMetadataParts(i).isInitialized()) { + + return false; + } + } return true; } @@ -376,24 +537,40 @@ public final class JvmPackageTable { /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public java.util.List getPackagePartsList() { return java.util.Collections.unmodifiableList(packageParts_); } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public int getPackagePartsCount() { return packageParts_.size(); } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackageParts getPackageParts(int index) { return packageParts_.get(index); } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public Builder setPackageParts( int index, org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackageParts value) { @@ -407,6 +584,10 @@ public final class JvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public Builder setPackageParts( int index, org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackageParts.Builder builderForValue) { @@ -417,6 +598,10 @@ public final class JvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public Builder addPackageParts(org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackageParts value) { if (value == null) { @@ -429,6 +614,10 @@ public final class JvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public Builder addPackageParts( int index, org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackageParts value) { @@ -442,6 +631,10 @@ public final class JvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public Builder addPackageParts( org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackageParts.Builder builderForValue) { @@ -452,6 +645,10 @@ public final class JvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public Builder addPackageParts( int index, org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackageParts.Builder builderForValue) { @@ -462,6 +659,10 @@ public final class JvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public Builder addAllPackageParts( java.lang.Iterable values) { @@ -473,6 +674,10 @@ public final class JvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public Builder clearPackageParts() { packageParts_ = java.util.Collections.emptyList(); @@ -482,6 +687,10 @@ public final class JvmPackageTable { } /** * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts package_parts = 1; + * + *
+       * Names of .class files for each package
+       * 
*/ public Builder removePackageParts(int index) { ensurePackagePartsIsMutable(); @@ -490,6 +699,179 @@ public final class JvmPackageTable { return this; } + private java.util.List metadataParts_ = + java.util.Collections.emptyList(); + private void ensureMetadataPartsIsMutable() { + if (!((bitField0_ & 0x00000002) == 0x00000002)) { + metadataParts_ = new java.util.ArrayList(metadataParts_); + bitField0_ |= 0x00000002; + } + } + + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public java.util.List getMetadataPartsList() { + return java.util.Collections.unmodifiableList(metadataParts_); + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public int getMetadataPartsCount() { + return metadataParts_.size(); + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackageParts getMetadataParts(int index) { + return metadataParts_.get(index); + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public Builder setMetadataParts( + int index, org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackageParts value) { + if (value == null) { + throw new NullPointerException(); + } + ensureMetadataPartsIsMutable(); + metadataParts_.set(index, value); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public Builder setMetadataParts( + int index, org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackageParts.Builder builderForValue) { + ensureMetadataPartsIsMutable(); + metadataParts_.set(index, builderForValue.build()); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public Builder addMetadataParts(org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackageParts value) { + if (value == null) { + throw new NullPointerException(); + } + ensureMetadataPartsIsMutable(); + metadataParts_.add(value); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public Builder addMetadataParts( + int index, org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackageParts value) { + if (value == null) { + throw new NullPointerException(); + } + ensureMetadataPartsIsMutable(); + metadataParts_.add(index, value); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public Builder addMetadataParts( + org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackageParts.Builder builderForValue) { + ensureMetadataPartsIsMutable(); + metadataParts_.add(builderForValue.build()); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public Builder addMetadataParts( + int index, org.jetbrains.kotlin.serialization.jvm.JvmPackageTable.PackageParts.Builder builderForValue) { + ensureMetadataPartsIsMutable(); + metadataParts_.add(index, builderForValue.build()); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public Builder addAllMetadataParts( + java.lang.Iterable values) { + ensureMetadataPartsIsMutable(); + org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll( + values, metadataParts_); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public Builder clearMetadataParts() { + metadataParts_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.jvm.PackageParts metadata_parts = 2; + * + *
+       * Names of .kotlin_metadata files for each package
+       * 
+ */ + public Builder removeMetadataParts(int index) { + ensureMetadataPartsIsMutable(); + metadataParts_.remove(index); + + return this; + } + // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.jvm.PackageTable) } @@ -521,19 +903,35 @@ public final class JvmPackageTable { /** * repeated string class_name = 2; + * + *
+     * Short names of files, without extension, present in this package
+     * 
*/ org.jetbrains.kotlin.protobuf.ProtocolStringList getClassNameList(); /** * repeated string class_name = 2; + * + *
+     * Short names of files, without extension, present in this package
+     * 
*/ int getClassNameCount(); /** * repeated string class_name = 2; + * + *
+     * Short names of files, without extension, present in this package
+     * 
*/ java.lang.String getClassName(int index); /** * repeated string class_name = 2; + * + *
+     * Short names of files, without extension, present in this package
+     * 
*/ org.jetbrains.kotlin.protobuf.ByteString getClassNameBytes(int index); @@ -686,6 +1084,10 @@ public final class JvmPackageTable { private org.jetbrains.kotlin.protobuf.LazyStringList className_; /** * repeated string class_name = 2; + * + *
+     * Short names of files, without extension, present in this package
+     * 
*/ public org.jetbrains.kotlin.protobuf.ProtocolStringList getClassNameList() { @@ -693,18 +1095,30 @@ public final class JvmPackageTable { } /** * repeated string class_name = 2; + * + *
+     * Short names of files, without extension, present in this package
+     * 
*/ public int getClassNameCount() { return className_.size(); } /** * repeated string class_name = 2; + * + *
+     * Short names of files, without extension, present in this package
+     * 
*/ public java.lang.String getClassName(int index) { return className_.get(index); } /** * repeated string class_name = 2; + * + *
+     * Short names of files, without extension, present in this package
+     * 
*/ public org.jetbrains.kotlin.protobuf.ByteString getClassNameBytes(int index) { @@ -1028,6 +1442,10 @@ public final class JvmPackageTable { } /** * repeated string class_name = 2; + * + *
+       * Short names of files, without extension, present in this package
+       * 
*/ public org.jetbrains.kotlin.protobuf.ProtocolStringList getClassNameList() { @@ -1035,18 +1453,30 @@ public final class JvmPackageTable { } /** * repeated string class_name = 2; + * + *
+       * Short names of files, without extension, present in this package
+       * 
*/ public int getClassNameCount() { return className_.size(); } /** * repeated string class_name = 2; + * + *
+       * Short names of files, without extension, present in this package
+       * 
*/ public java.lang.String getClassName(int index) { return className_.get(index); } /** * repeated string class_name = 2; + * + *
+       * Short names of files, without extension, present in this package
+       * 
*/ public org.jetbrains.kotlin.protobuf.ByteString getClassNameBytes(int index) { @@ -1054,6 +1484,10 @@ public final class JvmPackageTable { } /** * repeated string class_name = 2; + * + *
+       * Short names of files, without extension, present in this package
+       * 
*/ public Builder setClassName( int index, java.lang.String value) { @@ -1067,6 +1501,10 @@ public final class JvmPackageTable { } /** * repeated string class_name = 2; + * + *
+       * Short names of files, without extension, present in this package
+       * 
*/ public Builder addClassName( java.lang.String value) { @@ -1080,6 +1518,10 @@ public final class JvmPackageTable { } /** * repeated string class_name = 2; + * + *
+       * Short names of files, without extension, present in this package
+       * 
*/ public Builder addAllClassName( java.lang.Iterable values) { @@ -1091,6 +1533,10 @@ public final class JvmPackageTable { } /** * repeated string class_name = 2; + * + *
+       * Short names of files, without extension, present in this package
+       * 
*/ public Builder clearClassName() { className_ = org.jetbrains.kotlin.protobuf.LazyStringArrayList.EMPTY; @@ -1100,6 +1546,10 @@ public final class JvmPackageTable { } /** * repeated string class_name = 2; + * + *
+       * Short names of files, without extension, present in this package
+       * 
*/ public Builder addClassNameBytes( org.jetbrains.kotlin.protobuf.ByteString value) {