diff --git a/build-common/test/org/jetbrains/kotlin/serialization/js/ast/DebugJsAstProtoBuf.java b/build-common/test/org/jetbrains/kotlin/serialization/js/ast/DebugJsAstProtoBuf.java index f1358a9e924..66ea9cf29fb 100644 --- a/build-common/test/org/jetbrains/kotlin/serialization/js/ast/DebugJsAstProtoBuf.java +++ b/build-common/test/org/jetbrains/kotlin/serialization/js/ast/DebugJsAstProtoBuf.java @@ -32582,6 +32582,28 @@ public final class DebugJsAstProtoBuf { */ org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.StatementOrBuilder getStatementOrBuilder( int index); + + /** + * optional int32 fileId = 3; + */ + boolean hasFileId(); + /** + * optional int32 fileId = 3; + */ + int getFileId(); + + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + boolean hasLocation(); + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location getLocation(); + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.LocationOrBuilder getLocationOrBuilder(); } /** * Protobuf type {@code org.jetbrains.kotlin.serialization.js.ast.SwitchEntry} @@ -32656,6 +32678,24 @@ public final class DebugJsAstProtoBuf { statement_.add(input.readMessage(org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Statement.PARSER, extensionRegistry)); break; } + case 24: { + bitField0_ |= 0x00000002; + fileId_ = input.readInt32(); + break; + } + case 34: { + org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location.Builder subBuilder = null; + if (((bitField0_ & 0x00000004) == 0x00000004)) { + subBuilder = location_.toBuilder(); + } + location_ = input.readMessage(org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(location_); + location_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000004; + break; + } } } } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) { @@ -32755,9 +32795,47 @@ public final class DebugJsAstProtoBuf { return statement_.get(index); } + public static final int FILEID_FIELD_NUMBER = 3; + private int fileId_; + /** + * optional int32 fileId = 3; + */ + public boolean hasFileId() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional int32 fileId = 3; + */ + public int getFileId() { + return fileId_; + } + + public static final int LOCATION_FIELD_NUMBER = 4; + private org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location location_; + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + public org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location getLocation() { + return location_; + } + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + public org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.LocationOrBuilder getLocationOrBuilder() { + return location_; + } + private void initFields() { label_ = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Expression.getDefaultInstance(); statement_ = java.util.Collections.emptyList(); + fileId_ = 0; + location_ = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location.getDefaultInstance(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -32777,6 +32855,12 @@ public final class DebugJsAstProtoBuf { return false; } } + if (hasLocation()) { + if (!getLocation().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } memoizedIsInitialized = 1; return true; } @@ -32790,6 +32874,12 @@ public final class DebugJsAstProtoBuf { for (int i = 0; i < statement_.size(); i++) { output.writeMessage(2, statement_.get(i)); } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeInt32(3, fileId_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeMessage(4, location_); + } getUnknownFields().writeTo(output); } @@ -32807,6 +32897,14 @@ public final class DebugJsAstProtoBuf { size += org.jetbrains.kotlin.protobuf.CodedOutputStream .computeMessageSize(2, statement_.get(i)); } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += org.jetbrains.kotlin.protobuf.CodedOutputStream + .computeInt32Size(3, fileId_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += org.jetbrains.kotlin.protobuf.CodedOutputStream + .computeMessageSize(4, location_); + } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; return size; @@ -32918,6 +33016,7 @@ public final class DebugJsAstProtoBuf { if (org.jetbrains.kotlin.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { getLabelFieldBuilder(); getStatementFieldBuilder(); + getLocationFieldBuilder(); } } private static Builder create() { @@ -32938,6 +33037,14 @@ public final class DebugJsAstProtoBuf { } else { statementBuilder_.clear(); } + fileId_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + if (locationBuilder_ == null) { + location_ = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location.getDefaultInstance(); + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); return this; } @@ -32983,6 +33090,18 @@ public final class DebugJsAstProtoBuf { } else { result.statement_ = statementBuilder_.build(); } + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000002; + } + result.fileId_ = fileId_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000004; + } + if (locationBuilder_ == null) { + result.location_ = location_; + } else { + result.location_ = locationBuilder_.build(); + } result.bitField0_ = to_bitField0_; onBuilt(); return result; @@ -33028,6 +33147,12 @@ public final class DebugJsAstProtoBuf { } } } + if (other.hasFileId()) { + setFileId(other.getFileId()); + } + if (other.hasLocation()) { + mergeLocation(other.getLocation()); + } this.mergeUnknownFields(other.getUnknownFields()); return this; } @@ -33045,6 +33170,12 @@ public final class DebugJsAstProtoBuf { return false; } } + if (hasLocation()) { + if (!getLocation().isInitialized()) { + + return false; + } + } return true; } @@ -33423,6 +33554,154 @@ public final class DebugJsAstProtoBuf { return statementBuilder_; } + private int fileId_ ; + /** + * optional int32 fileId = 3; + */ + public boolean hasFileId() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional int32 fileId = 3; + */ + public int getFileId() { + return fileId_; + } + /** + * optional int32 fileId = 3; + */ + public Builder setFileId(int value) { + bitField0_ |= 0x00000004; + fileId_ = value; + onChanged(); + return this; + } + /** + * optional int32 fileId = 3; + */ + public Builder clearFileId() { + bitField0_ = (bitField0_ & ~0x00000004); + fileId_ = 0; + onChanged(); + return this; + } + + private org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location location_ = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location.getDefaultInstance(); + private org.jetbrains.kotlin.protobuf.SingleFieldBuilder< + org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location, org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location.Builder, org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.LocationOrBuilder> locationBuilder_; + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + public org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location getLocation() { + if (locationBuilder_ == null) { + return location_; + } else { + return locationBuilder_.getMessage(); + } + } + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + public Builder setLocation(org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location value) { + if (locationBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + location_ = value; + onChanged(); + } else { + locationBuilder_.setMessage(value); + } + bitField0_ |= 0x00000008; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + public Builder setLocation( + org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location.Builder builderForValue) { + if (locationBuilder_ == null) { + location_ = builderForValue.build(); + onChanged(); + } else { + locationBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000008; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + public Builder mergeLocation(org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location value) { + if (locationBuilder_ == null) { + if (((bitField0_ & 0x00000008) == 0x00000008) && + location_ != org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location.getDefaultInstance()) { + location_ = + org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location.newBuilder(location_).mergeFrom(value).buildPartial(); + } else { + location_ = value; + } + onChanged(); + } else { + locationBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000008; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + public Builder clearLocation() { + if (locationBuilder_ == null) { + location_ = org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location.getDefaultInstance(); + onChanged(); + } else { + locationBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + public org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location.Builder getLocationBuilder() { + bitField0_ |= 0x00000008; + onChanged(); + return getLocationFieldBuilder().getBuilder(); + } + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + public org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.LocationOrBuilder getLocationOrBuilder() { + if (locationBuilder_ != null) { + return locationBuilder_.getMessageOrBuilder(); + } else { + return location_; + } + } + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + private org.jetbrains.kotlin.protobuf.SingleFieldBuilder< + org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location, org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location.Builder, org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.LocationOrBuilder> + getLocationFieldBuilder() { + if (locationBuilder_ == null) { + locationBuilder_ = new org.jetbrains.kotlin.protobuf.SingleFieldBuilder< + org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location, org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.Location.Builder, org.jetbrains.kotlin.serialization.js.ast.DebugJsAstProtoBuf.LocationOrBuilder>( + getLocation(), + getParentForChildren(), + isClean()); + location_ = null; + } + return locationBuilder_; + } + // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.js.ast.SwitchEntry) } @@ -49474,101 +49753,103 @@ public final class DebugJsAstProtoBuf { "tch\022I\n\nexpression\030\001 \002(\01325.org.jetbrains." + "kotlin.serialization.js.ast.Expression\022E" + "\n\005entry\030\002 \003(\01326.org.jetbrains.kotlin.ser" + - "ialization.js.ast.SwitchEntry\"\234\001\n\013Switch" + + "ialization.js.ast.SwitchEntry\"\363\001\n\013Switch" + "Entry\022D\n\005label\030\001 \001(\01325.org.jetbrains.kot" + "lin.serialization.js.ast.Expression\022G\n\ts", "tatement\030\002 \003(\01324.org.jetbrains.kotlin.se" + - "rialization.js.ast.Statement\"\225\001\n\005While\022H" + - "\n\tcondition\030\001 \002(\01325.org.jetbrains.kotlin" + - ".serialization.js.ast.Expression\022B\n\004body" + - "\030\002 \002(\01324.org.jetbrains.kotlin.serializat" + - "ion.js.ast.Statement\"\227\001\n\007DoWhile\022H\n\tcond" + - "ition\030\001 \002(\01325.org.jetbrains.kotlin.seria" + - "lization.js.ast.Expression\022B\n\004body\030\002 \002(\013" + - "24.org.jetbrains.kotlin.serialization.js" + - ".ast.Statement\"\304\003\n\003For\022I\n\tvariables\030\001 \001(", - "\01324.org.jetbrains.kotlin.serialization.j" + - "s.ast.StatementH\000\022K\n\nexpression\030\002 \001(\01325." + - "org.jetbrains.kotlin.serialization.js.as" + - "t.ExpressionH\000\022E\n\005empty\030\003 \001(\01324.org.jetb" + - "rains.kotlin.serialization.js.ast.EmptyI" + - "nitH\000\022H\n\tcondition\030\004 \001(\01325.org.jetbrains" + + "rialization.js.ast.Statement\022\016\n\006fileId\030\003" + + " \001(\005\022E\n\010location\030\004 \001(\01323.org.jetbrains.k" + + "otlin.serialization.js.ast.Location\"\225\001\n\005" + + "While\022H\n\tcondition\030\001 \002(\01325.org.jetbrains" + ".kotlin.serialization.js.ast.Expression\022" + - "H\n\tincrement\030\005 \001(\01325.org.jetbrains.kotli" + - "n.serialization.js.ast.Expression\022B\n\004bod" + - "y\030\006 \002(\01324.org.jetbrains.kotlin.serializa", - "tion.js.ast.StatementB\006\n\004init\"\013\n\tEmptyIn" + - "it\"\374\001\n\005ForIn\022\020\n\006nameId\030\001 \001(\005H\000\022K\n\nexpres" + - "sion\030\002 \001(\01325.org.jetbrains.kotlin.serial" + - "ization.js.ast.ExpressionH\000\022G\n\010iterable\030" + - "\003 \002(\01325.org.jetbrains.kotlin.serializati" + - "on.js.ast.Expression\022B\n\004body\030\004 \002(\01324.org" + - ".jetbrains.kotlin.serialization.js.ast.S" + - "tatementB\007\n\005value\"\337\001\n\003Try\022F\n\010tryBlock\030\001 " + - "\002(\01324.org.jetbrains.kotlin.serialization" + - ".js.ast.Statement\022D\n\ncatchBlock\030\002 \001(\01320.", - "org.jetbrains.kotlin.serialization.js.as" + - "t.Catch\022J\n\014finallyBlock\030\003 \001(\01324.org.jetb" + - "rains.kotlin.serialization.js.ast.Statem" + - "ent\"\224\001\n\005Catch\022G\n\tparameter\030\001 \002(\01324.org.j" + - "etbrains.kotlin.serialization.js.ast.Par" + - "ameter\022B\n\004body\030\002 \002(\01324.org.jetbrains.kot" + - "lin.serialization.js.ast.Statement\"\007\n\005Em" + - "pty\"\327\005\n\010Fragment\022R\n\017imported_module\030\001 \003(" + - "\01329.org.jetbrains.kotlin.serialization.j" + - "s.ast.ImportedModule\022G\n\014import_entry\030\002 \003", - "(\01321.org.jetbrains.kotlin.serialization." + - "js.ast.Import\022Q\n\021declaration_block\030\003 \001(\013" + - "26.org.jetbrains.kotlin.serialization.js" + - ".ast.GlobalBlock\022L\n\014export_block\030\004 \001(\01326" + - ".org.jetbrains.kotlin.serialization.js.a" + - "st.GlobalBlock\022Q\n\021initializer_block\030\005 \001(" + - "\01326.org.jetbrains.kotlin.serialization.j" + - "s.ast.GlobalBlock\022L\n\014name_binding\030\006 \003(\0132" + - "6.org.jetbrains.kotlin.serialization.js." + - "ast.NameBinding\022J\n\013class_model\030\007 \003(\01325.o", + "B\n\004body\030\002 \002(\01324.org.jetbrains.kotlin.ser" + + "ialization.js.ast.Statement\"\227\001\n\007DoWhile\022" + + "H\n\tcondition\030\001 \002(\01325.org.jetbrains.kotli" + + "n.serialization.js.ast.Expression\022B\n\004bod", + "y\030\002 \002(\01324.org.jetbrains.kotlin.serializa" + + "tion.js.ast.Statement\"\304\003\n\003For\022I\n\tvariabl" + + "es\030\001 \001(\01324.org.jetbrains.kotlin.serializ" + + "ation.js.ast.StatementH\000\022K\n\nexpression\030\002" + + " \001(\01325.org.jetbrains.kotlin.serializatio" + + "n.js.ast.ExpressionH\000\022E\n\005empty\030\003 \001(\01324.o" + "rg.jetbrains.kotlin.serialization.js.ast" + - ".ClassModel\022P\n\021module_expression\030\010 \003(\01325" + - ".org.jetbrains.kotlin.serialization.js.a" + - "st.Expression\022N\n\rinline_module\030\t \003(\01327.o" + + ".EmptyInitH\000\022H\n\tcondition\030\004 \001(\01325.org.je" + + "tbrains.kotlin.serialization.js.ast.Expr" + + "ession\022H\n\tincrement\030\005 \001(\01325.org.jetbrain", + "s.kotlin.serialization.js.ast.Expression" + + "\022B\n\004body\030\006 \002(\01324.org.jetbrains.kotlin.se" + + "rialization.js.ast.StatementB\006\n\004init\"\013\n\t" + + "EmptyInit\"\374\001\n\005ForIn\022\020\n\006nameId\030\001 \001(\005H\000\022K\n" + + "\nexpression\030\002 \001(\01325.org.jetbrains.kotlin" + + ".serialization.js.ast.ExpressionH\000\022G\n\010it" + + "erable\030\003 \002(\01325.org.jetbrains.kotlin.seri" + + "alization.js.ast.Expression\022B\n\004body\030\004 \002(" + + "\01324.org.jetbrains.kotlin.serialization.j" + + "s.ast.StatementB\007\n\005value\"\337\001\n\003Try\022F\n\010tryB", + "lock\030\001 \002(\01324.org.jetbrains.kotlin.serial" + + "ization.js.ast.Statement\022D\n\ncatchBlock\030\002" + + " \001(\01320.org.jetbrains.kotlin.serializatio" + + "n.js.ast.Catch\022J\n\014finallyBlock\030\003 \001(\01324.o" + "rg.jetbrains.kotlin.serialization.js.ast" + - ".InlineModule\"\224\001\n\016ImportedModule\022\030\n\020exte" + - "rnal_name_id\030\001 \002(\005\022\030\n\020internal_name_id\030\002" + - " \002(\005\022N\n\017plain_reference\030\003 \001(\01325.org.jetb" + - "rains.kotlin.serialization.js.ast.Expres" + - "sion\"i\n\006Import\022\024\n\014signature_id\030\001 \002(\005\022I\n\n", - "expression\030\002 \002(\01325.org.jetbrains.kotlin." + - "serialization.js.ast.Expression\"3\n\013NameB" + - "inding\022\024\n\014signature_id\030\001 \002(\005\022\016\n\006nameId\030\002" + - " \002(\005\"\247\001\n\nClassModel\022\017\n\007name_id\030\001 \002(\005\022\025\n\r" + - "super_name_id\030\002 \001(\005\022\031\n\021interface_name_id" + - "\030\004 \003(\005\022V\n\026post_declaration_block\030\003 \001(\01326" + - ".org.jetbrains.kotlin.serialization.js.a" + - "st.GlobalBlock\";\n\014InlineModule\022\024\n\014signat" + - "ure_id\030\001 \002(\005\022\025\n\rexpression_id\030\002 \002(\005\"\034\n\013S" + - "tringTable\022\r\n\005entry\030\001 \003(\t\"K\n\tNameTable\022>", - "\n\005entry\030\001 \003(\0132/.org.jetbrains.kotlin.ser" + - "ialization.js.ast.Name\"\263\001\n\004Name\022\021\n\ttempo" + - "rary\030\001 \002(\010\022\022\n\nidentifier\030\002 \001(\005\022\025\n\rlocal_" + - "name_id\030\003 \001(\005\022\027\n\010imported\030\004 \001(\010:\005false\022T" + - "\n\020special_function\030\005 \001(\0162:.org.jetbrains" + - ".kotlin.serialization.js.ast.SpecialFunc" + - "tion\"\346\001\n\005Chunk\022L\n\014string_table\030\001 \002(\01326.o" + + ".Statement\"\224\001\n\005Catch\022G\n\tparameter\030\001 \002(\0132" + + "4.org.jetbrains.kotlin.serialization.js." + + "ast.Parameter\022B\n\004body\030\002 \002(\01324.org.jetbra" + + "ins.kotlin.serialization.js.ast.Statemen" + + "t\"\007\n\005Empty\"\327\005\n\010Fragment\022R\n\017imported_modu", + "le\030\001 \003(\01329.org.jetbrains.kotlin.serializ" + + "ation.js.ast.ImportedModule\022G\n\014import_en" + + "try\030\002 \003(\01321.org.jetbrains.kotlin.seriali" + + "zation.js.ast.Import\022Q\n\021declaration_bloc" + + "k\030\003 \001(\01326.org.jetbrains.kotlin.serializa" + + "tion.js.ast.GlobalBlock\022L\n\014export_block\030" + + "\004 \001(\01326.org.jetbrains.kotlin.serializati" + + "on.js.ast.GlobalBlock\022Q\n\021initializer_blo" + + "ck\030\005 \001(\01326.org.jetbrains.kotlin.serializ" + + "ation.js.ast.GlobalBlock\022L\n\014name_binding", + "\030\006 \003(\01326.org.jetbrains.kotlin.serializat" + + "ion.js.ast.NameBinding\022J\n\013class_model\030\007 " + + "\003(\01325.org.jetbrains.kotlin.serialization" + + ".js.ast.ClassModel\022P\n\021module_expression\030" + + "\010 \003(\01325.org.jetbrains.kotlin.serializati" + + "on.js.ast.Expression\022N\n\rinline_module\030\t " + + "\003(\01327.org.jetbrains.kotlin.serialization" + + ".js.ast.InlineModule\"\224\001\n\016ImportedModule\022" + + "\030\n\020external_name_id\030\001 \002(\005\022\030\n\020internal_na" + + "me_id\030\002 \002(\005\022N\n\017plain_reference\030\003 \001(\01325.o", "rg.jetbrains.kotlin.serialization.js.ast" + - ".StringTable\022H\n\nname_table\030\002 \002(\01324.org.j" + - "etbrains.kotlin.serialization.js.ast.Nam", - "eTable\022E\n\010fragment\030\003 \002(\01323.org.jetbrains" + - ".kotlin.serialization.js.ast.Fragment*@\n" + - "\013SideEffects\022\021\n\rAFFECTS_STATE\020\001\022\024\n\020DEPEN" + - "DS_ON_STATE\020\002\022\010\n\004PURE\020\003*?\n\016InlineStrateg" + - "y\022\017\n\013AS_FUNCTION\020\000\022\014\n\010IN_PLACE\020\001\022\016\n\nNOT_" + - "INLINE\020\002*\327\001\n\017SpecialFunction\022\032\n\026DEFINE_I" + - "NLINE_FUNCTION\020\001\022\021\n\rWRAP_FUNCTION\020\002\022\021\n\rT" + - "O_BOXED_CHAR\020\003\022\016\n\nUNBOX_CHAR\020\004\022\020\n\014SUSPEN" + - "D_CALL\020\005\022\024\n\020COROUTINE_RESULT\020\006\022\030\n\024COROUT" + - "INE_CONTROLLER\020\007\022\026\n\022COROUTINE_RECEIVER\020\010", - "\022\030\n\024SET_COROUTINE_RESULT\020\tB\024B\022DebugJsAst" + - "ProtoBuf" + ".Expression\"i\n\006Import\022\024\n\014signature_id\030\001 " + + "\002(\005\022I\n\nexpression\030\002 \002(\01325.org.jetbrains." + + "kotlin.serialization.js.ast.Expression\"3" + + "\n\013NameBinding\022\024\n\014signature_id\030\001 \002(\005\022\016\n\006n" + + "ameId\030\002 \002(\005\"\247\001\n\nClassModel\022\017\n\007name_id\030\001 " + + "\002(\005\022\025\n\rsuper_name_id\030\002 \001(\005\022\031\n\021interface_" + + "name_id\030\004 \003(\005\022V\n\026post_declaration_block\030" + + "\003 \001(\01326.org.jetbrains.kotlin.serializati" + + "on.js.ast.GlobalBlock\";\n\014InlineModule\022\024\n", + "\014signature_id\030\001 \002(\005\022\025\n\rexpression_id\030\002 \002" + + "(\005\"\034\n\013StringTable\022\r\n\005entry\030\001 \003(\t\"K\n\tName" + + "Table\022>\n\005entry\030\001 \003(\0132/.org.jetbrains.kot" + + "lin.serialization.js.ast.Name\"\263\001\n\004Name\022\021" + + "\n\ttemporary\030\001 \002(\010\022\022\n\nidentifier\030\002 \001(\005\022\025\n" + + "\rlocal_name_id\030\003 \001(\005\022\027\n\010imported\030\004 \001(\010:\005" + + "false\022T\n\020special_function\030\005 \001(\0162:.org.je" + + "tbrains.kotlin.serialization.js.ast.Spec" + + "ialFunction\"\346\001\n\005Chunk\022L\n\014string_table\030\001 " + + "\002(\01326.org.jetbrains.kotlin.serialization", + ".js.ast.StringTable\022H\n\nname_table\030\002 \002(\0132" + + "4.org.jetbrains.kotlin.serialization.js." + + "ast.NameTable\022E\n\010fragment\030\003 \002(\01323.org.je" + + "tbrains.kotlin.serialization.js.ast.Frag" + + "ment*@\n\013SideEffects\022\021\n\rAFFECTS_STATE\020\001\022\024" + + "\n\020DEPENDS_ON_STATE\020\002\022\010\n\004PURE\020\003*?\n\016Inline" + + "Strategy\022\017\n\013AS_FUNCTION\020\000\022\014\n\010IN_PLACE\020\001\022" + + "\016\n\nNOT_INLINE\020\002*\327\001\n\017SpecialFunction\022\032\n\026D" + + "EFINE_INLINE_FUNCTION\020\001\022\021\n\rWRAP_FUNCTION" + + "\020\002\022\021\n\rTO_BOXED_CHAR\020\003\022\016\n\nUNBOX_CHAR\020\004\022\020\n", + "\014SUSPEND_CALL\020\005\022\024\n\020COROUTINE_RESULT\020\006\022\030\n" + + "\024COROUTINE_CONTROLLER\020\007\022\026\n\022COROUTINE_REC" + + "EIVER\020\010\022\030\n\024SET_COROUTINE_RESULT\020\tB\024B\022Deb" + + "ugJsAstProtoBuf" }; org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -49803,7 +50084,7 @@ public final class DebugJsAstProtoBuf { internal_static_org_jetbrains_kotlin_serialization_js_ast_SwitchEntry_fieldAccessorTable = new org.jetbrains.kotlin.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_org_jetbrains_kotlin_serialization_js_ast_SwitchEntry_descriptor, - new java.lang.String[] { "Label", "Statement", }); + new java.lang.String[] { "Label", "Statement", "FileId", "Location", }); internal_static_org_jetbrains_kotlin_serialization_js_ast_While_descriptor = getDescriptor().getMessageTypes().get(37); internal_static_org_jetbrains_kotlin_serialization_js_ast_While_fieldAccessorTable = new diff --git a/js/js.serializer/src/js-ast.proto b/js/js.serializer/src/js-ast.proto index f1b8e723446..e19b71f4cda 100644 --- a/js/js.serializer/src/js-ast.proto +++ b/js/js.serializer/src/js-ast.proto @@ -314,6 +314,9 @@ message Switch { message SwitchEntry { optional Expression label = 1; repeated Statement statement = 2; + + optional int32 fileId = 3; + optional Location location = 4; } message While { diff --git a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/ast/JsAstDeserializer.kt b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/ast/JsAstDeserializer.kt index b146778dd38..83e31a74821 100644 --- a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/ast/JsAstDeserializer.kt +++ b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/ast/JsAstDeserializer.kt @@ -190,11 +190,16 @@ class JsAstDeserializer(program: JsProgram, private val sourceRoots: Iterable - val member = if (entryProto.hasLabel()) { - JsCase().apply { caseExpression = deserialize(entryProto.label) } - } - else { - JsDefault() + val member = withLocation( + fileId = if (entryProto.hasFileId()) entryProto.fileId else null, + location = if (entryProto.hasLocation()) entryProto.location else null + ) { + if (entryProto.hasLabel()) { + JsCase().apply { caseExpression = deserialize(entryProto.label) } + } + else { + JsDefault() + } } member.statements += entryProto.statementList.map { deserialize(it) } member diff --git a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/ast/JsAstProtoBuf.java b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/ast/JsAstProtoBuf.java index ea82a1beca8..188a9705045 100644 --- a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/ast/JsAstProtoBuf.java +++ b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/ast/JsAstProtoBuf.java @@ -24128,6 +24128,24 @@ public final class JsAstProtoBuf { * repeated .org.jetbrains.kotlin.serialization.js.ast.Statement statement = 2; */ int getStatementCount(); + + /** + * optional int32 fileId = 3; + */ + boolean hasFileId(); + /** + * optional int32 fileId = 3; + */ + int getFileId(); + + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + boolean hasLocation(); + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Location getLocation(); } /** * Protobuf type {@code org.jetbrains.kotlin.serialization.js.ast.SwitchEntry} @@ -24200,6 +24218,24 @@ public final class JsAstProtoBuf { statement_.add(input.readMessage(org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Statement.PARSER, extensionRegistry)); break; } + case 24: { + bitField0_ |= 0x00000002; + fileId_ = input.readInt32(); + break; + } + case 34: { + org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Location.Builder subBuilder = null; + if (((bitField0_ & 0x00000004) == 0x00000004)) { + subBuilder = location_.toBuilder(); + } + location_ = input.readMessage(org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Location.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(location_); + location_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000004; + break; + } } } } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) { @@ -24287,9 +24323,41 @@ public final class JsAstProtoBuf { return statement_.get(index); } + public static final int FILEID_FIELD_NUMBER = 3; + private int fileId_; + /** + * optional int32 fileId = 3; + */ + public boolean hasFileId() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional int32 fileId = 3; + */ + public int getFileId() { + return fileId_; + } + + public static final int LOCATION_FIELD_NUMBER = 4; + private org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Location location_; + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + public org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Location getLocation() { + return location_; + } + private void initFields() { label_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Expression.getDefaultInstance(); statement_ = java.util.Collections.emptyList(); + fileId_ = 0; + location_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Location.getDefaultInstance(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -24309,6 +24377,12 @@ public final class JsAstProtoBuf { return false; } } + if (hasLocation()) { + if (!getLocation().isInitialized()) { + memoizedIsInitialized = 0; + return false; + } + } memoizedIsInitialized = 1; return true; } @@ -24322,6 +24396,12 @@ public final class JsAstProtoBuf { for (int i = 0; i < statement_.size(); i++) { output.writeMessage(2, statement_.get(i)); } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeInt32(3, fileId_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeMessage(4, location_); + } output.writeRawBytes(unknownFields); } @@ -24339,6 +24419,14 @@ public final class JsAstProtoBuf { size += org.jetbrains.kotlin.protobuf.CodedOutputStream .computeMessageSize(2, statement_.get(i)); } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += org.jetbrains.kotlin.protobuf.CodedOutputStream + .computeInt32Size(3, fileId_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += org.jetbrains.kotlin.protobuf.CodedOutputStream + .computeMessageSize(4, location_); + } size += unknownFields.size(); memoizedSerializedSize = size; return size; @@ -24437,6 +24525,10 @@ public final class JsAstProtoBuf { bitField0_ = (bitField0_ & ~0x00000001); statement_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); + fileId_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + location_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Location.getDefaultInstance(); + bitField0_ = (bitField0_ & ~0x00000008); return this; } @@ -24469,6 +24561,14 @@ public final class JsAstProtoBuf { bitField0_ = (bitField0_ & ~0x00000002); } result.statement_ = statement_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000002; + } + result.fileId_ = fileId_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000004; + } + result.location_ = location_; result.bitField0_ = to_bitField0_; return result; } @@ -24488,6 +24588,12 @@ public final class JsAstProtoBuf { } } + if (other.hasFileId()) { + setFileId(other.getFileId()); + } + if (other.hasLocation()) { + mergeLocation(other.getLocation()); + } setUnknownFields( getUnknownFields().concat(other.unknownFields)); return this; @@ -24506,6 +24612,12 @@ public final class JsAstProtoBuf { return false; } } + if (hasLocation()) { + if (!getLocation().isInitialized()) { + + return false; + } + } return true; } @@ -24713,6 +24825,98 @@ public final class JsAstProtoBuf { return this; } + private int fileId_ ; + /** + * optional int32 fileId = 3; + */ + public boolean hasFileId() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional int32 fileId = 3; + */ + public int getFileId() { + return fileId_; + } + /** + * optional int32 fileId = 3; + */ + public Builder setFileId(int value) { + bitField0_ |= 0x00000004; + fileId_ = value; + + return this; + } + /** + * optional int32 fileId = 3; + */ + public Builder clearFileId() { + bitField0_ = (bitField0_ & ~0x00000004); + fileId_ = 0; + + return this; + } + + private org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Location location_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Location.getDefaultInstance(); + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + public boolean hasLocation() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + public org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Location getLocation() { + return location_; + } + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + public Builder setLocation(org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Location value) { + if (value == null) { + throw new NullPointerException(); + } + location_ = value; + + bitField0_ |= 0x00000008; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + public Builder setLocation( + org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Location.Builder builderForValue) { + location_ = builderForValue.build(); + + bitField0_ |= 0x00000008; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + public Builder mergeLocation(org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Location value) { + if (((bitField0_ & 0x00000008) == 0x00000008) && + location_ != org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Location.getDefaultInstance()) { + location_ = + org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Location.newBuilder(location_).mergeFrom(value).buildPartial(); + } else { + location_ = value; + } + + bitField0_ |= 0x00000008; + return this; + } + /** + * optional .org.jetbrains.kotlin.serialization.js.ast.Location location = 4; + */ + public Builder clearLocation() { + location_ = org.jetbrains.kotlin.serialization.js.ast.JsAstProtoBuf.Location.getDefaultInstance(); + + bitField0_ = (bitField0_ & ~0x00000008); + return this; + } + // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.js.ast.SwitchEntry) } diff --git a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/ast/JsAstSerializer.kt b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/ast/JsAstSerializer.kt index efd792785bd..e1fd907c0aa 100644 --- a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/ast/JsAstSerializer.kt +++ b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/ast/JsAstSerializer.kt @@ -196,6 +196,7 @@ class JsAstSerializer(private val pathResolver: (File) -> String) { switchBuilder.expression = serialize(x.expression) for (case in x.cases) { val entryBuilder = SwitchEntry.newBuilder() + withLocation(case, { entryBuilder.fileId = it }, { entryBuilder.location = it }) {} if (case is JsCase) { entryBuilder.label = serialize(case.caseExpression) } @@ -263,7 +264,7 @@ class JsAstSerializer(private val pathResolver: (File) -> String) { } } - withLocation(statement, { visitor.builder.fileId = it }, {visitor.builder.location = it }) { + withLocation(statement, { visitor.builder.fileId = it }, { visitor.builder.location = it }) { statement.accept(visitor) }