001    // Generated by the protocol buffer compiler.  DO NOT EDIT!
002    // source: core/descriptor.loader.java/src/jvm_descriptors.proto
003    
004    package org.jetbrains.kotlin.serialization.jvm;
005    
006    public final class JvmProtoBuf {
007      private JvmProtoBuf() {}
008      public static void registerAllExtensions(
009          com.google.protobuf.ExtensionRegistryLite registry) {
010        registry.add(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.constructorSignature);
011        registry.add(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.methodSignature);
012        registry.add(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.methodImplClassName);
013        registry.add(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.propertySignature);
014        registry.add(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.propertyImplClassName);
015        registry.add(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.typeAnnotation);
016        registry.add(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.isRaw);
017        registry.add(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.typeParameterAnnotation);
018        registry.add(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.index);
019        registry.add(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.classAnnotation);
020      }
021      public interface StringTableTypesOrBuilder
022          extends com.google.protobuf.MessageLiteOrBuilder {
023    
024        // repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;
025        /**
026         * <code>repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;</code>
027         */
028        java.util.List<org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record> 
029            getRecordList();
030        /**
031         * <code>repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;</code>
032         */
033        org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record getRecord(int index);
034        /**
035         * <code>repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;</code>
036         */
037        int getRecordCount();
038    
039        // repeated int32 local_name = 5 [packed = true];
040        /**
041         * <code>repeated int32 local_name = 5 [packed = true];</code>
042         *
043         * <pre>
044         * Indices of strings which are names of local classes or anonymous objects
045         * </pre>
046         */
047        java.util.List<java.lang.Integer> getLocalNameList();
048        /**
049         * <code>repeated int32 local_name = 5 [packed = true];</code>
050         *
051         * <pre>
052         * Indices of strings which are names of local classes or anonymous objects
053         * </pre>
054         */
055        int getLocalNameCount();
056        /**
057         * <code>repeated int32 local_name = 5 [packed = true];</code>
058         *
059         * <pre>
060         * Indices of strings which are names of local classes or anonymous objects
061         * </pre>
062         */
063        int getLocalName(int index);
064      }
065      /**
066       * Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.StringTableTypes}
067       */
068      public static final class StringTableTypes extends
069          com.google.protobuf.GeneratedMessageLite
070          implements StringTableTypesOrBuilder {
071        // Use StringTableTypes.newBuilder() to construct.
072        private StringTableTypes(com.google.protobuf.GeneratedMessageLite.Builder builder) {
073          super(builder);
074    
075        }
076        private StringTableTypes(boolean noInit) {}
077    
078        private static final StringTableTypes defaultInstance;
079        public static StringTableTypes getDefaultInstance() {
080          return defaultInstance;
081        }
082    
083        public StringTableTypes getDefaultInstanceForType() {
084          return defaultInstance;
085        }
086    
087        private StringTableTypes(
088            com.google.protobuf.CodedInputStream input,
089            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
090            throws com.google.protobuf.InvalidProtocolBufferException {
091          initFields();
092          int mutable_bitField0_ = 0;
093          try {
094            boolean done = false;
095            while (!done) {
096              int tag = input.readTag();
097              switch (tag) {
098                case 0:
099                  done = true;
100                  break;
101                default: {
102                  if (!parseUnknownField(input,
103                                         extensionRegistry, tag)) {
104                    done = true;
105                  }
106                  break;
107                }
108                case 10: {
109                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
110                    record_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record>();
111                    mutable_bitField0_ |= 0x00000001;
112                  }
113                  record_.add(input.readMessage(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.PARSER, extensionRegistry));
114                  break;
115                }
116                case 40: {
117                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
118                    localName_ = new java.util.ArrayList<java.lang.Integer>();
119                    mutable_bitField0_ |= 0x00000002;
120                  }
121                  localName_.add(input.readInt32());
122                  break;
123                }
124                case 42: {
125                  int length = input.readRawVarint32();
126                  int limit = input.pushLimit(length);
127                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002) && input.getBytesUntilLimit() > 0) {
128                    localName_ = new java.util.ArrayList<java.lang.Integer>();
129                    mutable_bitField0_ |= 0x00000002;
130                  }
131                  while (input.getBytesUntilLimit() > 0) {
132                    localName_.add(input.readInt32());
133                  }
134                  input.popLimit(limit);
135                  break;
136                }
137              }
138            }
139          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
140            throw e.setUnfinishedMessage(this);
141          } catch (java.io.IOException e) {
142            throw new com.google.protobuf.InvalidProtocolBufferException(
143                e.getMessage()).setUnfinishedMessage(this);
144          } finally {
145            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
146              record_ = java.util.Collections.unmodifiableList(record_);
147            }
148            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
149              localName_ = java.util.Collections.unmodifiableList(localName_);
150            }
151            makeExtensionsImmutable();
152          }
153        }
154        public static com.google.protobuf.Parser<StringTableTypes> PARSER =
155            new com.google.protobuf.AbstractParser<StringTableTypes>() {
156          public StringTableTypes parsePartialFrom(
157              com.google.protobuf.CodedInputStream input,
158              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
159              throws com.google.protobuf.InvalidProtocolBufferException {
160            return new StringTableTypes(input, extensionRegistry);
161          }
162        };
163    
164        @java.lang.Override
165        public com.google.protobuf.Parser<StringTableTypes> getParserForType() {
166          return PARSER;
167        }
168    
169        public interface RecordOrBuilder
170            extends com.google.protobuf.MessageLiteOrBuilder {
171    
172          // optional int32 range = 1 [default = 1];
173          /**
174           * <code>optional int32 range = 1 [default = 1];</code>
175           *
176           * <pre>
177           * The number of times this record should be repeated; this is used to collapse identical subsequent records in the list
178           * </pre>
179           */
180          boolean hasRange();
181          /**
182           * <code>optional int32 range = 1 [default = 1];</code>
183           *
184           * <pre>
185           * The number of times this record should be repeated; this is used to collapse identical subsequent records in the list
186           * </pre>
187           */
188          int getRange();
189    
190          // optional int32 predefined_index = 2;
191          /**
192           * <code>optional int32 predefined_index = 2;</code>
193           *
194           * <pre>
195           * Index of the predefined constant. If this field is present, the associated string is ignored
196           * </pre>
197           */
198          boolean hasPredefinedIndex();
199          /**
200           * <code>optional int32 predefined_index = 2;</code>
201           *
202           * <pre>
203           * Index of the predefined constant. If this field is present, the associated string is ignored
204           * </pre>
205           */
206          int getPredefinedIndex();
207    
208          // optional string string = 6;
209          /**
210           * <code>optional string string = 6;</code>
211           *
212           * <pre>
213           * A string which should be used. If this field is present, both the associated string and the predefined string index are ignored
214           * </pre>
215           */
216          boolean hasString();
217          /**
218           * <code>optional string string = 6;</code>
219           *
220           * <pre>
221           * A string which should be used. If this field is present, both the associated string and the predefined string index are ignored
222           * </pre>
223           */
224          java.lang.String getString();
225          /**
226           * <code>optional string string = 6;</code>
227           *
228           * <pre>
229           * A string which should be used. If this field is present, both the associated string and the predefined string index are ignored
230           * </pre>
231           */
232          com.google.protobuf.ByteString
233              getStringBytes();
234    
235          // optional .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record.Operation operation = 3 [default = NONE];
236          /**
237           * <code>optional .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record.Operation operation = 3 [default = NONE];</code>
238           *
239           * <pre>
240           * Perform a described operation on the string
241           * </pre>
242           */
243          boolean hasOperation();
244          /**
245           * <code>optional .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record.Operation operation = 3 [default = NONE];</code>
246           *
247           * <pre>
248           * Perform a described operation on the string
249           * </pre>
250           */
251          org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.Operation getOperation();
252    
253          // repeated int32 substring_index = 4 [packed = true];
254          /**
255           * <code>repeated int32 substring_index = 4 [packed = true];</code>
256           *
257           * <pre>
258           * If this field is present, the "substring" operation must be performed with the first element of this list as the start index,
259           * and the second element as the end index.
260           * If an operation is not NONE, it's applied _after_ this substring operation
261           * </pre>
262           */
263          java.util.List<java.lang.Integer> getSubstringIndexList();
264          /**
265           * <code>repeated int32 substring_index = 4 [packed = true];</code>
266           *
267           * <pre>
268           * If this field is present, the "substring" operation must be performed with the first element of this list as the start index,
269           * and the second element as the end index.
270           * If an operation is not NONE, it's applied _after_ this substring operation
271           * </pre>
272           */
273          int getSubstringIndexCount();
274          /**
275           * <code>repeated int32 substring_index = 4 [packed = true];</code>
276           *
277           * <pre>
278           * If this field is present, the "substring" operation must be performed with the first element of this list as the start index,
279           * and the second element as the end index.
280           * If an operation is not NONE, it's applied _after_ this substring operation
281           * </pre>
282           */
283          int getSubstringIndex(int index);
284    
285          // repeated int32 replace_char = 5 [packed = true];
286          /**
287           * <code>repeated int32 replace_char = 5 [packed = true];</code>
288           *
289           * <pre>
290           * If this field is present, the "replaceAll" operation must be performed with the first element of this list as the code point
291           * of the character to replace, and the second element as the code point of the replacement character
292           * </pre>
293           */
294          java.util.List<java.lang.Integer> getReplaceCharList();
295          /**
296           * <code>repeated int32 replace_char = 5 [packed = true];</code>
297           *
298           * <pre>
299           * If this field is present, the "replaceAll" operation must be performed with the first element of this list as the code point
300           * of the character to replace, and the second element as the code point of the replacement character
301           * </pre>
302           */
303          int getReplaceCharCount();
304          /**
305           * <code>repeated int32 replace_char = 5 [packed = true];</code>
306           *
307           * <pre>
308           * If this field is present, the "replaceAll" operation must be performed with the first element of this list as the code point
309           * of the character to replace, and the second element as the code point of the replacement character
310           * </pre>
311           */
312          int getReplaceChar(int index);
313        }
314        /**
315         * Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record}
316         */
317        public static final class Record extends
318            com.google.protobuf.GeneratedMessageLite
319            implements RecordOrBuilder {
320          // Use Record.newBuilder() to construct.
321          private Record(com.google.protobuf.GeneratedMessageLite.Builder builder) {
322            super(builder);
323    
324          }
325          private Record(boolean noInit) {}
326    
327          private static final Record defaultInstance;
328          public static Record getDefaultInstance() {
329            return defaultInstance;
330          }
331    
332          public Record getDefaultInstanceForType() {
333            return defaultInstance;
334          }
335    
336          private Record(
337              com.google.protobuf.CodedInputStream input,
338              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
339              throws com.google.protobuf.InvalidProtocolBufferException {
340            initFields();
341            int mutable_bitField0_ = 0;
342            try {
343              boolean done = false;
344              while (!done) {
345                int tag = input.readTag();
346                switch (tag) {
347                  case 0:
348                    done = true;
349                    break;
350                  default: {
351                    if (!parseUnknownField(input,
352                                           extensionRegistry, tag)) {
353                      done = true;
354                    }
355                    break;
356                  }
357                  case 8: {
358                    bitField0_ |= 0x00000001;
359                    range_ = input.readInt32();
360                    break;
361                  }
362                  case 16: {
363                    bitField0_ |= 0x00000002;
364                    predefinedIndex_ = input.readInt32();
365                    break;
366                  }
367                  case 24: {
368                    int rawValue = input.readEnum();
369                    org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.Operation value = org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.Operation.valueOf(rawValue);
370                    if (value != null) {
371                      bitField0_ |= 0x00000008;
372                      operation_ = value;
373                    }
374                    break;
375                  }
376                  case 32: {
377                    if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
378                      substringIndex_ = new java.util.ArrayList<java.lang.Integer>();
379                      mutable_bitField0_ |= 0x00000010;
380                    }
381                    substringIndex_.add(input.readInt32());
382                    break;
383                  }
384                  case 34: {
385                    int length = input.readRawVarint32();
386                    int limit = input.pushLimit(length);
387                    if (!((mutable_bitField0_ & 0x00000010) == 0x00000010) && input.getBytesUntilLimit() > 0) {
388                      substringIndex_ = new java.util.ArrayList<java.lang.Integer>();
389                      mutable_bitField0_ |= 0x00000010;
390                    }
391                    while (input.getBytesUntilLimit() > 0) {
392                      substringIndex_.add(input.readInt32());
393                    }
394                    input.popLimit(limit);
395                    break;
396                  }
397                  case 40: {
398                    if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
399                      replaceChar_ = new java.util.ArrayList<java.lang.Integer>();
400                      mutable_bitField0_ |= 0x00000020;
401                    }
402                    replaceChar_.add(input.readInt32());
403                    break;
404                  }
405                  case 42: {
406                    int length = input.readRawVarint32();
407                    int limit = input.pushLimit(length);
408                    if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
409                      replaceChar_ = new java.util.ArrayList<java.lang.Integer>();
410                      mutable_bitField0_ |= 0x00000020;
411                    }
412                    while (input.getBytesUntilLimit() > 0) {
413                      replaceChar_.add(input.readInt32());
414                    }
415                    input.popLimit(limit);
416                    break;
417                  }
418                  case 50: {
419                    bitField0_ |= 0x00000004;
420                    string_ = input.readBytes();
421                    break;
422                  }
423                }
424              }
425            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
426              throw e.setUnfinishedMessage(this);
427            } catch (java.io.IOException e) {
428              throw new com.google.protobuf.InvalidProtocolBufferException(
429                  e.getMessage()).setUnfinishedMessage(this);
430            } finally {
431              if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
432                substringIndex_ = java.util.Collections.unmodifiableList(substringIndex_);
433              }
434              if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
435                replaceChar_ = java.util.Collections.unmodifiableList(replaceChar_);
436              }
437              makeExtensionsImmutable();
438            }
439          }
440          public static com.google.protobuf.Parser<Record> PARSER =
441              new com.google.protobuf.AbstractParser<Record>() {
442            public Record parsePartialFrom(
443                com.google.protobuf.CodedInputStream input,
444                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
445                throws com.google.protobuf.InvalidProtocolBufferException {
446              return new Record(input, extensionRegistry);
447            }
448          };
449    
450          @java.lang.Override
451          public com.google.protobuf.Parser<Record> getParserForType() {
452            return PARSER;
453          }
454    
455          /**
456           * Protobuf enum {@code org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record.Operation}
457           */
458          public enum Operation
459              implements com.google.protobuf.Internal.EnumLite {
460            /**
461             * <code>NONE = 0;</code>
462             */
463            NONE(0, 0),
464            /**
465             * <code>INTERNAL_TO_CLASS_ID = 1;</code>
466             *
467             * <pre>
468             * replaceAll('$', '.')
469             * java/util/Map$Entry -&gt; java/util/Map.Entry;
470             * </pre>
471             */
472            INTERNAL_TO_CLASS_ID(1, 1),
473            /**
474             * <code>DESC_TO_CLASS_ID = 2;</code>
475             *
476             * <pre>
477             * substring(1, length - 1) and then replaceAll('$', '.')
478             * Ljava/util/Map$Entry; -&gt; java/util/Map.Entry
479             * </pre>
480             */
481            DESC_TO_CLASS_ID(2, 2),
482            ;
483    
484            /**
485             * <code>NONE = 0;</code>
486             */
487            public static final int NONE_VALUE = 0;
488            /**
489             * <code>INTERNAL_TO_CLASS_ID = 1;</code>
490             *
491             * <pre>
492             * replaceAll('$', '.')
493             * java/util/Map$Entry -&gt; java/util/Map.Entry;
494             * </pre>
495             */
496            public static final int INTERNAL_TO_CLASS_ID_VALUE = 1;
497            /**
498             * <code>DESC_TO_CLASS_ID = 2;</code>
499             *
500             * <pre>
501             * substring(1, length - 1) and then replaceAll('$', '.')
502             * Ljava/util/Map$Entry; -&gt; java/util/Map.Entry
503             * </pre>
504             */
505            public static final int DESC_TO_CLASS_ID_VALUE = 2;
506    
507    
508            public final int getNumber() { return value; }
509    
510            public static Operation valueOf(int value) {
511              switch (value) {
512                case 0: return NONE;
513                case 1: return INTERNAL_TO_CLASS_ID;
514                case 2: return DESC_TO_CLASS_ID;
515                default: return null;
516              }
517            }
518    
519            public static com.google.protobuf.Internal.EnumLiteMap<Operation>
520                internalGetValueMap() {
521              return internalValueMap;
522            }
523            private static com.google.protobuf.Internal.EnumLiteMap<Operation>
524                internalValueMap =
525                  new com.google.protobuf.Internal.EnumLiteMap<Operation>() {
526                    public Operation findValueByNumber(int number) {
527                      return Operation.valueOf(number);
528                    }
529                  };
530    
531            private final int value;
532    
533            private Operation(int index, int value) {
534              this.value = value;
535            }
536    
537            // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record.Operation)
538          }
539    
540          private int bitField0_;
541          // optional int32 range = 1 [default = 1];
542          public static final int RANGE_FIELD_NUMBER = 1;
543          private int range_;
544          /**
545           * <code>optional int32 range = 1 [default = 1];</code>
546           *
547           * <pre>
548           * The number of times this record should be repeated; this is used to collapse identical subsequent records in the list
549           * </pre>
550           */
551          public boolean hasRange() {
552            return ((bitField0_ & 0x00000001) == 0x00000001);
553          }
554          /**
555           * <code>optional int32 range = 1 [default = 1];</code>
556           *
557           * <pre>
558           * The number of times this record should be repeated; this is used to collapse identical subsequent records in the list
559           * </pre>
560           */
561          public int getRange() {
562            return range_;
563          }
564    
565          // optional int32 predefined_index = 2;
566          public static final int PREDEFINED_INDEX_FIELD_NUMBER = 2;
567          private int predefinedIndex_;
568          /**
569           * <code>optional int32 predefined_index = 2;</code>
570           *
571           * <pre>
572           * Index of the predefined constant. If this field is present, the associated string is ignored
573           * </pre>
574           */
575          public boolean hasPredefinedIndex() {
576            return ((bitField0_ & 0x00000002) == 0x00000002);
577          }
578          /**
579           * <code>optional int32 predefined_index = 2;</code>
580           *
581           * <pre>
582           * Index of the predefined constant. If this field is present, the associated string is ignored
583           * </pre>
584           */
585          public int getPredefinedIndex() {
586            return predefinedIndex_;
587          }
588    
589          // optional string string = 6;
590          public static final int STRING_FIELD_NUMBER = 6;
591          private java.lang.Object string_;
592          /**
593           * <code>optional string string = 6;</code>
594           *
595           * <pre>
596           * A string which should be used. If this field is present, both the associated string and the predefined string index are ignored
597           * </pre>
598           */
599          public boolean hasString() {
600            return ((bitField0_ & 0x00000004) == 0x00000004);
601          }
602          /**
603           * <code>optional string string = 6;</code>
604           *
605           * <pre>
606           * A string which should be used. If this field is present, both the associated string and the predefined string index are ignored
607           * </pre>
608           */
609          public java.lang.String getString() {
610            java.lang.Object ref = string_;
611            if (ref instanceof java.lang.String) {
612              return (java.lang.String) ref;
613            } else {
614              com.google.protobuf.ByteString bs = 
615                  (com.google.protobuf.ByteString) ref;
616              java.lang.String s = bs.toStringUtf8();
617              if (bs.isValidUtf8()) {
618                string_ = s;
619              }
620              return s;
621            }
622          }
623          /**
624           * <code>optional string string = 6;</code>
625           *
626           * <pre>
627           * A string which should be used. If this field is present, both the associated string and the predefined string index are ignored
628           * </pre>
629           */
630          public com.google.protobuf.ByteString
631              getStringBytes() {
632            java.lang.Object ref = string_;
633            if (ref instanceof java.lang.String) {
634              com.google.protobuf.ByteString b = 
635                  com.google.protobuf.ByteString.copyFromUtf8(
636                      (java.lang.String) ref);
637              string_ = b;
638              return b;
639            } else {
640              return (com.google.protobuf.ByteString) ref;
641            }
642          }
643    
644          // optional .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record.Operation operation = 3 [default = NONE];
645          public static final int OPERATION_FIELD_NUMBER = 3;
646          private org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.Operation operation_;
647          /**
648           * <code>optional .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record.Operation operation = 3 [default = NONE];</code>
649           *
650           * <pre>
651           * Perform a described operation on the string
652           * </pre>
653           */
654          public boolean hasOperation() {
655            return ((bitField0_ & 0x00000008) == 0x00000008);
656          }
657          /**
658           * <code>optional .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record.Operation operation = 3 [default = NONE];</code>
659           *
660           * <pre>
661           * Perform a described operation on the string
662           * </pre>
663           */
664          public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.Operation getOperation() {
665            return operation_;
666          }
667    
668          // repeated int32 substring_index = 4 [packed = true];
669          public static final int SUBSTRING_INDEX_FIELD_NUMBER = 4;
670          private java.util.List<java.lang.Integer> substringIndex_;
671          /**
672           * <code>repeated int32 substring_index = 4 [packed = true];</code>
673           *
674           * <pre>
675           * If this field is present, the "substring" operation must be performed with the first element of this list as the start index,
676           * and the second element as the end index.
677           * If an operation is not NONE, it's applied _after_ this substring operation
678           * </pre>
679           */
680          public java.util.List<java.lang.Integer>
681              getSubstringIndexList() {
682            return substringIndex_;
683          }
684          /**
685           * <code>repeated int32 substring_index = 4 [packed = true];</code>
686           *
687           * <pre>
688           * If this field is present, the "substring" operation must be performed with the first element of this list as the start index,
689           * and the second element as the end index.
690           * If an operation is not NONE, it's applied _after_ this substring operation
691           * </pre>
692           */
693          public int getSubstringIndexCount() {
694            return substringIndex_.size();
695          }
696          /**
697           * <code>repeated int32 substring_index = 4 [packed = true];</code>
698           *
699           * <pre>
700           * If this field is present, the "substring" operation must be performed with the first element of this list as the start index,
701           * and the second element as the end index.
702           * If an operation is not NONE, it's applied _after_ this substring operation
703           * </pre>
704           */
705          public int getSubstringIndex(int index) {
706            return substringIndex_.get(index);
707          }
708          private int substringIndexMemoizedSerializedSize = -1;
709    
710          // repeated int32 replace_char = 5 [packed = true];
711          public static final int REPLACE_CHAR_FIELD_NUMBER = 5;
712          private java.util.List<java.lang.Integer> replaceChar_;
713          /**
714           * <code>repeated int32 replace_char = 5 [packed = true];</code>
715           *
716           * <pre>
717           * If this field is present, the "replaceAll" operation must be performed with the first element of this list as the code point
718           * of the character to replace, and the second element as the code point of the replacement character
719           * </pre>
720           */
721          public java.util.List<java.lang.Integer>
722              getReplaceCharList() {
723            return replaceChar_;
724          }
725          /**
726           * <code>repeated int32 replace_char = 5 [packed = true];</code>
727           *
728           * <pre>
729           * If this field is present, the "replaceAll" operation must be performed with the first element of this list as the code point
730           * of the character to replace, and the second element as the code point of the replacement character
731           * </pre>
732           */
733          public int getReplaceCharCount() {
734            return replaceChar_.size();
735          }
736          /**
737           * <code>repeated int32 replace_char = 5 [packed = true];</code>
738           *
739           * <pre>
740           * If this field is present, the "replaceAll" operation must be performed with the first element of this list as the code point
741           * of the character to replace, and the second element as the code point of the replacement character
742           * </pre>
743           */
744          public int getReplaceChar(int index) {
745            return replaceChar_.get(index);
746          }
747          private int replaceCharMemoizedSerializedSize = -1;
748    
749          private void initFields() {
750            range_ = 1;
751            predefinedIndex_ = 0;
752            string_ = "";
753            operation_ = org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.Operation.NONE;
754            substringIndex_ = java.util.Collections.emptyList();
755            replaceChar_ = java.util.Collections.emptyList();
756          }
757          private byte memoizedIsInitialized = -1;
758          public final boolean isInitialized() {
759            byte isInitialized = memoizedIsInitialized;
760            if (isInitialized != -1) return isInitialized == 1;
761    
762            memoizedIsInitialized = 1;
763            return true;
764          }
765    
766          public void writeTo(com.google.protobuf.CodedOutputStream output)
767                              throws java.io.IOException {
768            getSerializedSize();
769            if (((bitField0_ & 0x00000001) == 0x00000001)) {
770              output.writeInt32(1, range_);
771            }
772            if (((bitField0_ & 0x00000002) == 0x00000002)) {
773              output.writeInt32(2, predefinedIndex_);
774            }
775            if (((bitField0_ & 0x00000008) == 0x00000008)) {
776              output.writeEnum(3, operation_.getNumber());
777            }
778            if (getSubstringIndexList().size() > 0) {
779              output.writeRawVarint32(34);
780              output.writeRawVarint32(substringIndexMemoizedSerializedSize);
781            }
782            for (int i = 0; i < substringIndex_.size(); i++) {
783              output.writeInt32NoTag(substringIndex_.get(i));
784            }
785            if (getReplaceCharList().size() > 0) {
786              output.writeRawVarint32(42);
787              output.writeRawVarint32(replaceCharMemoizedSerializedSize);
788            }
789            for (int i = 0; i < replaceChar_.size(); i++) {
790              output.writeInt32NoTag(replaceChar_.get(i));
791            }
792            if (((bitField0_ & 0x00000004) == 0x00000004)) {
793              output.writeBytes(6, getStringBytes());
794            }
795          }
796    
797          private int memoizedSerializedSize = -1;
798          public int getSerializedSize() {
799            int size = memoizedSerializedSize;
800            if (size != -1) return size;
801    
802            size = 0;
803            if (((bitField0_ & 0x00000001) == 0x00000001)) {
804              size += com.google.protobuf.CodedOutputStream
805                .computeInt32Size(1, range_);
806            }
807            if (((bitField0_ & 0x00000002) == 0x00000002)) {
808              size += com.google.protobuf.CodedOutputStream
809                .computeInt32Size(2, predefinedIndex_);
810            }
811            if (((bitField0_ & 0x00000008) == 0x00000008)) {
812              size += com.google.protobuf.CodedOutputStream
813                .computeEnumSize(3, operation_.getNumber());
814            }
815            {
816              int dataSize = 0;
817              for (int i = 0; i < substringIndex_.size(); i++) {
818                dataSize += com.google.protobuf.CodedOutputStream
819                  .computeInt32SizeNoTag(substringIndex_.get(i));
820              }
821              size += dataSize;
822              if (!getSubstringIndexList().isEmpty()) {
823                size += 1;
824                size += com.google.protobuf.CodedOutputStream
825                    .computeInt32SizeNoTag(dataSize);
826              }
827              substringIndexMemoizedSerializedSize = dataSize;
828            }
829            {
830              int dataSize = 0;
831              for (int i = 0; i < replaceChar_.size(); i++) {
832                dataSize += com.google.protobuf.CodedOutputStream
833                  .computeInt32SizeNoTag(replaceChar_.get(i));
834              }
835              size += dataSize;
836              if (!getReplaceCharList().isEmpty()) {
837                size += 1;
838                size += com.google.protobuf.CodedOutputStream
839                    .computeInt32SizeNoTag(dataSize);
840              }
841              replaceCharMemoizedSerializedSize = dataSize;
842            }
843            if (((bitField0_ & 0x00000004) == 0x00000004)) {
844              size += com.google.protobuf.CodedOutputStream
845                .computeBytesSize(6, getStringBytes());
846            }
847            memoizedSerializedSize = size;
848            return size;
849          }
850    
851          private static final long serialVersionUID = 0L;
852          @java.lang.Override
853          protected java.lang.Object writeReplace()
854              throws java.io.ObjectStreamException {
855            return super.writeReplace();
856          }
857    
858          public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record parseFrom(
859              com.google.protobuf.ByteString data)
860              throws com.google.protobuf.InvalidProtocolBufferException {
861            return PARSER.parseFrom(data);
862          }
863          public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record parseFrom(
864              com.google.protobuf.ByteString data,
865              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
866              throws com.google.protobuf.InvalidProtocolBufferException {
867            return PARSER.parseFrom(data, extensionRegistry);
868          }
869          public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record parseFrom(byte[] data)
870              throws com.google.protobuf.InvalidProtocolBufferException {
871            return PARSER.parseFrom(data);
872          }
873          public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record parseFrom(
874              byte[] data,
875              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
876              throws com.google.protobuf.InvalidProtocolBufferException {
877            return PARSER.parseFrom(data, extensionRegistry);
878          }
879          public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record parseFrom(java.io.InputStream input)
880              throws java.io.IOException {
881            return PARSER.parseFrom(input);
882          }
883          public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record parseFrom(
884              java.io.InputStream input,
885              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
886              throws java.io.IOException {
887            return PARSER.parseFrom(input, extensionRegistry);
888          }
889          public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record parseDelimitedFrom(java.io.InputStream input)
890              throws java.io.IOException {
891            return PARSER.parseDelimitedFrom(input);
892          }
893          public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record parseDelimitedFrom(
894              java.io.InputStream input,
895              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
896              throws java.io.IOException {
897            return PARSER.parseDelimitedFrom(input, extensionRegistry);
898          }
899          public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record parseFrom(
900              com.google.protobuf.CodedInputStream input)
901              throws java.io.IOException {
902            return PARSER.parseFrom(input);
903          }
904          public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record parseFrom(
905              com.google.protobuf.CodedInputStream input,
906              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
907              throws java.io.IOException {
908            return PARSER.parseFrom(input, extensionRegistry);
909          }
910    
911          public static Builder newBuilder() { return Builder.create(); }
912          public Builder newBuilderForType() { return newBuilder(); }
913          public static Builder newBuilder(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record prototype) {
914            return newBuilder().mergeFrom(prototype);
915          }
916          public Builder toBuilder() { return newBuilder(this); }
917    
918          /**
919           * Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record}
920           */
921          public static final class Builder extends
922              com.google.protobuf.GeneratedMessageLite.Builder<
923                org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record, Builder>
924              implements org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.RecordOrBuilder {
925            // Construct using org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.newBuilder()
926            private Builder() {
927              maybeForceBuilderInitialization();
928            }
929    
930            private void maybeForceBuilderInitialization() {
931            }
932            private static Builder create() {
933              return new Builder();
934            }
935    
936            public Builder clear() {
937              super.clear();
938              range_ = 1;
939              bitField0_ = (bitField0_ & ~0x00000001);
940              predefinedIndex_ = 0;
941              bitField0_ = (bitField0_ & ~0x00000002);
942              string_ = "";
943              bitField0_ = (bitField0_ & ~0x00000004);
944              operation_ = org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.Operation.NONE;
945              bitField0_ = (bitField0_ & ~0x00000008);
946              substringIndex_ = java.util.Collections.emptyList();
947              bitField0_ = (bitField0_ & ~0x00000010);
948              replaceChar_ = java.util.Collections.emptyList();
949              bitField0_ = (bitField0_ & ~0x00000020);
950              return this;
951            }
952    
953            public Builder clone() {
954              return create().mergeFrom(buildPartial());
955            }
956    
957            public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record getDefaultInstanceForType() {
958              return org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.getDefaultInstance();
959            }
960    
961            public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record build() {
962              org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record result = buildPartial();
963              if (!result.isInitialized()) {
964                throw newUninitializedMessageException(result);
965              }
966              return result;
967            }
968    
969            public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record buildPartial() {
970              org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record result = new org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record(this);
971              int from_bitField0_ = bitField0_;
972              int to_bitField0_ = 0;
973              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
974                to_bitField0_ |= 0x00000001;
975              }
976              result.range_ = range_;
977              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
978                to_bitField0_ |= 0x00000002;
979              }
980              result.predefinedIndex_ = predefinedIndex_;
981              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
982                to_bitField0_ |= 0x00000004;
983              }
984              result.string_ = string_;
985              if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
986                to_bitField0_ |= 0x00000008;
987              }
988              result.operation_ = operation_;
989              if (((bitField0_ & 0x00000010) == 0x00000010)) {
990                substringIndex_ = java.util.Collections.unmodifiableList(substringIndex_);
991                bitField0_ = (bitField0_ & ~0x00000010);
992              }
993              result.substringIndex_ = substringIndex_;
994              if (((bitField0_ & 0x00000020) == 0x00000020)) {
995                replaceChar_ = java.util.Collections.unmodifiableList(replaceChar_);
996                bitField0_ = (bitField0_ & ~0x00000020);
997              }
998              result.replaceChar_ = replaceChar_;
999              result.bitField0_ = to_bitField0_;
1000              return result;
1001            }
1002    
1003            public Builder mergeFrom(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record other) {
1004              if (other == org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.getDefaultInstance()) return this;
1005              if (other.hasRange()) {
1006                setRange(other.getRange());
1007              }
1008              if (other.hasPredefinedIndex()) {
1009                setPredefinedIndex(other.getPredefinedIndex());
1010              }
1011              if (other.hasString()) {
1012                bitField0_ |= 0x00000004;
1013                string_ = other.string_;
1014                
1015              }
1016              if (other.hasOperation()) {
1017                setOperation(other.getOperation());
1018              }
1019              if (!other.substringIndex_.isEmpty()) {
1020                if (substringIndex_.isEmpty()) {
1021                  substringIndex_ = other.substringIndex_;
1022                  bitField0_ = (bitField0_ & ~0x00000010);
1023                } else {
1024                  ensureSubstringIndexIsMutable();
1025                  substringIndex_.addAll(other.substringIndex_);
1026                }
1027                
1028              }
1029              if (!other.replaceChar_.isEmpty()) {
1030                if (replaceChar_.isEmpty()) {
1031                  replaceChar_ = other.replaceChar_;
1032                  bitField0_ = (bitField0_ & ~0x00000020);
1033                } else {
1034                  ensureReplaceCharIsMutable();
1035                  replaceChar_.addAll(other.replaceChar_);
1036                }
1037                
1038              }
1039              return this;
1040            }
1041    
1042            public final boolean isInitialized() {
1043              return true;
1044            }
1045    
1046            public Builder mergeFrom(
1047                com.google.protobuf.CodedInputStream input,
1048                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1049                throws java.io.IOException {
1050              org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record parsedMessage = null;
1051              try {
1052                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1053              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1054                parsedMessage = (org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record) e.getUnfinishedMessage();
1055                throw e;
1056              } finally {
1057                if (parsedMessage != null) {
1058                  mergeFrom(parsedMessage);
1059                }
1060              }
1061              return this;
1062            }
1063            private int bitField0_;
1064    
1065            // optional int32 range = 1 [default = 1];
1066            private int range_ = 1;
1067            /**
1068             * <code>optional int32 range = 1 [default = 1];</code>
1069             *
1070             * <pre>
1071             * The number of times this record should be repeated; this is used to collapse identical subsequent records in the list
1072             * </pre>
1073             */
1074            public boolean hasRange() {
1075              return ((bitField0_ & 0x00000001) == 0x00000001);
1076            }
1077            /**
1078             * <code>optional int32 range = 1 [default = 1];</code>
1079             *
1080             * <pre>
1081             * The number of times this record should be repeated; this is used to collapse identical subsequent records in the list
1082             * </pre>
1083             */
1084            public int getRange() {
1085              return range_;
1086            }
1087            /**
1088             * <code>optional int32 range = 1 [default = 1];</code>
1089             *
1090             * <pre>
1091             * The number of times this record should be repeated; this is used to collapse identical subsequent records in the list
1092             * </pre>
1093             */
1094            public Builder setRange(int value) {
1095              bitField0_ |= 0x00000001;
1096              range_ = value;
1097              
1098              return this;
1099            }
1100            /**
1101             * <code>optional int32 range = 1 [default = 1];</code>
1102             *
1103             * <pre>
1104             * The number of times this record should be repeated; this is used to collapse identical subsequent records in the list
1105             * </pre>
1106             */
1107            public Builder clearRange() {
1108              bitField0_ = (bitField0_ & ~0x00000001);
1109              range_ = 1;
1110              
1111              return this;
1112            }
1113    
1114            // optional int32 predefined_index = 2;
1115            private int predefinedIndex_ ;
1116            /**
1117             * <code>optional int32 predefined_index = 2;</code>
1118             *
1119             * <pre>
1120             * Index of the predefined constant. If this field is present, the associated string is ignored
1121             * </pre>
1122             */
1123            public boolean hasPredefinedIndex() {
1124              return ((bitField0_ & 0x00000002) == 0x00000002);
1125            }
1126            /**
1127             * <code>optional int32 predefined_index = 2;</code>
1128             *
1129             * <pre>
1130             * Index of the predefined constant. If this field is present, the associated string is ignored
1131             * </pre>
1132             */
1133            public int getPredefinedIndex() {
1134              return predefinedIndex_;
1135            }
1136            /**
1137             * <code>optional int32 predefined_index = 2;</code>
1138             *
1139             * <pre>
1140             * Index of the predefined constant. If this field is present, the associated string is ignored
1141             * </pre>
1142             */
1143            public Builder setPredefinedIndex(int value) {
1144              bitField0_ |= 0x00000002;
1145              predefinedIndex_ = value;
1146              
1147              return this;
1148            }
1149            /**
1150             * <code>optional int32 predefined_index = 2;</code>
1151             *
1152             * <pre>
1153             * Index of the predefined constant. If this field is present, the associated string is ignored
1154             * </pre>
1155             */
1156            public Builder clearPredefinedIndex() {
1157              bitField0_ = (bitField0_ & ~0x00000002);
1158              predefinedIndex_ = 0;
1159              
1160              return this;
1161            }
1162    
1163            // optional string string = 6;
1164            private java.lang.Object string_ = "";
1165            /**
1166             * <code>optional string string = 6;</code>
1167             *
1168             * <pre>
1169             * A string which should be used. If this field is present, both the associated string and the predefined string index are ignored
1170             * </pre>
1171             */
1172            public boolean hasString() {
1173              return ((bitField0_ & 0x00000004) == 0x00000004);
1174            }
1175            /**
1176             * <code>optional string string = 6;</code>
1177             *
1178             * <pre>
1179             * A string which should be used. If this field is present, both the associated string and the predefined string index are ignored
1180             * </pre>
1181             */
1182            public java.lang.String getString() {
1183              java.lang.Object ref = string_;
1184              if (!(ref instanceof java.lang.String)) {
1185                java.lang.String s = ((com.google.protobuf.ByteString) ref)
1186                    .toStringUtf8();
1187                string_ = s;
1188                return s;
1189              } else {
1190                return (java.lang.String) ref;
1191              }
1192            }
1193            /**
1194             * <code>optional string string = 6;</code>
1195             *
1196             * <pre>
1197             * A string which should be used. If this field is present, both the associated string and the predefined string index are ignored
1198             * </pre>
1199             */
1200            public com.google.protobuf.ByteString
1201                getStringBytes() {
1202              java.lang.Object ref = string_;
1203              if (ref instanceof String) {
1204                com.google.protobuf.ByteString b = 
1205                    com.google.protobuf.ByteString.copyFromUtf8(
1206                        (java.lang.String) ref);
1207                string_ = b;
1208                return b;
1209              } else {
1210                return (com.google.protobuf.ByteString) ref;
1211              }
1212            }
1213            /**
1214             * <code>optional string string = 6;</code>
1215             *
1216             * <pre>
1217             * A string which should be used. If this field is present, both the associated string and the predefined string index are ignored
1218             * </pre>
1219             */
1220            public Builder setString(
1221                java.lang.String value) {
1222              if (value == null) {
1223        throw new NullPointerException();
1224      }
1225      bitField0_ |= 0x00000004;
1226              string_ = value;
1227              
1228              return this;
1229            }
1230            /**
1231             * <code>optional string string = 6;</code>
1232             *
1233             * <pre>
1234             * A string which should be used. If this field is present, both the associated string and the predefined string index are ignored
1235             * </pre>
1236             */
1237            public Builder clearString() {
1238              bitField0_ = (bitField0_ & ~0x00000004);
1239              string_ = getDefaultInstance().getString();
1240              
1241              return this;
1242            }
1243            /**
1244             * <code>optional string string = 6;</code>
1245             *
1246             * <pre>
1247             * A string which should be used. If this field is present, both the associated string and the predefined string index are ignored
1248             * </pre>
1249             */
1250            public Builder setStringBytes(
1251                com.google.protobuf.ByteString value) {
1252              if (value == null) {
1253        throw new NullPointerException();
1254      }
1255      bitField0_ |= 0x00000004;
1256              string_ = value;
1257              
1258              return this;
1259            }
1260    
1261            // optional .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record.Operation operation = 3 [default = NONE];
1262            private org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.Operation operation_ = org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.Operation.NONE;
1263            /**
1264             * <code>optional .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record.Operation operation = 3 [default = NONE];</code>
1265             *
1266             * <pre>
1267             * Perform a described operation on the string
1268             * </pre>
1269             */
1270            public boolean hasOperation() {
1271              return ((bitField0_ & 0x00000008) == 0x00000008);
1272            }
1273            /**
1274             * <code>optional .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record.Operation operation = 3 [default = NONE];</code>
1275             *
1276             * <pre>
1277             * Perform a described operation on the string
1278             * </pre>
1279             */
1280            public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.Operation getOperation() {
1281              return operation_;
1282            }
1283            /**
1284             * <code>optional .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record.Operation operation = 3 [default = NONE];</code>
1285             *
1286             * <pre>
1287             * Perform a described operation on the string
1288             * </pre>
1289             */
1290            public Builder setOperation(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.Operation value) {
1291              if (value == null) {
1292                throw new NullPointerException();
1293              }
1294              bitField0_ |= 0x00000008;
1295              operation_ = value;
1296              
1297              return this;
1298            }
1299            /**
1300             * <code>optional .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record.Operation operation = 3 [default = NONE];</code>
1301             *
1302             * <pre>
1303             * Perform a described operation on the string
1304             * </pre>
1305             */
1306            public Builder clearOperation() {
1307              bitField0_ = (bitField0_ & ~0x00000008);
1308              operation_ = org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.Operation.NONE;
1309              
1310              return this;
1311            }
1312    
1313            // repeated int32 substring_index = 4 [packed = true];
1314            private java.util.List<java.lang.Integer> substringIndex_ = java.util.Collections.emptyList();
1315            private void ensureSubstringIndexIsMutable() {
1316              if (!((bitField0_ & 0x00000010) == 0x00000010)) {
1317                substringIndex_ = new java.util.ArrayList<java.lang.Integer>(substringIndex_);
1318                bitField0_ |= 0x00000010;
1319               }
1320            }
1321            /**
1322             * <code>repeated int32 substring_index = 4 [packed = true];</code>
1323             *
1324             * <pre>
1325             * If this field is present, the "substring" operation must be performed with the first element of this list as the start index,
1326             * and the second element as the end index.
1327             * If an operation is not NONE, it's applied _after_ this substring operation
1328             * </pre>
1329             */
1330            public java.util.List<java.lang.Integer>
1331                getSubstringIndexList() {
1332              return java.util.Collections.unmodifiableList(substringIndex_);
1333            }
1334            /**
1335             * <code>repeated int32 substring_index = 4 [packed = true];</code>
1336             *
1337             * <pre>
1338             * If this field is present, the "substring" operation must be performed with the first element of this list as the start index,
1339             * and the second element as the end index.
1340             * If an operation is not NONE, it's applied _after_ this substring operation
1341             * </pre>
1342             */
1343            public int getSubstringIndexCount() {
1344              return substringIndex_.size();
1345            }
1346            /**
1347             * <code>repeated int32 substring_index = 4 [packed = true];</code>
1348             *
1349             * <pre>
1350             * If this field is present, the "substring" operation must be performed with the first element of this list as the start index,
1351             * and the second element as the end index.
1352             * If an operation is not NONE, it's applied _after_ this substring operation
1353             * </pre>
1354             */
1355            public int getSubstringIndex(int index) {
1356              return substringIndex_.get(index);
1357            }
1358            /**
1359             * <code>repeated int32 substring_index = 4 [packed = true];</code>
1360             *
1361             * <pre>
1362             * If this field is present, the "substring" operation must be performed with the first element of this list as the start index,
1363             * and the second element as the end index.
1364             * If an operation is not NONE, it's applied _after_ this substring operation
1365             * </pre>
1366             */
1367            public Builder setSubstringIndex(
1368                int index, int value) {
1369              ensureSubstringIndexIsMutable();
1370              substringIndex_.set(index, value);
1371              
1372              return this;
1373            }
1374            /**
1375             * <code>repeated int32 substring_index = 4 [packed = true];</code>
1376             *
1377             * <pre>
1378             * If this field is present, the "substring" operation must be performed with the first element of this list as the start index,
1379             * and the second element as the end index.
1380             * If an operation is not NONE, it's applied _after_ this substring operation
1381             * </pre>
1382             */
1383            public Builder addSubstringIndex(int value) {
1384              ensureSubstringIndexIsMutable();
1385              substringIndex_.add(value);
1386              
1387              return this;
1388            }
1389            /**
1390             * <code>repeated int32 substring_index = 4 [packed = true];</code>
1391             *
1392             * <pre>
1393             * If this field is present, the "substring" operation must be performed with the first element of this list as the start index,
1394             * and the second element as the end index.
1395             * If an operation is not NONE, it's applied _after_ this substring operation
1396             * </pre>
1397             */
1398            public Builder addAllSubstringIndex(
1399                java.lang.Iterable<? extends java.lang.Integer> values) {
1400              ensureSubstringIndexIsMutable();
1401              super.addAll(values, substringIndex_);
1402              
1403              return this;
1404            }
1405            /**
1406             * <code>repeated int32 substring_index = 4 [packed = true];</code>
1407             *
1408             * <pre>
1409             * If this field is present, the "substring" operation must be performed with the first element of this list as the start index,
1410             * and the second element as the end index.
1411             * If an operation is not NONE, it's applied _after_ this substring operation
1412             * </pre>
1413             */
1414            public Builder clearSubstringIndex() {
1415              substringIndex_ = java.util.Collections.emptyList();
1416              bitField0_ = (bitField0_ & ~0x00000010);
1417              
1418              return this;
1419            }
1420    
1421            // repeated int32 replace_char = 5 [packed = true];
1422            private java.util.List<java.lang.Integer> replaceChar_ = java.util.Collections.emptyList();
1423            private void ensureReplaceCharIsMutable() {
1424              if (!((bitField0_ & 0x00000020) == 0x00000020)) {
1425                replaceChar_ = new java.util.ArrayList<java.lang.Integer>(replaceChar_);
1426                bitField0_ |= 0x00000020;
1427               }
1428            }
1429            /**
1430             * <code>repeated int32 replace_char = 5 [packed = true];</code>
1431             *
1432             * <pre>
1433             * If this field is present, the "replaceAll" operation must be performed with the first element of this list as the code point
1434             * of the character to replace, and the second element as the code point of the replacement character
1435             * </pre>
1436             */
1437            public java.util.List<java.lang.Integer>
1438                getReplaceCharList() {
1439              return java.util.Collections.unmodifiableList(replaceChar_);
1440            }
1441            /**
1442             * <code>repeated int32 replace_char = 5 [packed = true];</code>
1443             *
1444             * <pre>
1445             * If this field is present, the "replaceAll" operation must be performed with the first element of this list as the code point
1446             * of the character to replace, and the second element as the code point of the replacement character
1447             * </pre>
1448             */
1449            public int getReplaceCharCount() {
1450              return replaceChar_.size();
1451            }
1452            /**
1453             * <code>repeated int32 replace_char = 5 [packed = true];</code>
1454             *
1455             * <pre>
1456             * If this field is present, the "replaceAll" operation must be performed with the first element of this list as the code point
1457             * of the character to replace, and the second element as the code point of the replacement character
1458             * </pre>
1459             */
1460            public int getReplaceChar(int index) {
1461              return replaceChar_.get(index);
1462            }
1463            /**
1464             * <code>repeated int32 replace_char = 5 [packed = true];</code>
1465             *
1466             * <pre>
1467             * If this field is present, the "replaceAll" operation must be performed with the first element of this list as the code point
1468             * of the character to replace, and the second element as the code point of the replacement character
1469             * </pre>
1470             */
1471            public Builder setReplaceChar(
1472                int index, int value) {
1473              ensureReplaceCharIsMutable();
1474              replaceChar_.set(index, value);
1475              
1476              return this;
1477            }
1478            /**
1479             * <code>repeated int32 replace_char = 5 [packed = true];</code>
1480             *
1481             * <pre>
1482             * If this field is present, the "replaceAll" operation must be performed with the first element of this list as the code point
1483             * of the character to replace, and the second element as the code point of the replacement character
1484             * </pre>
1485             */
1486            public Builder addReplaceChar(int value) {
1487              ensureReplaceCharIsMutable();
1488              replaceChar_.add(value);
1489              
1490              return this;
1491            }
1492            /**
1493             * <code>repeated int32 replace_char = 5 [packed = true];</code>
1494             *
1495             * <pre>
1496             * If this field is present, the "replaceAll" operation must be performed with the first element of this list as the code point
1497             * of the character to replace, and the second element as the code point of the replacement character
1498             * </pre>
1499             */
1500            public Builder addAllReplaceChar(
1501                java.lang.Iterable<? extends java.lang.Integer> values) {
1502              ensureReplaceCharIsMutable();
1503              super.addAll(values, replaceChar_);
1504              
1505              return this;
1506            }
1507            /**
1508             * <code>repeated int32 replace_char = 5 [packed = true];</code>
1509             *
1510             * <pre>
1511             * If this field is present, the "replaceAll" operation must be performed with the first element of this list as the code point
1512             * of the character to replace, and the second element as the code point of the replacement character
1513             * </pre>
1514             */
1515            public Builder clearReplaceChar() {
1516              replaceChar_ = java.util.Collections.emptyList();
1517              bitField0_ = (bitField0_ & ~0x00000020);
1518              
1519              return this;
1520            }
1521    
1522            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record)
1523          }
1524    
1525          static {
1526            defaultInstance = new Record(true);
1527            defaultInstance.initFields();
1528          }
1529    
1530          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record)
1531        }
1532    
1533        // repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;
1534        public static final int RECORD_FIELD_NUMBER = 1;
1535        private java.util.List<org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record> record_;
1536        /**
1537         * <code>repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;</code>
1538         */
1539        public java.util.List<org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record> getRecordList() {
1540          return record_;
1541        }
1542        /**
1543         * <code>repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;</code>
1544         */
1545        public java.util.List<? extends org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.RecordOrBuilder> 
1546            getRecordOrBuilderList() {
1547          return record_;
1548        }
1549        /**
1550         * <code>repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;</code>
1551         */
1552        public int getRecordCount() {
1553          return record_.size();
1554        }
1555        /**
1556         * <code>repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;</code>
1557         */
1558        public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record getRecord(int index) {
1559          return record_.get(index);
1560        }
1561        /**
1562         * <code>repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;</code>
1563         */
1564        public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.RecordOrBuilder getRecordOrBuilder(
1565            int index) {
1566          return record_.get(index);
1567        }
1568    
1569        // repeated int32 local_name = 5 [packed = true];
1570        public static final int LOCAL_NAME_FIELD_NUMBER = 5;
1571        private java.util.List<java.lang.Integer> localName_;
1572        /**
1573         * <code>repeated int32 local_name = 5 [packed = true];</code>
1574         *
1575         * <pre>
1576         * Indices of strings which are names of local classes or anonymous objects
1577         * </pre>
1578         */
1579        public java.util.List<java.lang.Integer>
1580            getLocalNameList() {
1581          return localName_;
1582        }
1583        /**
1584         * <code>repeated int32 local_name = 5 [packed = true];</code>
1585         *
1586         * <pre>
1587         * Indices of strings which are names of local classes or anonymous objects
1588         * </pre>
1589         */
1590        public int getLocalNameCount() {
1591          return localName_.size();
1592        }
1593        /**
1594         * <code>repeated int32 local_name = 5 [packed = true];</code>
1595         *
1596         * <pre>
1597         * Indices of strings which are names of local classes or anonymous objects
1598         * </pre>
1599         */
1600        public int getLocalName(int index) {
1601          return localName_.get(index);
1602        }
1603        private int localNameMemoizedSerializedSize = -1;
1604    
1605        private void initFields() {
1606          record_ = java.util.Collections.emptyList();
1607          localName_ = java.util.Collections.emptyList();
1608        }
1609        private byte memoizedIsInitialized = -1;
1610        public final boolean isInitialized() {
1611          byte isInitialized = memoizedIsInitialized;
1612          if (isInitialized != -1) return isInitialized == 1;
1613    
1614          memoizedIsInitialized = 1;
1615          return true;
1616        }
1617    
1618        public void writeTo(com.google.protobuf.CodedOutputStream output)
1619                            throws java.io.IOException {
1620          getSerializedSize();
1621          for (int i = 0; i < record_.size(); i++) {
1622            output.writeMessage(1, record_.get(i));
1623          }
1624          if (getLocalNameList().size() > 0) {
1625            output.writeRawVarint32(42);
1626            output.writeRawVarint32(localNameMemoizedSerializedSize);
1627          }
1628          for (int i = 0; i < localName_.size(); i++) {
1629            output.writeInt32NoTag(localName_.get(i));
1630          }
1631        }
1632    
1633        private int memoizedSerializedSize = -1;
1634        public int getSerializedSize() {
1635          int size = memoizedSerializedSize;
1636          if (size != -1) return size;
1637    
1638          size = 0;
1639          for (int i = 0; i < record_.size(); i++) {
1640            size += com.google.protobuf.CodedOutputStream
1641              .computeMessageSize(1, record_.get(i));
1642          }
1643          {
1644            int dataSize = 0;
1645            for (int i = 0; i < localName_.size(); i++) {
1646              dataSize += com.google.protobuf.CodedOutputStream
1647                .computeInt32SizeNoTag(localName_.get(i));
1648            }
1649            size += dataSize;
1650            if (!getLocalNameList().isEmpty()) {
1651              size += 1;
1652              size += com.google.protobuf.CodedOutputStream
1653                  .computeInt32SizeNoTag(dataSize);
1654            }
1655            localNameMemoizedSerializedSize = dataSize;
1656          }
1657          memoizedSerializedSize = size;
1658          return size;
1659        }
1660    
1661        private static final long serialVersionUID = 0L;
1662        @java.lang.Override
1663        protected java.lang.Object writeReplace()
1664            throws java.io.ObjectStreamException {
1665          return super.writeReplace();
1666        }
1667    
1668        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes parseFrom(
1669            com.google.protobuf.ByteString data)
1670            throws com.google.protobuf.InvalidProtocolBufferException {
1671          return PARSER.parseFrom(data);
1672        }
1673        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes parseFrom(
1674            com.google.protobuf.ByteString data,
1675            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1676            throws com.google.protobuf.InvalidProtocolBufferException {
1677          return PARSER.parseFrom(data, extensionRegistry);
1678        }
1679        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes parseFrom(byte[] data)
1680            throws com.google.protobuf.InvalidProtocolBufferException {
1681          return PARSER.parseFrom(data);
1682        }
1683        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes parseFrom(
1684            byte[] data,
1685            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1686            throws com.google.protobuf.InvalidProtocolBufferException {
1687          return PARSER.parseFrom(data, extensionRegistry);
1688        }
1689        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes parseFrom(java.io.InputStream input)
1690            throws java.io.IOException {
1691          return PARSER.parseFrom(input);
1692        }
1693        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes parseFrom(
1694            java.io.InputStream input,
1695            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1696            throws java.io.IOException {
1697          return PARSER.parseFrom(input, extensionRegistry);
1698        }
1699        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes parseDelimitedFrom(java.io.InputStream input)
1700            throws java.io.IOException {
1701          return PARSER.parseDelimitedFrom(input);
1702        }
1703        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes parseDelimitedFrom(
1704            java.io.InputStream input,
1705            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1706            throws java.io.IOException {
1707          return PARSER.parseDelimitedFrom(input, extensionRegistry);
1708        }
1709        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes parseFrom(
1710            com.google.protobuf.CodedInputStream input)
1711            throws java.io.IOException {
1712          return PARSER.parseFrom(input);
1713        }
1714        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes parseFrom(
1715            com.google.protobuf.CodedInputStream input,
1716            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1717            throws java.io.IOException {
1718          return PARSER.parseFrom(input, extensionRegistry);
1719        }
1720    
1721        public static Builder newBuilder() { return Builder.create(); }
1722        public Builder newBuilderForType() { return newBuilder(); }
1723        public static Builder newBuilder(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes prototype) {
1724          return newBuilder().mergeFrom(prototype);
1725        }
1726        public Builder toBuilder() { return newBuilder(this); }
1727    
1728        /**
1729         * Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.StringTableTypes}
1730         */
1731        public static final class Builder extends
1732            com.google.protobuf.GeneratedMessageLite.Builder<
1733              org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes, Builder>
1734            implements org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypesOrBuilder {
1735          // Construct using org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.newBuilder()
1736          private Builder() {
1737            maybeForceBuilderInitialization();
1738          }
1739    
1740          private void maybeForceBuilderInitialization() {
1741          }
1742          private static Builder create() {
1743            return new Builder();
1744          }
1745    
1746          public Builder clear() {
1747            super.clear();
1748            record_ = java.util.Collections.emptyList();
1749            bitField0_ = (bitField0_ & ~0x00000001);
1750            localName_ = java.util.Collections.emptyList();
1751            bitField0_ = (bitField0_ & ~0x00000002);
1752            return this;
1753          }
1754    
1755          public Builder clone() {
1756            return create().mergeFrom(buildPartial());
1757          }
1758    
1759          public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes getDefaultInstanceForType() {
1760            return org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.getDefaultInstance();
1761          }
1762    
1763          public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes build() {
1764            org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes result = buildPartial();
1765            if (!result.isInitialized()) {
1766              throw newUninitializedMessageException(result);
1767            }
1768            return result;
1769          }
1770    
1771          public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes buildPartial() {
1772            org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes result = new org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes(this);
1773            int from_bitField0_ = bitField0_;
1774            if (((bitField0_ & 0x00000001) == 0x00000001)) {
1775              record_ = java.util.Collections.unmodifiableList(record_);
1776              bitField0_ = (bitField0_ & ~0x00000001);
1777            }
1778            result.record_ = record_;
1779            if (((bitField0_ & 0x00000002) == 0x00000002)) {
1780              localName_ = java.util.Collections.unmodifiableList(localName_);
1781              bitField0_ = (bitField0_ & ~0x00000002);
1782            }
1783            result.localName_ = localName_;
1784            return result;
1785          }
1786    
1787          public Builder mergeFrom(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes other) {
1788            if (other == org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.getDefaultInstance()) return this;
1789            if (!other.record_.isEmpty()) {
1790              if (record_.isEmpty()) {
1791                record_ = other.record_;
1792                bitField0_ = (bitField0_ & ~0x00000001);
1793              } else {
1794                ensureRecordIsMutable();
1795                record_.addAll(other.record_);
1796              }
1797              
1798            }
1799            if (!other.localName_.isEmpty()) {
1800              if (localName_.isEmpty()) {
1801                localName_ = other.localName_;
1802                bitField0_ = (bitField0_ & ~0x00000002);
1803              } else {
1804                ensureLocalNameIsMutable();
1805                localName_.addAll(other.localName_);
1806              }
1807              
1808            }
1809            return this;
1810          }
1811    
1812          public final boolean isInitialized() {
1813            return true;
1814          }
1815    
1816          public Builder mergeFrom(
1817              com.google.protobuf.CodedInputStream input,
1818              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1819              throws java.io.IOException {
1820            org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes parsedMessage = null;
1821            try {
1822              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1823            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1824              parsedMessage = (org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes) e.getUnfinishedMessage();
1825              throw e;
1826            } finally {
1827              if (parsedMessage != null) {
1828                mergeFrom(parsedMessage);
1829              }
1830            }
1831            return this;
1832          }
1833          private int bitField0_;
1834    
1835          // repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;
1836          private java.util.List<org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record> record_ =
1837            java.util.Collections.emptyList();
1838          private void ensureRecordIsMutable() {
1839            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
1840              record_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record>(record_);
1841              bitField0_ |= 0x00000001;
1842             }
1843          }
1844    
1845          /**
1846           * <code>repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;</code>
1847           */
1848          public java.util.List<org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record> getRecordList() {
1849            return java.util.Collections.unmodifiableList(record_);
1850          }
1851          /**
1852           * <code>repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;</code>
1853           */
1854          public int getRecordCount() {
1855            return record_.size();
1856          }
1857          /**
1858           * <code>repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;</code>
1859           */
1860          public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record getRecord(int index) {
1861            return record_.get(index);
1862          }
1863          /**
1864           * <code>repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;</code>
1865           */
1866          public Builder setRecord(
1867              int index, org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record value) {
1868            if (value == null) {
1869              throw new NullPointerException();
1870            }
1871            ensureRecordIsMutable();
1872            record_.set(index, value);
1873    
1874            return this;
1875          }
1876          /**
1877           * <code>repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;</code>
1878           */
1879          public Builder setRecord(
1880              int index, org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.Builder builderForValue) {
1881            ensureRecordIsMutable();
1882            record_.set(index, builderForValue.build());
1883    
1884            return this;
1885          }
1886          /**
1887           * <code>repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;</code>
1888           */
1889          public Builder addRecord(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record value) {
1890            if (value == null) {
1891              throw new NullPointerException();
1892            }
1893            ensureRecordIsMutable();
1894            record_.add(value);
1895    
1896            return this;
1897          }
1898          /**
1899           * <code>repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;</code>
1900           */
1901          public Builder addRecord(
1902              int index, org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record value) {
1903            if (value == null) {
1904              throw new NullPointerException();
1905            }
1906            ensureRecordIsMutable();
1907            record_.add(index, value);
1908    
1909            return this;
1910          }
1911          /**
1912           * <code>repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;</code>
1913           */
1914          public Builder addRecord(
1915              org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.Builder builderForValue) {
1916            ensureRecordIsMutable();
1917            record_.add(builderForValue.build());
1918    
1919            return this;
1920          }
1921          /**
1922           * <code>repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;</code>
1923           */
1924          public Builder addRecord(
1925              int index, org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record.Builder builderForValue) {
1926            ensureRecordIsMutable();
1927            record_.add(index, builderForValue.build());
1928    
1929            return this;
1930          }
1931          /**
1932           * <code>repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;</code>
1933           */
1934          public Builder addAllRecord(
1935              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.StringTableTypes.Record> values) {
1936            ensureRecordIsMutable();
1937            super.addAll(values, record_);
1938    
1939            return this;
1940          }
1941          /**
1942           * <code>repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;</code>
1943           */
1944          public Builder clearRecord() {
1945            record_ = java.util.Collections.emptyList();
1946            bitField0_ = (bitField0_ & ~0x00000001);
1947    
1948            return this;
1949          }
1950          /**
1951           * <code>repeated .org.jetbrains.kotlin.serialization.jvm.StringTableTypes.Record record = 1;</code>
1952           */
1953          public Builder removeRecord(int index) {
1954            ensureRecordIsMutable();
1955            record_.remove(index);
1956    
1957            return this;
1958          }
1959    
1960          // repeated int32 local_name = 5 [packed = true];
1961          private java.util.List<java.lang.Integer> localName_ = java.util.Collections.emptyList();
1962          private void ensureLocalNameIsMutable() {
1963            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
1964              localName_ = new java.util.ArrayList<java.lang.Integer>(localName_);
1965              bitField0_ |= 0x00000002;
1966             }
1967          }
1968          /**
1969           * <code>repeated int32 local_name = 5 [packed = true];</code>
1970           *
1971           * <pre>
1972           * Indices of strings which are names of local classes or anonymous objects
1973           * </pre>
1974           */
1975          public java.util.List<java.lang.Integer>
1976              getLocalNameList() {
1977            return java.util.Collections.unmodifiableList(localName_);
1978          }
1979          /**
1980           * <code>repeated int32 local_name = 5 [packed = true];</code>
1981           *
1982           * <pre>
1983           * Indices of strings which are names of local classes or anonymous objects
1984           * </pre>
1985           */
1986          public int getLocalNameCount() {
1987            return localName_.size();
1988          }
1989          /**
1990           * <code>repeated int32 local_name = 5 [packed = true];</code>
1991           *
1992           * <pre>
1993           * Indices of strings which are names of local classes or anonymous objects
1994           * </pre>
1995           */
1996          public int getLocalName(int index) {
1997            return localName_.get(index);
1998          }
1999          /**
2000           * <code>repeated int32 local_name = 5 [packed = true];</code>
2001           *
2002           * <pre>
2003           * Indices of strings which are names of local classes or anonymous objects
2004           * </pre>
2005           */
2006          public Builder setLocalName(
2007              int index, int value) {
2008            ensureLocalNameIsMutable();
2009            localName_.set(index, value);
2010            
2011            return this;
2012          }
2013          /**
2014           * <code>repeated int32 local_name = 5 [packed = true];</code>
2015           *
2016           * <pre>
2017           * Indices of strings which are names of local classes or anonymous objects
2018           * </pre>
2019           */
2020          public Builder addLocalName(int value) {
2021            ensureLocalNameIsMutable();
2022            localName_.add(value);
2023            
2024            return this;
2025          }
2026          /**
2027           * <code>repeated int32 local_name = 5 [packed = true];</code>
2028           *
2029           * <pre>
2030           * Indices of strings which are names of local classes or anonymous objects
2031           * </pre>
2032           */
2033          public Builder addAllLocalName(
2034              java.lang.Iterable<? extends java.lang.Integer> values) {
2035            ensureLocalNameIsMutable();
2036            super.addAll(values, localName_);
2037            
2038            return this;
2039          }
2040          /**
2041           * <code>repeated int32 local_name = 5 [packed = true];</code>
2042           *
2043           * <pre>
2044           * Indices of strings which are names of local classes or anonymous objects
2045           * </pre>
2046           */
2047          public Builder clearLocalName() {
2048            localName_ = java.util.Collections.emptyList();
2049            bitField0_ = (bitField0_ & ~0x00000002);
2050            
2051            return this;
2052          }
2053    
2054          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.jvm.StringTableTypes)
2055        }
2056    
2057        static {
2058          defaultInstance = new StringTableTypes(true);
2059          defaultInstance.initFields();
2060        }
2061    
2062        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.jvm.StringTableTypes)
2063      }
2064    
2065      public interface JvmMethodSignatureOrBuilder
2066          extends com.google.protobuf.MessageLiteOrBuilder {
2067    
2068        // optional int32 name = 1;
2069        /**
2070         * <code>optional int32 name = 1;</code>
2071         */
2072        boolean hasName();
2073        /**
2074         * <code>optional int32 name = 1;</code>
2075         */
2076        int getName();
2077    
2078        // optional int32 desc = 2;
2079        /**
2080         * <code>optional int32 desc = 2;</code>
2081         *
2082         * <pre>
2083         * JVM descriptor of the method, e.g. '(Ljava/util/List;)[Ljava/lang/Object;'
2084         * </pre>
2085         */
2086        boolean hasDesc();
2087        /**
2088         * <code>optional int32 desc = 2;</code>
2089         *
2090         * <pre>
2091         * JVM descriptor of the method, e.g. '(Ljava/util/List;)[Ljava/lang/Object;'
2092         * </pre>
2093         */
2094        int getDesc();
2095      }
2096      /**
2097       * Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature}
2098       */
2099      public static final class JvmMethodSignature extends
2100          com.google.protobuf.GeneratedMessageLite
2101          implements JvmMethodSignatureOrBuilder {
2102        // Use JvmMethodSignature.newBuilder() to construct.
2103        private JvmMethodSignature(com.google.protobuf.GeneratedMessageLite.Builder builder) {
2104          super(builder);
2105    
2106        }
2107        private JvmMethodSignature(boolean noInit) {}
2108    
2109        private static final JvmMethodSignature defaultInstance;
2110        public static JvmMethodSignature getDefaultInstance() {
2111          return defaultInstance;
2112        }
2113    
2114        public JvmMethodSignature getDefaultInstanceForType() {
2115          return defaultInstance;
2116        }
2117    
2118        private JvmMethodSignature(
2119            com.google.protobuf.CodedInputStream input,
2120            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2121            throws com.google.protobuf.InvalidProtocolBufferException {
2122          initFields();
2123          int mutable_bitField0_ = 0;
2124          try {
2125            boolean done = false;
2126            while (!done) {
2127              int tag = input.readTag();
2128              switch (tag) {
2129                case 0:
2130                  done = true;
2131                  break;
2132                default: {
2133                  if (!parseUnknownField(input,
2134                                         extensionRegistry, tag)) {
2135                    done = true;
2136                  }
2137                  break;
2138                }
2139                case 8: {
2140                  bitField0_ |= 0x00000001;
2141                  name_ = input.readInt32();
2142                  break;
2143                }
2144                case 16: {
2145                  bitField0_ |= 0x00000002;
2146                  desc_ = input.readInt32();
2147                  break;
2148                }
2149              }
2150            }
2151          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2152            throw e.setUnfinishedMessage(this);
2153          } catch (java.io.IOException e) {
2154            throw new com.google.protobuf.InvalidProtocolBufferException(
2155                e.getMessage()).setUnfinishedMessage(this);
2156          } finally {
2157            makeExtensionsImmutable();
2158          }
2159        }
2160        public static com.google.protobuf.Parser<JvmMethodSignature> PARSER =
2161            new com.google.protobuf.AbstractParser<JvmMethodSignature>() {
2162          public JvmMethodSignature parsePartialFrom(
2163              com.google.protobuf.CodedInputStream input,
2164              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2165              throws com.google.protobuf.InvalidProtocolBufferException {
2166            return new JvmMethodSignature(input, extensionRegistry);
2167          }
2168        };
2169    
2170        @java.lang.Override
2171        public com.google.protobuf.Parser<JvmMethodSignature> getParserForType() {
2172          return PARSER;
2173        }
2174    
2175        private int bitField0_;
2176        // optional int32 name = 1;
2177        public static final int NAME_FIELD_NUMBER = 1;
2178        private int name_;
2179        /**
2180         * <code>optional int32 name = 1;</code>
2181         */
2182        public boolean hasName() {
2183          return ((bitField0_ & 0x00000001) == 0x00000001);
2184        }
2185        /**
2186         * <code>optional int32 name = 1;</code>
2187         */
2188        public int getName() {
2189          return name_;
2190        }
2191    
2192        // optional int32 desc = 2;
2193        public static final int DESC_FIELD_NUMBER = 2;
2194        private int desc_;
2195        /**
2196         * <code>optional int32 desc = 2;</code>
2197         *
2198         * <pre>
2199         * JVM descriptor of the method, e.g. '(Ljava/util/List;)[Ljava/lang/Object;'
2200         * </pre>
2201         */
2202        public boolean hasDesc() {
2203          return ((bitField0_ & 0x00000002) == 0x00000002);
2204        }
2205        /**
2206         * <code>optional int32 desc = 2;</code>
2207         *
2208         * <pre>
2209         * JVM descriptor of the method, e.g. '(Ljava/util/List;)[Ljava/lang/Object;'
2210         * </pre>
2211         */
2212        public int getDesc() {
2213          return desc_;
2214        }
2215    
2216        private void initFields() {
2217          name_ = 0;
2218          desc_ = 0;
2219        }
2220        private byte memoizedIsInitialized = -1;
2221        public final boolean isInitialized() {
2222          byte isInitialized = memoizedIsInitialized;
2223          if (isInitialized != -1) return isInitialized == 1;
2224    
2225          memoizedIsInitialized = 1;
2226          return true;
2227        }
2228    
2229        public void writeTo(com.google.protobuf.CodedOutputStream output)
2230                            throws java.io.IOException {
2231          getSerializedSize();
2232          if (((bitField0_ & 0x00000001) == 0x00000001)) {
2233            output.writeInt32(1, name_);
2234          }
2235          if (((bitField0_ & 0x00000002) == 0x00000002)) {
2236            output.writeInt32(2, desc_);
2237          }
2238        }
2239    
2240        private int memoizedSerializedSize = -1;
2241        public int getSerializedSize() {
2242          int size = memoizedSerializedSize;
2243          if (size != -1) return size;
2244    
2245          size = 0;
2246          if (((bitField0_ & 0x00000001) == 0x00000001)) {
2247            size += com.google.protobuf.CodedOutputStream
2248              .computeInt32Size(1, name_);
2249          }
2250          if (((bitField0_ & 0x00000002) == 0x00000002)) {
2251            size += com.google.protobuf.CodedOutputStream
2252              .computeInt32Size(2, desc_);
2253          }
2254          memoizedSerializedSize = size;
2255          return size;
2256        }
2257    
2258        private static final long serialVersionUID = 0L;
2259        @java.lang.Override
2260        protected java.lang.Object writeReplace()
2261            throws java.io.ObjectStreamException {
2262          return super.writeReplace();
2263        }
2264    
2265        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature parseFrom(
2266            com.google.protobuf.ByteString data)
2267            throws com.google.protobuf.InvalidProtocolBufferException {
2268          return PARSER.parseFrom(data);
2269        }
2270        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature parseFrom(
2271            com.google.protobuf.ByteString data,
2272            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2273            throws com.google.protobuf.InvalidProtocolBufferException {
2274          return PARSER.parseFrom(data, extensionRegistry);
2275        }
2276        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature parseFrom(byte[] data)
2277            throws com.google.protobuf.InvalidProtocolBufferException {
2278          return PARSER.parseFrom(data);
2279        }
2280        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature parseFrom(
2281            byte[] data,
2282            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2283            throws com.google.protobuf.InvalidProtocolBufferException {
2284          return PARSER.parseFrom(data, extensionRegistry);
2285        }
2286        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature parseFrom(java.io.InputStream input)
2287            throws java.io.IOException {
2288          return PARSER.parseFrom(input);
2289        }
2290        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature parseFrom(
2291            java.io.InputStream input,
2292            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2293            throws java.io.IOException {
2294          return PARSER.parseFrom(input, extensionRegistry);
2295        }
2296        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature parseDelimitedFrom(java.io.InputStream input)
2297            throws java.io.IOException {
2298          return PARSER.parseDelimitedFrom(input);
2299        }
2300        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature parseDelimitedFrom(
2301            java.io.InputStream input,
2302            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2303            throws java.io.IOException {
2304          return PARSER.parseDelimitedFrom(input, extensionRegistry);
2305        }
2306        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature parseFrom(
2307            com.google.protobuf.CodedInputStream input)
2308            throws java.io.IOException {
2309          return PARSER.parseFrom(input);
2310        }
2311        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature parseFrom(
2312            com.google.protobuf.CodedInputStream input,
2313            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2314            throws java.io.IOException {
2315          return PARSER.parseFrom(input, extensionRegistry);
2316        }
2317    
2318        public static Builder newBuilder() { return Builder.create(); }
2319        public Builder newBuilderForType() { return newBuilder(); }
2320        public static Builder newBuilder(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature prototype) {
2321          return newBuilder().mergeFrom(prototype);
2322        }
2323        public Builder toBuilder() { return newBuilder(this); }
2324    
2325        /**
2326         * Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature}
2327         */
2328        public static final class Builder extends
2329            com.google.protobuf.GeneratedMessageLite.Builder<
2330              org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature, Builder>
2331            implements org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignatureOrBuilder {
2332          // Construct using org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.newBuilder()
2333          private Builder() {
2334            maybeForceBuilderInitialization();
2335          }
2336    
2337          private void maybeForceBuilderInitialization() {
2338          }
2339          private static Builder create() {
2340            return new Builder();
2341          }
2342    
2343          public Builder clear() {
2344            super.clear();
2345            name_ = 0;
2346            bitField0_ = (bitField0_ & ~0x00000001);
2347            desc_ = 0;
2348            bitField0_ = (bitField0_ & ~0x00000002);
2349            return this;
2350          }
2351    
2352          public Builder clone() {
2353            return create().mergeFrom(buildPartial());
2354          }
2355    
2356          public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature getDefaultInstanceForType() {
2357            return org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance();
2358          }
2359    
2360          public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature build() {
2361            org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature result = buildPartial();
2362            if (!result.isInitialized()) {
2363              throw newUninitializedMessageException(result);
2364            }
2365            return result;
2366          }
2367    
2368          public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature buildPartial() {
2369            org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature result = new org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature(this);
2370            int from_bitField0_ = bitField0_;
2371            int to_bitField0_ = 0;
2372            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
2373              to_bitField0_ |= 0x00000001;
2374            }
2375            result.name_ = name_;
2376            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
2377              to_bitField0_ |= 0x00000002;
2378            }
2379            result.desc_ = desc_;
2380            result.bitField0_ = to_bitField0_;
2381            return result;
2382          }
2383    
2384          public Builder mergeFrom(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature other) {
2385            if (other == org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance()) return this;
2386            if (other.hasName()) {
2387              setName(other.getName());
2388            }
2389            if (other.hasDesc()) {
2390              setDesc(other.getDesc());
2391            }
2392            return this;
2393          }
2394    
2395          public final boolean isInitialized() {
2396            return true;
2397          }
2398    
2399          public Builder mergeFrom(
2400              com.google.protobuf.CodedInputStream input,
2401              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2402              throws java.io.IOException {
2403            org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature parsedMessage = null;
2404            try {
2405              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
2406            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2407              parsedMessage = (org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature) e.getUnfinishedMessage();
2408              throw e;
2409            } finally {
2410              if (parsedMessage != null) {
2411                mergeFrom(parsedMessage);
2412              }
2413            }
2414            return this;
2415          }
2416          private int bitField0_;
2417    
2418          // optional int32 name = 1;
2419          private int name_ ;
2420          /**
2421           * <code>optional int32 name = 1;</code>
2422           */
2423          public boolean hasName() {
2424            return ((bitField0_ & 0x00000001) == 0x00000001);
2425          }
2426          /**
2427           * <code>optional int32 name = 1;</code>
2428           */
2429          public int getName() {
2430            return name_;
2431          }
2432          /**
2433           * <code>optional int32 name = 1;</code>
2434           */
2435          public Builder setName(int value) {
2436            bitField0_ |= 0x00000001;
2437            name_ = value;
2438            
2439            return this;
2440          }
2441          /**
2442           * <code>optional int32 name = 1;</code>
2443           */
2444          public Builder clearName() {
2445            bitField0_ = (bitField0_ & ~0x00000001);
2446            name_ = 0;
2447            
2448            return this;
2449          }
2450    
2451          // optional int32 desc = 2;
2452          private int desc_ ;
2453          /**
2454           * <code>optional int32 desc = 2;</code>
2455           *
2456           * <pre>
2457           * JVM descriptor of the method, e.g. '(Ljava/util/List;)[Ljava/lang/Object;'
2458           * </pre>
2459           */
2460          public boolean hasDesc() {
2461            return ((bitField0_ & 0x00000002) == 0x00000002);
2462          }
2463          /**
2464           * <code>optional int32 desc = 2;</code>
2465           *
2466           * <pre>
2467           * JVM descriptor of the method, e.g. '(Ljava/util/List;)[Ljava/lang/Object;'
2468           * </pre>
2469           */
2470          public int getDesc() {
2471            return desc_;
2472          }
2473          /**
2474           * <code>optional int32 desc = 2;</code>
2475           *
2476           * <pre>
2477           * JVM descriptor of the method, e.g. '(Ljava/util/List;)[Ljava/lang/Object;'
2478           * </pre>
2479           */
2480          public Builder setDesc(int value) {
2481            bitField0_ |= 0x00000002;
2482            desc_ = value;
2483            
2484            return this;
2485          }
2486          /**
2487           * <code>optional int32 desc = 2;</code>
2488           *
2489           * <pre>
2490           * JVM descriptor of the method, e.g. '(Ljava/util/List;)[Ljava/lang/Object;'
2491           * </pre>
2492           */
2493          public Builder clearDesc() {
2494            bitField0_ = (bitField0_ & ~0x00000002);
2495            desc_ = 0;
2496            
2497            return this;
2498          }
2499    
2500          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature)
2501        }
2502    
2503        static {
2504          defaultInstance = new JvmMethodSignature(true);
2505          defaultInstance.initFields();
2506        }
2507    
2508        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature)
2509      }
2510    
2511      public interface JvmFieldSignatureOrBuilder
2512          extends com.google.protobuf.MessageLiteOrBuilder {
2513    
2514        // optional int32 name = 1;
2515        /**
2516         * <code>optional int32 name = 1;</code>
2517         */
2518        boolean hasName();
2519        /**
2520         * <code>optional int32 name = 1;</code>
2521         */
2522        int getName();
2523    
2524        // optional int32 desc = 2;
2525        /**
2526         * <code>optional int32 desc = 2;</code>
2527         *
2528         * <pre>
2529         * JVM descriptor of the field type, e.g. 'Ljava/lang/String;'
2530         * </pre>
2531         */
2532        boolean hasDesc();
2533        /**
2534         * <code>optional int32 desc = 2;</code>
2535         *
2536         * <pre>
2537         * JVM descriptor of the field type, e.g. 'Ljava/lang/String;'
2538         * </pre>
2539         */
2540        int getDesc();
2541    
2542        // optional bool is_static_in_outer = 3 [default = false];
2543        /**
2544         * <code>optional bool is_static_in_outer = 3 [default = false];</code>
2545         *
2546         * <pre>
2547         * True iff this field is a backing field for a companion object and is really present as a static
2548         * field in the outer class, not as an instance field here
2549         * </pre>
2550         */
2551        boolean hasIsStaticInOuter();
2552        /**
2553         * <code>optional bool is_static_in_outer = 3 [default = false];</code>
2554         *
2555         * <pre>
2556         * True iff this field is a backing field for a companion object and is really present as a static
2557         * field in the outer class, not as an instance field here
2558         * </pre>
2559         */
2560        boolean getIsStaticInOuter();
2561      }
2562      /**
2563       * Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature}
2564       */
2565      public static final class JvmFieldSignature extends
2566          com.google.protobuf.GeneratedMessageLite
2567          implements JvmFieldSignatureOrBuilder {
2568        // Use JvmFieldSignature.newBuilder() to construct.
2569        private JvmFieldSignature(com.google.protobuf.GeneratedMessageLite.Builder builder) {
2570          super(builder);
2571    
2572        }
2573        private JvmFieldSignature(boolean noInit) {}
2574    
2575        private static final JvmFieldSignature defaultInstance;
2576        public static JvmFieldSignature getDefaultInstance() {
2577          return defaultInstance;
2578        }
2579    
2580        public JvmFieldSignature getDefaultInstanceForType() {
2581          return defaultInstance;
2582        }
2583    
2584        private JvmFieldSignature(
2585            com.google.protobuf.CodedInputStream input,
2586            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2587            throws com.google.protobuf.InvalidProtocolBufferException {
2588          initFields();
2589          int mutable_bitField0_ = 0;
2590          try {
2591            boolean done = false;
2592            while (!done) {
2593              int tag = input.readTag();
2594              switch (tag) {
2595                case 0:
2596                  done = true;
2597                  break;
2598                default: {
2599                  if (!parseUnknownField(input,
2600                                         extensionRegistry, tag)) {
2601                    done = true;
2602                  }
2603                  break;
2604                }
2605                case 8: {
2606                  bitField0_ |= 0x00000001;
2607                  name_ = input.readInt32();
2608                  break;
2609                }
2610                case 16: {
2611                  bitField0_ |= 0x00000002;
2612                  desc_ = input.readInt32();
2613                  break;
2614                }
2615                case 24: {
2616                  bitField0_ |= 0x00000004;
2617                  isStaticInOuter_ = input.readBool();
2618                  break;
2619                }
2620              }
2621            }
2622          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2623            throw e.setUnfinishedMessage(this);
2624          } catch (java.io.IOException e) {
2625            throw new com.google.protobuf.InvalidProtocolBufferException(
2626                e.getMessage()).setUnfinishedMessage(this);
2627          } finally {
2628            makeExtensionsImmutable();
2629          }
2630        }
2631        public static com.google.protobuf.Parser<JvmFieldSignature> PARSER =
2632            new com.google.protobuf.AbstractParser<JvmFieldSignature>() {
2633          public JvmFieldSignature parsePartialFrom(
2634              com.google.protobuf.CodedInputStream input,
2635              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2636              throws com.google.protobuf.InvalidProtocolBufferException {
2637            return new JvmFieldSignature(input, extensionRegistry);
2638          }
2639        };
2640    
2641        @java.lang.Override
2642        public com.google.protobuf.Parser<JvmFieldSignature> getParserForType() {
2643          return PARSER;
2644        }
2645    
2646        private int bitField0_;
2647        // optional int32 name = 1;
2648        public static final int NAME_FIELD_NUMBER = 1;
2649        private int name_;
2650        /**
2651         * <code>optional int32 name = 1;</code>
2652         */
2653        public boolean hasName() {
2654          return ((bitField0_ & 0x00000001) == 0x00000001);
2655        }
2656        /**
2657         * <code>optional int32 name = 1;</code>
2658         */
2659        public int getName() {
2660          return name_;
2661        }
2662    
2663        // optional int32 desc = 2;
2664        public static final int DESC_FIELD_NUMBER = 2;
2665        private int desc_;
2666        /**
2667         * <code>optional int32 desc = 2;</code>
2668         *
2669         * <pre>
2670         * JVM descriptor of the field type, e.g. 'Ljava/lang/String;'
2671         * </pre>
2672         */
2673        public boolean hasDesc() {
2674          return ((bitField0_ & 0x00000002) == 0x00000002);
2675        }
2676        /**
2677         * <code>optional int32 desc = 2;</code>
2678         *
2679         * <pre>
2680         * JVM descriptor of the field type, e.g. 'Ljava/lang/String;'
2681         * </pre>
2682         */
2683        public int getDesc() {
2684          return desc_;
2685        }
2686    
2687        // optional bool is_static_in_outer = 3 [default = false];
2688        public static final int IS_STATIC_IN_OUTER_FIELD_NUMBER = 3;
2689        private boolean isStaticInOuter_;
2690        /**
2691         * <code>optional bool is_static_in_outer = 3 [default = false];</code>
2692         *
2693         * <pre>
2694         * True iff this field is a backing field for a companion object and is really present as a static
2695         * field in the outer class, not as an instance field here
2696         * </pre>
2697         */
2698        public boolean hasIsStaticInOuter() {
2699          return ((bitField0_ & 0x00000004) == 0x00000004);
2700        }
2701        /**
2702         * <code>optional bool is_static_in_outer = 3 [default = false];</code>
2703         *
2704         * <pre>
2705         * True iff this field is a backing field for a companion object and is really present as a static
2706         * field in the outer class, not as an instance field here
2707         * </pre>
2708         */
2709        public boolean getIsStaticInOuter() {
2710          return isStaticInOuter_;
2711        }
2712    
2713        private void initFields() {
2714          name_ = 0;
2715          desc_ = 0;
2716          isStaticInOuter_ = false;
2717        }
2718        private byte memoizedIsInitialized = -1;
2719        public final boolean isInitialized() {
2720          byte isInitialized = memoizedIsInitialized;
2721          if (isInitialized != -1) return isInitialized == 1;
2722    
2723          memoizedIsInitialized = 1;
2724          return true;
2725        }
2726    
2727        public void writeTo(com.google.protobuf.CodedOutputStream output)
2728                            throws java.io.IOException {
2729          getSerializedSize();
2730          if (((bitField0_ & 0x00000001) == 0x00000001)) {
2731            output.writeInt32(1, name_);
2732          }
2733          if (((bitField0_ & 0x00000002) == 0x00000002)) {
2734            output.writeInt32(2, desc_);
2735          }
2736          if (((bitField0_ & 0x00000004) == 0x00000004)) {
2737            output.writeBool(3, isStaticInOuter_);
2738          }
2739        }
2740    
2741        private int memoizedSerializedSize = -1;
2742        public int getSerializedSize() {
2743          int size = memoizedSerializedSize;
2744          if (size != -1) return size;
2745    
2746          size = 0;
2747          if (((bitField0_ & 0x00000001) == 0x00000001)) {
2748            size += com.google.protobuf.CodedOutputStream
2749              .computeInt32Size(1, name_);
2750          }
2751          if (((bitField0_ & 0x00000002) == 0x00000002)) {
2752            size += com.google.protobuf.CodedOutputStream
2753              .computeInt32Size(2, desc_);
2754          }
2755          if (((bitField0_ & 0x00000004) == 0x00000004)) {
2756            size += com.google.protobuf.CodedOutputStream
2757              .computeBoolSize(3, isStaticInOuter_);
2758          }
2759          memoizedSerializedSize = size;
2760          return size;
2761        }
2762    
2763        private static final long serialVersionUID = 0L;
2764        @java.lang.Override
2765        protected java.lang.Object writeReplace()
2766            throws java.io.ObjectStreamException {
2767          return super.writeReplace();
2768        }
2769    
2770        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature parseFrom(
2771            com.google.protobuf.ByteString data)
2772            throws com.google.protobuf.InvalidProtocolBufferException {
2773          return PARSER.parseFrom(data);
2774        }
2775        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature parseFrom(
2776            com.google.protobuf.ByteString data,
2777            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2778            throws com.google.protobuf.InvalidProtocolBufferException {
2779          return PARSER.parseFrom(data, extensionRegistry);
2780        }
2781        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature parseFrom(byte[] data)
2782            throws com.google.protobuf.InvalidProtocolBufferException {
2783          return PARSER.parseFrom(data);
2784        }
2785        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature parseFrom(
2786            byte[] data,
2787            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2788            throws com.google.protobuf.InvalidProtocolBufferException {
2789          return PARSER.parseFrom(data, extensionRegistry);
2790        }
2791        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature parseFrom(java.io.InputStream input)
2792            throws java.io.IOException {
2793          return PARSER.parseFrom(input);
2794        }
2795        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature parseFrom(
2796            java.io.InputStream input,
2797            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2798            throws java.io.IOException {
2799          return PARSER.parseFrom(input, extensionRegistry);
2800        }
2801        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature parseDelimitedFrom(java.io.InputStream input)
2802            throws java.io.IOException {
2803          return PARSER.parseDelimitedFrom(input);
2804        }
2805        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature parseDelimitedFrom(
2806            java.io.InputStream input,
2807            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2808            throws java.io.IOException {
2809          return PARSER.parseDelimitedFrom(input, extensionRegistry);
2810        }
2811        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature parseFrom(
2812            com.google.protobuf.CodedInputStream input)
2813            throws java.io.IOException {
2814          return PARSER.parseFrom(input);
2815        }
2816        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature parseFrom(
2817            com.google.protobuf.CodedInputStream input,
2818            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2819            throws java.io.IOException {
2820          return PARSER.parseFrom(input, extensionRegistry);
2821        }
2822    
2823        public static Builder newBuilder() { return Builder.create(); }
2824        public Builder newBuilderForType() { return newBuilder(); }
2825        public static Builder newBuilder(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature prototype) {
2826          return newBuilder().mergeFrom(prototype);
2827        }
2828        public Builder toBuilder() { return newBuilder(this); }
2829    
2830        /**
2831         * Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature}
2832         */
2833        public static final class Builder extends
2834            com.google.protobuf.GeneratedMessageLite.Builder<
2835              org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature, Builder>
2836            implements org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignatureOrBuilder {
2837          // Construct using org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature.newBuilder()
2838          private Builder() {
2839            maybeForceBuilderInitialization();
2840          }
2841    
2842          private void maybeForceBuilderInitialization() {
2843          }
2844          private static Builder create() {
2845            return new Builder();
2846          }
2847    
2848          public Builder clear() {
2849            super.clear();
2850            name_ = 0;
2851            bitField0_ = (bitField0_ & ~0x00000001);
2852            desc_ = 0;
2853            bitField0_ = (bitField0_ & ~0x00000002);
2854            isStaticInOuter_ = false;
2855            bitField0_ = (bitField0_ & ~0x00000004);
2856            return this;
2857          }
2858    
2859          public Builder clone() {
2860            return create().mergeFrom(buildPartial());
2861          }
2862    
2863          public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature getDefaultInstanceForType() {
2864            return org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature.getDefaultInstance();
2865          }
2866    
2867          public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature build() {
2868            org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature result = buildPartial();
2869            if (!result.isInitialized()) {
2870              throw newUninitializedMessageException(result);
2871            }
2872            return result;
2873          }
2874    
2875          public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature buildPartial() {
2876            org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature result = new org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature(this);
2877            int from_bitField0_ = bitField0_;
2878            int to_bitField0_ = 0;
2879            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
2880              to_bitField0_ |= 0x00000001;
2881            }
2882            result.name_ = name_;
2883            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
2884              to_bitField0_ |= 0x00000002;
2885            }
2886            result.desc_ = desc_;
2887            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
2888              to_bitField0_ |= 0x00000004;
2889            }
2890            result.isStaticInOuter_ = isStaticInOuter_;
2891            result.bitField0_ = to_bitField0_;
2892            return result;
2893          }
2894    
2895          public Builder mergeFrom(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature other) {
2896            if (other == org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature.getDefaultInstance()) return this;
2897            if (other.hasName()) {
2898              setName(other.getName());
2899            }
2900            if (other.hasDesc()) {
2901              setDesc(other.getDesc());
2902            }
2903            if (other.hasIsStaticInOuter()) {
2904              setIsStaticInOuter(other.getIsStaticInOuter());
2905            }
2906            return this;
2907          }
2908    
2909          public final boolean isInitialized() {
2910            return true;
2911          }
2912    
2913          public Builder mergeFrom(
2914              com.google.protobuf.CodedInputStream input,
2915              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2916              throws java.io.IOException {
2917            org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature parsedMessage = null;
2918            try {
2919              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
2920            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2921              parsedMessage = (org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature) e.getUnfinishedMessage();
2922              throw e;
2923            } finally {
2924              if (parsedMessage != null) {
2925                mergeFrom(parsedMessage);
2926              }
2927            }
2928            return this;
2929          }
2930          private int bitField0_;
2931    
2932          // optional int32 name = 1;
2933          private int name_ ;
2934          /**
2935           * <code>optional int32 name = 1;</code>
2936           */
2937          public boolean hasName() {
2938            return ((bitField0_ & 0x00000001) == 0x00000001);
2939          }
2940          /**
2941           * <code>optional int32 name = 1;</code>
2942           */
2943          public int getName() {
2944            return name_;
2945          }
2946          /**
2947           * <code>optional int32 name = 1;</code>
2948           */
2949          public Builder setName(int value) {
2950            bitField0_ |= 0x00000001;
2951            name_ = value;
2952            
2953            return this;
2954          }
2955          /**
2956           * <code>optional int32 name = 1;</code>
2957           */
2958          public Builder clearName() {
2959            bitField0_ = (bitField0_ & ~0x00000001);
2960            name_ = 0;
2961            
2962            return this;
2963          }
2964    
2965          // optional int32 desc = 2;
2966          private int desc_ ;
2967          /**
2968           * <code>optional int32 desc = 2;</code>
2969           *
2970           * <pre>
2971           * JVM descriptor of the field type, e.g. 'Ljava/lang/String;'
2972           * </pre>
2973           */
2974          public boolean hasDesc() {
2975            return ((bitField0_ & 0x00000002) == 0x00000002);
2976          }
2977          /**
2978           * <code>optional int32 desc = 2;</code>
2979           *
2980           * <pre>
2981           * JVM descriptor of the field type, e.g. 'Ljava/lang/String;'
2982           * </pre>
2983           */
2984          public int getDesc() {
2985            return desc_;
2986          }
2987          /**
2988           * <code>optional int32 desc = 2;</code>
2989           *
2990           * <pre>
2991           * JVM descriptor of the field type, e.g. 'Ljava/lang/String;'
2992           * </pre>
2993           */
2994          public Builder setDesc(int value) {
2995            bitField0_ |= 0x00000002;
2996            desc_ = value;
2997            
2998            return this;
2999          }
3000          /**
3001           * <code>optional int32 desc = 2;</code>
3002           *
3003           * <pre>
3004           * JVM descriptor of the field type, e.g. 'Ljava/lang/String;'
3005           * </pre>
3006           */
3007          public Builder clearDesc() {
3008            bitField0_ = (bitField0_ & ~0x00000002);
3009            desc_ = 0;
3010            
3011            return this;
3012          }
3013    
3014          // optional bool is_static_in_outer = 3 [default = false];
3015          private boolean isStaticInOuter_ ;
3016          /**
3017           * <code>optional bool is_static_in_outer = 3 [default = false];</code>
3018           *
3019           * <pre>
3020           * True iff this field is a backing field for a companion object and is really present as a static
3021           * field in the outer class, not as an instance field here
3022           * </pre>
3023           */
3024          public boolean hasIsStaticInOuter() {
3025            return ((bitField0_ & 0x00000004) == 0x00000004);
3026          }
3027          /**
3028           * <code>optional bool is_static_in_outer = 3 [default = false];</code>
3029           *
3030           * <pre>
3031           * True iff this field is a backing field for a companion object and is really present as a static
3032           * field in the outer class, not as an instance field here
3033           * </pre>
3034           */
3035          public boolean getIsStaticInOuter() {
3036            return isStaticInOuter_;
3037          }
3038          /**
3039           * <code>optional bool is_static_in_outer = 3 [default = false];</code>
3040           *
3041           * <pre>
3042           * True iff this field is a backing field for a companion object and is really present as a static
3043           * field in the outer class, not as an instance field here
3044           * </pre>
3045           */
3046          public Builder setIsStaticInOuter(boolean value) {
3047            bitField0_ |= 0x00000004;
3048            isStaticInOuter_ = value;
3049            
3050            return this;
3051          }
3052          /**
3053           * <code>optional bool is_static_in_outer = 3 [default = false];</code>
3054           *
3055           * <pre>
3056           * True iff this field is a backing field for a companion object and is really present as a static
3057           * field in the outer class, not as an instance field here
3058           * </pre>
3059           */
3060          public Builder clearIsStaticInOuter() {
3061            bitField0_ = (bitField0_ & ~0x00000004);
3062            isStaticInOuter_ = false;
3063            
3064            return this;
3065          }
3066    
3067          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature)
3068        }
3069    
3070        static {
3071          defaultInstance = new JvmFieldSignature(true);
3072          defaultInstance.initFields();
3073        }
3074    
3075        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature)
3076      }
3077    
3078      public interface JvmPropertySignatureOrBuilder
3079          extends com.google.protobuf.MessageLiteOrBuilder {
3080    
3081        // optional .org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature field = 1;
3082        /**
3083         * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature field = 1;</code>
3084         */
3085        boolean hasField();
3086        /**
3087         * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature field = 1;</code>
3088         */
3089        org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature getField();
3090    
3091        // optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature synthetic_method = 2;
3092        /**
3093         * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature synthetic_method = 2;</code>
3094         *
3095         * <pre>
3096         * Annotations on properties are written on a synthetic method with this signature
3097         * </pre>
3098         */
3099        boolean hasSyntheticMethod();
3100        /**
3101         * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature synthetic_method = 2;</code>
3102         *
3103         * <pre>
3104         * Annotations on properties are written on a synthetic method with this signature
3105         * </pre>
3106         */
3107        org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature getSyntheticMethod();
3108    
3109        // optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature getter = 3;
3110        /**
3111         * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature getter = 3;</code>
3112         */
3113        boolean hasGetter();
3114        /**
3115         * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature getter = 3;</code>
3116         */
3117        org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature getGetter();
3118    
3119        // optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature setter = 4;
3120        /**
3121         * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature setter = 4;</code>
3122         */
3123        boolean hasSetter();
3124        /**
3125         * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature setter = 4;</code>
3126         */
3127        org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature getSetter();
3128      }
3129      /**
3130       * Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.JvmPropertySignature}
3131       */
3132      public static final class JvmPropertySignature extends
3133          com.google.protobuf.GeneratedMessageLite
3134          implements JvmPropertySignatureOrBuilder {
3135        // Use JvmPropertySignature.newBuilder() to construct.
3136        private JvmPropertySignature(com.google.protobuf.GeneratedMessageLite.Builder builder) {
3137          super(builder);
3138    
3139        }
3140        private JvmPropertySignature(boolean noInit) {}
3141    
3142        private static final JvmPropertySignature defaultInstance;
3143        public static JvmPropertySignature getDefaultInstance() {
3144          return defaultInstance;
3145        }
3146    
3147        public JvmPropertySignature getDefaultInstanceForType() {
3148          return defaultInstance;
3149        }
3150    
3151        private JvmPropertySignature(
3152            com.google.protobuf.CodedInputStream input,
3153            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3154            throws com.google.protobuf.InvalidProtocolBufferException {
3155          initFields();
3156          int mutable_bitField0_ = 0;
3157          try {
3158            boolean done = false;
3159            while (!done) {
3160              int tag = input.readTag();
3161              switch (tag) {
3162                case 0:
3163                  done = true;
3164                  break;
3165                default: {
3166                  if (!parseUnknownField(input,
3167                                         extensionRegistry, tag)) {
3168                    done = true;
3169                  }
3170                  break;
3171                }
3172                case 10: {
3173                  org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature.Builder subBuilder = null;
3174                  if (((bitField0_ & 0x00000001) == 0x00000001)) {
3175                    subBuilder = field_.toBuilder();
3176                  }
3177                  field_ = input.readMessage(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature.PARSER, extensionRegistry);
3178                  if (subBuilder != null) {
3179                    subBuilder.mergeFrom(field_);
3180                    field_ = subBuilder.buildPartial();
3181                  }
3182                  bitField0_ |= 0x00000001;
3183                  break;
3184                }
3185                case 18: {
3186                  org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.Builder subBuilder = null;
3187                  if (((bitField0_ & 0x00000002) == 0x00000002)) {
3188                    subBuilder = syntheticMethod_.toBuilder();
3189                  }
3190                  syntheticMethod_ = input.readMessage(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.PARSER, extensionRegistry);
3191                  if (subBuilder != null) {
3192                    subBuilder.mergeFrom(syntheticMethod_);
3193                    syntheticMethod_ = subBuilder.buildPartial();
3194                  }
3195                  bitField0_ |= 0x00000002;
3196                  break;
3197                }
3198                case 26: {
3199                  org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.Builder subBuilder = null;
3200                  if (((bitField0_ & 0x00000004) == 0x00000004)) {
3201                    subBuilder = getter_.toBuilder();
3202                  }
3203                  getter_ = input.readMessage(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.PARSER, extensionRegistry);
3204                  if (subBuilder != null) {
3205                    subBuilder.mergeFrom(getter_);
3206                    getter_ = subBuilder.buildPartial();
3207                  }
3208                  bitField0_ |= 0x00000004;
3209                  break;
3210                }
3211                case 34: {
3212                  org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.Builder subBuilder = null;
3213                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
3214                    subBuilder = setter_.toBuilder();
3215                  }
3216                  setter_ = input.readMessage(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.PARSER, extensionRegistry);
3217                  if (subBuilder != null) {
3218                    subBuilder.mergeFrom(setter_);
3219                    setter_ = subBuilder.buildPartial();
3220                  }
3221                  bitField0_ |= 0x00000008;
3222                  break;
3223                }
3224              }
3225            }
3226          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3227            throw e.setUnfinishedMessage(this);
3228          } catch (java.io.IOException e) {
3229            throw new com.google.protobuf.InvalidProtocolBufferException(
3230                e.getMessage()).setUnfinishedMessage(this);
3231          } finally {
3232            makeExtensionsImmutable();
3233          }
3234        }
3235        public static com.google.protobuf.Parser<JvmPropertySignature> PARSER =
3236            new com.google.protobuf.AbstractParser<JvmPropertySignature>() {
3237          public JvmPropertySignature parsePartialFrom(
3238              com.google.protobuf.CodedInputStream input,
3239              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3240              throws com.google.protobuf.InvalidProtocolBufferException {
3241            return new JvmPropertySignature(input, extensionRegistry);
3242          }
3243        };
3244    
3245        @java.lang.Override
3246        public com.google.protobuf.Parser<JvmPropertySignature> getParserForType() {
3247          return PARSER;
3248        }
3249    
3250        private int bitField0_;
3251        // optional .org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature field = 1;
3252        public static final int FIELD_FIELD_NUMBER = 1;
3253        private org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature field_;
3254        /**
3255         * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature field = 1;</code>
3256         */
3257        public boolean hasField() {
3258          return ((bitField0_ & 0x00000001) == 0x00000001);
3259        }
3260        /**
3261         * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature field = 1;</code>
3262         */
3263        public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature getField() {
3264          return field_;
3265        }
3266    
3267        // optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature synthetic_method = 2;
3268        public static final int SYNTHETIC_METHOD_FIELD_NUMBER = 2;
3269        private org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature syntheticMethod_;
3270        /**
3271         * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature synthetic_method = 2;</code>
3272         *
3273         * <pre>
3274         * Annotations on properties are written on a synthetic method with this signature
3275         * </pre>
3276         */
3277        public boolean hasSyntheticMethod() {
3278          return ((bitField0_ & 0x00000002) == 0x00000002);
3279        }
3280        /**
3281         * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature synthetic_method = 2;</code>
3282         *
3283         * <pre>
3284         * Annotations on properties are written on a synthetic method with this signature
3285         * </pre>
3286         */
3287        public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature getSyntheticMethod() {
3288          return syntheticMethod_;
3289        }
3290    
3291        // optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature getter = 3;
3292        public static final int GETTER_FIELD_NUMBER = 3;
3293        private org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature getter_;
3294        /**
3295         * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature getter = 3;</code>
3296         */
3297        public boolean hasGetter() {
3298          return ((bitField0_ & 0x00000004) == 0x00000004);
3299        }
3300        /**
3301         * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature getter = 3;</code>
3302         */
3303        public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature getGetter() {
3304          return getter_;
3305        }
3306    
3307        // optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature setter = 4;
3308        public static final int SETTER_FIELD_NUMBER = 4;
3309        private org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature setter_;
3310        /**
3311         * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature setter = 4;</code>
3312         */
3313        public boolean hasSetter() {
3314          return ((bitField0_ & 0x00000008) == 0x00000008);
3315        }
3316        /**
3317         * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature setter = 4;</code>
3318         */
3319        public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature getSetter() {
3320          return setter_;
3321        }
3322    
3323        private void initFields() {
3324          field_ = org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature.getDefaultInstance();
3325          syntheticMethod_ = org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance();
3326          getter_ = org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance();
3327          setter_ = org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance();
3328        }
3329        private byte memoizedIsInitialized = -1;
3330        public final boolean isInitialized() {
3331          byte isInitialized = memoizedIsInitialized;
3332          if (isInitialized != -1) return isInitialized == 1;
3333    
3334          memoizedIsInitialized = 1;
3335          return true;
3336        }
3337    
3338        public void writeTo(com.google.protobuf.CodedOutputStream output)
3339                            throws java.io.IOException {
3340          getSerializedSize();
3341          if (((bitField0_ & 0x00000001) == 0x00000001)) {
3342            output.writeMessage(1, field_);
3343          }
3344          if (((bitField0_ & 0x00000002) == 0x00000002)) {
3345            output.writeMessage(2, syntheticMethod_);
3346          }
3347          if (((bitField0_ & 0x00000004) == 0x00000004)) {
3348            output.writeMessage(3, getter_);
3349          }
3350          if (((bitField0_ & 0x00000008) == 0x00000008)) {
3351            output.writeMessage(4, setter_);
3352          }
3353        }
3354    
3355        private int memoizedSerializedSize = -1;
3356        public int getSerializedSize() {
3357          int size = memoizedSerializedSize;
3358          if (size != -1) return size;
3359    
3360          size = 0;
3361          if (((bitField0_ & 0x00000001) == 0x00000001)) {
3362            size += com.google.protobuf.CodedOutputStream
3363              .computeMessageSize(1, field_);
3364          }
3365          if (((bitField0_ & 0x00000002) == 0x00000002)) {
3366            size += com.google.protobuf.CodedOutputStream
3367              .computeMessageSize(2, syntheticMethod_);
3368          }
3369          if (((bitField0_ & 0x00000004) == 0x00000004)) {
3370            size += com.google.protobuf.CodedOutputStream
3371              .computeMessageSize(3, getter_);
3372          }
3373          if (((bitField0_ & 0x00000008) == 0x00000008)) {
3374            size += com.google.protobuf.CodedOutputStream
3375              .computeMessageSize(4, setter_);
3376          }
3377          memoizedSerializedSize = size;
3378          return size;
3379        }
3380    
3381        private static final long serialVersionUID = 0L;
3382        @java.lang.Override
3383        protected java.lang.Object writeReplace()
3384            throws java.io.ObjectStreamException {
3385          return super.writeReplace();
3386        }
3387    
3388        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature parseFrom(
3389            com.google.protobuf.ByteString data)
3390            throws com.google.protobuf.InvalidProtocolBufferException {
3391          return PARSER.parseFrom(data);
3392        }
3393        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature parseFrom(
3394            com.google.protobuf.ByteString data,
3395            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3396            throws com.google.protobuf.InvalidProtocolBufferException {
3397          return PARSER.parseFrom(data, extensionRegistry);
3398        }
3399        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature parseFrom(byte[] data)
3400            throws com.google.protobuf.InvalidProtocolBufferException {
3401          return PARSER.parseFrom(data);
3402        }
3403        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature parseFrom(
3404            byte[] data,
3405            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3406            throws com.google.protobuf.InvalidProtocolBufferException {
3407          return PARSER.parseFrom(data, extensionRegistry);
3408        }
3409        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature parseFrom(java.io.InputStream input)
3410            throws java.io.IOException {
3411          return PARSER.parseFrom(input);
3412        }
3413        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature parseFrom(
3414            java.io.InputStream input,
3415            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3416            throws java.io.IOException {
3417          return PARSER.parseFrom(input, extensionRegistry);
3418        }
3419        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature parseDelimitedFrom(java.io.InputStream input)
3420            throws java.io.IOException {
3421          return PARSER.parseDelimitedFrom(input);
3422        }
3423        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature parseDelimitedFrom(
3424            java.io.InputStream input,
3425            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3426            throws java.io.IOException {
3427          return PARSER.parseDelimitedFrom(input, extensionRegistry);
3428        }
3429        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature parseFrom(
3430            com.google.protobuf.CodedInputStream input)
3431            throws java.io.IOException {
3432          return PARSER.parseFrom(input);
3433        }
3434        public static org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature parseFrom(
3435            com.google.protobuf.CodedInputStream input,
3436            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3437            throws java.io.IOException {
3438          return PARSER.parseFrom(input, extensionRegistry);
3439        }
3440    
3441        public static Builder newBuilder() { return Builder.create(); }
3442        public Builder newBuilderForType() { return newBuilder(); }
3443        public static Builder newBuilder(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature prototype) {
3444          return newBuilder().mergeFrom(prototype);
3445        }
3446        public Builder toBuilder() { return newBuilder(this); }
3447    
3448        /**
3449         * Protobuf type {@code org.jetbrains.kotlin.serialization.jvm.JvmPropertySignature}
3450         */
3451        public static final class Builder extends
3452            com.google.protobuf.GeneratedMessageLite.Builder<
3453              org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature, Builder>
3454            implements org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignatureOrBuilder {
3455          // Construct using org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature.newBuilder()
3456          private Builder() {
3457            maybeForceBuilderInitialization();
3458          }
3459    
3460          private void maybeForceBuilderInitialization() {
3461          }
3462          private static Builder create() {
3463            return new Builder();
3464          }
3465    
3466          public Builder clear() {
3467            super.clear();
3468            field_ = org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature.getDefaultInstance();
3469            bitField0_ = (bitField0_ & ~0x00000001);
3470            syntheticMethod_ = org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance();
3471            bitField0_ = (bitField0_ & ~0x00000002);
3472            getter_ = org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance();
3473            bitField0_ = (bitField0_ & ~0x00000004);
3474            setter_ = org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance();
3475            bitField0_ = (bitField0_ & ~0x00000008);
3476            return this;
3477          }
3478    
3479          public Builder clone() {
3480            return create().mergeFrom(buildPartial());
3481          }
3482    
3483          public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature getDefaultInstanceForType() {
3484            return org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature.getDefaultInstance();
3485          }
3486    
3487          public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature build() {
3488            org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature result = buildPartial();
3489            if (!result.isInitialized()) {
3490              throw newUninitializedMessageException(result);
3491            }
3492            return result;
3493          }
3494    
3495          public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature buildPartial() {
3496            org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature result = new org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature(this);
3497            int from_bitField0_ = bitField0_;
3498            int to_bitField0_ = 0;
3499            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
3500              to_bitField0_ |= 0x00000001;
3501            }
3502            result.field_ = field_;
3503            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
3504              to_bitField0_ |= 0x00000002;
3505            }
3506            result.syntheticMethod_ = syntheticMethod_;
3507            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
3508              to_bitField0_ |= 0x00000004;
3509            }
3510            result.getter_ = getter_;
3511            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
3512              to_bitField0_ |= 0x00000008;
3513            }
3514            result.setter_ = setter_;
3515            result.bitField0_ = to_bitField0_;
3516            return result;
3517          }
3518    
3519          public Builder mergeFrom(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature other) {
3520            if (other == org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature.getDefaultInstance()) return this;
3521            if (other.hasField()) {
3522              mergeField(other.getField());
3523            }
3524            if (other.hasSyntheticMethod()) {
3525              mergeSyntheticMethod(other.getSyntheticMethod());
3526            }
3527            if (other.hasGetter()) {
3528              mergeGetter(other.getGetter());
3529            }
3530            if (other.hasSetter()) {
3531              mergeSetter(other.getSetter());
3532            }
3533            return this;
3534          }
3535    
3536          public final boolean isInitialized() {
3537            return true;
3538          }
3539    
3540          public Builder mergeFrom(
3541              com.google.protobuf.CodedInputStream input,
3542              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3543              throws java.io.IOException {
3544            org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature parsedMessage = null;
3545            try {
3546              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
3547            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3548              parsedMessage = (org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature) e.getUnfinishedMessage();
3549              throw e;
3550            } finally {
3551              if (parsedMessage != null) {
3552                mergeFrom(parsedMessage);
3553              }
3554            }
3555            return this;
3556          }
3557          private int bitField0_;
3558    
3559          // optional .org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature field = 1;
3560          private org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature field_ = org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature.getDefaultInstance();
3561          /**
3562           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature field = 1;</code>
3563           */
3564          public boolean hasField() {
3565            return ((bitField0_ & 0x00000001) == 0x00000001);
3566          }
3567          /**
3568           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature field = 1;</code>
3569           */
3570          public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature getField() {
3571            return field_;
3572          }
3573          /**
3574           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature field = 1;</code>
3575           */
3576          public Builder setField(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature value) {
3577            if (value == null) {
3578              throw new NullPointerException();
3579            }
3580            field_ = value;
3581    
3582            bitField0_ |= 0x00000001;
3583            return this;
3584          }
3585          /**
3586           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature field = 1;</code>
3587           */
3588          public Builder setField(
3589              org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature.Builder builderForValue) {
3590            field_ = builderForValue.build();
3591    
3592            bitField0_ |= 0x00000001;
3593            return this;
3594          }
3595          /**
3596           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature field = 1;</code>
3597           */
3598          public Builder mergeField(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature value) {
3599            if (((bitField0_ & 0x00000001) == 0x00000001) &&
3600                field_ != org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature.getDefaultInstance()) {
3601              field_ =
3602                org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature.newBuilder(field_).mergeFrom(value).buildPartial();
3603            } else {
3604              field_ = value;
3605            }
3606    
3607            bitField0_ |= 0x00000001;
3608            return this;
3609          }
3610          /**
3611           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmFieldSignature field = 1;</code>
3612           */
3613          public Builder clearField() {
3614            field_ = org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmFieldSignature.getDefaultInstance();
3615    
3616            bitField0_ = (bitField0_ & ~0x00000001);
3617            return this;
3618          }
3619    
3620          // optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature synthetic_method = 2;
3621          private org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature syntheticMethod_ = org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance();
3622          /**
3623           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature synthetic_method = 2;</code>
3624           *
3625           * <pre>
3626           * Annotations on properties are written on a synthetic method with this signature
3627           * </pre>
3628           */
3629          public boolean hasSyntheticMethod() {
3630            return ((bitField0_ & 0x00000002) == 0x00000002);
3631          }
3632          /**
3633           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature synthetic_method = 2;</code>
3634           *
3635           * <pre>
3636           * Annotations on properties are written on a synthetic method with this signature
3637           * </pre>
3638           */
3639          public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature getSyntheticMethod() {
3640            return syntheticMethod_;
3641          }
3642          /**
3643           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature synthetic_method = 2;</code>
3644           *
3645           * <pre>
3646           * Annotations on properties are written on a synthetic method with this signature
3647           * </pre>
3648           */
3649          public Builder setSyntheticMethod(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature value) {
3650            if (value == null) {
3651              throw new NullPointerException();
3652            }
3653            syntheticMethod_ = value;
3654    
3655            bitField0_ |= 0x00000002;
3656            return this;
3657          }
3658          /**
3659           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature synthetic_method = 2;</code>
3660           *
3661           * <pre>
3662           * Annotations on properties are written on a synthetic method with this signature
3663           * </pre>
3664           */
3665          public Builder setSyntheticMethod(
3666              org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.Builder builderForValue) {
3667            syntheticMethod_ = builderForValue.build();
3668    
3669            bitField0_ |= 0x00000002;
3670            return this;
3671          }
3672          /**
3673           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature synthetic_method = 2;</code>
3674           *
3675           * <pre>
3676           * Annotations on properties are written on a synthetic method with this signature
3677           * </pre>
3678           */
3679          public Builder mergeSyntheticMethod(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature value) {
3680            if (((bitField0_ & 0x00000002) == 0x00000002) &&
3681                syntheticMethod_ != org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance()) {
3682              syntheticMethod_ =
3683                org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.newBuilder(syntheticMethod_).mergeFrom(value).buildPartial();
3684            } else {
3685              syntheticMethod_ = value;
3686            }
3687    
3688            bitField0_ |= 0x00000002;
3689            return this;
3690          }
3691          /**
3692           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature synthetic_method = 2;</code>
3693           *
3694           * <pre>
3695           * Annotations on properties are written on a synthetic method with this signature
3696           * </pre>
3697           */
3698          public Builder clearSyntheticMethod() {
3699            syntheticMethod_ = org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance();
3700    
3701            bitField0_ = (bitField0_ & ~0x00000002);
3702            return this;
3703          }
3704    
3705          // optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature getter = 3;
3706          private org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature getter_ = org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance();
3707          /**
3708           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature getter = 3;</code>
3709           */
3710          public boolean hasGetter() {
3711            return ((bitField0_ & 0x00000004) == 0x00000004);
3712          }
3713          /**
3714           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature getter = 3;</code>
3715           */
3716          public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature getGetter() {
3717            return getter_;
3718          }
3719          /**
3720           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature getter = 3;</code>
3721           */
3722          public Builder setGetter(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature value) {
3723            if (value == null) {
3724              throw new NullPointerException();
3725            }
3726            getter_ = value;
3727    
3728            bitField0_ |= 0x00000004;
3729            return this;
3730          }
3731          /**
3732           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature getter = 3;</code>
3733           */
3734          public Builder setGetter(
3735              org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.Builder builderForValue) {
3736            getter_ = builderForValue.build();
3737    
3738            bitField0_ |= 0x00000004;
3739            return this;
3740          }
3741          /**
3742           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature getter = 3;</code>
3743           */
3744          public Builder mergeGetter(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature value) {
3745            if (((bitField0_ & 0x00000004) == 0x00000004) &&
3746                getter_ != org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance()) {
3747              getter_ =
3748                org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.newBuilder(getter_).mergeFrom(value).buildPartial();
3749            } else {
3750              getter_ = value;
3751            }
3752    
3753            bitField0_ |= 0x00000004;
3754            return this;
3755          }
3756          /**
3757           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature getter = 3;</code>
3758           */
3759          public Builder clearGetter() {
3760            getter_ = org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance();
3761    
3762            bitField0_ = (bitField0_ & ~0x00000004);
3763            return this;
3764          }
3765    
3766          // optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature setter = 4;
3767          private org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature setter_ = org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance();
3768          /**
3769           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature setter = 4;</code>
3770           */
3771          public boolean hasSetter() {
3772            return ((bitField0_ & 0x00000008) == 0x00000008);
3773          }
3774          /**
3775           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature setter = 4;</code>
3776           */
3777          public org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature getSetter() {
3778            return setter_;
3779          }
3780          /**
3781           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature setter = 4;</code>
3782           */
3783          public Builder setSetter(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature value) {
3784            if (value == null) {
3785              throw new NullPointerException();
3786            }
3787            setter_ = value;
3788    
3789            bitField0_ |= 0x00000008;
3790            return this;
3791          }
3792          /**
3793           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature setter = 4;</code>
3794           */
3795          public Builder setSetter(
3796              org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.Builder builderForValue) {
3797            setter_ = builderForValue.build();
3798    
3799            bitField0_ |= 0x00000008;
3800            return this;
3801          }
3802          /**
3803           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature setter = 4;</code>
3804           */
3805          public Builder mergeSetter(org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature value) {
3806            if (((bitField0_ & 0x00000008) == 0x00000008) &&
3807                setter_ != org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance()) {
3808              setter_ =
3809                org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.newBuilder(setter_).mergeFrom(value).buildPartial();
3810            } else {
3811              setter_ = value;
3812            }
3813    
3814            bitField0_ |= 0x00000008;
3815            return this;
3816          }
3817          /**
3818           * <code>optional .org.jetbrains.kotlin.serialization.jvm.JvmMethodSignature setter = 4;</code>
3819           */
3820          public Builder clearSetter() {
3821            setter_ = org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance();
3822    
3823            bitField0_ = (bitField0_ & ~0x00000008);
3824            return this;
3825          }
3826    
3827          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.jvm.JvmPropertySignature)
3828        }
3829    
3830        static {
3831          defaultInstance = new JvmPropertySignature(true);
3832          defaultInstance.initFields();
3833        }
3834    
3835        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.jvm.JvmPropertySignature)
3836      }
3837    
3838      public static final int CONSTRUCTOR_SIGNATURE_FIELD_NUMBER = 100;
3839      /**
3840       * <code>extend .org.jetbrains.kotlin.serialization.Constructor { ... }</code>
3841       */
3842      public static final
3843        com.google.protobuf.GeneratedMessageLite.GeneratedExtension<
3844          org.jetbrains.kotlin.serialization.ProtoBuf.Constructor,
3845          org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature> constructorSignature = com.google.protobuf.GeneratedMessageLite
3846              .newSingularGeneratedExtension(
3847            org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.getDefaultInstance(),
3848            org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance(),
3849            org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance(),
3850            null,
3851            100,
3852            com.google.protobuf.WireFormat.FieldType.MESSAGE);
3853      public static final int METHOD_SIGNATURE_FIELD_NUMBER = 100;
3854      /**
3855       * <code>extend .org.jetbrains.kotlin.serialization.Function { ... }</code>
3856       */
3857      public static final
3858        com.google.protobuf.GeneratedMessageLite.GeneratedExtension<
3859          org.jetbrains.kotlin.serialization.ProtoBuf.Function,
3860          org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature> methodSignature = com.google.protobuf.GeneratedMessageLite
3861              .newSingularGeneratedExtension(
3862            org.jetbrains.kotlin.serialization.ProtoBuf.Function.getDefaultInstance(),
3863            org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance(),
3864            org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmMethodSignature.getDefaultInstance(),
3865            null,
3866            100,
3867            com.google.protobuf.WireFormat.FieldType.MESSAGE);
3868      public static final int METHOD_IMPL_CLASS_NAME_FIELD_NUMBER = 101;
3869      /**
3870       * <code>extend .org.jetbrains.kotlin.serialization.Function { ... }</code>
3871       */
3872      public static final
3873        com.google.protobuf.GeneratedMessageLite.GeneratedExtension<
3874          org.jetbrains.kotlin.serialization.ProtoBuf.Function,
3875          java.lang.Integer> methodImplClassName = com.google.protobuf.GeneratedMessageLite
3876              .newSingularGeneratedExtension(
3877            org.jetbrains.kotlin.serialization.ProtoBuf.Function.getDefaultInstance(),
3878            0,
3879            null,
3880            null,
3881            101,
3882            com.google.protobuf.WireFormat.FieldType.INT32);
3883      public static final int PROPERTY_SIGNATURE_FIELD_NUMBER = 100;
3884      /**
3885       * <code>extend .org.jetbrains.kotlin.serialization.Property { ... }</code>
3886       */
3887      public static final
3888        com.google.protobuf.GeneratedMessageLite.GeneratedExtension<
3889          org.jetbrains.kotlin.serialization.ProtoBuf.Property,
3890          org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature> propertySignature = com.google.protobuf.GeneratedMessageLite
3891              .newSingularGeneratedExtension(
3892            org.jetbrains.kotlin.serialization.ProtoBuf.Property.getDefaultInstance(),
3893            org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature.getDefaultInstance(),
3894            org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf.JvmPropertySignature.getDefaultInstance(),
3895            null,
3896            100,
3897            com.google.protobuf.WireFormat.FieldType.MESSAGE);
3898      public static final int PROPERTY_IMPL_CLASS_NAME_FIELD_NUMBER = 101;
3899      /**
3900       * <code>extend .org.jetbrains.kotlin.serialization.Property { ... }</code>
3901       */
3902      public static final
3903        com.google.protobuf.GeneratedMessageLite.GeneratedExtension<
3904          org.jetbrains.kotlin.serialization.ProtoBuf.Property,
3905          java.lang.Integer> propertyImplClassName = com.google.protobuf.GeneratedMessageLite
3906              .newSingularGeneratedExtension(
3907            org.jetbrains.kotlin.serialization.ProtoBuf.Property.getDefaultInstance(),
3908            0,
3909            null,
3910            null,
3911            101,
3912            com.google.protobuf.WireFormat.FieldType.INT32);
3913      public static final int TYPE_ANNOTATION_FIELD_NUMBER = 100;
3914      /**
3915       * <code>extend .org.jetbrains.kotlin.serialization.Type { ... }</code>
3916       */
3917      public static final
3918        com.google.protobuf.GeneratedMessageLite.GeneratedExtension<
3919          org.jetbrains.kotlin.serialization.ProtoBuf.Type,
3920          java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation>> typeAnnotation = com.google.protobuf.GeneratedMessageLite
3921              .newRepeatedGeneratedExtension(
3922            org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance(),
3923            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance(),
3924            null,
3925            100,
3926            com.google.protobuf.WireFormat.FieldType.MESSAGE,
3927            false);
3928      public static final int IS_RAW_FIELD_NUMBER = 101;
3929      /**
3930       * <code>extend .org.jetbrains.kotlin.serialization.Type { ... }</code>
3931       */
3932      public static final
3933        com.google.protobuf.GeneratedMessageLite.GeneratedExtension<
3934          org.jetbrains.kotlin.serialization.ProtoBuf.Type,
3935          java.lang.Boolean> isRaw = com.google.protobuf.GeneratedMessageLite
3936              .newSingularGeneratedExtension(
3937            org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance(),
3938            false,
3939            null,
3940            null,
3941            101,
3942            com.google.protobuf.WireFormat.FieldType.BOOL);
3943      public static final int TYPE_PARAMETER_ANNOTATION_FIELD_NUMBER = 100;
3944      /**
3945       * <code>extend .org.jetbrains.kotlin.serialization.TypeParameter { ... }</code>
3946       */
3947      public static final
3948        com.google.protobuf.GeneratedMessageLite.GeneratedExtension<
3949          org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter,
3950          java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation>> typeParameterAnnotation = com.google.protobuf.GeneratedMessageLite
3951              .newRepeatedGeneratedExtension(
3952            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.getDefaultInstance(),
3953            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance(),
3954            null,
3955            100,
3956            com.google.protobuf.WireFormat.FieldType.MESSAGE,
3957            false);
3958      public static final int INDEX_FIELD_NUMBER = 100;
3959      /**
3960       * <code>extend .org.jetbrains.kotlin.serialization.ValueParameter { ... }</code>
3961       */
3962      public static final
3963        com.google.protobuf.GeneratedMessageLite.GeneratedExtension<
3964          org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter,
3965          java.lang.Integer> index = com.google.protobuf.GeneratedMessageLite
3966              .newSingularGeneratedExtension(
3967            org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance(),
3968            0,
3969            null,
3970            null,
3971            100,
3972            com.google.protobuf.WireFormat.FieldType.INT32);
3973      public static final int CLASS_ANNOTATION_FIELD_NUMBER = 100;
3974      /**
3975       * <code>extend .org.jetbrains.kotlin.serialization.Class { ... }</code>
3976       */
3977      public static final
3978        com.google.protobuf.GeneratedMessageLite.GeneratedExtension<
3979          org.jetbrains.kotlin.serialization.ProtoBuf.Class,
3980          java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation>> classAnnotation = com.google.protobuf.GeneratedMessageLite
3981              .newRepeatedGeneratedExtension(
3982            org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance(),
3983            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance(),
3984            null,
3985            100,
3986            com.google.protobuf.WireFormat.FieldType.MESSAGE,
3987            false);
3988    
3989      static {
3990      }
3991    
3992      // @@protoc_insertion_point(outer_class_scope)
3993    }