diff --git a/build-common/test/org/jetbrains/kotlin/serialization/js/DebugJsProtoBuf.java b/build-common/test/org/jetbrains/kotlin/serialization/js/DebugJsProtoBuf.java index 193d2437993..7d18e79637e 100644 --- a/build-common/test/org/jetbrains/kotlin/serialization/js/DebugJsProtoBuf.java +++ b/build-common/test/org/jetbrains/kotlin/serialization/js/DebugJsProtoBuf.java @@ -7,6 +7,7 @@ public final class DebugJsProtoBuf { private DebugJsProtoBuf() {} public static void registerAllExtensions( org.jetbrains.kotlin.protobuf.ExtensionRegistry registry) { + registry.add(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.packageFqName); registry.add(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.classAnnotation); registry.add(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.classContainingFileId); registry.add(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.constructorAnnotation); @@ -2023,38 +2024,38 @@ public final class DebugJsProtoBuf { org.jetbrains.kotlin.protobuf.MessageOrBuilder { /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - java.util.List - getEntryList(); - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry getEntry(int index); - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - int getEntryCount(); - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - java.util.List - getEntryOrBuilderList(); - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntryOrBuilder getEntryOrBuilder( - int index); - - /** - * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 2 [default = PLAIN]; + * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 1 [default = PLAIN]; */ boolean hasKind(); /** - * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 2 [default = PLAIN]; + * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 1 [default = PLAIN]; */ org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Kind getKind(); + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + java.util.List + getPartList(); + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part getPart(int index); + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + int getPartCount(); + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + java.util.List + getPartOrBuilderList(); + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.PartOrBuilder getPartOrBuilder( + int index); + /** * repeated string imported_module = 3; */ @@ -2126,25 +2127,25 @@ public final class DebugJsProtoBuf { } break; } - case 10: { - if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) { - entry_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - entry_.add(input.readMessage(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry.PARSER, extensionRegistry)); - break; - } - case 16: { + case 8: { int rawValue = input.readEnum(); org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Kind value = org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Kind.valueOf(rawValue); if (value == null) { - unknownFields.mergeVarintField(2, rawValue); + unknownFields.mergeVarintField(1, rawValue); } else { bitField0_ |= 0x00000001; kind_ = value; } break; } + case 18: { + if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) { + part_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000002; + } + part_.add(input.readMessage(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part.PARSER, extensionRegistry)); + break; + } case 26: { org.jetbrains.kotlin.protobuf.ByteString bs = input.readBytes(); if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) { @@ -2162,8 +2163,8 @@ public final class DebugJsProtoBuf { throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException( e.getMessage()).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) { - entry_ = java.util.Collections.unmodifiableList(entry_); + if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) { + part_ = java.util.Collections.unmodifiableList(part_); } if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) { importedModule_ = importedModule_.getUnmodifiableView(); @@ -2299,53 +2300,111 @@ public final class DebugJsProtoBuf { // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.js.Library.Kind) } - public interface FileEntryOrBuilder extends - // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.js.Library.FileEntry) + public interface PartOrBuilder extends + // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.js.Library.Part) org.jetbrains.kotlin.protobuf.MessageOrBuilder { /** - * required string path = 1; + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; */ - boolean hasPath(); + boolean hasStrings(); /** - * required string path = 1; + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; */ - java.lang.String getPath(); + org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable getStrings(); /** - * required string path = 1; + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; */ - org.jetbrains.kotlin.protobuf.ByteString - getPathBytes(); + org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTableOrBuilder getStringsOrBuilder(); /** - * required bytes content = 2; + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; */ - boolean hasContent(); + boolean hasQualifiedNames(); /** - * required bytes content = 2; + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; */ - org.jetbrains.kotlin.protobuf.ByteString getContent(); + org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable getQualifiedNames(); + /** + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; + */ + org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTableOrBuilder getQualifiedNamesOrBuilder(); + + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + boolean hasPackage(); + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + org.jetbrains.kotlin.serialization.DebugProtoBuf.Package getPackage(); + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + org.jetbrains.kotlin.serialization.DebugProtoBuf.PackageOrBuilder getPackageOrBuilder(); + + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + java.util.List + getClass_List(); + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + org.jetbrains.kotlin.serialization.DebugProtoBuf.Class getClass_(int index); + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + int getClass_Count(); + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + java.util.List + getClass_OrBuilderList(); + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + org.jetbrains.kotlin.serialization.DebugProtoBuf.ClassOrBuilder getClass_OrBuilder( + int index); + + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + boolean hasFiles(); + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files getFiles(); + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.FilesOrBuilder getFilesOrBuilder(); } /** - * Protobuf type {@code org.jetbrains.kotlin.serialization.js.Library.FileEntry} + * Protobuf type {@code org.jetbrains.kotlin.serialization.js.Library.Part} + * + *
+     * This is a copy of BuiltIns in builtins.proto
+     * TODO: combine the two
+     * 
*/ - public static final class FileEntry extends + public static final class Part extends org.jetbrains.kotlin.protobuf.GeneratedMessage implements - // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.js.Library.FileEntry) - FileEntryOrBuilder { - // Use FileEntry.newBuilder() to construct. - private FileEntry(org.jetbrains.kotlin.protobuf.GeneratedMessage.Builder builder) { + // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.js.Library.Part) + PartOrBuilder { + // Use Part.newBuilder() to construct. + private Part(org.jetbrains.kotlin.protobuf.GeneratedMessage.Builder builder) { super(builder); this.unknownFields = builder.getUnknownFields(); } - private FileEntry(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.UnknownFieldSet.getDefaultInstance(); } + private Part(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.UnknownFieldSet.getDefaultInstance(); } - private static final FileEntry defaultInstance; - public static FileEntry getDefaultInstance() { + private static final Part defaultInstance; + public static Part getDefaultInstance() { return defaultInstance; } - public FileEntry getDefaultInstanceForType() { + public Part getDefaultInstanceForType() { return defaultInstance; } @@ -2355,7 +2414,7 @@ public final class DebugJsProtoBuf { getUnknownFields() { return this.unknownFields; } - private FileEntry( + private Part( org.jetbrains.kotlin.protobuf.CodedInputStream input, org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { @@ -2379,14 +2438,63 @@ public final class DebugJsProtoBuf { break; } case 10: { - org.jetbrains.kotlin.protobuf.ByteString bs = input.readBytes(); + org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable.Builder subBuilder = null; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + subBuilder = strings_.toBuilder(); + } + strings_ = input.readMessage(org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(strings_); + strings_ = subBuilder.buildPartial(); + } bitField0_ |= 0x00000001; - path_ = bs; break; } case 18: { + org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable.Builder subBuilder = null; + if (((bitField0_ & 0x00000002) == 0x00000002)) { + subBuilder = qualifiedNames_.toBuilder(); + } + qualifiedNames_ = input.readMessage(org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(qualifiedNames_); + qualifiedNames_ = subBuilder.buildPartial(); + } bitField0_ |= 0x00000002; - content_ = input.readBytes(); + break; + } + case 26: { + org.jetbrains.kotlin.serialization.DebugProtoBuf.Package.Builder subBuilder = null; + if (((bitField0_ & 0x00000004) == 0x00000004)) { + subBuilder = package_.toBuilder(); + } + package_ = input.readMessage(org.jetbrains.kotlin.serialization.DebugProtoBuf.Package.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(package_); + package_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000004; + break; + } + case 34: { + if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) { + class__ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000008; + } + class__.add(input.readMessage(org.jetbrains.kotlin.serialization.DebugProtoBuf.Class.PARSER, extensionRegistry)); + break; + } + case 1042: { + org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files.Builder subBuilder = null; + if (((bitField0_ & 0x00000008) == 0x00000008)) { + subBuilder = files_.toBuilder(); + } + files_ = input.readMessage(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(files_); + files_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000008; break; } } @@ -2397,98 +2505,166 @@ public final class DebugJsProtoBuf { throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException( e.getMessage()).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) { + class__ = java.util.Collections.unmodifiableList(class__); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final org.jetbrains.kotlin.protobuf.Descriptors.Descriptor getDescriptor() { - return org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.internal_static_org_jetbrains_kotlin_serialization_js_Library_FileEntry_descriptor; + return org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.internal_static_org_jetbrains_kotlin_serialization_js_Library_Part_descriptor; } protected org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.internal_static_org_jetbrains_kotlin_serialization_js_Library_FileEntry_fieldAccessorTable + return org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.internal_static_org_jetbrains_kotlin_serialization_js_Library_Part_fieldAccessorTable .ensureFieldAccessorsInitialized( - org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry.class, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry.Builder.class); + org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part.class, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part.Builder.class); } - public static org.jetbrains.kotlin.protobuf.Parser PARSER = - new org.jetbrains.kotlin.protobuf.AbstractParser() { - public FileEntry parsePartialFrom( + public static org.jetbrains.kotlin.protobuf.Parser PARSER = + new org.jetbrains.kotlin.protobuf.AbstractParser() { + public Part parsePartialFrom( org.jetbrains.kotlin.protobuf.CodedInputStream input, org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { - return new FileEntry(input, extensionRegistry); + return new Part(input, extensionRegistry); } }; @java.lang.Override - public org.jetbrains.kotlin.protobuf.Parser getParserForType() { + public org.jetbrains.kotlin.protobuf.Parser getParserForType() { return PARSER; } private int bitField0_; - public static final int PATH_FIELD_NUMBER = 1; - private java.lang.Object path_; + public static final int STRINGS_FIELD_NUMBER = 1; + private org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable strings_; /** - * required string path = 1; + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; */ - public boolean hasPath() { + public boolean hasStrings() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required string path = 1; + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; */ - public java.lang.String getPath() { - java.lang.Object ref = path_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - org.jetbrains.kotlin.protobuf.ByteString bs = - (org.jetbrains.kotlin.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - path_ = s; - } - return s; - } + public org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable getStrings() { + return strings_; } /** - * required string path = 1; + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; */ - public org.jetbrains.kotlin.protobuf.ByteString - getPathBytes() { - java.lang.Object ref = path_; - if (ref instanceof java.lang.String) { - org.jetbrains.kotlin.protobuf.ByteString b = - org.jetbrains.kotlin.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - path_ = b; - return b; - } else { - return (org.jetbrains.kotlin.protobuf.ByteString) ref; - } + public org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTableOrBuilder getStringsOrBuilder() { + return strings_; } - public static final int CONTENT_FIELD_NUMBER = 2; - private org.jetbrains.kotlin.protobuf.ByteString content_; + public static final int QUALIFIED_NAMES_FIELD_NUMBER = 2; + private org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable qualifiedNames_; /** - * required bytes content = 2; + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; */ - public boolean hasContent() { + public boolean hasQualifiedNames() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * required bytes content = 2; + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; */ - public org.jetbrains.kotlin.protobuf.ByteString getContent() { - return content_; + public org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable getQualifiedNames() { + return qualifiedNames_; + } + /** + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; + */ + public org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTableOrBuilder getQualifiedNamesOrBuilder() { + return qualifiedNames_; + } + + public static final int PACKAGE_FIELD_NUMBER = 3; + private org.jetbrains.kotlin.serialization.DebugProtoBuf.Package package_; + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + public boolean hasPackage() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + public org.jetbrains.kotlin.serialization.DebugProtoBuf.Package getPackage() { + return package_; + } + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + public org.jetbrains.kotlin.serialization.DebugProtoBuf.PackageOrBuilder getPackageOrBuilder() { + return package_; + } + + public static final int CLASS_FIELD_NUMBER = 4; + private java.util.List class__; + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public java.util.List getClass_List() { + return class__; + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public java.util.List + getClass_OrBuilderList() { + return class__; + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public int getClass_Count() { + return class__.size(); + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public org.jetbrains.kotlin.serialization.DebugProtoBuf.Class getClass_(int index) { + return class__.get(index); + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public org.jetbrains.kotlin.serialization.DebugProtoBuf.ClassOrBuilder getClass_OrBuilder( + int index) { + return class__.get(index); + } + + public static final int FILES_FIELD_NUMBER = 130; + private org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files files_; + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + public boolean hasFiles() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files getFiles() { + return files_; + } + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.FilesOrBuilder getFilesOrBuilder() { + return files_; } private void initFields() { - path_ = ""; - content_ = org.jetbrains.kotlin.protobuf.ByteString.EMPTY; + strings_ = org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable.getDefaultInstance(); + qualifiedNames_ = org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable.getDefaultInstance(); + package_ = org.jetbrains.kotlin.serialization.DebugProtoBuf.Package.getDefaultInstance(); + class__ = java.util.Collections.emptyList(); + files_ = org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files.getDefaultInstance(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -2496,13 +2672,29 @@ public final class DebugJsProtoBuf { if (isInitialized == 1) return true; if (isInitialized == 0) return false; - if (!hasPath()) { - memoizedIsInitialized = 0; - return false; + if (hasQualifiedNames()) { + if (!getQualifiedNames().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } } - if (!hasContent()) { - memoizedIsInitialized = 0; - return false; + if (hasPackage()) { + if (!getPackage().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + for (int i = 0; i < getClass_Count(); i++) { + if (!getClass_(i).isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasFiles()) { + if (!getFiles().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } } memoizedIsInitialized = 1; return true; @@ -2512,10 +2704,19 @@ public final class DebugJsProtoBuf { throws java.io.IOException { getSerializedSize(); if (((bitField0_ & 0x00000001) == 0x00000001)) { - output.writeBytes(1, getPathBytes()); + output.writeMessage(1, strings_); } if (((bitField0_ & 0x00000002) == 0x00000002)) { - output.writeBytes(2, content_); + output.writeMessage(2, qualifiedNames_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeMessage(3, package_); + } + for (int i = 0; i < class__.size(); i++) { + output.writeMessage(4, class__.get(i)); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeMessage(130, files_); } getUnknownFields().writeTo(output); } @@ -2528,11 +2729,23 @@ public final class DebugJsProtoBuf { size = 0; if (((bitField0_ & 0x00000001) == 0x00000001)) { size += org.jetbrains.kotlin.protobuf.CodedOutputStream - .computeBytesSize(1, getPathBytes()); + .computeMessageSize(1, strings_); } if (((bitField0_ & 0x00000002) == 0x00000002)) { size += org.jetbrains.kotlin.protobuf.CodedOutputStream - .computeBytesSize(2, content_); + .computeMessageSize(2, qualifiedNames_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += org.jetbrains.kotlin.protobuf.CodedOutputStream + .computeMessageSize(3, package_); + } + for (int i = 0; i < class__.size(); i++) { + size += org.jetbrains.kotlin.protobuf.CodedOutputStream + .computeMessageSize(4, class__.get(i)); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + size += org.jetbrains.kotlin.protobuf.CodedOutputStream + .computeMessageSize(130, files_); } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; @@ -2546,53 +2759,53 @@ public final class DebugJsProtoBuf { return super.writeReplace(); } - public static org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry parseFrom( + public static org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part parseFrom( org.jetbrains.kotlin.protobuf.ByteString data) throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry parseFrom( + public static org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part 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.serialization.js.DebugJsProtoBuf.Library.FileEntry parseFrom(byte[] data) + public static org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part parseFrom(byte[] data) throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry parseFrom( + public static org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part 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.serialization.js.DebugJsProtoBuf.Library.FileEntry parseFrom(java.io.InputStream input) + public static org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part parseFrom(java.io.InputStream input) throws java.io.IOException { return PARSER.parseFrom(input); } - public static org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry parseFrom( + public static org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part 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.serialization.js.DebugJsProtoBuf.Library.FileEntry parseDelimitedFrom(java.io.InputStream input) + public static org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return PARSER.parseDelimitedFrom(input); } - public static org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry parseDelimitedFrom( + public static org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part 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.serialization.js.DebugJsProtoBuf.Library.FileEntry parseFrom( + public static org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part parseFrom( org.jetbrains.kotlin.protobuf.CodedInputStream input) throws java.io.IOException { return PARSER.parseFrom(input); } - public static org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry parseFrom( + public static org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part parseFrom( org.jetbrains.kotlin.protobuf.CodedInputStream input, org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -2601,7 +2814,7 @@ public final class DebugJsProtoBuf { public static Builder newBuilder() { return Builder.create(); } public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry prototype) { + public static Builder newBuilder(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part prototype) { return newBuilder().mergeFrom(prototype); } public Builder toBuilder() { return newBuilder(this); } @@ -2613,25 +2826,30 @@ public final class DebugJsProtoBuf { return builder; } /** - * Protobuf type {@code org.jetbrains.kotlin.serialization.js.Library.FileEntry} + * Protobuf type {@code org.jetbrains.kotlin.serialization.js.Library.Part} + * + *
+       * This is a copy of BuiltIns in builtins.proto
+       * TODO: combine the two
+       * 
*/ public static final class Builder extends org.jetbrains.kotlin.protobuf.GeneratedMessage.Builder implements - // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.js.Library.FileEntry) - org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntryOrBuilder { + // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.js.Library.Part) + org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.PartOrBuilder { public static final org.jetbrains.kotlin.protobuf.Descriptors.Descriptor getDescriptor() { - return org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.internal_static_org_jetbrains_kotlin_serialization_js_Library_FileEntry_descriptor; + return org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.internal_static_org_jetbrains_kotlin_serialization_js_Library_Part_descriptor; } protected org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.internal_static_org_jetbrains_kotlin_serialization_js_Library_FileEntry_fieldAccessorTable + return org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.internal_static_org_jetbrains_kotlin_serialization_js_Library_Part_fieldAccessorTable .ensureFieldAccessorsInitialized( - org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry.class, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry.Builder.class); + org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part.class, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part.Builder.class); } - // Construct using org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry.newBuilder() + // Construct using org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -2643,6 +2861,11 @@ public final class DebugJsProtoBuf { } private void maybeForceBuilderInitialization() { if (org.jetbrains.kotlin.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + getStringsFieldBuilder(); + getQualifiedNamesFieldBuilder(); + getPackageFieldBuilder(); + getClass_FieldBuilder(); + getFilesFieldBuilder(); } } private static Builder create() { @@ -2651,10 +2874,36 @@ public final class DebugJsProtoBuf { public Builder clear() { super.clear(); - path_ = ""; + if (stringsBuilder_ == null) { + strings_ = org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable.getDefaultInstance(); + } else { + stringsBuilder_.clear(); + } bitField0_ = (bitField0_ & ~0x00000001); - content_ = org.jetbrains.kotlin.protobuf.ByteString.EMPTY; + if (qualifiedNamesBuilder_ == null) { + qualifiedNames_ = org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable.getDefaultInstance(); + } else { + qualifiedNamesBuilder_.clear(); + } bitField0_ = (bitField0_ & ~0x00000002); + if (packageBuilder_ == null) { + package_ = org.jetbrains.kotlin.serialization.DebugProtoBuf.Package.getDefaultInstance(); + } else { + packageBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + if (class_Builder_ == null) { + class__ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000008); + } else { + class_Builder_.clear(); + } + if (filesBuilder_ == null) { + files_ = org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files.getDefaultInstance(); + } else { + filesBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000010); return this; } @@ -2664,69 +2913,148 @@ public final class DebugJsProtoBuf { public org.jetbrains.kotlin.protobuf.Descriptors.Descriptor getDescriptorForType() { - return org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.internal_static_org_jetbrains_kotlin_serialization_js_Library_FileEntry_descriptor; + return org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.internal_static_org_jetbrains_kotlin_serialization_js_Library_Part_descriptor; } - public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry getDefaultInstanceForType() { - return org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry.getDefaultInstance(); + public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part getDefaultInstanceForType() { + return org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part.getDefaultInstance(); } - public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry build() { - org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry result = buildPartial(); + public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part build() { + org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } - public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry buildPartial() { - org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry result = new org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry(this); + public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part buildPartial() { + org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part result = new org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) == 0x00000001)) { to_bitField0_ |= 0x00000001; } - result.path_ = path_; + if (stringsBuilder_ == null) { + result.strings_ = strings_; + } else { + result.strings_ = stringsBuilder_.build(); + } if (((from_bitField0_ & 0x00000002) == 0x00000002)) { to_bitField0_ |= 0x00000002; } - result.content_ = content_; + if (qualifiedNamesBuilder_ == null) { + result.qualifiedNames_ = qualifiedNames_; + } else { + result.qualifiedNames_ = qualifiedNamesBuilder_.build(); + } + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + if (packageBuilder_ == null) { + result.package_ = package_; + } else { + result.package_ = packageBuilder_.build(); + } + if (class_Builder_ == null) { + if (((bitField0_ & 0x00000008) == 0x00000008)) { + class__ = java.util.Collections.unmodifiableList(class__); + bitField0_ = (bitField0_ & ~0x00000008); + } + result.class__ = class__; + } else { + result.class__ = class_Builder_.build(); + } + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000008; + } + if (filesBuilder_ == null) { + result.files_ = files_; + } else { + result.files_ = filesBuilder_.build(); + } result.bitField0_ = to_bitField0_; onBuilt(); return result; } public Builder mergeFrom(org.jetbrains.kotlin.protobuf.Message other) { - if (other instanceof org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry) { - return mergeFrom((org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry)other); + if (other instanceof org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part) { + return mergeFrom((org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry other) { - if (other == org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry.getDefaultInstance()) return this; - if (other.hasPath()) { - bitField0_ |= 0x00000001; - path_ = other.path_; - onChanged(); + public Builder mergeFrom(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part other) { + if (other == org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part.getDefaultInstance()) return this; + if (other.hasStrings()) { + mergeStrings(other.getStrings()); } - if (other.hasContent()) { - setContent(other.getContent()); + if (other.hasQualifiedNames()) { + mergeQualifiedNames(other.getQualifiedNames()); + } + if (other.hasPackage()) { + mergePackage(other.getPackage()); + } + if (class_Builder_ == null) { + if (!other.class__.isEmpty()) { + if (class__.isEmpty()) { + class__ = other.class__; + bitField0_ = (bitField0_ & ~0x00000008); + } else { + ensureClass_IsMutable(); + class__.addAll(other.class__); + } + onChanged(); + } + } else { + if (!other.class__.isEmpty()) { + if (class_Builder_.isEmpty()) { + class_Builder_.dispose(); + class_Builder_ = null; + class__ = other.class__; + bitField0_ = (bitField0_ & ~0x00000008); + class_Builder_ = + org.jetbrains.kotlin.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? + getClass_FieldBuilder() : null; + } else { + class_Builder_.addAllMessages(other.class__); + } + } + } + if (other.hasFiles()) { + mergeFiles(other.getFiles()); } this.mergeUnknownFields(other.getUnknownFields()); return this; } public final boolean isInitialized() { - if (!hasPath()) { - - return false; + if (hasQualifiedNames()) { + if (!getQualifiedNames().isInitialized()) { + + return false; + } } - if (!hasContent()) { - - return false; + if (hasPackage()) { + if (!getPackage().isInitialized()) { + + return false; + } + } + for (int i = 0; i < getClass_Count(); i++) { + if (!getClass_(i).isInitialized()) { + + return false; + } + } + if (hasFiles()) { + if (!getFiles().isInitialized()) { + + return false; + } } return true; } @@ -2735,11 +3063,11 @@ public final class DebugJsProtoBuf { org.jetbrains.kotlin.protobuf.CodedInputStream input, org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry parsedMessage = null; + org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry) e.getUnfinishedMessage(); + parsedMessage = (org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part) e.getUnfinishedMessage(); throw e; } finally { if (parsedMessage != null) { @@ -2750,179 +3078,772 @@ public final class DebugJsProtoBuf { } private int bitField0_; - private java.lang.Object path_ = ""; + private org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable strings_ = org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable.getDefaultInstance(); + private org.jetbrains.kotlin.protobuf.SingleFieldBuilder< + org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable, org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable.Builder, org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTableOrBuilder> stringsBuilder_; /** - * required string path = 1; + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; */ - public boolean hasPath() { + public boolean hasStrings() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required string path = 1; + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; */ - public java.lang.String getPath() { - java.lang.Object ref = path_; - if (!(ref instanceof java.lang.String)) { - org.jetbrains.kotlin.protobuf.ByteString bs = - (org.jetbrains.kotlin.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - path_ = s; + public org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable getStrings() { + if (stringsBuilder_ == null) { + return strings_; + } else { + return stringsBuilder_.getMessage(); + } + } + /** + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; + */ + public Builder setStrings(org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable value) { + if (stringsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); } - return s; + strings_ = value; + onChanged(); } else { - return (java.lang.String) ref; + stringsBuilder_.setMessage(value); } - } - /** - * required string path = 1; - */ - public org.jetbrains.kotlin.protobuf.ByteString - getPathBytes() { - java.lang.Object ref = path_; - if (ref instanceof String) { - org.jetbrains.kotlin.protobuf.ByteString b = - org.jetbrains.kotlin.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - path_ = b; - return b; - } else { - return (org.jetbrains.kotlin.protobuf.ByteString) ref; - } - } - /** - * required string path = 1; - */ - public Builder setPath( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000001; - path_ = value; - onChanged(); + bitField0_ |= 0x00000001; return this; } /** - * required string path = 1; + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; */ - public Builder clearPath() { + public Builder setStrings( + org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable.Builder builderForValue) { + if (stringsBuilder_ == null) { + strings_ = builderForValue.build(); + onChanged(); + } else { + stringsBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; + */ + public Builder mergeStrings(org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable value) { + if (stringsBuilder_ == null) { + if (((bitField0_ & 0x00000001) == 0x00000001) && + strings_ != org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable.getDefaultInstance()) { + strings_ = + org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable.newBuilder(strings_).mergeFrom(value).buildPartial(); + } else { + strings_ = value; + } + onChanged(); + } else { + stringsBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; + */ + public Builder clearStrings() { + if (stringsBuilder_ == null) { + strings_ = org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable.getDefaultInstance(); + onChanged(); + } else { + stringsBuilder_.clear(); + } bitField0_ = (bitField0_ & ~0x00000001); - path_ = getDefaultInstance().getPath(); - onChanged(); return this; } /** - * required string path = 1; + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; */ - public Builder setPathBytes( - org.jetbrains.kotlin.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000001; - path_ = value; + public org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable.Builder getStringsBuilder() { + bitField0_ |= 0x00000001; onChanged(); - return this; + return getStringsFieldBuilder().getBuilder(); + } + /** + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; + */ + public org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTableOrBuilder getStringsOrBuilder() { + if (stringsBuilder_ != null) { + return stringsBuilder_.getMessageOrBuilder(); + } else { + return strings_; + } + } + /** + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; + */ + private org.jetbrains.kotlin.protobuf.SingleFieldBuilder< + org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable, org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable.Builder, org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTableOrBuilder> + getStringsFieldBuilder() { + if (stringsBuilder_ == null) { + stringsBuilder_ = new org.jetbrains.kotlin.protobuf.SingleFieldBuilder< + org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable, org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTable.Builder, org.jetbrains.kotlin.serialization.DebugProtoBuf.StringTableOrBuilder>( + getStrings(), + getParentForChildren(), + isClean()); + strings_ = null; + } + return stringsBuilder_; } - private org.jetbrains.kotlin.protobuf.ByteString content_ = org.jetbrains.kotlin.protobuf.ByteString.EMPTY; + private org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable qualifiedNames_ = org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable.getDefaultInstance(); + private org.jetbrains.kotlin.protobuf.SingleFieldBuilder< + org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable, org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable.Builder, org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTableOrBuilder> qualifiedNamesBuilder_; /** - * required bytes content = 2; + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; */ - public boolean hasContent() { + public boolean hasQualifiedNames() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * required bytes content = 2; + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; */ - public org.jetbrains.kotlin.protobuf.ByteString getContent() { - return content_; + public org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable getQualifiedNames() { + if (qualifiedNamesBuilder_ == null) { + return qualifiedNames_; + } else { + return qualifiedNamesBuilder_.getMessage(); + } } /** - * required bytes content = 2; + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; */ - public Builder setContent(org.jetbrains.kotlin.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000002; - content_ = value; - onChanged(); + public Builder setQualifiedNames(org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable value) { + if (qualifiedNamesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + qualifiedNames_ = value; + onChanged(); + } else { + qualifiedNamesBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; return this; } /** - * required bytes content = 2; + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; */ - public Builder clearContent() { + public Builder setQualifiedNames( + org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable.Builder builderForValue) { + if (qualifiedNamesBuilder_ == null) { + qualifiedNames_ = builderForValue.build(); + onChanged(); + } else { + qualifiedNamesBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; + */ + public Builder mergeQualifiedNames(org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable value) { + if (qualifiedNamesBuilder_ == null) { + if (((bitField0_ & 0x00000002) == 0x00000002) && + qualifiedNames_ != org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable.getDefaultInstance()) { + qualifiedNames_ = + org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable.newBuilder(qualifiedNames_).mergeFrom(value).buildPartial(); + } else { + qualifiedNames_ = value; + } + onChanged(); + } else { + qualifiedNamesBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; + */ + public Builder clearQualifiedNames() { + if (qualifiedNamesBuilder_ == null) { + qualifiedNames_ = org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable.getDefaultInstance(); + onChanged(); + } else { + qualifiedNamesBuilder_.clear(); + } bitField0_ = (bitField0_ & ~0x00000002); - content_ = getDefaultInstance().getContent(); - onChanged(); return this; } + /** + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; + */ + public org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable.Builder getQualifiedNamesBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return getQualifiedNamesFieldBuilder().getBuilder(); + } + /** + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; + */ + public org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTableOrBuilder getQualifiedNamesOrBuilder() { + if (qualifiedNamesBuilder_ != null) { + return qualifiedNamesBuilder_.getMessageOrBuilder(); + } else { + return qualifiedNames_; + } + } + /** + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; + */ + private org.jetbrains.kotlin.protobuf.SingleFieldBuilder< + org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable, org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable.Builder, org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTableOrBuilder> + getQualifiedNamesFieldBuilder() { + if (qualifiedNamesBuilder_ == null) { + qualifiedNamesBuilder_ = new org.jetbrains.kotlin.protobuf.SingleFieldBuilder< + org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable, org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTable.Builder, org.jetbrains.kotlin.serialization.DebugProtoBuf.QualifiedNameTableOrBuilder>( + getQualifiedNames(), + getParentForChildren(), + isClean()); + qualifiedNames_ = null; + } + return qualifiedNamesBuilder_; + } - // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.js.Library.FileEntry) + private org.jetbrains.kotlin.serialization.DebugProtoBuf.Package package_ = org.jetbrains.kotlin.serialization.DebugProtoBuf.Package.getDefaultInstance(); + private org.jetbrains.kotlin.protobuf.SingleFieldBuilder< + org.jetbrains.kotlin.serialization.DebugProtoBuf.Package, org.jetbrains.kotlin.serialization.DebugProtoBuf.Package.Builder, org.jetbrains.kotlin.serialization.DebugProtoBuf.PackageOrBuilder> packageBuilder_; + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + public boolean hasPackage() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + public org.jetbrains.kotlin.serialization.DebugProtoBuf.Package getPackage() { + if (packageBuilder_ == null) { + return package_; + } else { + return packageBuilder_.getMessage(); + } + } + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + public Builder setPackage(org.jetbrains.kotlin.serialization.DebugProtoBuf.Package value) { + if (packageBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + package_ = value; + onChanged(); + } else { + packageBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + public Builder setPackage( + org.jetbrains.kotlin.serialization.DebugProtoBuf.Package.Builder builderForValue) { + if (packageBuilder_ == null) { + package_ = builderForValue.build(); + onChanged(); + } else { + packageBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + public Builder mergePackage(org.jetbrains.kotlin.serialization.DebugProtoBuf.Package value) { + if (packageBuilder_ == null) { + if (((bitField0_ & 0x00000004) == 0x00000004) && + package_ != org.jetbrains.kotlin.serialization.DebugProtoBuf.Package.getDefaultInstance()) { + package_ = + org.jetbrains.kotlin.serialization.DebugProtoBuf.Package.newBuilder(package_).mergeFrom(value).buildPartial(); + } else { + package_ = value; + } + onChanged(); + } else { + packageBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + public Builder clearPackage() { + if (packageBuilder_ == null) { + package_ = org.jetbrains.kotlin.serialization.DebugProtoBuf.Package.getDefaultInstance(); + onChanged(); + } else { + packageBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + public org.jetbrains.kotlin.serialization.DebugProtoBuf.Package.Builder getPackageBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return getPackageFieldBuilder().getBuilder(); + } + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + public org.jetbrains.kotlin.serialization.DebugProtoBuf.PackageOrBuilder getPackageOrBuilder() { + if (packageBuilder_ != null) { + return packageBuilder_.getMessageOrBuilder(); + } else { + return package_; + } + } + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + private org.jetbrains.kotlin.protobuf.SingleFieldBuilder< + org.jetbrains.kotlin.serialization.DebugProtoBuf.Package, org.jetbrains.kotlin.serialization.DebugProtoBuf.Package.Builder, org.jetbrains.kotlin.serialization.DebugProtoBuf.PackageOrBuilder> + getPackageFieldBuilder() { + if (packageBuilder_ == null) { + packageBuilder_ = new org.jetbrains.kotlin.protobuf.SingleFieldBuilder< + org.jetbrains.kotlin.serialization.DebugProtoBuf.Package, org.jetbrains.kotlin.serialization.DebugProtoBuf.Package.Builder, org.jetbrains.kotlin.serialization.DebugProtoBuf.PackageOrBuilder>( + getPackage(), + getParentForChildren(), + isClean()); + package_ = null; + } + return packageBuilder_; + } + + private java.util.List class__ = + java.util.Collections.emptyList(); + private void ensureClass_IsMutable() { + if (!((bitField0_ & 0x00000008) == 0x00000008)) { + class__ = new java.util.ArrayList(class__); + bitField0_ |= 0x00000008; + } + } + + private org.jetbrains.kotlin.protobuf.RepeatedFieldBuilder< + org.jetbrains.kotlin.serialization.DebugProtoBuf.Class, org.jetbrains.kotlin.serialization.DebugProtoBuf.Class.Builder, org.jetbrains.kotlin.serialization.DebugProtoBuf.ClassOrBuilder> class_Builder_; + + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public java.util.List getClass_List() { + if (class_Builder_ == null) { + return java.util.Collections.unmodifiableList(class__); + } else { + return class_Builder_.getMessageList(); + } + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public int getClass_Count() { + if (class_Builder_ == null) { + return class__.size(); + } else { + return class_Builder_.getCount(); + } + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public org.jetbrains.kotlin.serialization.DebugProtoBuf.Class getClass_(int index) { + if (class_Builder_ == null) { + return class__.get(index); + } else { + return class_Builder_.getMessage(index); + } + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public Builder setClass_( + int index, org.jetbrains.kotlin.serialization.DebugProtoBuf.Class value) { + if (class_Builder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureClass_IsMutable(); + class__.set(index, value); + onChanged(); + } else { + class_Builder_.setMessage(index, value); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public Builder setClass_( + int index, org.jetbrains.kotlin.serialization.DebugProtoBuf.Class.Builder builderForValue) { + if (class_Builder_ == null) { + ensureClass_IsMutable(); + class__.set(index, builderForValue.build()); + onChanged(); + } else { + class_Builder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public Builder addClass_(org.jetbrains.kotlin.serialization.DebugProtoBuf.Class value) { + if (class_Builder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureClass_IsMutable(); + class__.add(value); + onChanged(); + } else { + class_Builder_.addMessage(value); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public Builder addClass_( + int index, org.jetbrains.kotlin.serialization.DebugProtoBuf.Class value) { + if (class_Builder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureClass_IsMutable(); + class__.add(index, value); + onChanged(); + } else { + class_Builder_.addMessage(index, value); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public Builder addClass_( + org.jetbrains.kotlin.serialization.DebugProtoBuf.Class.Builder builderForValue) { + if (class_Builder_ == null) { + ensureClass_IsMutable(); + class__.add(builderForValue.build()); + onChanged(); + } else { + class_Builder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public Builder addClass_( + int index, org.jetbrains.kotlin.serialization.DebugProtoBuf.Class.Builder builderForValue) { + if (class_Builder_ == null) { + ensureClass_IsMutable(); + class__.add(index, builderForValue.build()); + onChanged(); + } else { + class_Builder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public Builder addAllClass_( + java.lang.Iterable values) { + if (class_Builder_ == null) { + ensureClass_IsMutable(); + org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll( + values, class__); + onChanged(); + } else { + class_Builder_.addAllMessages(values); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public Builder clearClass_() { + if (class_Builder_ == null) { + class__ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + } else { + class_Builder_.clear(); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public Builder removeClass_(int index) { + if (class_Builder_ == null) { + ensureClass_IsMutable(); + class__.remove(index); + onChanged(); + } else { + class_Builder_.remove(index); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public org.jetbrains.kotlin.serialization.DebugProtoBuf.Class.Builder getClass_Builder( + int index) { + return getClass_FieldBuilder().getBuilder(index); + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public org.jetbrains.kotlin.serialization.DebugProtoBuf.ClassOrBuilder getClass_OrBuilder( + int index) { + if (class_Builder_ == null) { + return class__.get(index); } else { + return class_Builder_.getMessageOrBuilder(index); + } + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public java.util.List + getClass_OrBuilderList() { + if (class_Builder_ != null) { + return class_Builder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(class__); + } + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public org.jetbrains.kotlin.serialization.DebugProtoBuf.Class.Builder addClass_Builder() { + return getClass_FieldBuilder().addBuilder( + org.jetbrains.kotlin.serialization.DebugProtoBuf.Class.getDefaultInstance()); + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public org.jetbrains.kotlin.serialization.DebugProtoBuf.Class.Builder addClass_Builder( + int index) { + return getClass_FieldBuilder().addBuilder( + index, org.jetbrains.kotlin.serialization.DebugProtoBuf.Class.getDefaultInstance()); + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public java.util.List + getClass_BuilderList() { + return getClass_FieldBuilder().getBuilderList(); + } + private org.jetbrains.kotlin.protobuf.RepeatedFieldBuilder< + org.jetbrains.kotlin.serialization.DebugProtoBuf.Class, org.jetbrains.kotlin.serialization.DebugProtoBuf.Class.Builder, org.jetbrains.kotlin.serialization.DebugProtoBuf.ClassOrBuilder> + getClass_FieldBuilder() { + if (class_Builder_ == null) { + class_Builder_ = new org.jetbrains.kotlin.protobuf.RepeatedFieldBuilder< + org.jetbrains.kotlin.serialization.DebugProtoBuf.Class, org.jetbrains.kotlin.serialization.DebugProtoBuf.Class.Builder, org.jetbrains.kotlin.serialization.DebugProtoBuf.ClassOrBuilder>( + class__, + ((bitField0_ & 0x00000008) == 0x00000008), + getParentForChildren(), + isClean()); + class__ = null; + } + return class_Builder_; + } + + private org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files files_ = org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files.getDefaultInstance(); + private org.jetbrains.kotlin.protobuf.SingleFieldBuilder< + org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files.Builder, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.FilesOrBuilder> filesBuilder_; + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + public boolean hasFiles() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files getFiles() { + if (filesBuilder_ == null) { + return files_; + } else { + return filesBuilder_.getMessage(); + } + } + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + public Builder setFiles(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files value) { + if (filesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + files_ = value; + onChanged(); + } else { + filesBuilder_.setMessage(value); + } + bitField0_ |= 0x00000010; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + public Builder setFiles( + org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files.Builder builderForValue) { + if (filesBuilder_ == null) { + files_ = builderForValue.build(); + onChanged(); + } else { + filesBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000010; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + public Builder mergeFiles(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files value) { + if (filesBuilder_ == null) { + if (((bitField0_ & 0x00000010) == 0x00000010) && + files_ != org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files.getDefaultInstance()) { + files_ = + org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files.newBuilder(files_).mergeFrom(value).buildPartial(); + } else { + files_ = value; + } + onChanged(); + } else { + filesBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000010; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + public Builder clearFiles() { + if (filesBuilder_ == null) { + files_ = org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files.getDefaultInstance(); + onChanged(); + } else { + filesBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files.Builder getFilesBuilder() { + bitField0_ |= 0x00000010; + onChanged(); + return getFilesFieldBuilder().getBuilder(); + } + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.FilesOrBuilder getFilesOrBuilder() { + if (filesBuilder_ != null) { + return filesBuilder_.getMessageOrBuilder(); + } else { + return files_; + } + } + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + private org.jetbrains.kotlin.protobuf.SingleFieldBuilder< + org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files.Builder, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.FilesOrBuilder> + getFilesFieldBuilder() { + if (filesBuilder_ == null) { + filesBuilder_ = new org.jetbrains.kotlin.protobuf.SingleFieldBuilder< + org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Files.Builder, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.FilesOrBuilder>( + getFiles(), + getParentForChildren(), + isClean()); + files_ = null; + } + return filesBuilder_; + } + + // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.js.Library.Part) } static { - defaultInstance = new FileEntry(true); + defaultInstance = new Part(true); defaultInstance.initFields(); } - // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.js.Library.FileEntry) + // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.js.Library.Part) } private int bitField0_; - public static final int ENTRY_FIELD_NUMBER = 1; - private java.util.List entry_; - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public java.util.List getEntryList() { - return entry_; - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public java.util.List - getEntryOrBuilderList() { - return entry_; - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public int getEntryCount() { - return entry_.size(); - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry getEntry(int index) { - return entry_.get(index); - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntryOrBuilder getEntryOrBuilder( - int index) { - return entry_.get(index); - } - - public static final int KIND_FIELD_NUMBER = 2; + public static final int KIND_FIELD_NUMBER = 1; private org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Kind kind_; /** - * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 2 [default = PLAIN]; + * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 1 [default = PLAIN]; */ public boolean hasKind() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 2 [default = PLAIN]; + * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 1 [default = PLAIN]; */ public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Kind getKind() { return kind_; } + public static final int PART_FIELD_NUMBER = 2; + private java.util.List part_; + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public java.util.List getPartList() { + return part_; + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public java.util.List + getPartOrBuilderList() { + return part_; + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public int getPartCount() { + return part_.size(); + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part getPart(int index) { + return part_.get(index); + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.PartOrBuilder getPartOrBuilder( + int index) { + return part_.get(index); + } + public static final int IMPORTED_MODULE_FIELD_NUMBER = 3; private org.jetbrains.kotlin.protobuf.LazyStringList importedModule_; /** @@ -2953,8 +3874,8 @@ public final class DebugJsProtoBuf { } private void initFields() { - entry_ = java.util.Collections.emptyList(); kind_ = org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Kind.PLAIN; + part_ = java.util.Collections.emptyList(); importedModule_ = org.jetbrains.kotlin.protobuf.LazyStringArrayList.EMPTY; } private byte memoizedIsInitialized = -1; @@ -2963,8 +3884,8 @@ public final class DebugJsProtoBuf { if (isInitialized == 1) return true; if (isInitialized == 0) return false; - for (int i = 0; i < getEntryCount(); i++) { - if (!getEntry(i).isInitialized()) { + for (int i = 0; i < getPartCount(); i++) { + if (!getPart(i).isInitialized()) { memoizedIsInitialized = 0; return false; } @@ -2976,11 +3897,11 @@ public final class DebugJsProtoBuf { public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output) throws java.io.IOException { getSerializedSize(); - for (int i = 0; i < entry_.size(); i++) { - output.writeMessage(1, entry_.get(i)); - } if (((bitField0_ & 0x00000001) == 0x00000001)) { - output.writeEnum(2, kind_.getNumber()); + output.writeEnum(1, kind_.getNumber()); + } + for (int i = 0; i < part_.size(); i++) { + output.writeMessage(2, part_.get(i)); } for (int i = 0; i < importedModule_.size(); i++) { output.writeBytes(3, importedModule_.getByteString(i)); @@ -2994,13 +3915,13 @@ public final class DebugJsProtoBuf { if (size != -1) return size; size = 0; - for (int i = 0; i < entry_.size(); i++) { - size += org.jetbrains.kotlin.protobuf.CodedOutputStream - .computeMessageSize(1, entry_.get(i)); - } if (((bitField0_ & 0x00000001) == 0x00000001)) { size += org.jetbrains.kotlin.protobuf.CodedOutputStream - .computeEnumSize(2, kind_.getNumber()); + .computeEnumSize(1, kind_.getNumber()); + } + for (int i = 0; i < part_.size(); i++) { + size += org.jetbrains.kotlin.protobuf.CodedOutputStream + .computeMessageSize(2, part_.get(i)); } { int dataSize = 0; @@ -3120,7 +4041,7 @@ public final class DebugJsProtoBuf { } private void maybeForceBuilderInitialization() { if (org.jetbrains.kotlin.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { - getEntryFieldBuilder(); + getPartFieldBuilder(); } } private static Builder create() { @@ -3129,14 +4050,14 @@ public final class DebugJsProtoBuf { public Builder clear() { super.clear(); - if (entryBuilder_ == null) { - entry_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - } else { - entryBuilder_.clear(); - } kind_ = org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Kind.PLAIN; - bitField0_ = (bitField0_ & ~0x00000002); + bitField0_ = (bitField0_ & ~0x00000001); + if (partBuilder_ == null) { + part_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + } else { + partBuilder_.clear(); + } importedModule_ = org.jetbrains.kotlin.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000004); return this; @@ -3167,19 +4088,19 @@ public final class DebugJsProtoBuf { org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library result = new org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; - if (entryBuilder_ == null) { - if (((bitField0_ & 0x00000001) == 0x00000001)) { - entry_ = java.util.Collections.unmodifiableList(entry_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.entry_ = entry_; - } else { - result.entry_ = entryBuilder_.build(); - } - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { to_bitField0_ |= 0x00000001; } result.kind_ = kind_; + if (partBuilder_ == null) { + if (((bitField0_ & 0x00000002) == 0x00000002)) { + part_ = java.util.Collections.unmodifiableList(part_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.part_ = part_; + } else { + result.part_ = partBuilder_.build(); + } if (((bitField0_ & 0x00000004) == 0x00000004)) { importedModule_ = importedModule_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000004); @@ -3201,35 +4122,35 @@ public final class DebugJsProtoBuf { public Builder mergeFrom(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library other) { if (other == org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.getDefaultInstance()) return this; - if (entryBuilder_ == null) { - if (!other.entry_.isEmpty()) { - if (entry_.isEmpty()) { - entry_ = other.entry_; - bitField0_ = (bitField0_ & ~0x00000001); + if (other.hasKind()) { + setKind(other.getKind()); + } + if (partBuilder_ == null) { + if (!other.part_.isEmpty()) { + if (part_.isEmpty()) { + part_ = other.part_; + bitField0_ = (bitField0_ & ~0x00000002); } else { - ensureEntryIsMutable(); - entry_.addAll(other.entry_); + ensurePartIsMutable(); + part_.addAll(other.part_); } onChanged(); } } else { - if (!other.entry_.isEmpty()) { - if (entryBuilder_.isEmpty()) { - entryBuilder_.dispose(); - entryBuilder_ = null; - entry_ = other.entry_; - bitField0_ = (bitField0_ & ~0x00000001); - entryBuilder_ = + if (!other.part_.isEmpty()) { + if (partBuilder_.isEmpty()) { + partBuilder_.dispose(); + partBuilder_ = null; + part_ = other.part_; + bitField0_ = (bitField0_ & ~0x00000002); + partBuilder_ = org.jetbrains.kotlin.protobuf.GeneratedMessage.alwaysUseFieldBuilders ? - getEntryFieldBuilder() : null; + getPartFieldBuilder() : null; } else { - entryBuilder_.addAllMessages(other.entry_); + partBuilder_.addAllMessages(other.part_); } } } - if (other.hasKind()) { - setKind(other.getKind()); - } if (!other.importedModule_.isEmpty()) { if (importedModule_.isEmpty()) { importedModule_ = other.importedModule_; @@ -3245,8 +4166,8 @@ public final class DebugJsProtoBuf { } public final boolean isInitialized() { - for (int i = 0; i < getEntryCount(); i++) { - if (!getEntry(i).isInitialized()) { + for (int i = 0; i < getPartCount(); i++) { + if (!getPart(i).isInitialized()) { return false; } @@ -3273,281 +4194,281 @@ public final class DebugJsProtoBuf { } private int bitField0_; - private java.util.List entry_ = - java.util.Collections.emptyList(); - private void ensureEntryIsMutable() { - if (!((bitField0_ & 0x00000001) == 0x00000001)) { - entry_ = new java.util.ArrayList(entry_); - bitField0_ |= 0x00000001; - } - } - - private org.jetbrains.kotlin.protobuf.RepeatedFieldBuilder< - org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry.Builder, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntryOrBuilder> entryBuilder_; - - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public java.util.List getEntryList() { - if (entryBuilder_ == null) { - return java.util.Collections.unmodifiableList(entry_); - } else { - return entryBuilder_.getMessageList(); - } - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public int getEntryCount() { - if (entryBuilder_ == null) { - return entry_.size(); - } else { - return entryBuilder_.getCount(); - } - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry getEntry(int index) { - if (entryBuilder_ == null) { - return entry_.get(index); - } else { - return entryBuilder_.getMessage(index); - } - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public Builder setEntry( - int index, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry value) { - if (entryBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureEntryIsMutable(); - entry_.set(index, value); - onChanged(); - } else { - entryBuilder_.setMessage(index, value); - } - return this; - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public Builder setEntry( - int index, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry.Builder builderForValue) { - if (entryBuilder_ == null) { - ensureEntryIsMutable(); - entry_.set(index, builderForValue.build()); - onChanged(); - } else { - entryBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public Builder addEntry(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry value) { - if (entryBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureEntryIsMutable(); - entry_.add(value); - onChanged(); - } else { - entryBuilder_.addMessage(value); - } - return this; - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public Builder addEntry( - int index, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry value) { - if (entryBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureEntryIsMutable(); - entry_.add(index, value); - onChanged(); - } else { - entryBuilder_.addMessage(index, value); - } - return this; - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public Builder addEntry( - org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry.Builder builderForValue) { - if (entryBuilder_ == null) { - ensureEntryIsMutable(); - entry_.add(builderForValue.build()); - onChanged(); - } else { - entryBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public Builder addEntry( - int index, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry.Builder builderForValue) { - if (entryBuilder_ == null) { - ensureEntryIsMutable(); - entry_.add(index, builderForValue.build()); - onChanged(); - } else { - entryBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public Builder addAllEntry( - java.lang.Iterable values) { - if (entryBuilder_ == null) { - ensureEntryIsMutable(); - org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll( - values, entry_); - onChanged(); - } else { - entryBuilder_.addAllMessages(values); - } - return this; - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public Builder clearEntry() { - if (entryBuilder_ == null) { - entry_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); - } else { - entryBuilder_.clear(); - } - return this; - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public Builder removeEntry(int index) { - if (entryBuilder_ == null) { - ensureEntryIsMutable(); - entry_.remove(index); - onChanged(); - } else { - entryBuilder_.remove(index); - } - return this; - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry.Builder getEntryBuilder( - int index) { - return getEntryFieldBuilder().getBuilder(index); - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntryOrBuilder getEntryOrBuilder( - int index) { - if (entryBuilder_ == null) { - return entry_.get(index); } else { - return entryBuilder_.getMessageOrBuilder(index); - } - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public java.util.List - getEntryOrBuilderList() { - if (entryBuilder_ != null) { - return entryBuilder_.getMessageOrBuilderList(); - } else { - return java.util.Collections.unmodifiableList(entry_); - } - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry.Builder addEntryBuilder() { - return getEntryFieldBuilder().addBuilder( - org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry.getDefaultInstance()); - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry.Builder addEntryBuilder( - int index) { - return getEntryFieldBuilder().addBuilder( - index, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry.getDefaultInstance()); - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public java.util.List - getEntryBuilderList() { - return getEntryFieldBuilder().getBuilderList(); - } - private org.jetbrains.kotlin.protobuf.RepeatedFieldBuilder< - org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry.Builder, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntryOrBuilder> - getEntryFieldBuilder() { - if (entryBuilder_ == null) { - entryBuilder_ = new org.jetbrains.kotlin.protobuf.RepeatedFieldBuilder< - org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntry.Builder, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.FileEntryOrBuilder>( - entry_, - ((bitField0_ & 0x00000001) == 0x00000001), - getParentForChildren(), - isClean()); - entry_ = null; - } - return entryBuilder_; - } - private org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Kind kind_ = org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Kind.PLAIN; /** - * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 2 [default = PLAIN]; + * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 1 [default = PLAIN]; */ public boolean hasKind() { - return ((bitField0_ & 0x00000002) == 0x00000002); + return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 2 [default = PLAIN]; + * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 1 [default = PLAIN]; */ public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Kind getKind() { return kind_; } /** - * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 2 [default = PLAIN]; + * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 1 [default = PLAIN]; */ public Builder setKind(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Kind value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + bitField0_ |= 0x00000001; kind_ = value; onChanged(); return this; } /** - * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 2 [default = PLAIN]; + * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 1 [default = PLAIN]; */ public Builder clearKind() { - bitField0_ = (bitField0_ & ~0x00000002); + bitField0_ = (bitField0_ & ~0x00000001); kind_ = org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Kind.PLAIN; onChanged(); return this; } + private java.util.List part_ = + java.util.Collections.emptyList(); + private void ensurePartIsMutable() { + if (!((bitField0_ & 0x00000002) == 0x00000002)) { + part_ = new java.util.ArrayList(part_); + bitField0_ |= 0x00000002; + } + } + + private org.jetbrains.kotlin.protobuf.RepeatedFieldBuilder< + org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part.Builder, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.PartOrBuilder> partBuilder_; + + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public java.util.List getPartList() { + if (partBuilder_ == null) { + return java.util.Collections.unmodifiableList(part_); + } else { + return partBuilder_.getMessageList(); + } + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public int getPartCount() { + if (partBuilder_ == null) { + return part_.size(); + } else { + return partBuilder_.getCount(); + } + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part getPart(int index) { + if (partBuilder_ == null) { + return part_.get(index); + } else { + return partBuilder_.getMessage(index); + } + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public Builder setPart( + int index, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part value) { + if (partBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePartIsMutable(); + part_.set(index, value); + onChanged(); + } else { + partBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public Builder setPart( + int index, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part.Builder builderForValue) { + if (partBuilder_ == null) { + ensurePartIsMutable(); + part_.set(index, builderForValue.build()); + onChanged(); + } else { + partBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public Builder addPart(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part value) { + if (partBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePartIsMutable(); + part_.add(value); + onChanged(); + } else { + partBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public Builder addPart( + int index, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part value) { + if (partBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePartIsMutable(); + part_.add(index, value); + onChanged(); + } else { + partBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public Builder addPart( + org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part.Builder builderForValue) { + if (partBuilder_ == null) { + ensurePartIsMutable(); + part_.add(builderForValue.build()); + onChanged(); + } else { + partBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public Builder addPart( + int index, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part.Builder builderForValue) { + if (partBuilder_ == null) { + ensurePartIsMutable(); + part_.add(index, builderForValue.build()); + onChanged(); + } else { + partBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public Builder addAllPart( + java.lang.Iterable values) { + if (partBuilder_ == null) { + ensurePartIsMutable(); + org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll( + values, part_); + onChanged(); + } else { + partBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public Builder clearPart() { + if (partBuilder_ == null) { + part_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + } else { + partBuilder_.clear(); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public Builder removePart(int index) { + if (partBuilder_ == null) { + ensurePartIsMutable(); + part_.remove(index); + onChanged(); + } else { + partBuilder_.remove(index); + } + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part.Builder getPartBuilder( + int index) { + return getPartFieldBuilder().getBuilder(index); + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.PartOrBuilder getPartOrBuilder( + int index) { + if (partBuilder_ == null) { + return part_.get(index); } else { + return partBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public java.util.List + getPartOrBuilderList() { + if (partBuilder_ != null) { + return partBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(part_); + } + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part.Builder addPartBuilder() { + return getPartFieldBuilder().addBuilder( + org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part.getDefaultInstance()); + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part.Builder addPartBuilder( + int index) { + return getPartFieldBuilder().addBuilder( + index, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part.getDefaultInstance()); + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public java.util.List + getPartBuilderList() { + return getPartFieldBuilder().getBuilderList(); + } + private org.jetbrains.kotlin.protobuf.RepeatedFieldBuilder< + org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part.Builder, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.PartOrBuilder> + getPartFieldBuilder() { + if (partBuilder_ == null) { + partBuilder_ = new org.jetbrains.kotlin.protobuf.RepeatedFieldBuilder< + org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.Part.Builder, org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.Library.PartOrBuilder>( + part_, + ((bitField0_ & 0x00000002) == 0x00000002), + getParentForChildren(), + isClean()); + part_ = null; + } + return partBuilder_; + } + private org.jetbrains.kotlin.protobuf.LazyStringList importedModule_ = org.jetbrains.kotlin.protobuf.LazyStringArrayList.EMPTY; private void ensureImportedModuleIsMutable() { if (!((bitField0_ & 0x00000004) == 0x00000004)) { @@ -3652,6 +4573,17 @@ public final class DebugJsProtoBuf { // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.js.Library) } + public static final int PACKAGE_FQ_NAME_FIELD_NUMBER = 131; + /** + * extend .org.jetbrains.kotlin.serialization.Package { ... } + */ + public static final + org.jetbrains.kotlin.protobuf.GeneratedMessage.GeneratedExtension< + org.jetbrains.kotlin.serialization.DebugProtoBuf.Package, + java.lang.Integer> packageFqName = org.jetbrains.kotlin.protobuf.GeneratedMessage + .newFileScopedGeneratedExtension( + java.lang.Integer.class, + null); public static final int CLASS_ANNOTATION_FIELD_NUMBER = 130; /** * extend .org.jetbrains.kotlin.serialization.Class { ... } @@ -3805,10 +4737,10 @@ public final class DebugJsProtoBuf { org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable internal_static_org_jetbrains_kotlin_serialization_js_Library_fieldAccessorTable; private static final org.jetbrains.kotlin.protobuf.Descriptors.Descriptor - internal_static_org_jetbrains_kotlin_serialization_js_Library_FileEntry_descriptor; + internal_static_org_jetbrains_kotlin_serialization_js_Library_Part_descriptor; private static org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_org_jetbrains_kotlin_serialization_js_Library_FileEntry_fieldAccessorTable; + internal_static_org_jetbrains_kotlin_serialization_js_Library_Part_fieldAccessorTable; public static org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor getDescriptor() { @@ -3825,50 +4757,59 @@ public final class DebugJsProtoBuf { "\030\002 \003(\0132..org.jetbrains.kotlin.serializat" + "ion.Annotation\"B\n\005Files\0229\n\004file\030\001 \003(\0132+." + "org.jetbrains.kotlin.serialization.js.Fi" + - "le\"!\n\007Classes\022\026\n\nclass_name\030\001 \003(\005B\002\020\001\"\225\002" + - "\n\007Library\022G\n\005entry\030\001 \003(\01328.org.jetbrains" + - ".kotlin.serialization.js.Library.FileEnt", - "ry\022H\n\004kind\030\002 \001(\01623.org.jetbrains.kotlin." + - "serialization.js.Library.Kind:\005PLAIN\022\027\n\017" + - "imported_module\030\003 \003(\t\032*\n\tFileEntry\022\014\n\004pa" + - "th\030\001 \002(\t\022\017\n\007content\030\002 \002(\014\"2\n\004Kind\022\t\n\005PLA" + - "IN\020\001\022\007\n\003AMD\020\002\022\r\n\tCOMMON_JS\020\003\022\007\n\003UMD\020\004:t\n" + - "\020class_annotation\022).org.jetbrains.kotlin" + - ".serialization.Class\030\202\001 \003(\0132..org.jetbra" + - "ins.kotlin.serialization.Annotation:L\n\030c" + - "lass_containing_file_id\022).org.jetbrains." + - "kotlin.serialization.Class\030\207\001 \001(\005:\200\001\n\026co", - "nstructor_annotation\022/.org.jetbrains.kot" + - "lin.serialization.Constructor\030\202\001 \003(\0132..o" + - "rg.jetbrains.kotlin.serialization.Annota" + - "tion:z\n\023function_annotation\022,.org.jetbra" + - "ins.kotlin.serialization.Function\030\202\001 \003(\013" + - "2..org.jetbrains.kotlin.serialization.An" + - "notation:R\n\033function_containing_file_id\022" + - ",.org.jetbrains.kotlin.serialization.Fun" + - "ction\030\207\001 \001(\005:z\n\023property_annotation\022,.or" + - "g.jetbrains.kotlin.serialization.Propert", - "y\030\202\001 \003(\0132..org.jetbrains.kotlin.serializ" + - "ation.Annotation:\210\001\n\022compile_time_value\022" + - ",.org.jetbrains.kotlin.serialization.Pro" + - "perty\030\203\001 \001(\0132=.org.jetbrains.kotlin.seri" + - "alization.Annotation.Argument.Value:R\n\033p" + - "roperty_containing_file_id\022,.org.jetbrai" + - "ns.kotlin.serialization.Property\030\207\001 \001(\005:" + - "}\n\025enum_entry_annotation\022-.org.jetbrains" + - ".kotlin.serialization.EnumEntry\030\202\001 \003(\0132." + - ".org.jetbrains.kotlin.serialization.Anno", - "tation:\201\001\n\024parameter_annotation\0222.org.je" + - "tbrains.kotlin.serialization.ValueParame" + - "ter\030\202\001 \003(\0132..org.jetbrains.kotlin.serial" + - "ization.Annotation:r\n\017type_annotation\022(." + - "org.jetbrains.kotlin.serialization.Type\030" + - "\202\001 \003(\0132..org.jetbrains.kotlin.serializat" + - "ion.Annotation:\205\001\n\031type_parameter_annota" + - "tion\0221.org.jetbrains.kotlin.serializatio" + - "n.TypeParameter\030\202\001 \003(\0132..org.jetbrains.k" + - "otlin.serialization.AnnotationB\021B\017DebugJ", - "sProtoBuf" + "le\"!\n\007Classes\022\026\n\nclass_name\030\001 \003(\005B\002\020\001\"\265\004" + + "\n\007Library\022H\n\004kind\030\001 \001(\01623.org.jetbrains." + + "kotlin.serialization.js.Library.Kind:\005PL", + "AIN\022A\n\004part\030\002 \003(\01323.org.jetbrains.kotlin" + + ".serialization.js.Library.Part\022\027\n\017import" + + "ed_module\030\003 \003(\t\032\317\002\n\004Part\022@\n\007strings\030\001 \001(" + + "\0132/.org.jetbrains.kotlin.serialization.S" + + "tringTable\022O\n\017qualified_names\030\002 \001(\01326.or" + + "g.jetbrains.kotlin.serialization.Qualifi" + + "edNameTable\022<\n\007package\030\003 \001(\0132+.org.jetbr" + + "ains.kotlin.serialization.Package\0228\n\005cla" + + "ss\030\004 \003(\0132).org.jetbrains.kotlin.serializ" + + "ation.Class\022<\n\005files\030\202\001 \001(\0132,.org.jetbra", + "ins.kotlin.serialization.js.Files\"2\n\004Kin" + + "d\022\t\n\005PLAIN\020\001\022\007\n\003AMD\020\002\022\r\n\tCOMMON_JS\020\003\022\007\n\003" + + "UMD\020\004:E\n\017package_fq_name\022+.org.jetbrains" + + ".kotlin.serialization.Package\030\203\001 \001(\005:t\n\020" + + "class_annotation\022).org.jetbrains.kotlin." + + "serialization.Class\030\202\001 \003(\0132..org.jetbrai" + + "ns.kotlin.serialization.Annotation:L\n\030cl" + + "ass_containing_file_id\022).org.jetbrains.k" + + "otlin.serialization.Class\030\207\001 \001(\005:\200\001\n\026con" + + "structor_annotation\022/.org.jetbrains.kotl", + "in.serialization.Constructor\030\202\001 \003(\0132..or" + + "g.jetbrains.kotlin.serialization.Annotat" + + "ion:z\n\023function_annotation\022,.org.jetbrai" + + "ns.kotlin.serialization.Function\030\202\001 \003(\0132" + + "..org.jetbrains.kotlin.serialization.Ann" + + "otation:R\n\033function_containing_file_id\022," + + ".org.jetbrains.kotlin.serialization.Func" + + "tion\030\207\001 \001(\005:z\n\023property_annotation\022,.org" + + ".jetbrains.kotlin.serialization.Property" + + "\030\202\001 \003(\0132..org.jetbrains.kotlin.serializa", + "tion.Annotation:\210\001\n\022compile_time_value\022," + + ".org.jetbrains.kotlin.serialization.Prop" + + "erty\030\203\001 \001(\0132=.org.jetbrains.kotlin.seria" + + "lization.Annotation.Argument.Value:R\n\033pr" + + "operty_containing_file_id\022,.org.jetbrain" + + "s.kotlin.serialization.Property\030\207\001 \001(\005:}" + + "\n\025enum_entry_annotation\022-.org.jetbrains." + + "kotlin.serialization.EnumEntry\030\202\001 \003(\0132.." + + "org.jetbrains.kotlin.serialization.Annot" + + "ation:\201\001\n\024parameter_annotation\0222.org.jet", + "brains.kotlin.serialization.ValueParamet" + + "er\030\202\001 \003(\0132..org.jetbrains.kotlin.seriali" + + "zation.Annotation:r\n\017type_annotation\022(.o" + + "rg.jetbrains.kotlin.serialization.Type\030\202" + + "\001 \003(\0132..org.jetbrains.kotlin.serializati" + + "on.Annotation:\205\001\n\031type_parameter_annotat" + + "ion\0221.org.jetbrains.kotlin.serialization" + + ".TypeParameter\030\202\001 \003(\0132..org.jetbrains.ko" + + "tlin.serialization.AnnotationB\021B\017DebugJs" + + "ProtoBuf" }; org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -3906,25 +4847,26 @@ public final class DebugJsProtoBuf { internal_static_org_jetbrains_kotlin_serialization_js_Library_fieldAccessorTable = new org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_org_jetbrains_kotlin_serialization_js_Library_descriptor, - new java.lang.String[] { "Entry", "Kind", "ImportedModule", }); - internal_static_org_jetbrains_kotlin_serialization_js_Library_FileEntry_descriptor = + new java.lang.String[] { "Kind", "Part", "ImportedModule", }); + internal_static_org_jetbrains_kotlin_serialization_js_Library_Part_descriptor = internal_static_org_jetbrains_kotlin_serialization_js_Library_descriptor.getNestedTypes().get(0); - internal_static_org_jetbrains_kotlin_serialization_js_Library_FileEntry_fieldAccessorTable = new + internal_static_org_jetbrains_kotlin_serialization_js_Library_Part_fieldAccessorTable = new org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_org_jetbrains_kotlin_serialization_js_Library_FileEntry_descriptor, - new java.lang.String[] { "Path", "Content", }); - classAnnotation.internalInit(descriptor.getExtensions().get(0)); - classContainingFileId.internalInit(descriptor.getExtensions().get(1)); - constructorAnnotation.internalInit(descriptor.getExtensions().get(2)); - functionAnnotation.internalInit(descriptor.getExtensions().get(3)); - functionContainingFileId.internalInit(descriptor.getExtensions().get(4)); - propertyAnnotation.internalInit(descriptor.getExtensions().get(5)); - compileTimeValue.internalInit(descriptor.getExtensions().get(6)); - propertyContainingFileId.internalInit(descriptor.getExtensions().get(7)); - enumEntryAnnotation.internalInit(descriptor.getExtensions().get(8)); - parameterAnnotation.internalInit(descriptor.getExtensions().get(9)); - typeAnnotation.internalInit(descriptor.getExtensions().get(10)); - typeParameterAnnotation.internalInit(descriptor.getExtensions().get(11)); + internal_static_org_jetbrains_kotlin_serialization_js_Library_Part_descriptor, + new java.lang.String[] { "Strings", "QualifiedNames", "Package", "Class_", "Files", }); + packageFqName.internalInit(descriptor.getExtensions().get(0)); + classAnnotation.internalInit(descriptor.getExtensions().get(1)); + classContainingFileId.internalInit(descriptor.getExtensions().get(2)); + constructorAnnotation.internalInit(descriptor.getExtensions().get(3)); + functionAnnotation.internalInit(descriptor.getExtensions().get(4)); + functionContainingFileId.internalInit(descriptor.getExtensions().get(5)); + propertyAnnotation.internalInit(descriptor.getExtensions().get(6)); + compileTimeValue.internalInit(descriptor.getExtensions().get(7)); + propertyContainingFileId.internalInit(descriptor.getExtensions().get(8)); + enumEntryAnnotation.internalInit(descriptor.getExtensions().get(9)); + parameterAnnotation.internalInit(descriptor.getExtensions().get(10)); + typeAnnotation.internalInit(descriptor.getExtensions().get(11)); + typeParameterAnnotation.internalInit(descriptor.getExtensions().get(12)); org.jetbrains.kotlin.serialization.DebugProtoBuf.getDescriptor(); } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/js/KotlinJavaScriptDeserializerForDecompiler.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/js/KotlinJavaScriptDeserializerForDecompiler.kt index c76222fa8e4..ee01c6b52c4 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/js/KotlinJavaScriptDeserializerForDecompiler.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/js/KotlinJavaScriptDeserializerForDecompiler.kt @@ -31,10 +31,7 @@ import org.jetbrains.kotlin.resolve.TargetPlatform import org.jetbrains.kotlin.serialization.ProtoBuf import org.jetbrains.kotlin.serialization.deserialization.* import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedPackageMemberScope -import org.jetbrains.kotlin.serialization.js.DynamicTypeDeserializer -import org.jetbrains.kotlin.serialization.js.JsSerializerProtocol -import org.jetbrains.kotlin.serialization.js.KotlinJavascriptClassDataFinder -import org.jetbrains.kotlin.serialization.js.KotlinJavascriptSerializedResourcePaths +import org.jetbrains.kotlin.serialization.js.* import java.io.ByteArrayInputStream class KotlinJavaScriptDeserializerForDecompiler( @@ -52,9 +49,8 @@ class KotlinJavaScriptDeserializerForDecompiler( override val targetPlatform: TargetPlatform get() = JsPlatform override val builtIns: KotlinBuiltIns get() = DefaultBuiltIns.Instance - private val classDataFinder = KotlinJavascriptClassDataFinder(nameResolver) { path -> - packageDirectory.findChild(path.substringAfterLast("/"))?.inputStream - } + // TODO: read metadata from .kjsm files here + private val classDataFinder = KotlinJavascriptClassDataFinder(JsProtoBuf.Library.Part.getDefaultInstance(), nameResolver) override val deserializationComponents: DeserializationComponents diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/js/KotlinJavaScriptStubBuilder.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/js/KotlinJavaScriptStubBuilder.kt index ac83bde909b..fe733075865 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/js/KotlinJavaScriptStubBuilder.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/js/KotlinJavaScriptStubBuilder.kt @@ -32,6 +32,7 @@ import org.jetbrains.kotlin.serialization.ProtoBuf import org.jetbrains.kotlin.serialization.deserialization.NameResolver import org.jetbrains.kotlin.serialization.deserialization.NameResolverImpl import org.jetbrains.kotlin.serialization.deserialization.TypeTable +import org.jetbrains.kotlin.serialization.js.JsProtoBuf import org.jetbrains.kotlin.serialization.js.JsSerializerProtocol import org.jetbrains.kotlin.serialization.js.KotlinJavascriptClassDataFinder import org.jetbrains.kotlin.serialization.js.KotlinJavascriptSerializedResourcePaths @@ -76,9 +77,8 @@ class KotlinJavaScriptStubBuilder : ClsStubBuilder() { } private fun createStubBuilderComponents(file: VirtualFile, nameResolver: NameResolver): ClsStubBuilderComponents { - val classDataFinder = KotlinJavascriptClassDataFinder(nameResolver) { path -> - file.parent.findChild(path.substringAfterLast("/"))?.inputStream - } + // TODO: read metadata from .kjsm files here + val classDataFinder = KotlinJavascriptClassDataFinder(JsProtoBuf.Library.Part.getDefaultInstance(), nameResolver) val annotationLoader = AnnotationLoaderForStubBuilderImpl(JsSerializerProtocol) return ClsStubBuilderComponents(classDataFinder, annotationLoader, file) } diff --git a/js/js.serializer/src/js.proto b/js/js.serializer/src/js.proto index 920bc7c9365..92d0631ac2c 100644 --- a/js/js.serializer/src/js.proto +++ b/js/js.serializer/src/js.proto @@ -30,6 +30,10 @@ message Files { repeated File file = 1; } +extend Package { + optional int32 package_fq_name = 131; +} + extend Class { repeated Annotation class_annotation = 130; optional int32 class_containing_file_id = 135; @@ -72,11 +76,6 @@ message Classes { } message Library { - message FileEntry { - required string path = 1; - required bytes content = 2; - } - enum Kind { PLAIN = 1; AMD = 2; @@ -84,7 +83,22 @@ message Library { UMD = 4; } - repeated FileEntry entry = 1; - optional Kind kind = 2 [default = PLAIN]; + // This is a copy of BuiltIns in builtins.proto + // TODO: combine the two + message Part { + optional StringTable strings = 1; + optional QualifiedNameTable qualified_names = 2; + + optional Package package = 3; + + repeated Class class = 4; + + optional Files files = 130; + } + + optional Kind kind = 1 [default = PLAIN]; + + repeated Part part = 2; + repeated string imported_module = 3; } diff --git a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/JsProtoBuf.java b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/JsProtoBuf.java index 3cf213e86a0..241a963f882 100644 --- a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/JsProtoBuf.java +++ b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/JsProtoBuf.java @@ -7,6 +7,7 @@ public final class JsProtoBuf { private JsProtoBuf() {} public static void registerAllExtensions( org.jetbrains.kotlin.protobuf.ExtensionRegistryLite registry) { + registry.add(org.jetbrains.kotlin.serialization.js.JsProtoBuf.packageFqName); registry.add(org.jetbrains.kotlin.serialization.js.JsProtoBuf.classAnnotation); registry.add(org.jetbrains.kotlin.serialization.js.JsProtoBuf.classContainingFileId); registry.add(org.jetbrains.kotlin.serialization.js.JsProtoBuf.constructorAnnotation); @@ -1588,28 +1589,28 @@ public final class JsProtoBuf { org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder { /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - java.util.List - getEntryList(); - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry getEntry(int index); - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - int getEntryCount(); - - /** - * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 2 [default = PLAIN]; + * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 1 [default = PLAIN]; */ boolean hasKind(); /** - * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 2 [default = PLAIN]; + * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 1 [default = PLAIN]; */ org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Kind getKind(); + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + java.util.List + getPartList(); + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part getPart(int index); + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + int getPartCount(); + /** * repeated string imported_module = 3; */ @@ -1679,15 +1680,7 @@ public final class JsProtoBuf { } break; } - case 10: { - if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) { - entry_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000001; - } - entry_.add(input.readMessage(org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry.PARSER, extensionRegistry)); - break; - } - case 16: { + case 8: { int rawValue = input.readEnum(); org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Kind value = org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Kind.valueOf(rawValue); if (value == null) { @@ -1699,6 +1692,14 @@ public final class JsProtoBuf { } break; } + case 18: { + if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) { + part_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000002; + } + part_.add(input.readMessage(org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part.PARSER, extensionRegistry)); + break; + } case 26: { org.jetbrains.kotlin.protobuf.ByteString bs = input.readBytes(); if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) { @@ -1716,8 +1717,8 @@ public final class JsProtoBuf { throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException( e.getMessage()).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) { - entry_ = java.util.Collections.unmodifiableList(entry_); + if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) { + part_ = java.util.Collections.unmodifiableList(part_); } if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) { importedModule_ = importedModule_.getUnmodifiableView(); @@ -1821,58 +1822,90 @@ public final class JsProtoBuf { // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.js.Library.Kind) } - public interface FileEntryOrBuilder extends - // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.js.Library.FileEntry) + public interface PartOrBuilder extends + // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.js.Library.Part) org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder { /** - * required string path = 1; + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; */ - boolean hasPath(); + boolean hasStrings(); /** - * required string path = 1; + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; */ - java.lang.String getPath(); - /** - * required string path = 1; - */ - org.jetbrains.kotlin.protobuf.ByteString - getPathBytes(); + org.jetbrains.kotlin.serialization.ProtoBuf.StringTable getStrings(); /** - * required bytes content = 2; + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; */ - boolean hasContent(); + boolean hasQualifiedNames(); /** - * required bytes content = 2; + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; */ - org.jetbrains.kotlin.protobuf.ByteString getContent(); + org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable getQualifiedNames(); + + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + boolean hasPackage(); + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + org.jetbrains.kotlin.serialization.ProtoBuf.Package getPackage(); + + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + java.util.List + getClass_List(); + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + org.jetbrains.kotlin.serialization.ProtoBuf.Class getClass_(int index); + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + int getClass_Count(); + + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + boolean hasFiles(); + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + org.jetbrains.kotlin.serialization.js.JsProtoBuf.Files getFiles(); } /** - * Protobuf type {@code org.jetbrains.kotlin.serialization.js.Library.FileEntry} + * Protobuf type {@code org.jetbrains.kotlin.serialization.js.Library.Part} + * + *
+     * This is a copy of BuiltIns in builtins.proto
+     * TODO: combine the two
+     * 
*/ - public static final class FileEntry extends + public static final class Part extends org.jetbrains.kotlin.protobuf.GeneratedMessageLite implements - // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.js.Library.FileEntry) - FileEntryOrBuilder { - // Use FileEntry.newBuilder() to construct. - private FileEntry(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) { + // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.js.Library.Part) + PartOrBuilder { + // Use Part.newBuilder() to construct. + private Part(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) { super(builder); this.unknownFields = builder.getUnknownFields(); } - private FileEntry(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;} + private Part(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;} - private static final FileEntry defaultInstance; - public static FileEntry getDefaultInstance() { + private static final Part defaultInstance; + public static Part getDefaultInstance() { return defaultInstance; } - public FileEntry getDefaultInstanceForType() { + public Part getDefaultInstanceForType() { return defaultInstance; } private final org.jetbrains.kotlin.protobuf.ByteString unknownFields; - private FileEntry( + private Part( org.jetbrains.kotlin.protobuf.CodedInputStream input, org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { @@ -1899,14 +1932,63 @@ public final class JsProtoBuf { break; } case 10: { - org.jetbrains.kotlin.protobuf.ByteString bs = input.readBytes(); + org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.Builder subBuilder = null; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + subBuilder = strings_.toBuilder(); + } + strings_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(strings_); + strings_ = subBuilder.buildPartial(); + } bitField0_ |= 0x00000001; - path_ = bs; break; } case 18: { + org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.Builder subBuilder = null; + if (((bitField0_ & 0x00000002) == 0x00000002)) { + subBuilder = qualifiedNames_.toBuilder(); + } + qualifiedNames_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(qualifiedNames_); + qualifiedNames_ = subBuilder.buildPartial(); + } bitField0_ |= 0x00000002; - content_ = input.readBytes(); + break; + } + case 26: { + org.jetbrains.kotlin.serialization.ProtoBuf.Package.Builder subBuilder = null; + if (((bitField0_ & 0x00000004) == 0x00000004)) { + subBuilder = package_.toBuilder(); + } + package_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Package.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(package_); + package_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000004; + break; + } + case 34: { + if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) { + class__ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000008; + } + class__.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PARSER, extensionRegistry)); + break; + } + case 1042: { + org.jetbrains.kotlin.serialization.js.JsProtoBuf.Files.Builder subBuilder = null; + if (((bitField0_ & 0x00000008) == 0x00000008)) { + subBuilder = files_.toBuilder(); + } + files_ = input.readMessage(org.jetbrains.kotlin.serialization.js.JsProtoBuf.Files.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(files_); + files_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000008; break; } } @@ -1917,6 +1999,9 @@ public final class JsProtoBuf { throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException( e.getMessage()).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) { + class__ = java.util.Collections.unmodifiableList(class__); + } try { unknownFieldsCodedOutput.flush(); } catch (java.io.IOException e) { @@ -1927,82 +2012,123 @@ public final class JsProtoBuf { makeExtensionsImmutable(); } } - public static org.jetbrains.kotlin.protobuf.Parser PARSER = - new org.jetbrains.kotlin.protobuf.AbstractParser() { - public FileEntry parsePartialFrom( + public static org.jetbrains.kotlin.protobuf.Parser PARSER = + new org.jetbrains.kotlin.protobuf.AbstractParser() { + public Part parsePartialFrom( org.jetbrains.kotlin.protobuf.CodedInputStream input, org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { - return new FileEntry(input, extensionRegistry); + return new Part(input, extensionRegistry); } }; @java.lang.Override - public org.jetbrains.kotlin.protobuf.Parser getParserForType() { + public org.jetbrains.kotlin.protobuf.Parser getParserForType() { return PARSER; } private int bitField0_; - public static final int PATH_FIELD_NUMBER = 1; - private java.lang.Object path_; + public static final int STRINGS_FIELD_NUMBER = 1; + private org.jetbrains.kotlin.serialization.ProtoBuf.StringTable strings_; /** - * required string path = 1; + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; */ - public boolean hasPath() { + public boolean hasStrings() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required string path = 1; + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; */ - public java.lang.String getPath() { - java.lang.Object ref = path_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - org.jetbrains.kotlin.protobuf.ByteString bs = - (org.jetbrains.kotlin.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - path_ = s; - } - return s; - } - } - /** - * required string path = 1; - */ - public org.jetbrains.kotlin.protobuf.ByteString - getPathBytes() { - java.lang.Object ref = path_; - if (ref instanceof java.lang.String) { - org.jetbrains.kotlin.protobuf.ByteString b = - org.jetbrains.kotlin.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - path_ = b; - return b; - } else { - return (org.jetbrains.kotlin.protobuf.ByteString) ref; - } + public org.jetbrains.kotlin.serialization.ProtoBuf.StringTable getStrings() { + return strings_; } - public static final int CONTENT_FIELD_NUMBER = 2; - private org.jetbrains.kotlin.protobuf.ByteString content_; + public static final int QUALIFIED_NAMES_FIELD_NUMBER = 2; + private org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable qualifiedNames_; /** - * required bytes content = 2; + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; */ - public boolean hasContent() { + public boolean hasQualifiedNames() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * required bytes content = 2; + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; */ - public org.jetbrains.kotlin.protobuf.ByteString getContent() { - return content_; + public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable getQualifiedNames() { + return qualifiedNames_; + } + + public static final int PACKAGE_FIELD_NUMBER = 3; + private org.jetbrains.kotlin.serialization.ProtoBuf.Package package_; + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + public boolean hasPackage() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + public org.jetbrains.kotlin.serialization.ProtoBuf.Package getPackage() { + return package_; + } + + public static final int CLASS_FIELD_NUMBER = 4; + private java.util.List class__; + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public java.util.List getClass_List() { + return class__; + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public java.util.List + getClass_OrBuilderList() { + return class__; + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public int getClass_Count() { + return class__.size(); + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public org.jetbrains.kotlin.serialization.ProtoBuf.Class getClass_(int index) { + return class__.get(index); + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public org.jetbrains.kotlin.serialization.ProtoBuf.ClassOrBuilder getClass_OrBuilder( + int index) { + return class__.get(index); + } + + public static final int FILES_FIELD_NUMBER = 130; + private org.jetbrains.kotlin.serialization.js.JsProtoBuf.Files files_; + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + public boolean hasFiles() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + public org.jetbrains.kotlin.serialization.js.JsProtoBuf.Files getFiles() { + return files_; } private void initFields() { - path_ = ""; - content_ = org.jetbrains.kotlin.protobuf.ByteString.EMPTY; + strings_ = org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.getDefaultInstance(); + qualifiedNames_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance(); + package_ = org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance(); + class__ = java.util.Collections.emptyList(); + files_ = org.jetbrains.kotlin.serialization.js.JsProtoBuf.Files.getDefaultInstance(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -2010,13 +2136,29 @@ public final class JsProtoBuf { if (isInitialized == 1) return true; if (isInitialized == 0) return false; - if (!hasPath()) { - memoizedIsInitialized = 0; - return false; + if (hasQualifiedNames()) { + if (!getQualifiedNames().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } } - if (!hasContent()) { - memoizedIsInitialized = 0; - return false; + if (hasPackage()) { + if (!getPackage().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + for (int i = 0; i < getClass_Count(); i++) { + if (!getClass_(i).isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } + if (hasFiles()) { + if (!getFiles().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } } memoizedIsInitialized = 1; return true; @@ -2026,10 +2168,19 @@ public final class JsProtoBuf { throws java.io.IOException { getSerializedSize(); if (((bitField0_ & 0x00000001) == 0x00000001)) { - output.writeBytes(1, getPathBytes()); + output.writeMessage(1, strings_); } if (((bitField0_ & 0x00000002) == 0x00000002)) { - output.writeBytes(2, content_); + output.writeMessage(2, qualifiedNames_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeMessage(3, package_); + } + for (int i = 0; i < class__.size(); i++) { + output.writeMessage(4, class__.get(i)); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeMessage(130, files_); } output.writeRawBytes(unknownFields); } @@ -2042,11 +2193,23 @@ public final class JsProtoBuf { size = 0; if (((bitField0_ & 0x00000001) == 0x00000001)) { size += org.jetbrains.kotlin.protobuf.CodedOutputStream - .computeBytesSize(1, getPathBytes()); + .computeMessageSize(1, strings_); } if (((bitField0_ & 0x00000002) == 0x00000002)) { size += org.jetbrains.kotlin.protobuf.CodedOutputStream - .computeBytesSize(2, content_); + .computeMessageSize(2, qualifiedNames_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += org.jetbrains.kotlin.protobuf.CodedOutputStream + .computeMessageSize(3, package_); + } + for (int i = 0; i < class__.size(); i++) { + size += org.jetbrains.kotlin.protobuf.CodedOutputStream + .computeMessageSize(4, class__.get(i)); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + size += org.jetbrains.kotlin.protobuf.CodedOutputStream + .computeMessageSize(130, files_); } size += unknownFields.size(); memoizedSerializedSize = size; @@ -2060,53 +2223,53 @@ public final class JsProtoBuf { return super.writeReplace(); } - public static org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry parseFrom( + public static org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part parseFrom( org.jetbrains.kotlin.protobuf.ByteString data) throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry parseFrom( + public static org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part 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.serialization.js.JsProtoBuf.Library.FileEntry parseFrom(byte[] data) + public static org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part parseFrom(byte[] data) throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry parseFrom( + public static org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part 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.serialization.js.JsProtoBuf.Library.FileEntry parseFrom(java.io.InputStream input) + public static org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part parseFrom(java.io.InputStream input) throws java.io.IOException { return PARSER.parseFrom(input); } - public static org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry parseFrom( + public static org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part 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.serialization.js.JsProtoBuf.Library.FileEntry parseDelimitedFrom(java.io.InputStream input) + public static org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return PARSER.parseDelimitedFrom(input); } - public static org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry parseDelimitedFrom( + public static org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part 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.serialization.js.JsProtoBuf.Library.FileEntry parseFrom( + public static org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part parseFrom( org.jetbrains.kotlin.protobuf.CodedInputStream input) throws java.io.IOException { return PARSER.parseFrom(input); } - public static org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry parseFrom( + public static org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part parseFrom( org.jetbrains.kotlin.protobuf.CodedInputStream input, org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -2115,21 +2278,26 @@ public final class JsProtoBuf { public static Builder newBuilder() { return Builder.create(); } public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder(org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry prototype) { + public static Builder newBuilder(org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part prototype) { return newBuilder().mergeFrom(prototype); } public Builder toBuilder() { return newBuilder(this); } /** - * Protobuf type {@code org.jetbrains.kotlin.serialization.js.Library.FileEntry} + * Protobuf type {@code org.jetbrains.kotlin.serialization.js.Library.Part} + * + *
+       * This is a copy of BuiltIns in builtins.proto
+       * TODO: combine the two
+       * 
*/ public static final class Builder extends org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder< - org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry, Builder> + org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part, Builder> implements - // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.js.Library.FileEntry) - org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntryOrBuilder { - // Construct using org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry.newBuilder() + // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.js.Library.Part) + org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.PartOrBuilder { + // Construct using org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -2142,10 +2310,16 @@ public final class JsProtoBuf { public Builder clear() { super.clear(); - path_ = ""; + strings_ = org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000001); - content_ = org.jetbrains.kotlin.protobuf.ByteString.EMPTY; + qualifiedNames_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance(); bitField0_ = (bitField0_ & ~0x00000002); + package_ = org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance(); + bitField0_ = (bitField0_ & ~0x00000004); + class__ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000008); + files_ = org.jetbrains.kotlin.serialization.js.JsProtoBuf.Files.getDefaultInstance(); + bitField0_ = (bitField0_ & ~0x00000010); return this; } @@ -2153,43 +2327,70 @@ public final class JsProtoBuf { return create().mergeFrom(buildPartial()); } - public org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry getDefaultInstanceForType() { - return org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry.getDefaultInstance(); + public org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part getDefaultInstanceForType() { + return org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part.getDefaultInstance(); } - public org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry build() { - org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry result = buildPartial(); + public org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part build() { + org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } - public org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry buildPartial() { - org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry result = new org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry(this); + public org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part buildPartial() { + org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part result = new org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) == 0x00000001)) { to_bitField0_ |= 0x00000001; } - result.path_ = path_; + result.strings_ = strings_; if (((from_bitField0_ & 0x00000002) == 0x00000002)) { to_bitField0_ |= 0x00000002; } - result.content_ = content_; + result.qualifiedNames_ = qualifiedNames_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + result.package_ = package_; + if (((bitField0_ & 0x00000008) == 0x00000008)) { + class__ = java.util.Collections.unmodifiableList(class__); + bitField0_ = (bitField0_ & ~0x00000008); + } + result.class__ = class__; + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000008; + } + result.files_ = files_; result.bitField0_ = to_bitField0_; return result; } - public Builder mergeFrom(org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry other) { - if (other == org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry.getDefaultInstance()) return this; - if (other.hasPath()) { - bitField0_ |= 0x00000001; - path_ = other.path_; + public Builder mergeFrom(org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part other) { + if (other == org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part.getDefaultInstance()) return this; + if (other.hasStrings()) { + mergeStrings(other.getStrings()); + } + if (other.hasQualifiedNames()) { + mergeQualifiedNames(other.getQualifiedNames()); + } + if (other.hasPackage()) { + mergePackage(other.getPackage()); + } + if (!other.class__.isEmpty()) { + if (class__.isEmpty()) { + class__ = other.class__; + bitField0_ = (bitField0_ & ~0x00000008); + } else { + ensureClass_IsMutable(); + class__.addAll(other.class__); + } } - if (other.hasContent()) { - setContent(other.getContent()); + if (other.hasFiles()) { + mergeFiles(other.getFiles()); } setUnknownFields( getUnknownFields().concat(other.unknownFields)); @@ -2197,13 +2398,29 @@ public final class JsProtoBuf { } public final boolean isInitialized() { - if (!hasPath()) { - - return false; + if (hasQualifiedNames()) { + if (!getQualifiedNames().isInitialized()) { + + return false; + } } - if (!hasContent()) { - - return false; + if (hasPackage()) { + if (!getPackage().isInitialized()) { + + return false; + } + } + for (int i = 0; i < getClass_Count(); i++) { + if (!getClass_(i).isInitialized()) { + + return false; + } + } + if (hasFiles()) { + if (!getFiles().isInitialized()) { + + return false; + } } return true; } @@ -2212,11 +2429,11 @@ public final class JsProtoBuf { org.jetbrains.kotlin.protobuf.CodedInputStream input, org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry parsedMessage = null; + org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry) e.getUnfinishedMessage(); + parsedMessage = (org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part) e.getUnfinishedMessage(); throw e; } finally { if (parsedMessage != null) { @@ -2227,179 +2444,433 @@ public final class JsProtoBuf { } private int bitField0_; - private java.lang.Object path_ = ""; + private org.jetbrains.kotlin.serialization.ProtoBuf.StringTable strings_ = org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.getDefaultInstance(); /** - * required string path = 1; + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; */ - public boolean hasPath() { + public boolean hasStrings() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * required string path = 1; + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; */ - public java.lang.String getPath() { - java.lang.Object ref = path_; - if (!(ref instanceof java.lang.String)) { - org.jetbrains.kotlin.protobuf.ByteString bs = - (org.jetbrains.kotlin.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - path_ = s; - } - return s; - } else { - return (java.lang.String) ref; - } + public org.jetbrains.kotlin.serialization.ProtoBuf.StringTable getStrings() { + return strings_; } /** - * required string path = 1; + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; */ - public org.jetbrains.kotlin.protobuf.ByteString - getPathBytes() { - java.lang.Object ref = path_; - if (ref instanceof String) { - org.jetbrains.kotlin.protobuf.ByteString b = - org.jetbrains.kotlin.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - path_ = b; - return b; - } else { - return (org.jetbrains.kotlin.protobuf.ByteString) ref; - } - } - /** - * required string path = 1; - */ - public Builder setPath( - java.lang.String value) { + public Builder setStrings(org.jetbrains.kotlin.serialization.ProtoBuf.StringTable value) { if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000001; - path_ = value; - + throw new NullPointerException(); + } + strings_ = value; + + bitField0_ |= 0x00000001; return this; } /** - * required string path = 1; + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; */ - public Builder clearPath() { + public Builder setStrings( + org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.Builder builderForValue) { + strings_ = builderForValue.build(); + + bitField0_ |= 0x00000001; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; + */ + public Builder mergeStrings(org.jetbrains.kotlin.serialization.ProtoBuf.StringTable value) { + if (((bitField0_ & 0x00000001) == 0x00000001) && + strings_ != org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.getDefaultInstance()) { + strings_ = + org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.newBuilder(strings_).mergeFrom(value).buildPartial(); + } else { + strings_ = value; + } + + bitField0_ |= 0x00000001; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.StringTable strings = 1; + */ + public Builder clearStrings() { + strings_ = org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.getDefaultInstance(); + bitField0_ = (bitField0_ & ~0x00000001); - path_ = getDefaultInstance().getPath(); - - return this; - } - /** - * required string path = 1; - */ - public Builder setPathBytes( - org.jetbrains.kotlin.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000001; - path_ = value; - return this; } - private org.jetbrains.kotlin.protobuf.ByteString content_ = org.jetbrains.kotlin.protobuf.ByteString.EMPTY; + private org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable qualifiedNames_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance(); /** - * required bytes content = 2; + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; */ - public boolean hasContent() { + public boolean hasQualifiedNames() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * required bytes content = 2; + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; */ - public org.jetbrains.kotlin.protobuf.ByteString getContent() { - return content_; + public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable getQualifiedNames() { + return qualifiedNames_; } /** - * required bytes content = 2; + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; */ - public Builder setContent(org.jetbrains.kotlin.protobuf.ByteString value) { + public Builder setQualifiedNames(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable value) { if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000002; - content_ = value; - + throw new NullPointerException(); + } + qualifiedNames_ = value; + + bitField0_ |= 0x00000002; return this; } /** - * required bytes content = 2; + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; */ - public Builder clearContent() { + public Builder setQualifiedNames( + org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.Builder builderForValue) { + qualifiedNames_ = builderForValue.build(); + + bitField0_ |= 0x00000002; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; + */ + public Builder mergeQualifiedNames(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable value) { + if (((bitField0_ & 0x00000002) == 0x00000002) && + qualifiedNames_ != org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance()) { + qualifiedNames_ = + org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.newBuilder(qualifiedNames_).mergeFrom(value).buildPartial(); + } else { + qualifiedNames_ = value; + } + + bitField0_ |= 0x00000002; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.QualifiedNameTable qualified_names = 2; + */ + public Builder clearQualifiedNames() { + qualifiedNames_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance(); + bitField0_ = (bitField0_ & ~0x00000002); - content_ = getDefaultInstance().getContent(); - return this; } - // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.js.Library.FileEntry) + private org.jetbrains.kotlin.serialization.ProtoBuf.Package package_ = org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance(); + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + public boolean hasPackage() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + public org.jetbrains.kotlin.serialization.ProtoBuf.Package getPackage() { + return package_; + } + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + public Builder setPackage(org.jetbrains.kotlin.serialization.ProtoBuf.Package value) { + if (value == null) { + throw new NullPointerException(); + } + package_ = value; + + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + public Builder setPackage( + org.jetbrains.kotlin.serialization.ProtoBuf.Package.Builder builderForValue) { + package_ = builderForValue.build(); + + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + public Builder mergePackage(org.jetbrains.kotlin.serialization.ProtoBuf.Package value) { + if (((bitField0_ & 0x00000004) == 0x00000004) && + package_ != org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance()) { + package_ = + org.jetbrains.kotlin.serialization.ProtoBuf.Package.newBuilder(package_).mergeFrom(value).buildPartial(); + } else { + package_ = value; + } + + bitField0_ |= 0x00000004; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.Package package = 3; + */ + public Builder clearPackage() { + package_ = org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance(); + + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + private java.util.List class__ = + java.util.Collections.emptyList(); + private void ensureClass_IsMutable() { + if (!((bitField0_ & 0x00000008) == 0x00000008)) { + class__ = new java.util.ArrayList(class__); + bitField0_ |= 0x00000008; + } + } + + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public java.util.List getClass_List() { + return java.util.Collections.unmodifiableList(class__); + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public int getClass_Count() { + return class__.size(); + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public org.jetbrains.kotlin.serialization.ProtoBuf.Class getClass_(int index) { + return class__.get(index); + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public Builder setClass_( + int index, org.jetbrains.kotlin.serialization.ProtoBuf.Class value) { + if (value == null) { + throw new NullPointerException(); + } + ensureClass_IsMutable(); + class__.set(index, value); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public Builder setClass_( + int index, org.jetbrains.kotlin.serialization.ProtoBuf.Class.Builder builderForValue) { + ensureClass_IsMutable(); + class__.set(index, builderForValue.build()); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public Builder addClass_(org.jetbrains.kotlin.serialization.ProtoBuf.Class value) { + if (value == null) { + throw new NullPointerException(); + } + ensureClass_IsMutable(); + class__.add(value); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public Builder addClass_( + int index, org.jetbrains.kotlin.serialization.ProtoBuf.Class value) { + if (value == null) { + throw new NullPointerException(); + } + ensureClass_IsMutable(); + class__.add(index, value); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public Builder addClass_( + org.jetbrains.kotlin.serialization.ProtoBuf.Class.Builder builderForValue) { + ensureClass_IsMutable(); + class__.add(builderForValue.build()); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public Builder addClass_( + int index, org.jetbrains.kotlin.serialization.ProtoBuf.Class.Builder builderForValue) { + ensureClass_IsMutable(); + class__.add(index, builderForValue.build()); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public Builder addAllClass_( + java.lang.Iterable values) { + ensureClass_IsMutable(); + org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll( + values, class__); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public Builder clearClass_() { + class__ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000008); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.Class class = 4; + */ + public Builder removeClass_(int index) { + ensureClass_IsMutable(); + class__.remove(index); + + return this; + } + + private org.jetbrains.kotlin.serialization.js.JsProtoBuf.Files files_ = org.jetbrains.kotlin.serialization.js.JsProtoBuf.Files.getDefaultInstance(); + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + public boolean hasFiles() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + public org.jetbrains.kotlin.serialization.js.JsProtoBuf.Files getFiles() { + return files_; + } + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + public Builder setFiles(org.jetbrains.kotlin.serialization.js.JsProtoBuf.Files value) { + if (value == null) { + throw new NullPointerException(); + } + files_ = value; + + bitField0_ |= 0x00000010; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + public Builder setFiles( + org.jetbrains.kotlin.serialization.js.JsProtoBuf.Files.Builder builderForValue) { + files_ = builderForValue.build(); + + bitField0_ |= 0x00000010; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + public Builder mergeFiles(org.jetbrains.kotlin.serialization.js.JsProtoBuf.Files value) { + if (((bitField0_ & 0x00000010) == 0x00000010) && + files_ != org.jetbrains.kotlin.serialization.js.JsProtoBuf.Files.getDefaultInstance()) { + files_ = + org.jetbrains.kotlin.serialization.js.JsProtoBuf.Files.newBuilder(files_).mergeFrom(value).buildPartial(); + } else { + files_ = value; + } + + bitField0_ |= 0x00000010; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.js.Files files = 130; + */ + public Builder clearFiles() { + files_ = org.jetbrains.kotlin.serialization.js.JsProtoBuf.Files.getDefaultInstance(); + + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + + // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.js.Library.Part) } static { - defaultInstance = new FileEntry(true); + defaultInstance = new Part(true); defaultInstance.initFields(); } - // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.js.Library.FileEntry) + // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.js.Library.Part) } private int bitField0_; - public static final int ENTRY_FIELD_NUMBER = 1; - private java.util.List entry_; - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public java.util.List getEntryList() { - return entry_; - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public java.util.List - getEntryOrBuilderList() { - return entry_; - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public int getEntryCount() { - return entry_.size(); - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry getEntry(int index) { - return entry_.get(index); - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntryOrBuilder getEntryOrBuilder( - int index) { - return entry_.get(index); - } - - public static final int KIND_FIELD_NUMBER = 2; + public static final int KIND_FIELD_NUMBER = 1; private org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Kind kind_; /** - * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 2 [default = PLAIN]; + * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 1 [default = PLAIN]; */ public boolean hasKind() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 2 [default = PLAIN]; + * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 1 [default = PLAIN]; */ public org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Kind getKind() { return kind_; } + public static final int PART_FIELD_NUMBER = 2; + private java.util.List part_; + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public java.util.List getPartList() { + return part_; + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public java.util.List + getPartOrBuilderList() { + return part_; + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public int getPartCount() { + return part_.size(); + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part getPart(int index) { + return part_.get(index); + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.PartOrBuilder getPartOrBuilder( + int index) { + return part_.get(index); + } + public static final int IMPORTED_MODULE_FIELD_NUMBER = 3; private org.jetbrains.kotlin.protobuf.LazyStringList importedModule_; /** @@ -2430,8 +2901,8 @@ public final class JsProtoBuf { } private void initFields() { - entry_ = java.util.Collections.emptyList(); kind_ = org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Kind.PLAIN; + part_ = java.util.Collections.emptyList(); importedModule_ = org.jetbrains.kotlin.protobuf.LazyStringArrayList.EMPTY; } private byte memoizedIsInitialized = -1; @@ -2440,8 +2911,8 @@ public final class JsProtoBuf { if (isInitialized == 1) return true; if (isInitialized == 0) return false; - for (int i = 0; i < getEntryCount(); i++) { - if (!getEntry(i).isInitialized()) { + for (int i = 0; i < getPartCount(); i++) { + if (!getPart(i).isInitialized()) { memoizedIsInitialized = 0; return false; } @@ -2453,11 +2924,11 @@ public final class JsProtoBuf { public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output) throws java.io.IOException { getSerializedSize(); - for (int i = 0; i < entry_.size(); i++) { - output.writeMessage(1, entry_.get(i)); - } if (((bitField0_ & 0x00000001) == 0x00000001)) { - output.writeEnum(2, kind_.getNumber()); + output.writeEnum(1, kind_.getNumber()); + } + for (int i = 0; i < part_.size(); i++) { + output.writeMessage(2, part_.get(i)); } for (int i = 0; i < importedModule_.size(); i++) { output.writeBytes(3, importedModule_.getByteString(i)); @@ -2471,13 +2942,13 @@ public final class JsProtoBuf { if (size != -1) return size; size = 0; - for (int i = 0; i < entry_.size(); i++) { - size += org.jetbrains.kotlin.protobuf.CodedOutputStream - .computeMessageSize(1, entry_.get(i)); - } if (((bitField0_ & 0x00000001) == 0x00000001)) { size += org.jetbrains.kotlin.protobuf.CodedOutputStream - .computeEnumSize(2, kind_.getNumber()); + .computeEnumSize(1, kind_.getNumber()); + } + for (int i = 0; i < part_.size(); i++) { + size += org.jetbrains.kotlin.protobuf.CodedOutputStream + .computeMessageSize(2, part_.get(i)); } { int dataSize = 0; @@ -2582,9 +3053,9 @@ public final class JsProtoBuf { public Builder clear() { super.clear(); - entry_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); kind_ = org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Kind.PLAIN; + bitField0_ = (bitField0_ & ~0x00000001); + part_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); importedModule_ = org.jetbrains.kotlin.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000004); @@ -2611,15 +3082,15 @@ public final class JsProtoBuf { org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library result = new org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; - if (((bitField0_ & 0x00000001) == 0x00000001)) { - entry_ = java.util.Collections.unmodifiableList(entry_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.entry_ = entry_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { to_bitField0_ |= 0x00000001; } result.kind_ = kind_; + if (((bitField0_ & 0x00000002) == 0x00000002)) { + part_ = java.util.Collections.unmodifiableList(part_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.part_ = part_; if (((bitField0_ & 0x00000004) == 0x00000004)) { importedModule_ = importedModule_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000004); @@ -2631,19 +3102,19 @@ public final class JsProtoBuf { public Builder mergeFrom(org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library other) { if (other == org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.getDefaultInstance()) return this; - if (!other.entry_.isEmpty()) { - if (entry_.isEmpty()) { - entry_ = other.entry_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureEntryIsMutable(); - entry_.addAll(other.entry_); - } - - } if (other.hasKind()) { setKind(other.getKind()); } + if (!other.part_.isEmpty()) { + if (part_.isEmpty()) { + part_ = other.part_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensurePartIsMutable(); + part_.addAll(other.part_); + } + + } if (!other.importedModule_.isEmpty()) { if (importedModule_.isEmpty()) { importedModule_ = other.importedModule_; @@ -2660,8 +3131,8 @@ public final class JsProtoBuf { } public final boolean isInitialized() { - for (int i = 0; i < getEntryCount(); i++) { - if (!getEntry(i).isInitialized()) { + for (int i = 0; i < getPartCount(); i++) { + if (!getPart(i).isInitialized()) { return false; } @@ -2688,166 +3159,166 @@ public final class JsProtoBuf { } private int bitField0_; - private java.util.List entry_ = - java.util.Collections.emptyList(); - private void ensureEntryIsMutable() { - if (!((bitField0_ & 0x00000001) == 0x00000001)) { - entry_ = new java.util.ArrayList(entry_); - bitField0_ |= 0x00000001; - } - } - - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public java.util.List getEntryList() { - return java.util.Collections.unmodifiableList(entry_); - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public int getEntryCount() { - return entry_.size(); - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry getEntry(int index) { - return entry_.get(index); - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public Builder setEntry( - int index, org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry value) { - if (value == null) { - throw new NullPointerException(); - } - ensureEntryIsMutable(); - entry_.set(index, value); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public Builder setEntry( - int index, org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry.Builder builderForValue) { - ensureEntryIsMutable(); - entry_.set(index, builderForValue.build()); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public Builder addEntry(org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry value) { - if (value == null) { - throw new NullPointerException(); - } - ensureEntryIsMutable(); - entry_.add(value); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public Builder addEntry( - int index, org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry value) { - if (value == null) { - throw new NullPointerException(); - } - ensureEntryIsMutable(); - entry_.add(index, value); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public Builder addEntry( - org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry.Builder builderForValue) { - ensureEntryIsMutable(); - entry_.add(builderForValue.build()); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public Builder addEntry( - int index, org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.FileEntry.Builder builderForValue) { - ensureEntryIsMutable(); - entry_.add(index, builderForValue.build()); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public Builder addAllEntry( - java.lang.Iterable values) { - ensureEntryIsMutable(); - org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll( - values, entry_); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public Builder clearEntry() { - entry_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - - return this; - } - /** - * repeated .org.jetbrains.kotlin.serialization.js.Library.FileEntry entry = 1; - */ - public Builder removeEntry(int index) { - ensureEntryIsMutable(); - entry_.remove(index); - - return this; - } - private org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Kind kind_ = org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Kind.PLAIN; /** - * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 2 [default = PLAIN]; + * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 1 [default = PLAIN]; */ public boolean hasKind() { - return ((bitField0_ & 0x00000002) == 0x00000002); + return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 2 [default = PLAIN]; + * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 1 [default = PLAIN]; */ public org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Kind getKind() { return kind_; } /** - * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 2 [default = PLAIN]; + * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 1 [default = PLAIN]; */ public Builder setKind(org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Kind value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + bitField0_ |= 0x00000001; kind_ = value; return this; } /** - * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 2 [default = PLAIN]; + * optional .org.jetbrains.kotlin.serialization.js.Library.Kind kind = 1 [default = PLAIN]; */ public Builder clearKind() { - bitField0_ = (bitField0_ & ~0x00000002); + bitField0_ = (bitField0_ & ~0x00000001); kind_ = org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Kind.PLAIN; return this; } + private java.util.List part_ = + java.util.Collections.emptyList(); + private void ensurePartIsMutable() { + if (!((bitField0_ & 0x00000002) == 0x00000002)) { + part_ = new java.util.ArrayList(part_); + bitField0_ |= 0x00000002; + } + } + + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public java.util.List getPartList() { + return java.util.Collections.unmodifiableList(part_); + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public int getPartCount() { + return part_.size(); + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part getPart(int index) { + return part_.get(index); + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public Builder setPart( + int index, org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part value) { + if (value == null) { + throw new NullPointerException(); + } + ensurePartIsMutable(); + part_.set(index, value); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public Builder setPart( + int index, org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part.Builder builderForValue) { + ensurePartIsMutable(); + part_.set(index, builderForValue.build()); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public Builder addPart(org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part value) { + if (value == null) { + throw new NullPointerException(); + } + ensurePartIsMutable(); + part_.add(value); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public Builder addPart( + int index, org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part value) { + if (value == null) { + throw new NullPointerException(); + } + ensurePartIsMutable(); + part_.add(index, value); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public Builder addPart( + org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part.Builder builderForValue) { + ensurePartIsMutable(); + part_.add(builderForValue.build()); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public Builder addPart( + int index, org.jetbrains.kotlin.serialization.js.JsProtoBuf.Library.Part.Builder builderForValue) { + ensurePartIsMutable(); + part_.add(index, builderForValue.build()); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public Builder addAllPart( + java.lang.Iterable values) { + ensurePartIsMutable(); + org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll( + values, part_); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public Builder clearPart() { + part_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + + return this; + } + /** + * repeated .org.jetbrains.kotlin.serialization.js.Library.Part part = 2; + */ + public Builder removePart(int index) { + ensurePartIsMutable(); + part_.remove(index); + + return this; + } + private org.jetbrains.kotlin.protobuf.LazyStringList importedModule_ = org.jetbrains.kotlin.protobuf.LazyStringArrayList.EMPTY; private void ensureImportedModuleIsMutable() { if (!((bitField0_ & 0x00000004) == 0x00000004)) { @@ -2952,6 +3423,22 @@ public final class JsProtoBuf { // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.js.Library) } + public static final int PACKAGE_FQ_NAME_FIELD_NUMBER = 131; + /** + * extend .org.jetbrains.kotlin.serialization.Package { ... } + */ + public static final + org.jetbrains.kotlin.protobuf.GeneratedMessageLite.GeneratedExtension< + org.jetbrains.kotlin.serialization.ProtoBuf.Package, + java.lang.Integer> packageFqName = org.jetbrains.kotlin.protobuf.GeneratedMessageLite + .newSingularGeneratedExtension( + org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance(), + 0, + null, + null, + 131, + org.jetbrains.kotlin.protobuf.WireFormat.FieldType.INT32, + java.lang.Integer.class); public static final int CLASS_ANNOTATION_FIELD_NUMBER = 130; /** * extend .org.jetbrains.kotlin.serialization.Class { ... } diff --git a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptClassDataFinder.kt b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptClassDataFinder.kt index d541291736d..55092b31d87 100644 --- a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptClassDataFinder.kt +++ b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptClassDataFinder.kt @@ -20,18 +20,22 @@ import org.jetbrains.kotlin.descriptors.SourceElement import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.serialization.ClassData import org.jetbrains.kotlin.serialization.ClassDataWithSource -import org.jetbrains.kotlin.serialization.ProtoBuf import org.jetbrains.kotlin.serialization.deserialization.ClassDataFinder import org.jetbrains.kotlin.serialization.deserialization.NameResolver -import java.io.InputStream class KotlinJavascriptClassDataFinder( - private val nameResolver: NameResolver, - private val loadResource: (path: String) -> InputStream? + proto: JsProtoBuf.Library.Part, + private val nameResolver: NameResolver ) : ClassDataFinder { + private val classIdToProto = + proto.class_List.associateBy { klass -> + nameResolver.getClassId(klass.fqName) + } + + internal val allClassIds: Collection get() = classIdToProto.keys + override fun findClassData(classId: ClassId): ClassDataWithSource? { - val stream = loadResource(KotlinJavascriptSerializedResourcePaths.getClassMetadataPath(classId)) ?: return null - val classProto = ProtoBuf.Class.parseFrom(stream, JsSerializerProtocol.extensionRegistry) + val classProto = classIdToProto[classId] ?: return null return ClassDataWithSource(ClassData(nameResolver, classProto), SourceElement.NO_SOURCE) } } diff --git a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptPackageFragment.kt b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptPackageFragment.kt index 34398ceb1e1..967da277efd 100644 --- a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptPackageFragment.kt +++ b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptPackageFragment.kt @@ -20,63 +20,42 @@ import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor +import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName -import org.jetbrains.kotlin.name.Name -import org.jetbrains.kotlin.protobuf.CodedInputStream import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.serialization.ProtoBuf import org.jetbrains.kotlin.serialization.deserialization.AnnotationDeserializer import org.jetbrains.kotlin.serialization.deserialization.DeserializedPackageFragment -import org.jetbrains.kotlin.serialization.deserialization.NameResolverImpl +import org.jetbrains.kotlin.serialization.deserialization.NameResolver import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedClassDescriptor import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedPackageMemberScope import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedPropertyDescriptor import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedSimpleFunctionDescriptor import org.jetbrains.kotlin.storage.StorageManager -import java.io.InputStream +import org.jetbrains.kotlin.storage.getValue class KotlinJavascriptPackageFragment( fqName: FqName, storageManager: StorageManager, module: ModuleDescriptor, - private val loadResource: (path: String) -> InputStream? + private val proto: JsProtoBuf.Library.Part, + private val nameResolver: NameResolver ) : DeserializedPackageFragment(fqName, storageManager, module) { - private val nameResolver = - loadResourceSure(KotlinJavascriptSerializedResourcePaths.getStringTableFilePath(fqName)).use { stream -> - NameResolverImpl.read(stream) - } - - private val fileMap: Map by lazy { - loadResource(KotlinJavascriptSerializedResourcePaths.getFileListFilePath(fqName))?.use { rawInput -> - val input = CodedInputStream.newInstance(rawInput) - val filesProto = JsProtoBuf.Files.parseFrom(input).fileOrBuilderList - filesProto.associate { it.id to FileHolder(it.annotationList) } - }.orEmpty() + private val fileMap: Map by storageManager.createLazyValue { + proto.files.fileList.associate { file -> file.id to FileHolder(file.annotationList) } } - private val annotationDeserializer: AnnotationDeserializer by lazy { + private val annotationDeserializer: AnnotationDeserializer by storageManager.createLazyValue { AnnotationDeserializer(module, components.notFoundClasses) } - override val classDataFinder = KotlinJavascriptClassDataFinder(nameResolver, loadResource) + override val classDataFinder = KotlinJavascriptClassDataFinder(proto, nameResolver) override fun computeMemberScope(): DeserializedPackageMemberScope = - loadResourceSure(KotlinJavascriptSerializedResourcePaths.getPackageFilePath(fqName)).use { packageStream -> - val packageProto = ProtoBuf.Package.parseFrom(packageStream, JsSerializerProtocol.extensionRegistry) - DeserializedPackageMemberScope( - this, packageProto, nameResolver, containerSource = null, components = components, - classNames = { loadClassNames() } - ) - } - - private fun loadClassNames(): Collection = - loadResourceSure(KotlinJavascriptSerializedResourcePaths.getClassesInPackageFilePath(fqName)).use { classesStream -> - val classesProto = JsProtoBuf.Classes.parseFrom(classesStream, JsSerializerProtocol.extensionRegistry) - classesProto.classNameList?.map { id -> nameResolver.getName(id) } ?: listOf() - } - - private fun loadResourceSure(path: String): InputStream = - loadResource(path) ?: throw IllegalStateException("Resource not found in classpath: $path") + DeserializedPackageMemberScope( + this, proto.`package`, nameResolver, containerSource = null, components = components, + classNames = { classDataFinder.allClassIds.filterNot(ClassId::isNestedClass).map { it.shortClassName } } + ) fun getContainingFileAnnotations(descriptor: DeclarationDescriptor): List { if (DescriptorUtils.getParentOfType(descriptor, PackageFragmentDescriptor::class.java) != this) { @@ -93,7 +72,7 @@ class KotlinJavascriptPackageFragment( } private inner class FileHolder(val annotationsProto: List) { - val annotations: List by lazy { + val annotations: List by storageManager.createLazyValue { annotationsProto.map { annotationDeserializer.deserializeAnnotation(it, nameResolver) } } } diff --git a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptSerializationUtil.kt b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptSerializationUtil.kt index 6a0c680b4a5..2c2b6f2e177 100644 --- a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptSerializationUtil.kt +++ b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptSerializationUtil.kt @@ -17,8 +17,9 @@ package org.jetbrains.kotlin.serialization.js import org.jetbrains.kotlin.descriptors.* +import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName -import org.jetbrains.kotlin.protobuf.ByteString +import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.descriptorUtil.classId @@ -40,97 +41,91 @@ import java.util.zip.GZIPOutputStream object KotlinJavascriptSerializationUtil { val CLASS_METADATA_FILE_EXTENSION: String = "kjsm" - private val PACKAGE_DEFAULT_BYTES = run { - val stream = ByteArrayOutputStream() - ProtoBuf.Package.getDefaultInstance().writeTo(stream) - stream.toByteArray() - } - - private val CLASSES_IN_PACKAGE_DEFAULT_BYTES = run { - val stream = ByteArrayOutputStream() - JsProtoBuf.Classes.getDefaultInstance().writeTo(stream) - stream.toByteArray() - } - - private val STRING_TABLE_DEFAULT_BYTES = run { - val serializer = DescriptorSerializer.createTopLevel(KotlinJavascriptSerializerExtension(KotlinFileRegistry())) - val stream = ByteArrayOutputStream() - serializer.stringTable.serializeTo(stream) - stream.toByteArray() - } - @JvmStatic fun readModule( - metadata: ByteArray, storageManager: StorageManager, kotlinModule: ModuleDescriptor, configuration: DeserializationConfiguration + metadata: ByteArray, storageManager: StorageManager, module: ModuleDescriptor, configuration: DeserializationConfiguration ): JsModuleDescriptor { - val jsModule = metadata.readAsContentMap(kotlinModule.name.asString()) - return jsModule.copy(createPackageFragmentProvider(kotlinModule, jsModule.data, storageManager, configuration)) + val jsModule = metadata.deserializeToLibraryParts(module.name.asString()) + return jsModule.copy(createKotlinJavascriptPackageFragmentProvider(storageManager, module, jsModule.data, configuration)) } - @JvmStatic - private fun createPackageFragmentProvider( - moduleDescriptor: ModuleDescriptor, - contentMap: Map, - storageManager: StorageManager, - configuration: DeserializationConfiguration - ): PackageFragmentProvider? { - val packageFqNames = getPackages(contentMap).map(::FqName).toSet() - if (packageFqNames.isEmpty()) return null + fun serializeMetadata( + bindingContext: BindingContext, + module: ModuleDescriptor, + moduleKind: ModuleKind, + importedModules: List + ): JsProtoBuf.Library { + val builder = JsProtoBuf.Library.newBuilder() - return createKotlinJavascriptPackageFragmentProvider(storageManager, moduleDescriptor, packageFqNames, configuration) { path -> - if (!contentMap.containsKey(path)) { - when { - isPackageMetadataFile(path) -> - ByteArrayInputStream(PACKAGE_DEFAULT_BYTES) - isStringTableFile(path) -> - ByteArrayInputStream(STRING_TABLE_DEFAULT_BYTES) - isClassesInPackageFile(path) -> - ByteArrayInputStream(CLASSES_IN_PACKAGE_DEFAULT_BYTES) - else -> - null - } - } - else ByteArrayInputStream(contentMap[path]) - } - } - - fun contentMapToByteArray(contentMap: Map, moduleKind: ModuleKind, importedModules: List): ByteArray { - val contentBuilder = JsProtoBuf.Library.newBuilder() - - contentBuilder.kind = when (moduleKind) { + val moduleProtoKind = when (moduleKind) { ModuleKind.PLAIN -> JsProtoBuf.Library.Kind.PLAIN ModuleKind.AMD -> JsProtoBuf.Library.Kind.AMD ModuleKind.COMMON_JS -> JsProtoBuf.Library.Kind.COMMON_JS ModuleKind.UMD -> JsProtoBuf.Library.Kind.UMD } - - importedModules.forEach { contentBuilder.addImportedModule(it) } - - contentMap.forEach { - val entry = JsProtoBuf.Library.FileEntry.newBuilder().setPath(it.key).setContent(ByteString.copyFrom(it.value)).build() - contentBuilder.addEntry(entry) + if (builder.kind != moduleProtoKind) { + builder.kind = moduleProtoKind } - val byteStream = ByteArrayOutputStream() - GZIPOutputStream(byteStream).use { - contentBuilder.build().writeTo(it) + importedModules.forEach { builder.addImportedModule(it) } + + for (fqName in getPackagesFqNames(module)) { + val part = JsProtoBuf.Library.Part.newBuilder() + serializePackage(bindingContext, module, fqName, object : SerializerCallbacks { + override fun writeClass(classId: ClassId, classProto: ProtoBuf.Class) { + part.addClass_(classProto) + } + + override fun writePackage(fqName: FqName, packageProto: ProtoBuf.Package) { + part.`package` = packageProto + } + + override fun writeFiles(fqName: FqName, filesProto: JsProtoBuf.Files) { + part.files = filesProto + } + + override fun writeStringTable(fqName: FqName, stringTable: StringTableImpl) { + val (strings, qualifiedNames) = stringTable.buildProto() + part.strings = strings + part.qualifiedNames = qualifiedNames + } + + override fun writeClassNames(fqName: FqName, classNames: List, stringTable: StringTableImpl) { + // Do nothing + } + }) + + if (part.hasPackage() || part.class_Count > 0) { + builder.addPart(part) + } } - return byteStream.toByteArray() + return builder.build() } fun metadataAsString(bindingContext: BindingContext, jsDescriptor: JsModuleDescriptor): String = - KotlinJavascriptMetadataUtils.formatMetadataAsString(jsDescriptor.name, jsDescriptor.toBinaryMetadata(bindingContext)) + KotlinJavascriptMetadataUtils.formatMetadataAsString(jsDescriptor.name, jsDescriptor.serializeToBinaryMetadata(bindingContext)) - fun serializePackage(bindingContext: BindingContext, module: ModuleDescriptor, fqName: FqName, - writeFun: (String, ByteArray) -> Unit) { + interface SerializerCallbacks { + fun writeClass(classId: ClassId, classProto: ProtoBuf.Class) + + fun writePackage(fqName: FqName, packageProto: ProtoBuf.Package) + + fun writeFiles(fqName: FqName, filesProto: JsProtoBuf.Files) + + fun writeStringTable(fqName: FqName, stringTable: StringTableImpl) + + fun writeClassNames(fqName: FqName, classNames: List, stringTable: StringTableImpl) + } + + fun serializePackage(bindingContext: BindingContext, module: ModuleDescriptor, fqName: FqName, callbacks: SerializerCallbacks) { val packageView = module.getPackage(fqName) // TODO: ModuleDescriptor should be able to return the package only with the contents of that module, without dependencies val skip: (DeclarationDescriptor) -> Boolean = { DescriptorUtils.getContainingModule(it) != module || (it is MemberDescriptor && it.isHeader) } val fileRegistry = KotlinFileRegistry() - val serializerExtension = KotlinJavascriptSerializerExtension(fileRegistry) + val serializerExtension = KotlinJavascriptSerializerExtension(fileRegistry, fqName) val serializer = DescriptorSerializer.createTopLevel(serializerExtension) val classifierDescriptors = DescriptorSerializer.sort(packageView.memberScope.getContributedDescriptors( @@ -138,66 +133,36 @@ object KotlinJavascriptSerializationUtil { ClassSerializationUtil.serializeClasses(classifierDescriptors, serializer, object : ClassSerializationUtil.Sink { override fun writeClass(classDescriptor: ClassDescriptor, classProto: ProtoBuf.Class) { - val stream = ByteArrayOutputStream() - classProto.writeTo(stream) - writeFun(getFileName(classDescriptor), stream.toByteArray()) + callbacks.writeClass(classDescriptor.classId!!, classProto) } }, skip) - val packageStream = ByteArrayOutputStream() + val stringTable = serializerExtension.stringTable + val fragments = packageView.fragments val members = fragments .flatMap { fragment -> DescriptorUtils.getAllDescriptors(fragment.getMemberScope()) } .filterNot(skip) - val packageProto = serializer.packagePartProto(members).build() ?: error("Package fragments not serialized: $fragments") - if (packageProto.functionCount > 0 || packageProto.propertyCount > 0 || packageProto.typeAliasCount > 0) { - packageProto.writeTo(packageStream) - writeFun(KotlinJavascriptSerializedResourcePaths.getPackageFilePath(fqName), packageStream.toByteArray()) - } + val packageProto = serializer.packagePartProto(members) + packageProto.setExtension(JsProtoBuf.packageFqName, stringTable.getPackageFqNameIndex(fqName)) + callbacks.writePackage(fqName, packageProto.build()) - writeFun(KotlinJavascriptSerializedResourcePaths.getFileListFilePath(fqName), - serializeFiles(fileRegistry, bindingContext, AnnotationSerializer(serializer.stringTable))) + val fileTable = serializeFiles(fileRegistry, bindingContext, AnnotationSerializer(stringTable)) + callbacks.writeFiles(fqName, fileTable) - val strings = serializerExtension.stringTable - serializeClassNamesInPackage(fqName, fragments, strings, skip, writeFun) + val classNames = DescriptorSerializer.sort(fragments.flatMap { fragment -> + fragment.getMemberScope().getContributedDescriptors(DescriptorKindFilter.CLASSIFIERS).filterIsInstance() + }.filterNot(skip)).map { it.name } + callbacks.writeClassNames(fqName, classNames, stringTable) - val nameStream = ByteArrayOutputStream() - strings.serializeTo(nameStream) - val stringBytes = nameStream.toByteArray() - - if (!stringBytes.isEmpty() && !Arrays.equals(stringBytes, STRING_TABLE_DEFAULT_BYTES)) { - writeFun(KotlinJavascriptSerializedResourcePaths.getStringTableFilePath(fqName), stringBytes) - } + callbacks.writeStringTable(fqName, stringTable) } - private fun serializeClassNamesInPackage( - fqName: FqName, - packageFragments: Collection, - stringTable: StringTableImpl, - skip: (DeclarationDescriptor) -> Boolean, - writeFun: (String, ByteArray) -> Unit - ) { - val classes = packageFragments.flatMap { - it.getMemberScope().getContributedDescriptors(DescriptorKindFilter.CLASSIFIERS).filterIsInstance() - }.filter { !skip(it) } - - val builder = JsProtoBuf.Classes.newBuilder() - - for (descriptor in DescriptorSerializer.sort(classes)) { - builder.addClassName(stringTable.getSimpleNameIndex(descriptor.name)) - } - - val classesProto = builder.build() - - if (classesProto.classNameCount > 0) { - val stream = ByteArrayOutputStream() - classesProto.writeTo(stream) - writeFun(KotlinJavascriptSerializedResourcePaths.getClassesInPackageFilePath(fqName), stream.toByteArray()) - } - } - - private fun serializeFiles(fileRegistry: KotlinFileRegistry, bindingContext: BindingContext, - serializer: AnnotationSerializer): ByteArray { + private fun serializeFiles( + fileRegistry: KotlinFileRegistry, + bindingContext: BindingContext, + serializer: AnnotationSerializer + ): JsProtoBuf.Files { val filesProto = JsProtoBuf.Files.newBuilder() for ((file, id) in fileRegistry.fileIds) { val fileProto = JsProtoBuf.File.newBuilder() @@ -208,24 +173,52 @@ object KotlinJavascriptSerializationUtil { } filesProto.addFile(fileProto) } - - return ByteArrayOutputStream().use { out -> - filesProto.build().writeTo(out) - out - }.toByteArray() - } - - private fun getFileName(classDescriptor: ClassDescriptor): String { - return KotlinJavascriptSerializedResourcePaths.getClassMetadataPath(classDescriptor.classId!!) + return filesProto.build() } fun toContentMap(bindingContext: BindingContext, module: ModuleDescriptor): Map { val contentMap = hashMapOf() - getPackagesFqNames(module).forEach { - serializePackage(bindingContext, module, it) { - fileName, bytes -> contentMap[fileName] = bytes - } + fun writeFile(fileName: String, bytes: ByteArray) { + contentMap[fileName] = bytes + } + + for (fqName in getPackagesFqNames(module)) { + serializePackage(bindingContext, module, fqName, object : SerializerCallbacks { + override fun writeClass(classId: ClassId, classProto: ProtoBuf.Class) { + val bytes = ByteArrayOutputStream().apply(classProto::writeTo).toByteArray() + writeFile(KotlinJavascriptSerializedResourcePaths.getClassMetadataPath(classId), bytes) + } + + override fun writePackage(fqName: FqName, packageProto: ProtoBuf.Package) { + if (packageProto.functionCount > 0 || packageProto.propertyCount > 0 || packageProto.typeAliasCount > 0) { + val bytes = ByteArrayOutputStream().apply(packageProto::writeTo).toByteArray() + writeFile(KotlinJavascriptSerializedResourcePaths.getPackageFilePath(fqName), bytes) + } + } + + override fun writeFiles(fqName: FqName, filesProto: JsProtoBuf.Files) { + val bytes = ByteArrayOutputStream().apply(filesProto::writeTo).toByteArray() + writeFile(KotlinJavascriptSerializedResourcePaths.getFileListFilePath(fqName), bytes) + } + + override fun writeStringTable(fqName: FqName, stringTable: StringTableImpl) { + val bytes = ByteArrayOutputStream().apply(stringTable::serializeTo).toByteArray() + if (bytes.isNotEmpty()) { + writeFile(KotlinJavascriptSerializedResourcePaths.getStringTableFilePath(fqName), bytes) + } + } + + override fun writeClassNames(fqName: FqName, classNames: List, stringTable: StringTableImpl) { + val builder = JsProtoBuf.Classes.newBuilder() + builder.addAllClassName(classNames.map(stringTable::getSimpleNameIndex)) + val classesProto = builder.build() + if (classesProto.classNameCount > 0) { + val bytes = ByteArrayOutputStream().apply(classesProto::writeTo).toByteArray() + writeFile(KotlinJavascriptSerializedResourcePaths.getClassesInPackageFilePath(fqName), bytes) + } + } + }) } return contentMap @@ -251,44 +244,28 @@ object KotlinJavascriptSerializationUtil { } } - private fun getPackages(contentMap: Map): Set { - val keys = contentMap.keys.map { (if (it.startsWith('/')) it else "/" + it).substringBeforeLast('/') }.toSet() - - val result = hashSetOf() - - fun addNames(name: String) { - result.add(name) - if (name != "") { - addNames(name.substringBeforeLast('/')) - } - } - - keys.forEach { addNames(it) } - - return result.map { it.substringAfter('/').replace('/', '.') }.toSet() + private fun JsModuleDescriptor.serializeToBinaryMetadata(bindingContext: BindingContext): ByteArray { + val proto = serializeMetadata(bindingContext, data, kind, imported) + return ByteArrayOutputStream().apply { + GZIPOutputStream(this).use(proto::writeTo) + }.toByteArray() } - private fun JsModuleDescriptor.toBinaryMetadata(bindingContext: BindingContext) = - contentMapToByteArray(toContentMap(bindingContext, data), kind, imported) -} - -private fun ByteArray.readAsContentMap(name: String): JsModuleDescriptor> { - val gzipInputStream = GZIPInputStream(ByteArrayInputStream(this)) - val content = JsProtoBuf.Library.parseFrom(gzipInputStream) - gzipInputStream.close() - - val contentMap: MutableMap = hashMapOf() - content.entryList.forEach { entry -> contentMap[entry.path] = entry.content.toByteArray() } - - return JsModuleDescriptor( - name = name, - data = contentMap, - kind = when (content.kind) { - null, JsProtoBuf.Library.Kind.PLAIN -> ModuleKind.PLAIN - JsProtoBuf.Library.Kind.AMD -> ModuleKind.AMD - JsProtoBuf.Library.Kind.COMMON_JS -> ModuleKind.COMMON_JS - JsProtoBuf.Library.Kind.UMD -> ModuleKind.UMD - }, - imported = content.importedModuleList - ) + private fun ByteArray.deserializeToLibraryParts(name: String): JsModuleDescriptor> { + val content = GZIPInputStream(ByteArrayInputStream(this)).use { stream -> + JsProtoBuf.Library.parseFrom(stream, JsSerializerProtocol.extensionRegistry) + } + + return JsModuleDescriptor( + name = name, + data = content.partList, + kind = when (content.kind) { + null, JsProtoBuf.Library.Kind.PLAIN -> ModuleKind.PLAIN + JsProtoBuf.Library.Kind.AMD -> ModuleKind.AMD + JsProtoBuf.Library.Kind.COMMON_JS -> ModuleKind.COMMON_JS + JsProtoBuf.Library.Kind.UMD -> ModuleKind.UMD + }, + imported = content.importedModuleList + ) + } } diff --git a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptSerializedResourcePaths.kt b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptSerializedResourcePaths.kt index 07121d4a6d2..2f317c111a9 100644 --- a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptSerializedResourcePaths.kt +++ b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptSerializedResourcePaths.kt @@ -59,20 +59,6 @@ fun FqName.isPackageClassFqName(): Boolean = !this.isRoot && getPackageClassFqNa fun isDefaultPackageMetafile(fileName: String): Boolean = fileName == DEFAULT_PACKAGE_METAFILE_NAME -fun isPackageMetadataFile(fileName: String): Boolean = - KotlinJavascriptSerializedResourcePaths.getPackageFilePath(getPackageFqName(fileName)) == fileName - -fun isStringTableFile(fileName: String): Boolean = - KotlinJavascriptSerializedResourcePaths.getStringTableFilePath(getPackageFqName(fileName)) == fileName - -fun isClassesInPackageFile(fileName: String): Boolean = - KotlinJavascriptSerializedResourcePaths.getClassesInPackageFilePath(getPackageFqName(fileName)) == fileName - -private fun getPackageFqName(fileName: String): FqName = FqName(getPackageName(fileName)) - -private fun getPackageName(filePath: String): String = - if (filePath.indexOf('/') >= 0) filePath.substringBeforeLast('/').replace('/', '.') else "" - private fun getPackageClassFqName(packageFQN: FqName): FqName { return packageFQN.child(Name.identifier(getPackageClassName(packageFQN))) } diff --git a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptSerializerExtension.kt b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptSerializerExtension.kt index 912a8dda20a..86bf67f49b1 100644 --- a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptSerializerExtension.kt +++ b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/KotlinJavascriptSerializerExtension.kt @@ -17,6 +17,7 @@ package org.jetbrains.kotlin.serialization.js import org.jetbrains.kotlin.descriptors.* +import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.protobuf.ExtensionRegistryLite import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.resolve.DescriptorUtils @@ -24,10 +25,13 @@ import org.jetbrains.kotlin.resolve.source.PsiSourceFile import org.jetbrains.kotlin.serialization.KotlinSerializerExtensionBase import org.jetbrains.kotlin.serialization.ProtoBuf import org.jetbrains.kotlin.serialization.SerializerExtensionProtocol +import org.jetbrains.kotlin.serialization.builtins.BuiltInsProtoBuf import org.jetbrains.kotlin.types.FlexibleType -class KotlinJavascriptSerializerExtension(private val fileRegistry: KotlinFileRegistry) : - KotlinSerializerExtensionBase(JsSerializerProtocol) { +class KotlinJavascriptSerializerExtension( + private val fileRegistry: KotlinFileRegistry, + private val packageFqName: FqName +) : KotlinSerializerExtensionBase(JsSerializerProtocol) { override val stringTable = JavaScriptStringTable() override fun serializeFlexibleType(flexibleType: FlexibleType, lowerProto: ProtoBuf.Type.Builder, upperProto: ProtoBuf.Type.Builder) { @@ -42,6 +46,10 @@ class KotlinJavascriptSerializerExtension(private val fileRegistry: KotlinFileRe super.serializeClass(descriptor, proto) } + override fun serializePackage(proto: ProtoBuf.Package.Builder) { + proto.setExtension(BuiltInsProtoBuf.packageFqName, stringTable.getPackageFqNameIndex(packageFqName)) + } + override fun serializeProperty(descriptor: PropertyDescriptor, proto: ProtoBuf.Property.Builder) { val id = getFileId(descriptor) if (id != null) { diff --git a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/kotlinJavascriptPackageFragmentProvider.kt b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/kotlinJavascriptPackageFragmentProvider.kt index 83158c8115a..651c7633c5b 100644 --- a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/kotlinJavascriptPackageFragmentProvider.kt +++ b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/kotlinJavascriptPackageFragmentProvider.kt @@ -20,21 +20,25 @@ import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.PackageFragmentProvider import org.jetbrains.kotlin.descriptors.PackageFragmentProviderImpl import org.jetbrains.kotlin.incremental.components.LookupTracker -import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.serialization.deserialization.* import org.jetbrains.kotlin.storage.StorageManager -import java.io.InputStream fun createKotlinJavascriptPackageFragmentProvider( storageManager: StorageManager, module: ModuleDescriptor, - packageFqNames: Set, - configuration: DeserializationConfiguration, - loadResource: (String) -> InputStream? + libraryParts: List, + configuration: DeserializationConfiguration ): PackageFragmentProvider { - val packageFragments = packageFqNames.map { fqName -> - KotlinJavascriptPackageFragment(fqName, storageManager, module, loadResource) + val packageFragments = libraryParts.map { part -> + val nameResolver = NameResolverImpl(part.strings, part.qualifiedNames) + val fqName = when { + part.hasPackage() -> nameResolver.getPackageFqName(part.`package`.getExtension(JsProtoBuf.packageFqName)) + part.class_Count > 0 -> nameResolver.getClassId(part.class_OrBuilderList.first().fqName).packageFqName + else -> throw IllegalStateException("Invalid library part: either a Package or a Class must be present") + } + KotlinJavascriptPackageFragment(fqName, storageManager, module, part, nameResolver) } + val provider = PackageFragmentProviderImpl(packageFragments) val notFoundClasses = NotFoundClasses(storageManager, module)