001    // Generated by the protocol buffer compiler.  DO NOT EDIT!
002    // source: core/deserialization/src/descriptors.proto
003    
004    package org.jetbrains.kotlin.serialization;
005    
006    public final class ProtoBuf {
007      private ProtoBuf() {}
008      public static void registerAllExtensions(
009          com.google.protobuf.ExtensionRegistryLite registry) {
010      }
011      /**
012       * Protobuf enum {@code org.jetbrains.kotlin.serialization.Modality}
013       */
014      public enum Modality
015          implements com.google.protobuf.Internal.EnumLite {
016        /**
017         * <code>FINAL = 0;</code>
018         *
019         * <pre>
020         * 2 bits
021         * </pre>
022         */
023        FINAL(0, 0),
024        /**
025         * <code>OPEN = 1;</code>
026         */
027        OPEN(1, 1),
028        /**
029         * <code>ABSTRACT = 2;</code>
030         */
031        ABSTRACT(2, 2),
032        ;
033    
034        /**
035         * <code>FINAL = 0;</code>
036         *
037         * <pre>
038         * 2 bits
039         * </pre>
040         */
041        public static final int FINAL_VALUE = 0;
042        /**
043         * <code>OPEN = 1;</code>
044         */
045        public static final int OPEN_VALUE = 1;
046        /**
047         * <code>ABSTRACT = 2;</code>
048         */
049        public static final int ABSTRACT_VALUE = 2;
050    
051    
052        public final int getNumber() { return value; }
053    
054        public static Modality valueOf(int value) {
055          switch (value) {
056            case 0: return FINAL;
057            case 1: return OPEN;
058            case 2: return ABSTRACT;
059            default: return null;
060          }
061        }
062    
063        public static com.google.protobuf.Internal.EnumLiteMap<Modality>
064            internalGetValueMap() {
065          return internalValueMap;
066        }
067        private static com.google.protobuf.Internal.EnumLiteMap<Modality>
068            internalValueMap =
069              new com.google.protobuf.Internal.EnumLiteMap<Modality>() {
070                public Modality findValueByNumber(int number) {
071                  return Modality.valueOf(number);
072                }
073              };
074    
075        private final int value;
076    
077        private Modality(int index, int value) {
078          this.value = value;
079        }
080    
081        // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Modality)
082      }
083    
084      /**
085       * Protobuf enum {@code org.jetbrains.kotlin.serialization.Visibility}
086       */
087      public enum Visibility
088          implements com.google.protobuf.Internal.EnumLite {
089        /**
090         * <code>INTERNAL = 0;</code>
091         *
092         * <pre>
093         * 3 bits
094         * </pre>
095         */
096        INTERNAL(0, 0),
097        /**
098         * <code>PRIVATE = 1;</code>
099         */
100        PRIVATE(1, 1),
101        /**
102         * <code>PROTECTED = 2;</code>
103         */
104        PROTECTED(2, 2),
105        /**
106         * <code>PUBLIC = 3;</code>
107         */
108        PUBLIC(3, 3),
109        /**
110         * <code>PRIVATE_TO_THIS = 4;</code>
111         */
112        PRIVATE_TO_THIS(4, 4),
113        /**
114         * <code>LOCAL = 5;</code>
115         */
116        LOCAL(5, 5),
117        ;
118    
119        /**
120         * <code>INTERNAL = 0;</code>
121         *
122         * <pre>
123         * 3 bits
124         * </pre>
125         */
126        public static final int INTERNAL_VALUE = 0;
127        /**
128         * <code>PRIVATE = 1;</code>
129         */
130        public static final int PRIVATE_VALUE = 1;
131        /**
132         * <code>PROTECTED = 2;</code>
133         */
134        public static final int PROTECTED_VALUE = 2;
135        /**
136         * <code>PUBLIC = 3;</code>
137         */
138        public static final int PUBLIC_VALUE = 3;
139        /**
140         * <code>PRIVATE_TO_THIS = 4;</code>
141         */
142        public static final int PRIVATE_TO_THIS_VALUE = 4;
143        /**
144         * <code>LOCAL = 5;</code>
145         */
146        public static final int LOCAL_VALUE = 5;
147    
148    
149        public final int getNumber() { return value; }
150    
151        public static Visibility valueOf(int value) {
152          switch (value) {
153            case 0: return INTERNAL;
154            case 1: return PRIVATE;
155            case 2: return PROTECTED;
156            case 3: return PUBLIC;
157            case 4: return PRIVATE_TO_THIS;
158            case 5: return LOCAL;
159            default: return null;
160          }
161        }
162    
163        public static com.google.protobuf.Internal.EnumLiteMap<Visibility>
164            internalGetValueMap() {
165          return internalValueMap;
166        }
167        private static com.google.protobuf.Internal.EnumLiteMap<Visibility>
168            internalValueMap =
169              new com.google.protobuf.Internal.EnumLiteMap<Visibility>() {
170                public Visibility findValueByNumber(int number) {
171                  return Visibility.valueOf(number);
172                }
173              };
174    
175        private final int value;
176    
177        private Visibility(int index, int value) {
178          this.value = value;
179        }
180    
181        // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Visibility)
182      }
183    
184      public interface StringTableOrBuilder
185          extends com.google.protobuf.MessageLiteOrBuilder {
186    
187        // repeated string string = 1;
188        /**
189         * <code>repeated string string = 1;</code>
190         */
191        java.util.List<java.lang.String>
192        getStringList();
193        /**
194         * <code>repeated string string = 1;</code>
195         */
196        int getStringCount();
197        /**
198         * <code>repeated string string = 1;</code>
199         */
200        java.lang.String getString(int index);
201        /**
202         * <code>repeated string string = 1;</code>
203         */
204        com.google.protobuf.ByteString
205            getStringBytes(int index);
206      }
207      /**
208       * Protobuf type {@code org.jetbrains.kotlin.serialization.StringTable}
209       */
210      public static final class StringTable extends
211          com.google.protobuf.GeneratedMessageLite
212          implements StringTableOrBuilder {
213        // Use StringTable.newBuilder() to construct.
214        private StringTable(com.google.protobuf.GeneratedMessageLite.Builder builder) {
215          super(builder);
216    
217        }
218        private StringTable(boolean noInit) {}
219    
220        private static final StringTable defaultInstance;
221        public static StringTable getDefaultInstance() {
222          return defaultInstance;
223        }
224    
225        public StringTable getDefaultInstanceForType() {
226          return defaultInstance;
227        }
228    
229        private StringTable(
230            com.google.protobuf.CodedInputStream input,
231            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
232            throws com.google.protobuf.InvalidProtocolBufferException {
233          initFields();
234          int mutable_bitField0_ = 0;
235          try {
236            boolean done = false;
237            while (!done) {
238              int tag = input.readTag();
239              switch (tag) {
240                case 0:
241                  done = true;
242                  break;
243                default: {
244                  if (!parseUnknownField(input,
245                                         extensionRegistry, tag)) {
246                    done = true;
247                  }
248                  break;
249                }
250                case 10: {
251                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
252                    string_ = new com.google.protobuf.LazyStringArrayList();
253                    mutable_bitField0_ |= 0x00000001;
254                  }
255                  string_.add(input.readBytes());
256                  break;
257                }
258              }
259            }
260          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
261            throw e.setUnfinishedMessage(this);
262          } catch (java.io.IOException e) {
263            throw new com.google.protobuf.InvalidProtocolBufferException(
264                e.getMessage()).setUnfinishedMessage(this);
265          } finally {
266            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
267              string_ = new com.google.protobuf.UnmodifiableLazyStringList(string_);
268            }
269            makeExtensionsImmutable();
270          }
271        }
272        public static com.google.protobuf.Parser<StringTable> PARSER =
273            new com.google.protobuf.AbstractParser<StringTable>() {
274          public StringTable parsePartialFrom(
275              com.google.protobuf.CodedInputStream input,
276              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
277              throws com.google.protobuf.InvalidProtocolBufferException {
278            return new StringTable(input, extensionRegistry);
279          }
280        };
281    
282        @java.lang.Override
283        public com.google.protobuf.Parser<StringTable> getParserForType() {
284          return PARSER;
285        }
286    
287        // repeated string string = 1;
288        public static final int STRING_FIELD_NUMBER = 1;
289        private com.google.protobuf.LazyStringList string_;
290        /**
291         * <code>repeated string string = 1;</code>
292         */
293        public java.util.List<java.lang.String>
294            getStringList() {
295          return string_;
296        }
297        /**
298         * <code>repeated string string = 1;</code>
299         */
300        public int getStringCount() {
301          return string_.size();
302        }
303        /**
304         * <code>repeated string string = 1;</code>
305         */
306        public java.lang.String getString(int index) {
307          return string_.get(index);
308        }
309        /**
310         * <code>repeated string string = 1;</code>
311         */
312        public com.google.protobuf.ByteString
313            getStringBytes(int index) {
314          return string_.getByteString(index);
315        }
316    
317        private void initFields() {
318          string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
319        }
320        private byte memoizedIsInitialized = -1;
321        public final boolean isInitialized() {
322          byte isInitialized = memoizedIsInitialized;
323          if (isInitialized != -1) return isInitialized == 1;
324    
325          memoizedIsInitialized = 1;
326          return true;
327        }
328    
329        public void writeTo(com.google.protobuf.CodedOutputStream output)
330                            throws java.io.IOException {
331          getSerializedSize();
332          for (int i = 0; i < string_.size(); i++) {
333            output.writeBytes(1, string_.getByteString(i));
334          }
335        }
336    
337        private int memoizedSerializedSize = -1;
338        public int getSerializedSize() {
339          int size = memoizedSerializedSize;
340          if (size != -1) return size;
341    
342          size = 0;
343          {
344            int dataSize = 0;
345            for (int i = 0; i < string_.size(); i++) {
346              dataSize += com.google.protobuf.CodedOutputStream
347                .computeBytesSizeNoTag(string_.getByteString(i));
348            }
349            size += dataSize;
350            size += 1 * getStringList().size();
351          }
352          memoizedSerializedSize = size;
353          return size;
354        }
355    
356        private static final long serialVersionUID = 0L;
357        @java.lang.Override
358        protected java.lang.Object writeReplace()
359            throws java.io.ObjectStreamException {
360          return super.writeReplace();
361        }
362    
363        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
364            com.google.protobuf.ByteString data)
365            throws com.google.protobuf.InvalidProtocolBufferException {
366          return PARSER.parseFrom(data);
367        }
368        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
369            com.google.protobuf.ByteString data,
370            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
371            throws com.google.protobuf.InvalidProtocolBufferException {
372          return PARSER.parseFrom(data, extensionRegistry);
373        }
374        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(byte[] data)
375            throws com.google.protobuf.InvalidProtocolBufferException {
376          return PARSER.parseFrom(data);
377        }
378        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
379            byte[] data,
380            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
381            throws com.google.protobuf.InvalidProtocolBufferException {
382          return PARSER.parseFrom(data, extensionRegistry);
383        }
384        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(java.io.InputStream input)
385            throws java.io.IOException {
386          return PARSER.parseFrom(input);
387        }
388        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
389            java.io.InputStream input,
390            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
391            throws java.io.IOException {
392          return PARSER.parseFrom(input, extensionRegistry);
393        }
394        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseDelimitedFrom(java.io.InputStream input)
395            throws java.io.IOException {
396          return PARSER.parseDelimitedFrom(input);
397        }
398        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseDelimitedFrom(
399            java.io.InputStream input,
400            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
401            throws java.io.IOException {
402          return PARSER.parseDelimitedFrom(input, extensionRegistry);
403        }
404        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
405            com.google.protobuf.CodedInputStream input)
406            throws java.io.IOException {
407          return PARSER.parseFrom(input);
408        }
409        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
410            com.google.protobuf.CodedInputStream input,
411            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
412            throws java.io.IOException {
413          return PARSER.parseFrom(input, extensionRegistry);
414        }
415    
416        public static Builder newBuilder() { return Builder.create(); }
417        public Builder newBuilderForType() { return newBuilder(); }
418        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.StringTable prototype) {
419          return newBuilder().mergeFrom(prototype);
420        }
421        public Builder toBuilder() { return newBuilder(this); }
422    
423        /**
424         * Protobuf type {@code org.jetbrains.kotlin.serialization.StringTable}
425         */
426        public static final class Builder extends
427            com.google.protobuf.GeneratedMessageLite.Builder<
428              org.jetbrains.kotlin.serialization.ProtoBuf.StringTable, Builder>
429            implements org.jetbrains.kotlin.serialization.ProtoBuf.StringTableOrBuilder {
430          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.newBuilder()
431          private Builder() {
432            maybeForceBuilderInitialization();
433          }
434    
435          private void maybeForceBuilderInitialization() {
436          }
437          private static Builder create() {
438            return new Builder();
439          }
440    
441          public Builder clear() {
442            super.clear();
443            string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
444            bitField0_ = (bitField0_ & ~0x00000001);
445            return this;
446          }
447    
448          public Builder clone() {
449            return create().mergeFrom(buildPartial());
450          }
451    
452          public org.jetbrains.kotlin.serialization.ProtoBuf.StringTable getDefaultInstanceForType() {
453            return org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.getDefaultInstance();
454          }
455    
456          public org.jetbrains.kotlin.serialization.ProtoBuf.StringTable build() {
457            org.jetbrains.kotlin.serialization.ProtoBuf.StringTable result = buildPartial();
458            if (!result.isInitialized()) {
459              throw newUninitializedMessageException(result);
460            }
461            return result;
462          }
463    
464          public org.jetbrains.kotlin.serialization.ProtoBuf.StringTable buildPartial() {
465            org.jetbrains.kotlin.serialization.ProtoBuf.StringTable result = new org.jetbrains.kotlin.serialization.ProtoBuf.StringTable(this);
466            int from_bitField0_ = bitField0_;
467            if (((bitField0_ & 0x00000001) == 0x00000001)) {
468              string_ = new com.google.protobuf.UnmodifiableLazyStringList(
469                  string_);
470              bitField0_ = (bitField0_ & ~0x00000001);
471            }
472            result.string_ = string_;
473            return result;
474          }
475    
476          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.StringTable other) {
477            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.getDefaultInstance()) return this;
478            if (!other.string_.isEmpty()) {
479              if (string_.isEmpty()) {
480                string_ = other.string_;
481                bitField0_ = (bitField0_ & ~0x00000001);
482              } else {
483                ensureStringIsMutable();
484                string_.addAll(other.string_);
485              }
486              
487            }
488            return this;
489          }
490    
491          public final boolean isInitialized() {
492            return true;
493          }
494    
495          public Builder mergeFrom(
496              com.google.protobuf.CodedInputStream input,
497              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
498              throws java.io.IOException {
499            org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parsedMessage = null;
500            try {
501              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
502            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
503              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.StringTable) e.getUnfinishedMessage();
504              throw e;
505            } finally {
506              if (parsedMessage != null) {
507                mergeFrom(parsedMessage);
508              }
509            }
510            return this;
511          }
512          private int bitField0_;
513    
514          // repeated string string = 1;
515          private com.google.protobuf.LazyStringList string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
516          private void ensureStringIsMutable() {
517            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
518              string_ = new com.google.protobuf.LazyStringArrayList(string_);
519              bitField0_ |= 0x00000001;
520             }
521          }
522          /**
523           * <code>repeated string string = 1;</code>
524           */
525          public java.util.List<java.lang.String>
526              getStringList() {
527            return java.util.Collections.unmodifiableList(string_);
528          }
529          /**
530           * <code>repeated string string = 1;</code>
531           */
532          public int getStringCount() {
533            return string_.size();
534          }
535          /**
536           * <code>repeated string string = 1;</code>
537           */
538          public java.lang.String getString(int index) {
539            return string_.get(index);
540          }
541          /**
542           * <code>repeated string string = 1;</code>
543           */
544          public com.google.protobuf.ByteString
545              getStringBytes(int index) {
546            return string_.getByteString(index);
547          }
548          /**
549           * <code>repeated string string = 1;</code>
550           */
551          public Builder setString(
552              int index, java.lang.String value) {
553            if (value == null) {
554        throw new NullPointerException();
555      }
556      ensureStringIsMutable();
557            string_.set(index, value);
558            
559            return this;
560          }
561          /**
562           * <code>repeated string string = 1;</code>
563           */
564          public Builder addString(
565              java.lang.String value) {
566            if (value == null) {
567        throw new NullPointerException();
568      }
569      ensureStringIsMutable();
570            string_.add(value);
571            
572            return this;
573          }
574          /**
575           * <code>repeated string string = 1;</code>
576           */
577          public Builder addAllString(
578              java.lang.Iterable<java.lang.String> values) {
579            ensureStringIsMutable();
580            super.addAll(values, string_);
581            
582            return this;
583          }
584          /**
585           * <code>repeated string string = 1;</code>
586           */
587          public Builder clearString() {
588            string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
589            bitField0_ = (bitField0_ & ~0x00000001);
590            
591            return this;
592          }
593          /**
594           * <code>repeated string string = 1;</code>
595           */
596          public Builder addStringBytes(
597              com.google.protobuf.ByteString value) {
598            if (value == null) {
599        throw new NullPointerException();
600      }
601      ensureStringIsMutable();
602            string_.add(value);
603            
604            return this;
605          }
606    
607          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.StringTable)
608        }
609    
610        static {
611          defaultInstance = new StringTable(true);
612          defaultInstance.initFields();
613        }
614    
615        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.StringTable)
616      }
617    
618      public interface QualifiedNameTableOrBuilder
619          extends com.google.protobuf.MessageLiteOrBuilder {
620    
621        // repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;
622        /**
623         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
624         */
625        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> 
626            getQualifiedNameList();
627        /**
628         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
629         */
630        org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index);
631        /**
632         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
633         */
634        int getQualifiedNameCount();
635      }
636      /**
637       * Protobuf type {@code org.jetbrains.kotlin.serialization.QualifiedNameTable}
638       */
639      public static final class QualifiedNameTable extends
640          com.google.protobuf.GeneratedMessageLite
641          implements QualifiedNameTableOrBuilder {
642        // Use QualifiedNameTable.newBuilder() to construct.
643        private QualifiedNameTable(com.google.protobuf.GeneratedMessageLite.Builder builder) {
644          super(builder);
645    
646        }
647        private QualifiedNameTable(boolean noInit) {}
648    
649        private static final QualifiedNameTable defaultInstance;
650        public static QualifiedNameTable getDefaultInstance() {
651          return defaultInstance;
652        }
653    
654        public QualifiedNameTable getDefaultInstanceForType() {
655          return defaultInstance;
656        }
657    
658        private QualifiedNameTable(
659            com.google.protobuf.CodedInputStream input,
660            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
661            throws com.google.protobuf.InvalidProtocolBufferException {
662          initFields();
663          int mutable_bitField0_ = 0;
664          try {
665            boolean done = false;
666            while (!done) {
667              int tag = input.readTag();
668              switch (tag) {
669                case 0:
670                  done = true;
671                  break;
672                default: {
673                  if (!parseUnknownField(input,
674                                         extensionRegistry, tag)) {
675                    done = true;
676                  }
677                  break;
678                }
679                case 10: {
680                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
681                    qualifiedName_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName>();
682                    mutable_bitField0_ |= 0x00000001;
683                  }
684                  qualifiedName_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.PARSER, extensionRegistry));
685                  break;
686                }
687              }
688            }
689          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
690            throw e.setUnfinishedMessage(this);
691          } catch (java.io.IOException e) {
692            throw new com.google.protobuf.InvalidProtocolBufferException(
693                e.getMessage()).setUnfinishedMessage(this);
694          } finally {
695            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
696              qualifiedName_ = java.util.Collections.unmodifiableList(qualifiedName_);
697            }
698            makeExtensionsImmutable();
699          }
700        }
701        public static com.google.protobuf.Parser<QualifiedNameTable> PARSER =
702            new com.google.protobuf.AbstractParser<QualifiedNameTable>() {
703          public QualifiedNameTable parsePartialFrom(
704              com.google.protobuf.CodedInputStream input,
705              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
706              throws com.google.protobuf.InvalidProtocolBufferException {
707            return new QualifiedNameTable(input, extensionRegistry);
708          }
709        };
710    
711        @java.lang.Override
712        public com.google.protobuf.Parser<QualifiedNameTable> getParserForType() {
713          return PARSER;
714        }
715    
716        public interface QualifiedNameOrBuilder
717            extends com.google.protobuf.MessageLiteOrBuilder {
718    
719          // optional int32 parent_qualified_name = 1 [default = -1];
720          /**
721           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
722           */
723          boolean hasParentQualifiedName();
724          /**
725           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
726           */
727          int getParentQualifiedName();
728    
729          // required int32 short_name = 2;
730          /**
731           * <code>required int32 short_name = 2;</code>
732           *
733           * <pre>
734           * Id in the StringTable
735           * </pre>
736           */
737          boolean hasShortName();
738          /**
739           * <code>required int32 short_name = 2;</code>
740           *
741           * <pre>
742           * Id in the StringTable
743           * </pre>
744           */
745          int getShortName();
746    
747          // optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];
748          /**
749           * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
750           */
751          boolean hasKind();
752          /**
753           * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
754           */
755          org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind();
756        }
757        /**
758         * Protobuf type {@code org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName}
759         */
760        public static final class QualifiedName extends
761            com.google.protobuf.GeneratedMessageLite
762            implements QualifiedNameOrBuilder {
763          // Use QualifiedName.newBuilder() to construct.
764          private QualifiedName(com.google.protobuf.GeneratedMessageLite.Builder builder) {
765            super(builder);
766    
767          }
768          private QualifiedName(boolean noInit) {}
769    
770          private static final QualifiedName defaultInstance;
771          public static QualifiedName getDefaultInstance() {
772            return defaultInstance;
773          }
774    
775          public QualifiedName getDefaultInstanceForType() {
776            return defaultInstance;
777          }
778    
779          private QualifiedName(
780              com.google.protobuf.CodedInputStream input,
781              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
782              throws com.google.protobuf.InvalidProtocolBufferException {
783            initFields();
784            int mutable_bitField0_ = 0;
785            try {
786              boolean done = false;
787              while (!done) {
788                int tag = input.readTag();
789                switch (tag) {
790                  case 0:
791                    done = true;
792                    break;
793                  default: {
794                    if (!parseUnknownField(input,
795                                           extensionRegistry, tag)) {
796                      done = true;
797                    }
798                    break;
799                  }
800                  case 8: {
801                    bitField0_ |= 0x00000001;
802                    parentQualifiedName_ = input.readInt32();
803                    break;
804                  }
805                  case 16: {
806                    bitField0_ |= 0x00000002;
807                    shortName_ = input.readInt32();
808                    break;
809                  }
810                  case 24: {
811                    int rawValue = input.readEnum();
812                    org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind value = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.valueOf(rawValue);
813                    if (value != null) {
814                      bitField0_ |= 0x00000004;
815                      kind_ = value;
816                    }
817                    break;
818                  }
819                }
820              }
821            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
822              throw e.setUnfinishedMessage(this);
823            } catch (java.io.IOException e) {
824              throw new com.google.protobuf.InvalidProtocolBufferException(
825                  e.getMessage()).setUnfinishedMessage(this);
826            } finally {
827              makeExtensionsImmutable();
828            }
829          }
830          public static com.google.protobuf.Parser<QualifiedName> PARSER =
831              new com.google.protobuf.AbstractParser<QualifiedName>() {
832            public QualifiedName parsePartialFrom(
833                com.google.protobuf.CodedInputStream input,
834                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
835                throws com.google.protobuf.InvalidProtocolBufferException {
836              return new QualifiedName(input, extensionRegistry);
837            }
838          };
839    
840          @java.lang.Override
841          public com.google.protobuf.Parser<QualifiedName> getParserForType() {
842            return PARSER;
843          }
844    
845          /**
846           * Protobuf enum {@code org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind}
847           */
848          public enum Kind
849              implements com.google.protobuf.Internal.EnumLite {
850            /**
851             * <code>CLASS = 0;</code>
852             */
853            CLASS(0, 0),
854            /**
855             * <code>PACKAGE = 1;</code>
856             */
857            PACKAGE(1, 1),
858            /**
859             * <code>LOCAL = 2;</code>
860             */
861            LOCAL(2, 2),
862            ;
863    
864            /**
865             * <code>CLASS = 0;</code>
866             */
867            public static final int CLASS_VALUE = 0;
868            /**
869             * <code>PACKAGE = 1;</code>
870             */
871            public static final int PACKAGE_VALUE = 1;
872            /**
873             * <code>LOCAL = 2;</code>
874             */
875            public static final int LOCAL_VALUE = 2;
876    
877    
878            public final int getNumber() { return value; }
879    
880            public static Kind valueOf(int value) {
881              switch (value) {
882                case 0: return CLASS;
883                case 1: return PACKAGE;
884                case 2: return LOCAL;
885                default: return null;
886              }
887            }
888    
889            public static com.google.protobuf.Internal.EnumLiteMap<Kind>
890                internalGetValueMap() {
891              return internalValueMap;
892            }
893            private static com.google.protobuf.Internal.EnumLiteMap<Kind>
894                internalValueMap =
895                  new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
896                    public Kind findValueByNumber(int number) {
897                      return Kind.valueOf(number);
898                    }
899                  };
900    
901            private final int value;
902    
903            private Kind(int index, int value) {
904              this.value = value;
905            }
906    
907            // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind)
908          }
909    
910          private int bitField0_;
911          // optional int32 parent_qualified_name = 1 [default = -1];
912          public static final int PARENT_QUALIFIED_NAME_FIELD_NUMBER = 1;
913          private int parentQualifiedName_;
914          /**
915           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
916           */
917          public boolean hasParentQualifiedName() {
918            return ((bitField0_ & 0x00000001) == 0x00000001);
919          }
920          /**
921           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
922           */
923          public int getParentQualifiedName() {
924            return parentQualifiedName_;
925          }
926    
927          // required int32 short_name = 2;
928          public static final int SHORT_NAME_FIELD_NUMBER = 2;
929          private int shortName_;
930          /**
931           * <code>required int32 short_name = 2;</code>
932           *
933           * <pre>
934           * Id in the StringTable
935           * </pre>
936           */
937          public boolean hasShortName() {
938            return ((bitField0_ & 0x00000002) == 0x00000002);
939          }
940          /**
941           * <code>required int32 short_name = 2;</code>
942           *
943           * <pre>
944           * Id in the StringTable
945           * </pre>
946           */
947          public int getShortName() {
948            return shortName_;
949          }
950    
951          // optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];
952          public static final int KIND_FIELD_NUMBER = 3;
953          private org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind kind_;
954          /**
955           * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
956           */
957          public boolean hasKind() {
958            return ((bitField0_ & 0x00000004) == 0x00000004);
959          }
960          /**
961           * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
962           */
963          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind() {
964            return kind_;
965          }
966    
967          private void initFields() {
968            parentQualifiedName_ = -1;
969            shortName_ = 0;
970            kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
971          }
972          private byte memoizedIsInitialized = -1;
973          public final boolean isInitialized() {
974            byte isInitialized = memoizedIsInitialized;
975            if (isInitialized != -1) return isInitialized == 1;
976    
977            if (!hasShortName()) {
978              memoizedIsInitialized = 0;
979              return false;
980            }
981            memoizedIsInitialized = 1;
982            return true;
983          }
984    
985          public void writeTo(com.google.protobuf.CodedOutputStream output)
986                              throws java.io.IOException {
987            getSerializedSize();
988            if (((bitField0_ & 0x00000001) == 0x00000001)) {
989              output.writeInt32(1, parentQualifiedName_);
990            }
991            if (((bitField0_ & 0x00000002) == 0x00000002)) {
992              output.writeInt32(2, shortName_);
993            }
994            if (((bitField0_ & 0x00000004) == 0x00000004)) {
995              output.writeEnum(3, kind_.getNumber());
996            }
997          }
998    
999          private int memoizedSerializedSize = -1;
1000          public int getSerializedSize() {
1001            int size = memoizedSerializedSize;
1002            if (size != -1) return size;
1003    
1004            size = 0;
1005            if (((bitField0_ & 0x00000001) == 0x00000001)) {
1006              size += com.google.protobuf.CodedOutputStream
1007                .computeInt32Size(1, parentQualifiedName_);
1008            }
1009            if (((bitField0_ & 0x00000002) == 0x00000002)) {
1010              size += com.google.protobuf.CodedOutputStream
1011                .computeInt32Size(2, shortName_);
1012            }
1013            if (((bitField0_ & 0x00000004) == 0x00000004)) {
1014              size += com.google.protobuf.CodedOutputStream
1015                .computeEnumSize(3, kind_.getNumber());
1016            }
1017            memoizedSerializedSize = size;
1018            return size;
1019          }
1020    
1021          private static final long serialVersionUID = 0L;
1022          @java.lang.Override
1023          protected java.lang.Object writeReplace()
1024              throws java.io.ObjectStreamException {
1025            return super.writeReplace();
1026          }
1027    
1028          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1029              com.google.protobuf.ByteString data)
1030              throws com.google.protobuf.InvalidProtocolBufferException {
1031            return PARSER.parseFrom(data);
1032          }
1033          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1034              com.google.protobuf.ByteString data,
1035              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1036              throws com.google.protobuf.InvalidProtocolBufferException {
1037            return PARSER.parseFrom(data, extensionRegistry);
1038          }
1039          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(byte[] data)
1040              throws com.google.protobuf.InvalidProtocolBufferException {
1041            return PARSER.parseFrom(data);
1042          }
1043          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1044              byte[] data,
1045              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1046              throws com.google.protobuf.InvalidProtocolBufferException {
1047            return PARSER.parseFrom(data, extensionRegistry);
1048          }
1049          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(java.io.InputStream input)
1050              throws java.io.IOException {
1051            return PARSER.parseFrom(input);
1052          }
1053          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1054              java.io.InputStream input,
1055              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1056              throws java.io.IOException {
1057            return PARSER.parseFrom(input, extensionRegistry);
1058          }
1059          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseDelimitedFrom(java.io.InputStream input)
1060              throws java.io.IOException {
1061            return PARSER.parseDelimitedFrom(input);
1062          }
1063          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseDelimitedFrom(
1064              java.io.InputStream input,
1065              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1066              throws java.io.IOException {
1067            return PARSER.parseDelimitedFrom(input, extensionRegistry);
1068          }
1069          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1070              com.google.protobuf.CodedInputStream input)
1071              throws java.io.IOException {
1072            return PARSER.parseFrom(input);
1073          }
1074          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1075              com.google.protobuf.CodedInputStream input,
1076              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1077              throws java.io.IOException {
1078            return PARSER.parseFrom(input, extensionRegistry);
1079          }
1080    
1081          public static Builder newBuilder() { return Builder.create(); }
1082          public Builder newBuilderForType() { return newBuilder(); }
1083          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName prototype) {
1084            return newBuilder().mergeFrom(prototype);
1085          }
1086          public Builder toBuilder() { return newBuilder(this); }
1087    
1088          /**
1089           * Protobuf type {@code org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName}
1090           */
1091          public static final class Builder extends
1092              com.google.protobuf.GeneratedMessageLite.Builder<
1093                org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName, Builder>
1094              implements org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder {
1095            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.newBuilder()
1096            private Builder() {
1097              maybeForceBuilderInitialization();
1098            }
1099    
1100            private void maybeForceBuilderInitialization() {
1101            }
1102            private static Builder create() {
1103              return new Builder();
1104            }
1105    
1106            public Builder clear() {
1107              super.clear();
1108              parentQualifiedName_ = -1;
1109              bitField0_ = (bitField0_ & ~0x00000001);
1110              shortName_ = 0;
1111              bitField0_ = (bitField0_ & ~0x00000002);
1112              kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1113              bitField0_ = (bitField0_ & ~0x00000004);
1114              return this;
1115            }
1116    
1117            public Builder clone() {
1118              return create().mergeFrom(buildPartial());
1119            }
1120    
1121            public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getDefaultInstanceForType() {
1122              return org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.getDefaultInstance();
1123            }
1124    
1125            public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName build() {
1126              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName result = buildPartial();
1127              if (!result.isInitialized()) {
1128                throw newUninitializedMessageException(result);
1129              }
1130              return result;
1131            }
1132    
1133            public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName buildPartial() {
1134              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName result = new org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName(this);
1135              int from_bitField0_ = bitField0_;
1136              int to_bitField0_ = 0;
1137              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
1138                to_bitField0_ |= 0x00000001;
1139              }
1140              result.parentQualifiedName_ = parentQualifiedName_;
1141              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
1142                to_bitField0_ |= 0x00000002;
1143              }
1144              result.shortName_ = shortName_;
1145              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
1146                to_bitField0_ |= 0x00000004;
1147              }
1148              result.kind_ = kind_;
1149              result.bitField0_ = to_bitField0_;
1150              return result;
1151            }
1152    
1153            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName other) {
1154              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.getDefaultInstance()) return this;
1155              if (other.hasParentQualifiedName()) {
1156                setParentQualifiedName(other.getParentQualifiedName());
1157              }
1158              if (other.hasShortName()) {
1159                setShortName(other.getShortName());
1160              }
1161              if (other.hasKind()) {
1162                setKind(other.getKind());
1163              }
1164              return this;
1165            }
1166    
1167            public final boolean isInitialized() {
1168              if (!hasShortName()) {
1169                
1170                return false;
1171              }
1172              return true;
1173            }
1174    
1175            public Builder mergeFrom(
1176                com.google.protobuf.CodedInputStream input,
1177                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1178                throws java.io.IOException {
1179              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parsedMessage = null;
1180              try {
1181                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1182              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1183                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName) e.getUnfinishedMessage();
1184                throw e;
1185              } finally {
1186                if (parsedMessage != null) {
1187                  mergeFrom(parsedMessage);
1188                }
1189              }
1190              return this;
1191            }
1192            private int bitField0_;
1193    
1194            // optional int32 parent_qualified_name = 1 [default = -1];
1195            private int parentQualifiedName_ = -1;
1196            /**
1197             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1198             */
1199            public boolean hasParentQualifiedName() {
1200              return ((bitField0_ & 0x00000001) == 0x00000001);
1201            }
1202            /**
1203             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1204             */
1205            public int getParentQualifiedName() {
1206              return parentQualifiedName_;
1207            }
1208            /**
1209             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1210             */
1211            public Builder setParentQualifiedName(int value) {
1212              bitField0_ |= 0x00000001;
1213              parentQualifiedName_ = value;
1214              
1215              return this;
1216            }
1217            /**
1218             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1219             */
1220            public Builder clearParentQualifiedName() {
1221              bitField0_ = (bitField0_ & ~0x00000001);
1222              parentQualifiedName_ = -1;
1223              
1224              return this;
1225            }
1226    
1227            // required int32 short_name = 2;
1228            private int shortName_ ;
1229            /**
1230             * <code>required int32 short_name = 2;</code>
1231             *
1232             * <pre>
1233             * Id in the StringTable
1234             * </pre>
1235             */
1236            public boolean hasShortName() {
1237              return ((bitField0_ & 0x00000002) == 0x00000002);
1238            }
1239            /**
1240             * <code>required int32 short_name = 2;</code>
1241             *
1242             * <pre>
1243             * Id in the StringTable
1244             * </pre>
1245             */
1246            public int getShortName() {
1247              return shortName_;
1248            }
1249            /**
1250             * <code>required int32 short_name = 2;</code>
1251             *
1252             * <pre>
1253             * Id in the StringTable
1254             * </pre>
1255             */
1256            public Builder setShortName(int value) {
1257              bitField0_ |= 0x00000002;
1258              shortName_ = value;
1259              
1260              return this;
1261            }
1262            /**
1263             * <code>required int32 short_name = 2;</code>
1264             *
1265             * <pre>
1266             * Id in the StringTable
1267             * </pre>
1268             */
1269            public Builder clearShortName() {
1270              bitField0_ = (bitField0_ & ~0x00000002);
1271              shortName_ = 0;
1272              
1273              return this;
1274            }
1275    
1276            // optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];
1277            private org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1278            /**
1279             * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1280             */
1281            public boolean hasKind() {
1282              return ((bitField0_ & 0x00000004) == 0x00000004);
1283            }
1284            /**
1285             * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1286             */
1287            public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind() {
1288              return kind_;
1289            }
1290            /**
1291             * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1292             */
1293            public Builder setKind(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind value) {
1294              if (value == null) {
1295                throw new NullPointerException();
1296              }
1297              bitField0_ |= 0x00000004;
1298              kind_ = value;
1299              
1300              return this;
1301            }
1302            /**
1303             * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1304             */
1305            public Builder clearKind() {
1306              bitField0_ = (bitField0_ & ~0x00000004);
1307              kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1308              
1309              return this;
1310            }
1311    
1312            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName)
1313          }
1314    
1315          static {
1316            defaultInstance = new QualifiedName(true);
1317            defaultInstance.initFields();
1318          }
1319    
1320          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName)
1321        }
1322    
1323        // repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;
1324        public static final int QUALIFIED_NAME_FIELD_NUMBER = 1;
1325        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> qualifiedName_;
1326        /**
1327         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1328         */
1329        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> getQualifiedNameList() {
1330          return qualifiedName_;
1331        }
1332        /**
1333         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1334         */
1335        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder> 
1336            getQualifiedNameOrBuilderList() {
1337          return qualifiedName_;
1338        }
1339        /**
1340         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1341         */
1342        public int getQualifiedNameCount() {
1343          return qualifiedName_.size();
1344        }
1345        /**
1346         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1347         */
1348        public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index) {
1349          return qualifiedName_.get(index);
1350        }
1351        /**
1352         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1353         */
1354        public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder getQualifiedNameOrBuilder(
1355            int index) {
1356          return qualifiedName_.get(index);
1357        }
1358    
1359        private void initFields() {
1360          qualifiedName_ = java.util.Collections.emptyList();
1361        }
1362        private byte memoizedIsInitialized = -1;
1363        public final boolean isInitialized() {
1364          byte isInitialized = memoizedIsInitialized;
1365          if (isInitialized != -1) return isInitialized == 1;
1366    
1367          for (int i = 0; i < getQualifiedNameCount(); i++) {
1368            if (!getQualifiedName(i).isInitialized()) {
1369              memoizedIsInitialized = 0;
1370              return false;
1371            }
1372          }
1373          memoizedIsInitialized = 1;
1374          return true;
1375        }
1376    
1377        public void writeTo(com.google.protobuf.CodedOutputStream output)
1378                            throws java.io.IOException {
1379          getSerializedSize();
1380          for (int i = 0; i < qualifiedName_.size(); i++) {
1381            output.writeMessage(1, qualifiedName_.get(i));
1382          }
1383        }
1384    
1385        private int memoizedSerializedSize = -1;
1386        public int getSerializedSize() {
1387          int size = memoizedSerializedSize;
1388          if (size != -1) return size;
1389    
1390          size = 0;
1391          for (int i = 0; i < qualifiedName_.size(); i++) {
1392            size += com.google.protobuf.CodedOutputStream
1393              .computeMessageSize(1, qualifiedName_.get(i));
1394          }
1395          memoizedSerializedSize = size;
1396          return size;
1397        }
1398    
1399        private static final long serialVersionUID = 0L;
1400        @java.lang.Override
1401        protected java.lang.Object writeReplace()
1402            throws java.io.ObjectStreamException {
1403          return super.writeReplace();
1404        }
1405    
1406        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1407            com.google.protobuf.ByteString data)
1408            throws com.google.protobuf.InvalidProtocolBufferException {
1409          return PARSER.parseFrom(data);
1410        }
1411        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1412            com.google.protobuf.ByteString data,
1413            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1414            throws com.google.protobuf.InvalidProtocolBufferException {
1415          return PARSER.parseFrom(data, extensionRegistry);
1416        }
1417        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(byte[] data)
1418            throws com.google.protobuf.InvalidProtocolBufferException {
1419          return PARSER.parseFrom(data);
1420        }
1421        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1422            byte[] data,
1423            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1424            throws com.google.protobuf.InvalidProtocolBufferException {
1425          return PARSER.parseFrom(data, extensionRegistry);
1426        }
1427        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(java.io.InputStream input)
1428            throws java.io.IOException {
1429          return PARSER.parseFrom(input);
1430        }
1431        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1432            java.io.InputStream input,
1433            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1434            throws java.io.IOException {
1435          return PARSER.parseFrom(input, extensionRegistry);
1436        }
1437        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseDelimitedFrom(java.io.InputStream input)
1438            throws java.io.IOException {
1439          return PARSER.parseDelimitedFrom(input);
1440        }
1441        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseDelimitedFrom(
1442            java.io.InputStream input,
1443            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1444            throws java.io.IOException {
1445          return PARSER.parseDelimitedFrom(input, extensionRegistry);
1446        }
1447        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1448            com.google.protobuf.CodedInputStream input)
1449            throws java.io.IOException {
1450          return PARSER.parseFrom(input);
1451        }
1452        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1453            com.google.protobuf.CodedInputStream input,
1454            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1455            throws java.io.IOException {
1456          return PARSER.parseFrom(input, extensionRegistry);
1457        }
1458    
1459        public static Builder newBuilder() { return Builder.create(); }
1460        public Builder newBuilderForType() { return newBuilder(); }
1461        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable prototype) {
1462          return newBuilder().mergeFrom(prototype);
1463        }
1464        public Builder toBuilder() { return newBuilder(this); }
1465    
1466        /**
1467         * Protobuf type {@code org.jetbrains.kotlin.serialization.QualifiedNameTable}
1468         */
1469        public static final class Builder extends
1470            com.google.protobuf.GeneratedMessageLite.Builder<
1471              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable, Builder>
1472            implements org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTableOrBuilder {
1473          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.newBuilder()
1474          private Builder() {
1475            maybeForceBuilderInitialization();
1476          }
1477    
1478          private void maybeForceBuilderInitialization() {
1479          }
1480          private static Builder create() {
1481            return new Builder();
1482          }
1483    
1484          public Builder clear() {
1485            super.clear();
1486            qualifiedName_ = java.util.Collections.emptyList();
1487            bitField0_ = (bitField0_ & ~0x00000001);
1488            return this;
1489          }
1490    
1491          public Builder clone() {
1492            return create().mergeFrom(buildPartial());
1493          }
1494    
1495          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable getDefaultInstanceForType() {
1496            return org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance();
1497          }
1498    
1499          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable build() {
1500            org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable result = buildPartial();
1501            if (!result.isInitialized()) {
1502              throw newUninitializedMessageException(result);
1503            }
1504            return result;
1505          }
1506    
1507          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable buildPartial() {
1508            org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable result = new org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable(this);
1509            int from_bitField0_ = bitField0_;
1510            if (((bitField0_ & 0x00000001) == 0x00000001)) {
1511              qualifiedName_ = java.util.Collections.unmodifiableList(qualifiedName_);
1512              bitField0_ = (bitField0_ & ~0x00000001);
1513            }
1514            result.qualifiedName_ = qualifiedName_;
1515            return result;
1516          }
1517    
1518          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable other) {
1519            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance()) return this;
1520            if (!other.qualifiedName_.isEmpty()) {
1521              if (qualifiedName_.isEmpty()) {
1522                qualifiedName_ = other.qualifiedName_;
1523                bitField0_ = (bitField0_ & ~0x00000001);
1524              } else {
1525                ensureQualifiedNameIsMutable();
1526                qualifiedName_.addAll(other.qualifiedName_);
1527              }
1528              
1529            }
1530            return this;
1531          }
1532    
1533          public final boolean isInitialized() {
1534            for (int i = 0; i < getQualifiedNameCount(); i++) {
1535              if (!getQualifiedName(i).isInitialized()) {
1536                
1537                return false;
1538              }
1539            }
1540            return true;
1541          }
1542    
1543          public Builder mergeFrom(
1544              com.google.protobuf.CodedInputStream input,
1545              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1546              throws java.io.IOException {
1547            org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parsedMessage = null;
1548            try {
1549              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1550            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1551              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable) e.getUnfinishedMessage();
1552              throw e;
1553            } finally {
1554              if (parsedMessage != null) {
1555                mergeFrom(parsedMessage);
1556              }
1557            }
1558            return this;
1559          }
1560          private int bitField0_;
1561    
1562          // repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;
1563          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> qualifiedName_ =
1564            java.util.Collections.emptyList();
1565          private void ensureQualifiedNameIsMutable() {
1566            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
1567              qualifiedName_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName>(qualifiedName_);
1568              bitField0_ |= 0x00000001;
1569             }
1570          }
1571    
1572          /**
1573           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1574           */
1575          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> getQualifiedNameList() {
1576            return java.util.Collections.unmodifiableList(qualifiedName_);
1577          }
1578          /**
1579           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1580           */
1581          public int getQualifiedNameCount() {
1582            return qualifiedName_.size();
1583          }
1584          /**
1585           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1586           */
1587          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index) {
1588            return qualifiedName_.get(index);
1589          }
1590          /**
1591           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1592           */
1593          public Builder setQualifiedName(
1594              int index, org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1595            if (value == null) {
1596              throw new NullPointerException();
1597            }
1598            ensureQualifiedNameIsMutable();
1599            qualifiedName_.set(index, value);
1600    
1601            return this;
1602          }
1603          /**
1604           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1605           */
1606          public Builder setQualifiedName(
1607              int index, org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1608            ensureQualifiedNameIsMutable();
1609            qualifiedName_.set(index, builderForValue.build());
1610    
1611            return this;
1612          }
1613          /**
1614           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1615           */
1616          public Builder addQualifiedName(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1617            if (value == null) {
1618              throw new NullPointerException();
1619            }
1620            ensureQualifiedNameIsMutable();
1621            qualifiedName_.add(value);
1622    
1623            return this;
1624          }
1625          /**
1626           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1627           */
1628          public Builder addQualifiedName(
1629              int index, org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1630            if (value == null) {
1631              throw new NullPointerException();
1632            }
1633            ensureQualifiedNameIsMutable();
1634            qualifiedName_.add(index, value);
1635    
1636            return this;
1637          }
1638          /**
1639           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1640           */
1641          public Builder addQualifiedName(
1642              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1643            ensureQualifiedNameIsMutable();
1644            qualifiedName_.add(builderForValue.build());
1645    
1646            return this;
1647          }
1648          /**
1649           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1650           */
1651          public Builder addQualifiedName(
1652              int index, org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1653            ensureQualifiedNameIsMutable();
1654            qualifiedName_.add(index, builderForValue.build());
1655    
1656            return this;
1657          }
1658          /**
1659           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1660           */
1661          public Builder addAllQualifiedName(
1662              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> values) {
1663            ensureQualifiedNameIsMutable();
1664            super.addAll(values, qualifiedName_);
1665    
1666            return this;
1667          }
1668          /**
1669           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1670           */
1671          public Builder clearQualifiedName() {
1672            qualifiedName_ = java.util.Collections.emptyList();
1673            bitField0_ = (bitField0_ & ~0x00000001);
1674    
1675            return this;
1676          }
1677          /**
1678           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1679           */
1680          public Builder removeQualifiedName(int index) {
1681            ensureQualifiedNameIsMutable();
1682            qualifiedName_.remove(index);
1683    
1684            return this;
1685          }
1686    
1687          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable)
1688        }
1689    
1690        static {
1691          defaultInstance = new QualifiedNameTable(true);
1692          defaultInstance.initFields();
1693        }
1694    
1695        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable)
1696      }
1697    
1698      public interface AnnotationOrBuilder
1699          extends com.google.protobuf.MessageLiteOrBuilder {
1700    
1701        // required int32 id = 1;
1702        /**
1703         * <code>required int32 id = 1;</code>
1704         *
1705         * <pre>
1706         * Class FQ name id
1707         * </pre>
1708         */
1709        boolean hasId();
1710        /**
1711         * <code>required int32 id = 1;</code>
1712         *
1713         * <pre>
1714         * Class FQ name id
1715         * </pre>
1716         */
1717        int getId();
1718    
1719        // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;
1720        /**
1721         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
1722         */
1723        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> 
1724            getArgumentList();
1725        /**
1726         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
1727         */
1728        org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument getArgument(int index);
1729        /**
1730         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
1731         */
1732        int getArgumentCount();
1733      }
1734      /**
1735       * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation}
1736       */
1737      public static final class Annotation extends
1738          com.google.protobuf.GeneratedMessageLite
1739          implements AnnotationOrBuilder {
1740        // Use Annotation.newBuilder() to construct.
1741        private Annotation(com.google.protobuf.GeneratedMessageLite.Builder builder) {
1742          super(builder);
1743    
1744        }
1745        private Annotation(boolean noInit) {}
1746    
1747        private static final Annotation defaultInstance;
1748        public static Annotation getDefaultInstance() {
1749          return defaultInstance;
1750        }
1751    
1752        public Annotation getDefaultInstanceForType() {
1753          return defaultInstance;
1754        }
1755    
1756        private Annotation(
1757            com.google.protobuf.CodedInputStream input,
1758            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1759            throws com.google.protobuf.InvalidProtocolBufferException {
1760          initFields();
1761          int mutable_bitField0_ = 0;
1762          try {
1763            boolean done = false;
1764            while (!done) {
1765              int tag = input.readTag();
1766              switch (tag) {
1767                case 0:
1768                  done = true;
1769                  break;
1770                default: {
1771                  if (!parseUnknownField(input,
1772                                         extensionRegistry, tag)) {
1773                    done = true;
1774                  }
1775                  break;
1776                }
1777                case 8: {
1778                  bitField0_ |= 0x00000001;
1779                  id_ = input.readInt32();
1780                  break;
1781                }
1782                case 18: {
1783                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
1784                    argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument>();
1785                    mutable_bitField0_ |= 0x00000002;
1786                  }
1787                  argument_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.PARSER, extensionRegistry));
1788                  break;
1789                }
1790              }
1791            }
1792          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1793            throw e.setUnfinishedMessage(this);
1794          } catch (java.io.IOException e) {
1795            throw new com.google.protobuf.InvalidProtocolBufferException(
1796                e.getMessage()).setUnfinishedMessage(this);
1797          } finally {
1798            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
1799              argument_ = java.util.Collections.unmodifiableList(argument_);
1800            }
1801            makeExtensionsImmutable();
1802          }
1803        }
1804        public static com.google.protobuf.Parser<Annotation> PARSER =
1805            new com.google.protobuf.AbstractParser<Annotation>() {
1806          public Annotation parsePartialFrom(
1807              com.google.protobuf.CodedInputStream input,
1808              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1809              throws com.google.protobuf.InvalidProtocolBufferException {
1810            return new Annotation(input, extensionRegistry);
1811          }
1812        };
1813    
1814        @java.lang.Override
1815        public com.google.protobuf.Parser<Annotation> getParserForType() {
1816          return PARSER;
1817        }
1818    
1819        public interface ArgumentOrBuilder
1820            extends com.google.protobuf.MessageLiteOrBuilder {
1821    
1822          // required int32 name_id = 1;
1823          /**
1824           * <code>required int32 name_id = 1;</code>
1825           *
1826           * <pre>
1827           * id in StringTable
1828           * </pre>
1829           */
1830          boolean hasNameId();
1831          /**
1832           * <code>required int32 name_id = 1;</code>
1833           *
1834           * <pre>
1835           * id in StringTable
1836           * </pre>
1837           */
1838          int getNameId();
1839    
1840          // required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;
1841          /**
1842           * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
1843           */
1844          boolean hasValue();
1845          /**
1846           * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
1847           */
1848          org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getValue();
1849        }
1850        /**
1851         * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation.Argument}
1852         */
1853        public static final class Argument extends
1854            com.google.protobuf.GeneratedMessageLite
1855            implements ArgumentOrBuilder {
1856          // Use Argument.newBuilder() to construct.
1857          private Argument(com.google.protobuf.GeneratedMessageLite.Builder builder) {
1858            super(builder);
1859    
1860          }
1861          private Argument(boolean noInit) {}
1862    
1863          private static final Argument defaultInstance;
1864          public static Argument getDefaultInstance() {
1865            return defaultInstance;
1866          }
1867    
1868          public Argument getDefaultInstanceForType() {
1869            return defaultInstance;
1870          }
1871    
1872          private Argument(
1873              com.google.protobuf.CodedInputStream input,
1874              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1875              throws com.google.protobuf.InvalidProtocolBufferException {
1876            initFields();
1877            int mutable_bitField0_ = 0;
1878            try {
1879              boolean done = false;
1880              while (!done) {
1881                int tag = input.readTag();
1882                switch (tag) {
1883                  case 0:
1884                    done = true;
1885                    break;
1886                  default: {
1887                    if (!parseUnknownField(input,
1888                                           extensionRegistry, tag)) {
1889                      done = true;
1890                    }
1891                    break;
1892                  }
1893                  case 8: {
1894                    bitField0_ |= 0x00000001;
1895                    nameId_ = input.readInt32();
1896                    break;
1897                  }
1898                  case 18: {
1899                    org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder subBuilder = null;
1900                    if (((bitField0_ & 0x00000002) == 0x00000002)) {
1901                      subBuilder = value_.toBuilder();
1902                    }
1903                    value_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.PARSER, extensionRegistry);
1904                    if (subBuilder != null) {
1905                      subBuilder.mergeFrom(value_);
1906                      value_ = subBuilder.buildPartial();
1907                    }
1908                    bitField0_ |= 0x00000002;
1909                    break;
1910                  }
1911                }
1912              }
1913            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1914              throw e.setUnfinishedMessage(this);
1915            } catch (java.io.IOException e) {
1916              throw new com.google.protobuf.InvalidProtocolBufferException(
1917                  e.getMessage()).setUnfinishedMessage(this);
1918            } finally {
1919              makeExtensionsImmutable();
1920            }
1921          }
1922          public static com.google.protobuf.Parser<Argument> PARSER =
1923              new com.google.protobuf.AbstractParser<Argument>() {
1924            public Argument parsePartialFrom(
1925                com.google.protobuf.CodedInputStream input,
1926                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1927                throws com.google.protobuf.InvalidProtocolBufferException {
1928              return new Argument(input, extensionRegistry);
1929            }
1930          };
1931    
1932          @java.lang.Override
1933          public com.google.protobuf.Parser<Argument> getParserForType() {
1934            return PARSER;
1935          }
1936    
1937          public interface ValueOrBuilder
1938              extends com.google.protobuf.MessageLiteOrBuilder {
1939    
1940            // optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;
1941            /**
1942             * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
1943             *
1944             * <pre>
1945             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
1946             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
1947             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
1948             * </pre>
1949             */
1950            boolean hasType();
1951            /**
1952             * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
1953             *
1954             * <pre>
1955             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
1956             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
1957             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
1958             * </pre>
1959             */
1960            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type getType();
1961    
1962            // optional sint64 int_value = 2;
1963            /**
1964             * <code>optional sint64 int_value = 2;</code>
1965             */
1966            boolean hasIntValue();
1967            /**
1968             * <code>optional sint64 int_value = 2;</code>
1969             */
1970            long getIntValue();
1971    
1972            // optional float float_value = 3;
1973            /**
1974             * <code>optional float float_value = 3;</code>
1975             */
1976            boolean hasFloatValue();
1977            /**
1978             * <code>optional float float_value = 3;</code>
1979             */
1980            float getFloatValue();
1981    
1982            // optional double double_value = 4;
1983            /**
1984             * <code>optional double double_value = 4;</code>
1985             */
1986            boolean hasDoubleValue();
1987            /**
1988             * <code>optional double double_value = 4;</code>
1989             */
1990            double getDoubleValue();
1991    
1992            // optional int32 string_value = 5;
1993            /**
1994             * <code>optional int32 string_value = 5;</code>
1995             *
1996             * <pre>
1997             * id in StringTable
1998             * </pre>
1999             */
2000            boolean hasStringValue();
2001            /**
2002             * <code>optional int32 string_value = 5;</code>
2003             *
2004             * <pre>
2005             * id in StringTable
2006             * </pre>
2007             */
2008            int getStringValue();
2009    
2010            // optional int32 class_id = 6;
2011            /**
2012             * <code>optional int32 class_id = 6;</code>
2013             *
2014             * <pre>
2015             * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
2016             * </pre>
2017             */
2018            boolean hasClassId();
2019            /**
2020             * <code>optional int32 class_id = 6;</code>
2021             *
2022             * <pre>
2023             * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
2024             * </pre>
2025             */
2026            int getClassId();
2027    
2028            // optional int32 enum_value_id = 7;
2029            /**
2030             * <code>optional int32 enum_value_id = 7;</code>
2031             *
2032             * <pre>
2033             * id in StringTable
2034             * </pre>
2035             */
2036            boolean hasEnumValueId();
2037            /**
2038             * <code>optional int32 enum_value_id = 7;</code>
2039             *
2040             * <pre>
2041             * id in StringTable
2042             * </pre>
2043             */
2044            int getEnumValueId();
2045    
2046            // optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;
2047            /**
2048             * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
2049             */
2050            boolean hasAnnotation();
2051            /**
2052             * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
2053             */
2054            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getAnnotation();
2055    
2056            // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;
2057            /**
2058             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2059             */
2060            java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> 
2061                getArrayElementList();
2062            /**
2063             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2064             */
2065            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getArrayElement(int index);
2066            /**
2067             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2068             */
2069            int getArrayElementCount();
2070          }
2071          /**
2072           * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation.Argument.Value}
2073           */
2074          public static final class Value extends
2075              com.google.protobuf.GeneratedMessageLite
2076              implements ValueOrBuilder {
2077            // Use Value.newBuilder() to construct.
2078            private Value(com.google.protobuf.GeneratedMessageLite.Builder builder) {
2079              super(builder);
2080    
2081            }
2082            private Value(boolean noInit) {}
2083    
2084            private static final Value defaultInstance;
2085            public static Value getDefaultInstance() {
2086              return defaultInstance;
2087            }
2088    
2089            public Value getDefaultInstanceForType() {
2090              return defaultInstance;
2091            }
2092    
2093            private Value(
2094                com.google.protobuf.CodedInputStream input,
2095                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2096                throws com.google.protobuf.InvalidProtocolBufferException {
2097              initFields();
2098              int mutable_bitField0_ = 0;
2099              try {
2100                boolean done = false;
2101                while (!done) {
2102                  int tag = input.readTag();
2103                  switch (tag) {
2104                    case 0:
2105                      done = true;
2106                      break;
2107                    default: {
2108                      if (!parseUnknownField(input,
2109                                             extensionRegistry, tag)) {
2110                        done = true;
2111                      }
2112                      break;
2113                    }
2114                    case 8: {
2115                      int rawValue = input.readEnum();
2116                      org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type value = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.valueOf(rawValue);
2117                      if (value != null) {
2118                        bitField0_ |= 0x00000001;
2119                        type_ = value;
2120                      }
2121                      break;
2122                    }
2123                    case 16: {
2124                      bitField0_ |= 0x00000002;
2125                      intValue_ = input.readSInt64();
2126                      break;
2127                    }
2128                    case 29: {
2129                      bitField0_ |= 0x00000004;
2130                      floatValue_ = input.readFloat();
2131                      break;
2132                    }
2133                    case 33: {
2134                      bitField0_ |= 0x00000008;
2135                      doubleValue_ = input.readDouble();
2136                      break;
2137                    }
2138                    case 40: {
2139                      bitField0_ |= 0x00000010;
2140                      stringValue_ = input.readInt32();
2141                      break;
2142                    }
2143                    case 48: {
2144                      bitField0_ |= 0x00000020;
2145                      classId_ = input.readInt32();
2146                      break;
2147                    }
2148                    case 56: {
2149                      bitField0_ |= 0x00000040;
2150                      enumValueId_ = input.readInt32();
2151                      break;
2152                    }
2153                    case 66: {
2154                      org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Builder subBuilder = null;
2155                      if (((bitField0_ & 0x00000080) == 0x00000080)) {
2156                        subBuilder = annotation_.toBuilder();
2157                      }
2158                      annotation_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.PARSER, extensionRegistry);
2159                      if (subBuilder != null) {
2160                        subBuilder.mergeFrom(annotation_);
2161                        annotation_ = subBuilder.buildPartial();
2162                      }
2163                      bitField0_ |= 0x00000080;
2164                      break;
2165                    }
2166                    case 74: {
2167                      if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
2168                        arrayElement_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value>();
2169                        mutable_bitField0_ |= 0x00000100;
2170                      }
2171                      arrayElement_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.PARSER, extensionRegistry));
2172                      break;
2173                    }
2174                  }
2175                }
2176              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2177                throw e.setUnfinishedMessage(this);
2178              } catch (java.io.IOException e) {
2179                throw new com.google.protobuf.InvalidProtocolBufferException(
2180                    e.getMessage()).setUnfinishedMessage(this);
2181              } finally {
2182                if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
2183                  arrayElement_ = java.util.Collections.unmodifiableList(arrayElement_);
2184                }
2185                makeExtensionsImmutable();
2186              }
2187            }
2188            public static com.google.protobuf.Parser<Value> PARSER =
2189                new com.google.protobuf.AbstractParser<Value>() {
2190              public Value parsePartialFrom(
2191                  com.google.protobuf.CodedInputStream input,
2192                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2193                  throws com.google.protobuf.InvalidProtocolBufferException {
2194                return new Value(input, extensionRegistry);
2195              }
2196            };
2197    
2198            @java.lang.Override
2199            public com.google.protobuf.Parser<Value> getParserForType() {
2200              return PARSER;
2201            }
2202    
2203            /**
2204             * Protobuf enum {@code org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type}
2205             */
2206            public enum Type
2207                implements com.google.protobuf.Internal.EnumLite {
2208              /**
2209               * <code>BYTE = 0;</code>
2210               */
2211              BYTE(0, 0),
2212              /**
2213               * <code>CHAR = 1;</code>
2214               */
2215              CHAR(1, 1),
2216              /**
2217               * <code>SHORT = 2;</code>
2218               */
2219              SHORT(2, 2),
2220              /**
2221               * <code>INT = 3;</code>
2222               */
2223              INT(3, 3),
2224              /**
2225               * <code>LONG = 4;</code>
2226               */
2227              LONG(4, 4),
2228              /**
2229               * <code>FLOAT = 5;</code>
2230               */
2231              FLOAT(5, 5),
2232              /**
2233               * <code>DOUBLE = 6;</code>
2234               */
2235              DOUBLE(6, 6),
2236              /**
2237               * <code>BOOLEAN = 7;</code>
2238               */
2239              BOOLEAN(7, 7),
2240              /**
2241               * <code>STRING = 8;</code>
2242               */
2243              STRING(8, 8),
2244              /**
2245               * <code>CLASS = 9;</code>
2246               */
2247              CLASS(9, 9),
2248              /**
2249               * <code>ENUM = 10;</code>
2250               */
2251              ENUM(10, 10),
2252              /**
2253               * <code>ANNOTATION = 11;</code>
2254               */
2255              ANNOTATION(11, 11),
2256              /**
2257               * <code>ARRAY = 12;</code>
2258               */
2259              ARRAY(12, 12),
2260              ;
2261    
2262              /**
2263               * <code>BYTE = 0;</code>
2264               */
2265              public static final int BYTE_VALUE = 0;
2266              /**
2267               * <code>CHAR = 1;</code>
2268               */
2269              public static final int CHAR_VALUE = 1;
2270              /**
2271               * <code>SHORT = 2;</code>
2272               */
2273              public static final int SHORT_VALUE = 2;
2274              /**
2275               * <code>INT = 3;</code>
2276               */
2277              public static final int INT_VALUE = 3;
2278              /**
2279               * <code>LONG = 4;</code>
2280               */
2281              public static final int LONG_VALUE = 4;
2282              /**
2283               * <code>FLOAT = 5;</code>
2284               */
2285              public static final int FLOAT_VALUE = 5;
2286              /**
2287               * <code>DOUBLE = 6;</code>
2288               */
2289              public static final int DOUBLE_VALUE = 6;
2290              /**
2291               * <code>BOOLEAN = 7;</code>
2292               */
2293              public static final int BOOLEAN_VALUE = 7;
2294              /**
2295               * <code>STRING = 8;</code>
2296               */
2297              public static final int STRING_VALUE = 8;
2298              /**
2299               * <code>CLASS = 9;</code>
2300               */
2301              public static final int CLASS_VALUE = 9;
2302              /**
2303               * <code>ENUM = 10;</code>
2304               */
2305              public static final int ENUM_VALUE = 10;
2306              /**
2307               * <code>ANNOTATION = 11;</code>
2308               */
2309              public static final int ANNOTATION_VALUE = 11;
2310              /**
2311               * <code>ARRAY = 12;</code>
2312               */
2313              public static final int ARRAY_VALUE = 12;
2314    
2315    
2316              public final int getNumber() { return value; }
2317    
2318              public static Type valueOf(int value) {
2319                switch (value) {
2320                  case 0: return BYTE;
2321                  case 1: return CHAR;
2322                  case 2: return SHORT;
2323                  case 3: return INT;
2324                  case 4: return LONG;
2325                  case 5: return FLOAT;
2326                  case 6: return DOUBLE;
2327                  case 7: return BOOLEAN;
2328                  case 8: return STRING;
2329                  case 9: return CLASS;
2330                  case 10: return ENUM;
2331                  case 11: return ANNOTATION;
2332                  case 12: return ARRAY;
2333                  default: return null;
2334                }
2335              }
2336    
2337              public static com.google.protobuf.Internal.EnumLiteMap<Type>
2338                  internalGetValueMap() {
2339                return internalValueMap;
2340              }
2341              private static com.google.protobuf.Internal.EnumLiteMap<Type>
2342                  internalValueMap =
2343                    new com.google.protobuf.Internal.EnumLiteMap<Type>() {
2344                      public Type findValueByNumber(int number) {
2345                        return Type.valueOf(number);
2346                      }
2347                    };
2348    
2349              private final int value;
2350    
2351              private Type(int index, int value) {
2352                this.value = value;
2353              }
2354    
2355              // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type)
2356            }
2357    
2358            private int bitField0_;
2359            // optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;
2360            public static final int TYPE_FIELD_NUMBER = 1;
2361            private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type type_;
2362            /**
2363             * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2364             *
2365             * <pre>
2366             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2367             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2368             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2369             * </pre>
2370             */
2371            public boolean hasType() {
2372              return ((bitField0_ & 0x00000001) == 0x00000001);
2373            }
2374            /**
2375             * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2376             *
2377             * <pre>
2378             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2379             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2380             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2381             * </pre>
2382             */
2383            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type getType() {
2384              return type_;
2385            }
2386    
2387            // optional sint64 int_value = 2;
2388            public static final int INT_VALUE_FIELD_NUMBER = 2;
2389            private long intValue_;
2390            /**
2391             * <code>optional sint64 int_value = 2;</code>
2392             */
2393            public boolean hasIntValue() {
2394              return ((bitField0_ & 0x00000002) == 0x00000002);
2395            }
2396            /**
2397             * <code>optional sint64 int_value = 2;</code>
2398             */
2399            public long getIntValue() {
2400              return intValue_;
2401            }
2402    
2403            // optional float float_value = 3;
2404            public static final int FLOAT_VALUE_FIELD_NUMBER = 3;
2405            private float floatValue_;
2406            /**
2407             * <code>optional float float_value = 3;</code>
2408             */
2409            public boolean hasFloatValue() {
2410              return ((bitField0_ & 0x00000004) == 0x00000004);
2411            }
2412            /**
2413             * <code>optional float float_value = 3;</code>
2414             */
2415            public float getFloatValue() {
2416              return floatValue_;
2417            }
2418    
2419            // optional double double_value = 4;
2420            public static final int DOUBLE_VALUE_FIELD_NUMBER = 4;
2421            private double doubleValue_;
2422            /**
2423             * <code>optional double double_value = 4;</code>
2424             */
2425            public boolean hasDoubleValue() {
2426              return ((bitField0_ & 0x00000008) == 0x00000008);
2427            }
2428            /**
2429             * <code>optional double double_value = 4;</code>
2430             */
2431            public double getDoubleValue() {
2432              return doubleValue_;
2433            }
2434    
2435            // optional int32 string_value = 5;
2436            public static final int STRING_VALUE_FIELD_NUMBER = 5;
2437            private int stringValue_;
2438            /**
2439             * <code>optional int32 string_value = 5;</code>
2440             *
2441             * <pre>
2442             * id in StringTable
2443             * </pre>
2444             */
2445            public boolean hasStringValue() {
2446              return ((bitField0_ & 0x00000010) == 0x00000010);
2447            }
2448            /**
2449             * <code>optional int32 string_value = 5;</code>
2450             *
2451             * <pre>
2452             * id in StringTable
2453             * </pre>
2454             */
2455            public int getStringValue() {
2456              return stringValue_;
2457            }
2458    
2459            // optional int32 class_id = 6;
2460            public static final int CLASS_ID_FIELD_NUMBER = 6;
2461            private int classId_;
2462            /**
2463             * <code>optional int32 class_id = 6;</code>
2464             *
2465             * <pre>
2466             * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
2467             * </pre>
2468             */
2469            public boolean hasClassId() {
2470              return ((bitField0_ & 0x00000020) == 0x00000020);
2471            }
2472            /**
2473             * <code>optional int32 class_id = 6;</code>
2474             *
2475             * <pre>
2476             * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
2477             * </pre>
2478             */
2479            public int getClassId() {
2480              return classId_;
2481            }
2482    
2483            // optional int32 enum_value_id = 7;
2484            public static final int ENUM_VALUE_ID_FIELD_NUMBER = 7;
2485            private int enumValueId_;
2486            /**
2487             * <code>optional int32 enum_value_id = 7;</code>
2488             *
2489             * <pre>
2490             * id in StringTable
2491             * </pre>
2492             */
2493            public boolean hasEnumValueId() {
2494              return ((bitField0_ & 0x00000040) == 0x00000040);
2495            }
2496            /**
2497             * <code>optional int32 enum_value_id = 7;</code>
2498             *
2499             * <pre>
2500             * id in StringTable
2501             * </pre>
2502             */
2503            public int getEnumValueId() {
2504              return enumValueId_;
2505            }
2506    
2507            // optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;
2508            public static final int ANNOTATION_FIELD_NUMBER = 8;
2509            private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation annotation_;
2510            /**
2511             * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
2512             */
2513            public boolean hasAnnotation() {
2514              return ((bitField0_ & 0x00000080) == 0x00000080);
2515            }
2516            /**
2517             * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
2518             */
2519            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getAnnotation() {
2520              return annotation_;
2521            }
2522    
2523            // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;
2524            public static final int ARRAY_ELEMENT_FIELD_NUMBER = 9;
2525            private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> arrayElement_;
2526            /**
2527             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2528             */
2529            public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> getArrayElementList() {
2530              return arrayElement_;
2531            }
2532            /**
2533             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2534             */
2535            public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.ValueOrBuilder> 
2536                getArrayElementOrBuilderList() {
2537              return arrayElement_;
2538            }
2539            /**
2540             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2541             */
2542            public int getArrayElementCount() {
2543              return arrayElement_.size();
2544            }
2545            /**
2546             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2547             */
2548            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getArrayElement(int index) {
2549              return arrayElement_.get(index);
2550            }
2551            /**
2552             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2553             */
2554            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.ValueOrBuilder getArrayElementOrBuilder(
2555                int index) {
2556              return arrayElement_.get(index);
2557            }
2558    
2559            private void initFields() {
2560              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
2561              intValue_ = 0L;
2562              floatValue_ = 0F;
2563              doubleValue_ = 0D;
2564              stringValue_ = 0;
2565              classId_ = 0;
2566              enumValueId_ = 0;
2567              annotation_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
2568              arrayElement_ = java.util.Collections.emptyList();
2569            }
2570            private byte memoizedIsInitialized = -1;
2571            public final boolean isInitialized() {
2572              byte isInitialized = memoizedIsInitialized;
2573              if (isInitialized != -1) return isInitialized == 1;
2574    
2575              if (hasAnnotation()) {
2576                if (!getAnnotation().isInitialized()) {
2577                  memoizedIsInitialized = 0;
2578                  return false;
2579                }
2580              }
2581              for (int i = 0; i < getArrayElementCount(); i++) {
2582                if (!getArrayElement(i).isInitialized()) {
2583                  memoizedIsInitialized = 0;
2584                  return false;
2585                }
2586              }
2587              memoizedIsInitialized = 1;
2588              return true;
2589            }
2590    
2591            public void writeTo(com.google.protobuf.CodedOutputStream output)
2592                                throws java.io.IOException {
2593              getSerializedSize();
2594              if (((bitField0_ & 0x00000001) == 0x00000001)) {
2595                output.writeEnum(1, type_.getNumber());
2596              }
2597              if (((bitField0_ & 0x00000002) == 0x00000002)) {
2598                output.writeSInt64(2, intValue_);
2599              }
2600              if (((bitField0_ & 0x00000004) == 0x00000004)) {
2601                output.writeFloat(3, floatValue_);
2602              }
2603              if (((bitField0_ & 0x00000008) == 0x00000008)) {
2604                output.writeDouble(4, doubleValue_);
2605              }
2606              if (((bitField0_ & 0x00000010) == 0x00000010)) {
2607                output.writeInt32(5, stringValue_);
2608              }
2609              if (((bitField0_ & 0x00000020) == 0x00000020)) {
2610                output.writeInt32(6, classId_);
2611              }
2612              if (((bitField0_ & 0x00000040) == 0x00000040)) {
2613                output.writeInt32(7, enumValueId_);
2614              }
2615              if (((bitField0_ & 0x00000080) == 0x00000080)) {
2616                output.writeMessage(8, annotation_);
2617              }
2618              for (int i = 0; i < arrayElement_.size(); i++) {
2619                output.writeMessage(9, arrayElement_.get(i));
2620              }
2621            }
2622    
2623            private int memoizedSerializedSize = -1;
2624            public int getSerializedSize() {
2625              int size = memoizedSerializedSize;
2626              if (size != -1) return size;
2627    
2628              size = 0;
2629              if (((bitField0_ & 0x00000001) == 0x00000001)) {
2630                size += com.google.protobuf.CodedOutputStream
2631                  .computeEnumSize(1, type_.getNumber());
2632              }
2633              if (((bitField0_ & 0x00000002) == 0x00000002)) {
2634                size += com.google.protobuf.CodedOutputStream
2635                  .computeSInt64Size(2, intValue_);
2636              }
2637              if (((bitField0_ & 0x00000004) == 0x00000004)) {
2638                size += com.google.protobuf.CodedOutputStream
2639                  .computeFloatSize(3, floatValue_);
2640              }
2641              if (((bitField0_ & 0x00000008) == 0x00000008)) {
2642                size += com.google.protobuf.CodedOutputStream
2643                  .computeDoubleSize(4, doubleValue_);
2644              }
2645              if (((bitField0_ & 0x00000010) == 0x00000010)) {
2646                size += com.google.protobuf.CodedOutputStream
2647                  .computeInt32Size(5, stringValue_);
2648              }
2649              if (((bitField0_ & 0x00000020) == 0x00000020)) {
2650                size += com.google.protobuf.CodedOutputStream
2651                  .computeInt32Size(6, classId_);
2652              }
2653              if (((bitField0_ & 0x00000040) == 0x00000040)) {
2654                size += com.google.protobuf.CodedOutputStream
2655                  .computeInt32Size(7, enumValueId_);
2656              }
2657              if (((bitField0_ & 0x00000080) == 0x00000080)) {
2658                size += com.google.protobuf.CodedOutputStream
2659                  .computeMessageSize(8, annotation_);
2660              }
2661              for (int i = 0; i < arrayElement_.size(); i++) {
2662                size += com.google.protobuf.CodedOutputStream
2663                  .computeMessageSize(9, arrayElement_.get(i));
2664              }
2665              memoizedSerializedSize = size;
2666              return size;
2667            }
2668    
2669            private static final long serialVersionUID = 0L;
2670            @java.lang.Override
2671            protected java.lang.Object writeReplace()
2672                throws java.io.ObjectStreamException {
2673              return super.writeReplace();
2674            }
2675    
2676            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2677                com.google.protobuf.ByteString data)
2678                throws com.google.protobuf.InvalidProtocolBufferException {
2679              return PARSER.parseFrom(data);
2680            }
2681            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2682                com.google.protobuf.ByteString data,
2683                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2684                throws com.google.protobuf.InvalidProtocolBufferException {
2685              return PARSER.parseFrom(data, extensionRegistry);
2686            }
2687            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(byte[] data)
2688                throws com.google.protobuf.InvalidProtocolBufferException {
2689              return PARSER.parseFrom(data);
2690            }
2691            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2692                byte[] data,
2693                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2694                throws com.google.protobuf.InvalidProtocolBufferException {
2695              return PARSER.parseFrom(data, extensionRegistry);
2696            }
2697            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(java.io.InputStream input)
2698                throws java.io.IOException {
2699              return PARSER.parseFrom(input);
2700            }
2701            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2702                java.io.InputStream input,
2703                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2704                throws java.io.IOException {
2705              return PARSER.parseFrom(input, extensionRegistry);
2706            }
2707            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseDelimitedFrom(java.io.InputStream input)
2708                throws java.io.IOException {
2709              return PARSER.parseDelimitedFrom(input);
2710            }
2711            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseDelimitedFrom(
2712                java.io.InputStream input,
2713                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2714                throws java.io.IOException {
2715              return PARSER.parseDelimitedFrom(input, extensionRegistry);
2716            }
2717            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2718                com.google.protobuf.CodedInputStream input)
2719                throws java.io.IOException {
2720              return PARSER.parseFrom(input);
2721            }
2722            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2723                com.google.protobuf.CodedInputStream input,
2724                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2725                throws java.io.IOException {
2726              return PARSER.parseFrom(input, extensionRegistry);
2727            }
2728    
2729            public static Builder newBuilder() { return Builder.create(); }
2730            public Builder newBuilderForType() { return newBuilder(); }
2731            public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value prototype) {
2732              return newBuilder().mergeFrom(prototype);
2733            }
2734            public Builder toBuilder() { return newBuilder(this); }
2735    
2736            /**
2737             * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation.Argument.Value}
2738             */
2739            public static final class Builder extends
2740                com.google.protobuf.GeneratedMessageLite.Builder<
2741                  org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value, Builder>
2742                implements org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.ValueOrBuilder {
2743              // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.newBuilder()
2744              private Builder() {
2745                maybeForceBuilderInitialization();
2746              }
2747    
2748              private void maybeForceBuilderInitialization() {
2749              }
2750              private static Builder create() {
2751                return new Builder();
2752              }
2753    
2754              public Builder clear() {
2755                super.clear();
2756                type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
2757                bitField0_ = (bitField0_ & ~0x00000001);
2758                intValue_ = 0L;
2759                bitField0_ = (bitField0_ & ~0x00000002);
2760                floatValue_ = 0F;
2761                bitField0_ = (bitField0_ & ~0x00000004);
2762                doubleValue_ = 0D;
2763                bitField0_ = (bitField0_ & ~0x00000008);
2764                stringValue_ = 0;
2765                bitField0_ = (bitField0_ & ~0x00000010);
2766                classId_ = 0;
2767                bitField0_ = (bitField0_ & ~0x00000020);
2768                enumValueId_ = 0;
2769                bitField0_ = (bitField0_ & ~0x00000040);
2770                annotation_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
2771                bitField0_ = (bitField0_ & ~0x00000080);
2772                arrayElement_ = java.util.Collections.emptyList();
2773                bitField0_ = (bitField0_ & ~0x00000100);
2774                return this;
2775              }
2776    
2777              public Builder clone() {
2778                return create().mergeFrom(buildPartial());
2779              }
2780    
2781              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getDefaultInstanceForType() {
2782                return org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
2783              }
2784    
2785              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value build() {
2786                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value result = buildPartial();
2787                if (!result.isInitialized()) {
2788                  throw newUninitializedMessageException(result);
2789                }
2790                return result;
2791              }
2792    
2793              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value buildPartial() {
2794                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value result = new org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value(this);
2795                int from_bitField0_ = bitField0_;
2796                int to_bitField0_ = 0;
2797                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
2798                  to_bitField0_ |= 0x00000001;
2799                }
2800                result.type_ = type_;
2801                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
2802                  to_bitField0_ |= 0x00000002;
2803                }
2804                result.intValue_ = intValue_;
2805                if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
2806                  to_bitField0_ |= 0x00000004;
2807                }
2808                result.floatValue_ = floatValue_;
2809                if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
2810                  to_bitField0_ |= 0x00000008;
2811                }
2812                result.doubleValue_ = doubleValue_;
2813                if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
2814                  to_bitField0_ |= 0x00000010;
2815                }
2816                result.stringValue_ = stringValue_;
2817                if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
2818                  to_bitField0_ |= 0x00000020;
2819                }
2820                result.classId_ = classId_;
2821                if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
2822                  to_bitField0_ |= 0x00000040;
2823                }
2824                result.enumValueId_ = enumValueId_;
2825                if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
2826                  to_bitField0_ |= 0x00000080;
2827                }
2828                result.annotation_ = annotation_;
2829                if (((bitField0_ & 0x00000100) == 0x00000100)) {
2830                  arrayElement_ = java.util.Collections.unmodifiableList(arrayElement_);
2831                  bitField0_ = (bitField0_ & ~0x00000100);
2832                }
2833                result.arrayElement_ = arrayElement_;
2834                result.bitField0_ = to_bitField0_;
2835                return result;
2836              }
2837    
2838              public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value other) {
2839                if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance()) return this;
2840                if (other.hasType()) {
2841                  setType(other.getType());
2842                }
2843                if (other.hasIntValue()) {
2844                  setIntValue(other.getIntValue());
2845                }
2846                if (other.hasFloatValue()) {
2847                  setFloatValue(other.getFloatValue());
2848                }
2849                if (other.hasDoubleValue()) {
2850                  setDoubleValue(other.getDoubleValue());
2851                }
2852                if (other.hasStringValue()) {
2853                  setStringValue(other.getStringValue());
2854                }
2855                if (other.hasClassId()) {
2856                  setClassId(other.getClassId());
2857                }
2858                if (other.hasEnumValueId()) {
2859                  setEnumValueId(other.getEnumValueId());
2860                }
2861                if (other.hasAnnotation()) {
2862                  mergeAnnotation(other.getAnnotation());
2863                }
2864                if (!other.arrayElement_.isEmpty()) {
2865                  if (arrayElement_.isEmpty()) {
2866                    arrayElement_ = other.arrayElement_;
2867                    bitField0_ = (bitField0_ & ~0x00000100);
2868                  } else {
2869                    ensureArrayElementIsMutable();
2870                    arrayElement_.addAll(other.arrayElement_);
2871                  }
2872                  
2873                }
2874                return this;
2875              }
2876    
2877              public final boolean isInitialized() {
2878                if (hasAnnotation()) {
2879                  if (!getAnnotation().isInitialized()) {
2880                    
2881                    return false;
2882                  }
2883                }
2884                for (int i = 0; i < getArrayElementCount(); i++) {
2885                  if (!getArrayElement(i).isInitialized()) {
2886                    
2887                    return false;
2888                  }
2889                }
2890                return true;
2891              }
2892    
2893              public Builder mergeFrom(
2894                  com.google.protobuf.CodedInputStream input,
2895                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2896                  throws java.io.IOException {
2897                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parsedMessage = null;
2898                try {
2899                  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
2900                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2901                  parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value) e.getUnfinishedMessage();
2902                  throw e;
2903                } finally {
2904                  if (parsedMessage != null) {
2905                    mergeFrom(parsedMessage);
2906                  }
2907                }
2908                return this;
2909              }
2910              private int bitField0_;
2911    
2912              // optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;
2913              private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
2914              /**
2915               * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2916               *
2917               * <pre>
2918               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2919               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2920               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2921               * </pre>
2922               */
2923              public boolean hasType() {
2924                return ((bitField0_ & 0x00000001) == 0x00000001);
2925              }
2926              /**
2927               * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2928               *
2929               * <pre>
2930               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2931               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2932               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2933               * </pre>
2934               */
2935              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type getType() {
2936                return type_;
2937              }
2938              /**
2939               * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2940               *
2941               * <pre>
2942               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2943               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2944               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2945               * </pre>
2946               */
2947              public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type value) {
2948                if (value == null) {
2949                  throw new NullPointerException();
2950                }
2951                bitField0_ |= 0x00000001;
2952                type_ = value;
2953                
2954                return this;
2955              }
2956              /**
2957               * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2958               *
2959               * <pre>
2960               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2961               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2962               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2963               * </pre>
2964               */
2965              public Builder clearType() {
2966                bitField0_ = (bitField0_ & ~0x00000001);
2967                type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
2968                
2969                return this;
2970              }
2971    
2972              // optional sint64 int_value = 2;
2973              private long intValue_ ;
2974              /**
2975               * <code>optional sint64 int_value = 2;</code>
2976               */
2977              public boolean hasIntValue() {
2978                return ((bitField0_ & 0x00000002) == 0x00000002);
2979              }
2980              /**
2981               * <code>optional sint64 int_value = 2;</code>
2982               */
2983              public long getIntValue() {
2984                return intValue_;
2985              }
2986              /**
2987               * <code>optional sint64 int_value = 2;</code>
2988               */
2989              public Builder setIntValue(long value) {
2990                bitField0_ |= 0x00000002;
2991                intValue_ = value;
2992                
2993                return this;
2994              }
2995              /**
2996               * <code>optional sint64 int_value = 2;</code>
2997               */
2998              public Builder clearIntValue() {
2999                bitField0_ = (bitField0_ & ~0x00000002);
3000                intValue_ = 0L;
3001                
3002                return this;
3003              }
3004    
3005              // optional float float_value = 3;
3006              private float floatValue_ ;
3007              /**
3008               * <code>optional float float_value = 3;</code>
3009               */
3010              public boolean hasFloatValue() {
3011                return ((bitField0_ & 0x00000004) == 0x00000004);
3012              }
3013              /**
3014               * <code>optional float float_value = 3;</code>
3015               */
3016              public float getFloatValue() {
3017                return floatValue_;
3018              }
3019              /**
3020               * <code>optional float float_value = 3;</code>
3021               */
3022              public Builder setFloatValue(float value) {
3023                bitField0_ |= 0x00000004;
3024                floatValue_ = value;
3025                
3026                return this;
3027              }
3028              /**
3029               * <code>optional float float_value = 3;</code>
3030               */
3031              public Builder clearFloatValue() {
3032                bitField0_ = (bitField0_ & ~0x00000004);
3033                floatValue_ = 0F;
3034                
3035                return this;
3036              }
3037    
3038              // optional double double_value = 4;
3039              private double doubleValue_ ;
3040              /**
3041               * <code>optional double double_value = 4;</code>
3042               */
3043              public boolean hasDoubleValue() {
3044                return ((bitField0_ & 0x00000008) == 0x00000008);
3045              }
3046              /**
3047               * <code>optional double double_value = 4;</code>
3048               */
3049              public double getDoubleValue() {
3050                return doubleValue_;
3051              }
3052              /**
3053               * <code>optional double double_value = 4;</code>
3054               */
3055              public Builder setDoubleValue(double value) {
3056                bitField0_ |= 0x00000008;
3057                doubleValue_ = value;
3058                
3059                return this;
3060              }
3061              /**
3062               * <code>optional double double_value = 4;</code>
3063               */
3064              public Builder clearDoubleValue() {
3065                bitField0_ = (bitField0_ & ~0x00000008);
3066                doubleValue_ = 0D;
3067                
3068                return this;
3069              }
3070    
3071              // optional int32 string_value = 5;
3072              private int stringValue_ ;
3073              /**
3074               * <code>optional int32 string_value = 5;</code>
3075               *
3076               * <pre>
3077               * id in StringTable
3078               * </pre>
3079               */
3080              public boolean hasStringValue() {
3081                return ((bitField0_ & 0x00000010) == 0x00000010);
3082              }
3083              /**
3084               * <code>optional int32 string_value = 5;</code>
3085               *
3086               * <pre>
3087               * id in StringTable
3088               * </pre>
3089               */
3090              public int getStringValue() {
3091                return stringValue_;
3092              }
3093              /**
3094               * <code>optional int32 string_value = 5;</code>
3095               *
3096               * <pre>
3097               * id in StringTable
3098               * </pre>
3099               */
3100              public Builder setStringValue(int value) {
3101                bitField0_ |= 0x00000010;
3102                stringValue_ = value;
3103                
3104                return this;
3105              }
3106              /**
3107               * <code>optional int32 string_value = 5;</code>
3108               *
3109               * <pre>
3110               * id in StringTable
3111               * </pre>
3112               */
3113              public Builder clearStringValue() {
3114                bitField0_ = (bitField0_ & ~0x00000010);
3115                stringValue_ = 0;
3116                
3117                return this;
3118              }
3119    
3120              // optional int32 class_id = 6;
3121              private int classId_ ;
3122              /**
3123               * <code>optional int32 class_id = 6;</code>
3124               *
3125               * <pre>
3126               * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
3127               * </pre>
3128               */
3129              public boolean hasClassId() {
3130                return ((bitField0_ & 0x00000020) == 0x00000020);
3131              }
3132              /**
3133               * <code>optional int32 class_id = 6;</code>
3134               *
3135               * <pre>
3136               * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
3137               * </pre>
3138               */
3139              public int getClassId() {
3140                return classId_;
3141              }
3142              /**
3143               * <code>optional int32 class_id = 6;</code>
3144               *
3145               * <pre>
3146               * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
3147               * </pre>
3148               */
3149              public Builder setClassId(int value) {
3150                bitField0_ |= 0x00000020;
3151                classId_ = value;
3152                
3153                return this;
3154              }
3155              /**
3156               * <code>optional int32 class_id = 6;</code>
3157               *
3158               * <pre>
3159               * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
3160               * </pre>
3161               */
3162              public Builder clearClassId() {
3163                bitField0_ = (bitField0_ & ~0x00000020);
3164                classId_ = 0;
3165                
3166                return this;
3167              }
3168    
3169              // optional int32 enum_value_id = 7;
3170              private int enumValueId_ ;
3171              /**
3172               * <code>optional int32 enum_value_id = 7;</code>
3173               *
3174               * <pre>
3175               * id in StringTable
3176               * </pre>
3177               */
3178              public boolean hasEnumValueId() {
3179                return ((bitField0_ & 0x00000040) == 0x00000040);
3180              }
3181              /**
3182               * <code>optional int32 enum_value_id = 7;</code>
3183               *
3184               * <pre>
3185               * id in StringTable
3186               * </pre>
3187               */
3188              public int getEnumValueId() {
3189                return enumValueId_;
3190              }
3191              /**
3192               * <code>optional int32 enum_value_id = 7;</code>
3193               *
3194               * <pre>
3195               * id in StringTable
3196               * </pre>
3197               */
3198              public Builder setEnumValueId(int value) {
3199                bitField0_ |= 0x00000040;
3200                enumValueId_ = value;
3201                
3202                return this;
3203              }
3204              /**
3205               * <code>optional int32 enum_value_id = 7;</code>
3206               *
3207               * <pre>
3208               * id in StringTable
3209               * </pre>
3210               */
3211              public Builder clearEnumValueId() {
3212                bitField0_ = (bitField0_ & ~0x00000040);
3213                enumValueId_ = 0;
3214                
3215                return this;
3216              }
3217    
3218              // optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;
3219              private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation annotation_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
3220              /**
3221               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3222               */
3223              public boolean hasAnnotation() {
3224                return ((bitField0_ & 0x00000080) == 0x00000080);
3225              }
3226              /**
3227               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3228               */
3229              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getAnnotation() {
3230                return annotation_;
3231              }
3232              /**
3233               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3234               */
3235              public Builder setAnnotation(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation value) {
3236                if (value == null) {
3237                  throw new NullPointerException();
3238                }
3239                annotation_ = value;
3240    
3241                bitField0_ |= 0x00000080;
3242                return this;
3243              }
3244              /**
3245               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3246               */
3247              public Builder setAnnotation(
3248                  org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Builder builderForValue) {
3249                annotation_ = builderForValue.build();
3250    
3251                bitField0_ |= 0x00000080;
3252                return this;
3253              }
3254              /**
3255               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3256               */
3257              public Builder mergeAnnotation(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation value) {
3258                if (((bitField0_ & 0x00000080) == 0x00000080) &&
3259                    annotation_ != org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance()) {
3260                  annotation_ =
3261                    org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.newBuilder(annotation_).mergeFrom(value).buildPartial();
3262                } else {
3263                  annotation_ = value;
3264                }
3265    
3266                bitField0_ |= 0x00000080;
3267                return this;
3268              }
3269              /**
3270               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3271               */
3272              public Builder clearAnnotation() {
3273                annotation_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
3274    
3275                bitField0_ = (bitField0_ & ~0x00000080);
3276                return this;
3277              }
3278    
3279              // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;
3280              private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> arrayElement_ =
3281                java.util.Collections.emptyList();
3282              private void ensureArrayElementIsMutable() {
3283                if (!((bitField0_ & 0x00000100) == 0x00000100)) {
3284                  arrayElement_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value>(arrayElement_);
3285                  bitField0_ |= 0x00000100;
3286                 }
3287              }
3288    
3289              /**
3290               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3291               */
3292              public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> getArrayElementList() {
3293                return java.util.Collections.unmodifiableList(arrayElement_);
3294              }
3295              /**
3296               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3297               */
3298              public int getArrayElementCount() {
3299                return arrayElement_.size();
3300              }
3301              /**
3302               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3303               */
3304              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getArrayElement(int index) {
3305                return arrayElement_.get(index);
3306              }
3307              /**
3308               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3309               */
3310              public Builder setArrayElement(
3311                  int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3312                if (value == null) {
3313                  throw new NullPointerException();
3314                }
3315                ensureArrayElementIsMutable();
3316                arrayElement_.set(index, value);
3317    
3318                return this;
3319              }
3320              /**
3321               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3322               */
3323              public Builder setArrayElement(
3324                  int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3325                ensureArrayElementIsMutable();
3326                arrayElement_.set(index, builderForValue.build());
3327    
3328                return this;
3329              }
3330              /**
3331               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3332               */
3333              public Builder addArrayElement(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3334                if (value == null) {
3335                  throw new NullPointerException();
3336                }
3337                ensureArrayElementIsMutable();
3338                arrayElement_.add(value);
3339    
3340                return this;
3341              }
3342              /**
3343               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3344               */
3345              public Builder addArrayElement(
3346                  int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3347                if (value == null) {
3348                  throw new NullPointerException();
3349                }
3350                ensureArrayElementIsMutable();
3351                arrayElement_.add(index, value);
3352    
3353                return this;
3354              }
3355              /**
3356               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3357               */
3358              public Builder addArrayElement(
3359                  org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3360                ensureArrayElementIsMutable();
3361                arrayElement_.add(builderForValue.build());
3362    
3363                return this;
3364              }
3365              /**
3366               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3367               */
3368              public Builder addArrayElement(
3369                  int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3370                ensureArrayElementIsMutable();
3371                arrayElement_.add(index, builderForValue.build());
3372    
3373                return this;
3374              }
3375              /**
3376               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3377               */
3378              public Builder addAllArrayElement(
3379                  java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> values) {
3380                ensureArrayElementIsMutable();
3381                super.addAll(values, arrayElement_);
3382    
3383                return this;
3384              }
3385              /**
3386               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3387               */
3388              public Builder clearArrayElement() {
3389                arrayElement_ = java.util.Collections.emptyList();
3390                bitField0_ = (bitField0_ & ~0x00000100);
3391    
3392                return this;
3393              }
3394              /**
3395               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3396               */
3397              public Builder removeArrayElement(int index) {
3398                ensureArrayElementIsMutable();
3399                arrayElement_.remove(index);
3400    
3401                return this;
3402              }
3403    
3404              // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Annotation.Argument.Value)
3405            }
3406    
3407            static {
3408              defaultInstance = new Value(true);
3409              defaultInstance.initFields();
3410            }
3411    
3412            // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Annotation.Argument.Value)
3413          }
3414    
3415          private int bitField0_;
3416          // required int32 name_id = 1;
3417          public static final int NAME_ID_FIELD_NUMBER = 1;
3418          private int nameId_;
3419          /**
3420           * <code>required int32 name_id = 1;</code>
3421           *
3422           * <pre>
3423           * id in StringTable
3424           * </pre>
3425           */
3426          public boolean hasNameId() {
3427            return ((bitField0_ & 0x00000001) == 0x00000001);
3428          }
3429          /**
3430           * <code>required int32 name_id = 1;</code>
3431           *
3432           * <pre>
3433           * id in StringTable
3434           * </pre>
3435           */
3436          public int getNameId() {
3437            return nameId_;
3438          }
3439    
3440          // required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;
3441          public static final int VALUE_FIELD_NUMBER = 2;
3442          private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value_;
3443          /**
3444           * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3445           */
3446          public boolean hasValue() {
3447            return ((bitField0_ & 0x00000002) == 0x00000002);
3448          }
3449          /**
3450           * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3451           */
3452          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getValue() {
3453            return value_;
3454          }
3455    
3456          private void initFields() {
3457            nameId_ = 0;
3458            value_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3459          }
3460          private byte memoizedIsInitialized = -1;
3461          public final boolean isInitialized() {
3462            byte isInitialized = memoizedIsInitialized;
3463            if (isInitialized != -1) return isInitialized == 1;
3464    
3465            if (!hasNameId()) {
3466              memoizedIsInitialized = 0;
3467              return false;
3468            }
3469            if (!hasValue()) {
3470              memoizedIsInitialized = 0;
3471              return false;
3472            }
3473            if (!getValue().isInitialized()) {
3474              memoizedIsInitialized = 0;
3475              return false;
3476            }
3477            memoizedIsInitialized = 1;
3478            return true;
3479          }
3480    
3481          public void writeTo(com.google.protobuf.CodedOutputStream output)
3482                              throws java.io.IOException {
3483            getSerializedSize();
3484            if (((bitField0_ & 0x00000001) == 0x00000001)) {
3485              output.writeInt32(1, nameId_);
3486            }
3487            if (((bitField0_ & 0x00000002) == 0x00000002)) {
3488              output.writeMessage(2, value_);
3489            }
3490          }
3491    
3492          private int memoizedSerializedSize = -1;
3493          public int getSerializedSize() {
3494            int size = memoizedSerializedSize;
3495            if (size != -1) return size;
3496    
3497            size = 0;
3498            if (((bitField0_ & 0x00000001) == 0x00000001)) {
3499              size += com.google.protobuf.CodedOutputStream
3500                .computeInt32Size(1, nameId_);
3501            }
3502            if (((bitField0_ & 0x00000002) == 0x00000002)) {
3503              size += com.google.protobuf.CodedOutputStream
3504                .computeMessageSize(2, value_);
3505            }
3506            memoizedSerializedSize = size;
3507            return size;
3508          }
3509    
3510          private static final long serialVersionUID = 0L;
3511          @java.lang.Override
3512          protected java.lang.Object writeReplace()
3513              throws java.io.ObjectStreamException {
3514            return super.writeReplace();
3515          }
3516    
3517          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3518              com.google.protobuf.ByteString data)
3519              throws com.google.protobuf.InvalidProtocolBufferException {
3520            return PARSER.parseFrom(data);
3521          }
3522          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3523              com.google.protobuf.ByteString data,
3524              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3525              throws com.google.protobuf.InvalidProtocolBufferException {
3526            return PARSER.parseFrom(data, extensionRegistry);
3527          }
3528          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(byte[] data)
3529              throws com.google.protobuf.InvalidProtocolBufferException {
3530            return PARSER.parseFrom(data);
3531          }
3532          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3533              byte[] data,
3534              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3535              throws com.google.protobuf.InvalidProtocolBufferException {
3536            return PARSER.parseFrom(data, extensionRegistry);
3537          }
3538          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(java.io.InputStream input)
3539              throws java.io.IOException {
3540            return PARSER.parseFrom(input);
3541          }
3542          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3543              java.io.InputStream input,
3544              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3545              throws java.io.IOException {
3546            return PARSER.parseFrom(input, extensionRegistry);
3547          }
3548          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseDelimitedFrom(java.io.InputStream input)
3549              throws java.io.IOException {
3550            return PARSER.parseDelimitedFrom(input);
3551          }
3552          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseDelimitedFrom(
3553              java.io.InputStream input,
3554              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3555              throws java.io.IOException {
3556            return PARSER.parseDelimitedFrom(input, extensionRegistry);
3557          }
3558          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3559              com.google.protobuf.CodedInputStream input)
3560              throws java.io.IOException {
3561            return PARSER.parseFrom(input);
3562          }
3563          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3564              com.google.protobuf.CodedInputStream input,
3565              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3566              throws java.io.IOException {
3567            return PARSER.parseFrom(input, extensionRegistry);
3568          }
3569    
3570          public static Builder newBuilder() { return Builder.create(); }
3571          public Builder newBuilderForType() { return newBuilder(); }
3572          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument prototype) {
3573            return newBuilder().mergeFrom(prototype);
3574          }
3575          public Builder toBuilder() { return newBuilder(this); }
3576    
3577          /**
3578           * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation.Argument}
3579           */
3580          public static final class Builder extends
3581              com.google.protobuf.GeneratedMessageLite.Builder<
3582                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument, Builder>
3583              implements org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.ArgumentOrBuilder {
3584            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.newBuilder()
3585            private Builder() {
3586              maybeForceBuilderInitialization();
3587            }
3588    
3589            private void maybeForceBuilderInitialization() {
3590            }
3591            private static Builder create() {
3592              return new Builder();
3593            }
3594    
3595            public Builder clear() {
3596              super.clear();
3597              nameId_ = 0;
3598              bitField0_ = (bitField0_ & ~0x00000001);
3599              value_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3600              bitField0_ = (bitField0_ & ~0x00000002);
3601              return this;
3602            }
3603    
3604            public Builder clone() {
3605              return create().mergeFrom(buildPartial());
3606            }
3607    
3608            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument getDefaultInstanceForType() {
3609              return org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.getDefaultInstance();
3610            }
3611    
3612            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument build() {
3613              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument result = buildPartial();
3614              if (!result.isInitialized()) {
3615                throw newUninitializedMessageException(result);
3616              }
3617              return result;
3618            }
3619    
3620            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument buildPartial() {
3621              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument result = new org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument(this);
3622              int from_bitField0_ = bitField0_;
3623              int to_bitField0_ = 0;
3624              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
3625                to_bitField0_ |= 0x00000001;
3626              }
3627              result.nameId_ = nameId_;
3628              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
3629                to_bitField0_ |= 0x00000002;
3630              }
3631              result.value_ = value_;
3632              result.bitField0_ = to_bitField0_;
3633              return result;
3634            }
3635    
3636            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument other) {
3637              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.getDefaultInstance()) return this;
3638              if (other.hasNameId()) {
3639                setNameId(other.getNameId());
3640              }
3641              if (other.hasValue()) {
3642                mergeValue(other.getValue());
3643              }
3644              return this;
3645            }
3646    
3647            public final boolean isInitialized() {
3648              if (!hasNameId()) {
3649                
3650                return false;
3651              }
3652              if (!hasValue()) {
3653                
3654                return false;
3655              }
3656              if (!getValue().isInitialized()) {
3657                
3658                return false;
3659              }
3660              return true;
3661            }
3662    
3663            public Builder mergeFrom(
3664                com.google.protobuf.CodedInputStream input,
3665                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3666                throws java.io.IOException {
3667              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parsedMessage = null;
3668              try {
3669                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
3670              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3671                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument) e.getUnfinishedMessage();
3672                throw e;
3673              } finally {
3674                if (parsedMessage != null) {
3675                  mergeFrom(parsedMessage);
3676                }
3677              }
3678              return this;
3679            }
3680            private int bitField0_;
3681    
3682            // required int32 name_id = 1;
3683            private int nameId_ ;
3684            /**
3685             * <code>required int32 name_id = 1;</code>
3686             *
3687             * <pre>
3688             * id in StringTable
3689             * </pre>
3690             */
3691            public boolean hasNameId() {
3692              return ((bitField0_ & 0x00000001) == 0x00000001);
3693            }
3694            /**
3695             * <code>required int32 name_id = 1;</code>
3696             *
3697             * <pre>
3698             * id in StringTable
3699             * </pre>
3700             */
3701            public int getNameId() {
3702              return nameId_;
3703            }
3704            /**
3705             * <code>required int32 name_id = 1;</code>
3706             *
3707             * <pre>
3708             * id in StringTable
3709             * </pre>
3710             */
3711            public Builder setNameId(int value) {
3712              bitField0_ |= 0x00000001;
3713              nameId_ = value;
3714              
3715              return this;
3716            }
3717            /**
3718             * <code>required int32 name_id = 1;</code>
3719             *
3720             * <pre>
3721             * id in StringTable
3722             * </pre>
3723             */
3724            public Builder clearNameId() {
3725              bitField0_ = (bitField0_ & ~0x00000001);
3726              nameId_ = 0;
3727              
3728              return this;
3729            }
3730    
3731            // required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;
3732            private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3733            /**
3734             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3735             */
3736            public boolean hasValue() {
3737              return ((bitField0_ & 0x00000002) == 0x00000002);
3738            }
3739            /**
3740             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3741             */
3742            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getValue() {
3743              return value_;
3744            }
3745            /**
3746             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3747             */
3748            public Builder setValue(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3749              if (value == null) {
3750                throw new NullPointerException();
3751              }
3752              value_ = value;
3753    
3754              bitField0_ |= 0x00000002;
3755              return this;
3756            }
3757            /**
3758             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3759             */
3760            public Builder setValue(
3761                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3762              value_ = builderForValue.build();
3763    
3764              bitField0_ |= 0x00000002;
3765              return this;
3766            }
3767            /**
3768             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3769             */
3770            public Builder mergeValue(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3771              if (((bitField0_ & 0x00000002) == 0x00000002) &&
3772                  value_ != org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance()) {
3773                value_ =
3774                  org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.newBuilder(value_).mergeFrom(value).buildPartial();
3775              } else {
3776                value_ = value;
3777              }
3778    
3779              bitField0_ |= 0x00000002;
3780              return this;
3781            }
3782            /**
3783             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3784             */
3785            public Builder clearValue() {
3786              value_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3787    
3788              bitField0_ = (bitField0_ & ~0x00000002);
3789              return this;
3790            }
3791    
3792            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Annotation.Argument)
3793          }
3794    
3795          static {
3796            defaultInstance = new Argument(true);
3797            defaultInstance.initFields();
3798          }
3799    
3800          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Annotation.Argument)
3801        }
3802    
3803        private int bitField0_;
3804        // required int32 id = 1;
3805        public static final int ID_FIELD_NUMBER = 1;
3806        private int id_;
3807        /**
3808         * <code>required int32 id = 1;</code>
3809         *
3810         * <pre>
3811         * Class FQ name id
3812         * </pre>
3813         */
3814        public boolean hasId() {
3815          return ((bitField0_ & 0x00000001) == 0x00000001);
3816        }
3817        /**
3818         * <code>required int32 id = 1;</code>
3819         *
3820         * <pre>
3821         * Class FQ name id
3822         * </pre>
3823         */
3824        public int getId() {
3825          return id_;
3826        }
3827    
3828        // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;
3829        public static final int ARGUMENT_FIELD_NUMBER = 2;
3830        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> argument_;
3831        /**
3832         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3833         */
3834        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> getArgumentList() {
3835          return argument_;
3836        }
3837        /**
3838         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3839         */
3840        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.ArgumentOrBuilder> 
3841            getArgumentOrBuilderList() {
3842          return argument_;
3843        }
3844        /**
3845         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3846         */
3847        public int getArgumentCount() {
3848          return argument_.size();
3849        }
3850        /**
3851         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3852         */
3853        public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument getArgument(int index) {
3854          return argument_.get(index);
3855        }
3856        /**
3857         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3858         */
3859        public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.ArgumentOrBuilder getArgumentOrBuilder(
3860            int index) {
3861          return argument_.get(index);
3862        }
3863    
3864        private void initFields() {
3865          id_ = 0;
3866          argument_ = java.util.Collections.emptyList();
3867        }
3868        private byte memoizedIsInitialized = -1;
3869        public final boolean isInitialized() {
3870          byte isInitialized = memoizedIsInitialized;
3871          if (isInitialized != -1) return isInitialized == 1;
3872    
3873          if (!hasId()) {
3874            memoizedIsInitialized = 0;
3875            return false;
3876          }
3877          for (int i = 0; i < getArgumentCount(); i++) {
3878            if (!getArgument(i).isInitialized()) {
3879              memoizedIsInitialized = 0;
3880              return false;
3881            }
3882          }
3883          memoizedIsInitialized = 1;
3884          return true;
3885        }
3886    
3887        public void writeTo(com.google.protobuf.CodedOutputStream output)
3888                            throws java.io.IOException {
3889          getSerializedSize();
3890          if (((bitField0_ & 0x00000001) == 0x00000001)) {
3891            output.writeInt32(1, id_);
3892          }
3893          for (int i = 0; i < argument_.size(); i++) {
3894            output.writeMessage(2, argument_.get(i));
3895          }
3896        }
3897    
3898        private int memoizedSerializedSize = -1;
3899        public int getSerializedSize() {
3900          int size = memoizedSerializedSize;
3901          if (size != -1) return size;
3902    
3903          size = 0;
3904          if (((bitField0_ & 0x00000001) == 0x00000001)) {
3905            size += com.google.protobuf.CodedOutputStream
3906              .computeInt32Size(1, id_);
3907          }
3908          for (int i = 0; i < argument_.size(); i++) {
3909            size += com.google.protobuf.CodedOutputStream
3910              .computeMessageSize(2, argument_.get(i));
3911          }
3912          memoizedSerializedSize = size;
3913          return size;
3914        }
3915    
3916        private static final long serialVersionUID = 0L;
3917        @java.lang.Override
3918        protected java.lang.Object writeReplace()
3919            throws java.io.ObjectStreamException {
3920          return super.writeReplace();
3921        }
3922    
3923        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3924            com.google.protobuf.ByteString data)
3925            throws com.google.protobuf.InvalidProtocolBufferException {
3926          return PARSER.parseFrom(data);
3927        }
3928        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3929            com.google.protobuf.ByteString data,
3930            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3931            throws com.google.protobuf.InvalidProtocolBufferException {
3932          return PARSER.parseFrom(data, extensionRegistry);
3933        }
3934        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(byte[] data)
3935            throws com.google.protobuf.InvalidProtocolBufferException {
3936          return PARSER.parseFrom(data);
3937        }
3938        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3939            byte[] data,
3940            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3941            throws com.google.protobuf.InvalidProtocolBufferException {
3942          return PARSER.parseFrom(data, extensionRegistry);
3943        }
3944        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(java.io.InputStream input)
3945            throws java.io.IOException {
3946          return PARSER.parseFrom(input);
3947        }
3948        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3949            java.io.InputStream input,
3950            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3951            throws java.io.IOException {
3952          return PARSER.parseFrom(input, extensionRegistry);
3953        }
3954        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseDelimitedFrom(java.io.InputStream input)
3955            throws java.io.IOException {
3956          return PARSER.parseDelimitedFrom(input);
3957        }
3958        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseDelimitedFrom(
3959            java.io.InputStream input,
3960            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3961            throws java.io.IOException {
3962          return PARSER.parseDelimitedFrom(input, extensionRegistry);
3963        }
3964        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3965            com.google.protobuf.CodedInputStream input)
3966            throws java.io.IOException {
3967          return PARSER.parseFrom(input);
3968        }
3969        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3970            com.google.protobuf.CodedInputStream input,
3971            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3972            throws java.io.IOException {
3973          return PARSER.parseFrom(input, extensionRegistry);
3974        }
3975    
3976        public static Builder newBuilder() { return Builder.create(); }
3977        public Builder newBuilderForType() { return newBuilder(); }
3978        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation prototype) {
3979          return newBuilder().mergeFrom(prototype);
3980        }
3981        public Builder toBuilder() { return newBuilder(this); }
3982    
3983        /**
3984         * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation}
3985         */
3986        public static final class Builder extends
3987            com.google.protobuf.GeneratedMessageLite.Builder<
3988              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation, Builder>
3989            implements org.jetbrains.kotlin.serialization.ProtoBuf.AnnotationOrBuilder {
3990          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.newBuilder()
3991          private Builder() {
3992            maybeForceBuilderInitialization();
3993          }
3994    
3995          private void maybeForceBuilderInitialization() {
3996          }
3997          private static Builder create() {
3998            return new Builder();
3999          }
4000    
4001          public Builder clear() {
4002            super.clear();
4003            id_ = 0;
4004            bitField0_ = (bitField0_ & ~0x00000001);
4005            argument_ = java.util.Collections.emptyList();
4006            bitField0_ = (bitField0_ & ~0x00000002);
4007            return this;
4008          }
4009    
4010          public Builder clone() {
4011            return create().mergeFrom(buildPartial());
4012          }
4013    
4014          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getDefaultInstanceForType() {
4015            return org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
4016          }
4017    
4018          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation build() {
4019            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation result = buildPartial();
4020            if (!result.isInitialized()) {
4021              throw newUninitializedMessageException(result);
4022            }
4023            return result;
4024          }
4025    
4026          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation buildPartial() {
4027            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation result = new org.jetbrains.kotlin.serialization.ProtoBuf.Annotation(this);
4028            int from_bitField0_ = bitField0_;
4029            int to_bitField0_ = 0;
4030            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
4031              to_bitField0_ |= 0x00000001;
4032            }
4033            result.id_ = id_;
4034            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4035              argument_ = java.util.Collections.unmodifiableList(argument_);
4036              bitField0_ = (bitField0_ & ~0x00000002);
4037            }
4038            result.argument_ = argument_;
4039            result.bitField0_ = to_bitField0_;
4040            return result;
4041          }
4042    
4043          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation other) {
4044            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance()) return this;
4045            if (other.hasId()) {
4046              setId(other.getId());
4047            }
4048            if (!other.argument_.isEmpty()) {
4049              if (argument_.isEmpty()) {
4050                argument_ = other.argument_;
4051                bitField0_ = (bitField0_ & ~0x00000002);
4052              } else {
4053                ensureArgumentIsMutable();
4054                argument_.addAll(other.argument_);
4055              }
4056              
4057            }
4058            return this;
4059          }
4060    
4061          public final boolean isInitialized() {
4062            if (!hasId()) {
4063              
4064              return false;
4065            }
4066            for (int i = 0; i < getArgumentCount(); i++) {
4067              if (!getArgument(i).isInitialized()) {
4068                
4069                return false;
4070              }
4071            }
4072            return true;
4073          }
4074    
4075          public Builder mergeFrom(
4076              com.google.protobuf.CodedInputStream input,
4077              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4078              throws java.io.IOException {
4079            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parsedMessage = null;
4080            try {
4081              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
4082            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4083              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Annotation) e.getUnfinishedMessage();
4084              throw e;
4085            } finally {
4086              if (parsedMessage != null) {
4087                mergeFrom(parsedMessage);
4088              }
4089            }
4090            return this;
4091          }
4092          private int bitField0_;
4093    
4094          // required int32 id = 1;
4095          private int id_ ;
4096          /**
4097           * <code>required int32 id = 1;</code>
4098           *
4099           * <pre>
4100           * Class FQ name id
4101           * </pre>
4102           */
4103          public boolean hasId() {
4104            return ((bitField0_ & 0x00000001) == 0x00000001);
4105          }
4106          /**
4107           * <code>required int32 id = 1;</code>
4108           *
4109           * <pre>
4110           * Class FQ name id
4111           * </pre>
4112           */
4113          public int getId() {
4114            return id_;
4115          }
4116          /**
4117           * <code>required int32 id = 1;</code>
4118           *
4119           * <pre>
4120           * Class FQ name id
4121           * </pre>
4122           */
4123          public Builder setId(int value) {
4124            bitField0_ |= 0x00000001;
4125            id_ = value;
4126            
4127            return this;
4128          }
4129          /**
4130           * <code>required int32 id = 1;</code>
4131           *
4132           * <pre>
4133           * Class FQ name id
4134           * </pre>
4135           */
4136          public Builder clearId() {
4137            bitField0_ = (bitField0_ & ~0x00000001);
4138            id_ = 0;
4139            
4140            return this;
4141          }
4142    
4143          // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;
4144          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> argument_ =
4145            java.util.Collections.emptyList();
4146          private void ensureArgumentIsMutable() {
4147            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
4148              argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument>(argument_);
4149              bitField0_ |= 0x00000002;
4150             }
4151          }
4152    
4153          /**
4154           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4155           */
4156          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> getArgumentList() {
4157            return java.util.Collections.unmodifiableList(argument_);
4158          }
4159          /**
4160           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4161           */
4162          public int getArgumentCount() {
4163            return argument_.size();
4164          }
4165          /**
4166           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4167           */
4168          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument getArgument(int index) {
4169            return argument_.get(index);
4170          }
4171          /**
4172           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4173           */
4174          public Builder setArgument(
4175              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument value) {
4176            if (value == null) {
4177              throw new NullPointerException();
4178            }
4179            ensureArgumentIsMutable();
4180            argument_.set(index, value);
4181    
4182            return this;
4183          }
4184          /**
4185           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4186           */
4187          public Builder setArgument(
4188              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Builder builderForValue) {
4189            ensureArgumentIsMutable();
4190            argument_.set(index, builderForValue.build());
4191    
4192            return this;
4193          }
4194          /**
4195           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4196           */
4197          public Builder addArgument(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument value) {
4198            if (value == null) {
4199              throw new NullPointerException();
4200            }
4201            ensureArgumentIsMutable();
4202            argument_.add(value);
4203    
4204            return this;
4205          }
4206          /**
4207           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4208           */
4209          public Builder addArgument(
4210              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument value) {
4211            if (value == null) {
4212              throw new NullPointerException();
4213            }
4214            ensureArgumentIsMutable();
4215            argument_.add(index, value);
4216    
4217            return this;
4218          }
4219          /**
4220           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4221           */
4222          public Builder addArgument(
4223              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Builder builderForValue) {
4224            ensureArgumentIsMutable();
4225            argument_.add(builderForValue.build());
4226    
4227            return this;
4228          }
4229          /**
4230           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4231           */
4232          public Builder addArgument(
4233              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Builder builderForValue) {
4234            ensureArgumentIsMutable();
4235            argument_.add(index, builderForValue.build());
4236    
4237            return this;
4238          }
4239          /**
4240           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4241           */
4242          public Builder addAllArgument(
4243              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> values) {
4244            ensureArgumentIsMutable();
4245            super.addAll(values, argument_);
4246    
4247            return this;
4248          }
4249          /**
4250           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4251           */
4252          public Builder clearArgument() {
4253            argument_ = java.util.Collections.emptyList();
4254            bitField0_ = (bitField0_ & ~0x00000002);
4255    
4256            return this;
4257          }
4258          /**
4259           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4260           */
4261          public Builder removeArgument(int index) {
4262            ensureArgumentIsMutable();
4263            argument_.remove(index);
4264    
4265            return this;
4266          }
4267    
4268          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Annotation)
4269        }
4270    
4271        static {
4272          defaultInstance = new Annotation(true);
4273          defaultInstance.initFields();
4274        }
4275    
4276        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Annotation)
4277      }
4278    
4279      public interface TypeOrBuilder extends 
4280           com.google.protobuf.GeneratedMessageLite.
4281                ExtendableMessageOrBuilder<Type> {
4282    
4283        // required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;
4284        /**
4285         * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
4286         */
4287        boolean hasConstructor();
4288        /**
4289         * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
4290         */
4291        org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor getConstructor();
4292    
4293        // repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;
4294        /**
4295         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
4296         */
4297        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> 
4298            getArgumentList();
4299        /**
4300         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
4301         */
4302        org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index);
4303        /**
4304         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
4305         */
4306        int getArgumentCount();
4307    
4308        // optional bool nullable = 3 [default = false];
4309        /**
4310         * <code>optional bool nullable = 3 [default = false];</code>
4311         */
4312        boolean hasNullable();
4313        /**
4314         * <code>optional bool nullable = 3 [default = false];</code>
4315         */
4316        boolean getNullable();
4317    
4318        // optional int32 flexible_type_capabilities_id = 4;
4319        /**
4320         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
4321         *
4322         * <pre>
4323         * Id in the StringTable
4324         * If this field is set, the type is flexible.
4325         * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
4326         * </pre>
4327         */
4328        boolean hasFlexibleTypeCapabilitiesId();
4329        /**
4330         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
4331         *
4332         * <pre>
4333         * Id in the StringTable
4334         * If this field is set, the type is flexible.
4335         * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
4336         * </pre>
4337         */
4338        int getFlexibleTypeCapabilitiesId();
4339    
4340        // optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;
4341        /**
4342         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
4343         *
4344         * <pre>
4345         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
4346         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
4347         * to represent flexible types is too many wasted bytes.
4348         * </pre>
4349         */
4350        boolean hasFlexibleUpperBound();
4351        /**
4352         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
4353         *
4354         * <pre>
4355         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
4356         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
4357         * to represent flexible types is too many wasted bytes.
4358         * </pre>
4359         */
4360        org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound();
4361      }
4362      /**
4363       * Protobuf type {@code org.jetbrains.kotlin.serialization.Type}
4364       */
4365      public static final class Type extends
4366          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
4367            Type> implements TypeOrBuilder {
4368        // Use Type.newBuilder() to construct.
4369        private Type(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Type, ?> builder) {
4370          super(builder);
4371    
4372        }
4373        private Type(boolean noInit) {}
4374    
4375        private static final Type defaultInstance;
4376        public static Type getDefaultInstance() {
4377          return defaultInstance;
4378        }
4379    
4380        public Type getDefaultInstanceForType() {
4381          return defaultInstance;
4382        }
4383    
4384        private Type(
4385            com.google.protobuf.CodedInputStream input,
4386            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4387            throws com.google.protobuf.InvalidProtocolBufferException {
4388          initFields();
4389          int mutable_bitField0_ = 0;
4390          try {
4391            boolean done = false;
4392            while (!done) {
4393              int tag = input.readTag();
4394              switch (tag) {
4395                case 0:
4396                  done = true;
4397                  break;
4398                default: {
4399                  if (!parseUnknownField(input,
4400                                         extensionRegistry, tag)) {
4401                    done = true;
4402                  }
4403                  break;
4404                }
4405                case 10: {
4406                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Builder subBuilder = null;
4407                  if (((bitField0_ & 0x00000001) == 0x00000001)) {
4408                    subBuilder = constructor_.toBuilder();
4409                  }
4410                  constructor_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.PARSER, extensionRegistry);
4411                  if (subBuilder != null) {
4412                    subBuilder.mergeFrom(constructor_);
4413                    constructor_ = subBuilder.buildPartial();
4414                  }
4415                  bitField0_ |= 0x00000001;
4416                  break;
4417                }
4418                case 18: {
4419                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
4420                    argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument>();
4421                    mutable_bitField0_ |= 0x00000002;
4422                  }
4423                  argument_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.PARSER, extensionRegistry));
4424                  break;
4425                }
4426                case 24: {
4427                  bitField0_ |= 0x00000002;
4428                  nullable_ = input.readBool();
4429                  break;
4430                }
4431                case 32: {
4432                  bitField0_ |= 0x00000004;
4433                  flexibleTypeCapabilitiesId_ = input.readInt32();
4434                  break;
4435                }
4436                case 42: {
4437                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
4438                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
4439                    subBuilder = flexibleUpperBound_.toBuilder();
4440                  }
4441                  flexibleUpperBound_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
4442                  if (subBuilder != null) {
4443                    subBuilder.mergeFrom(flexibleUpperBound_);
4444                    flexibleUpperBound_ = subBuilder.buildPartial();
4445                  }
4446                  bitField0_ |= 0x00000008;
4447                  break;
4448                }
4449              }
4450            }
4451          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4452            throw e.setUnfinishedMessage(this);
4453          } catch (java.io.IOException e) {
4454            throw new com.google.protobuf.InvalidProtocolBufferException(
4455                e.getMessage()).setUnfinishedMessage(this);
4456          } finally {
4457            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
4458              argument_ = java.util.Collections.unmodifiableList(argument_);
4459            }
4460            makeExtensionsImmutable();
4461          }
4462        }
4463        public static com.google.protobuf.Parser<Type> PARSER =
4464            new com.google.protobuf.AbstractParser<Type>() {
4465          public Type parsePartialFrom(
4466              com.google.protobuf.CodedInputStream input,
4467              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4468              throws com.google.protobuf.InvalidProtocolBufferException {
4469            return new Type(input, extensionRegistry);
4470          }
4471        };
4472    
4473        @java.lang.Override
4474        public com.google.protobuf.Parser<Type> getParserForType() {
4475          return PARSER;
4476        }
4477    
4478        public interface ConstructorOrBuilder
4479            extends com.google.protobuf.MessageLiteOrBuilder {
4480    
4481          // optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];
4482          /**
4483           * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4484           */
4485          boolean hasKind();
4486          /**
4487           * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4488           */
4489          org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind getKind();
4490    
4491          // required int32 id = 2;
4492          /**
4493           * <code>required int32 id = 2;</code>
4494           *
4495           * <pre>
4496           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4497           * </pre>
4498           */
4499          boolean hasId();
4500          /**
4501           * <code>required int32 id = 2;</code>
4502           *
4503           * <pre>
4504           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4505           * </pre>
4506           */
4507          int getId();
4508        }
4509        /**
4510         * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Constructor}
4511         */
4512        public static final class Constructor extends
4513            com.google.protobuf.GeneratedMessageLite
4514            implements ConstructorOrBuilder {
4515          // Use Constructor.newBuilder() to construct.
4516          private Constructor(com.google.protobuf.GeneratedMessageLite.Builder builder) {
4517            super(builder);
4518    
4519          }
4520          private Constructor(boolean noInit) {}
4521    
4522          private static final Constructor defaultInstance;
4523          public static Constructor getDefaultInstance() {
4524            return defaultInstance;
4525          }
4526    
4527          public Constructor getDefaultInstanceForType() {
4528            return defaultInstance;
4529          }
4530    
4531          private Constructor(
4532              com.google.protobuf.CodedInputStream input,
4533              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4534              throws com.google.protobuf.InvalidProtocolBufferException {
4535            initFields();
4536            int mutable_bitField0_ = 0;
4537            try {
4538              boolean done = false;
4539              while (!done) {
4540                int tag = input.readTag();
4541                switch (tag) {
4542                  case 0:
4543                    done = true;
4544                    break;
4545                  default: {
4546                    if (!parseUnknownField(input,
4547                                           extensionRegistry, tag)) {
4548                      done = true;
4549                    }
4550                    break;
4551                  }
4552                  case 8: {
4553                    int rawValue = input.readEnum();
4554                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind value = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind.valueOf(rawValue);
4555                    if (value != null) {
4556                      bitField0_ |= 0x00000001;
4557                      kind_ = value;
4558                    }
4559                    break;
4560                  }
4561                  case 16: {
4562                    bitField0_ |= 0x00000002;
4563                    id_ = input.readInt32();
4564                    break;
4565                  }
4566                }
4567              }
4568            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4569              throw e.setUnfinishedMessage(this);
4570            } catch (java.io.IOException e) {
4571              throw new com.google.protobuf.InvalidProtocolBufferException(
4572                  e.getMessage()).setUnfinishedMessage(this);
4573            } finally {
4574              makeExtensionsImmutable();
4575            }
4576          }
4577          public static com.google.protobuf.Parser<Constructor> PARSER =
4578              new com.google.protobuf.AbstractParser<Constructor>() {
4579            public Constructor parsePartialFrom(
4580                com.google.protobuf.CodedInputStream input,
4581                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4582                throws com.google.protobuf.InvalidProtocolBufferException {
4583              return new Constructor(input, extensionRegistry);
4584            }
4585          };
4586    
4587          @java.lang.Override
4588          public com.google.protobuf.Parser<Constructor> getParserForType() {
4589            return PARSER;
4590          }
4591    
4592          /**
4593           * Protobuf enum {@code org.jetbrains.kotlin.serialization.Type.Constructor.Kind}
4594           */
4595          public enum Kind
4596              implements com.google.protobuf.Internal.EnumLite {
4597            /**
4598             * <code>CLASS = 0;</code>
4599             */
4600            CLASS(0, 0),
4601            /**
4602             * <code>TYPE_PARAMETER = 1;</code>
4603             */
4604            TYPE_PARAMETER(1, 1),
4605            ;
4606    
4607            /**
4608             * <code>CLASS = 0;</code>
4609             */
4610            public static final int CLASS_VALUE = 0;
4611            /**
4612             * <code>TYPE_PARAMETER = 1;</code>
4613             */
4614            public static final int TYPE_PARAMETER_VALUE = 1;
4615    
4616    
4617            public final int getNumber() { return value; }
4618    
4619            public static Kind valueOf(int value) {
4620              switch (value) {
4621                case 0: return CLASS;
4622                case 1: return TYPE_PARAMETER;
4623                default: return null;
4624              }
4625            }
4626    
4627            public static com.google.protobuf.Internal.EnumLiteMap<Kind>
4628                internalGetValueMap() {
4629              return internalValueMap;
4630            }
4631            private static com.google.protobuf.Internal.EnumLiteMap<Kind>
4632                internalValueMap =
4633                  new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
4634                    public Kind findValueByNumber(int number) {
4635                      return Kind.valueOf(number);
4636                    }
4637                  };
4638    
4639            private final int value;
4640    
4641            private Kind(int index, int value) {
4642              this.value = value;
4643            }
4644    
4645            // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Type.Constructor.Kind)
4646          }
4647    
4648          private int bitField0_;
4649          // optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];
4650          public static final int KIND_FIELD_NUMBER = 1;
4651          private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind kind_;
4652          /**
4653           * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4654           */
4655          public boolean hasKind() {
4656            return ((bitField0_ & 0x00000001) == 0x00000001);
4657          }
4658          /**
4659           * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4660           */
4661          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind getKind() {
4662            return kind_;
4663          }
4664    
4665          // required int32 id = 2;
4666          public static final int ID_FIELD_NUMBER = 2;
4667          private int id_;
4668          /**
4669           * <code>required int32 id = 2;</code>
4670           *
4671           * <pre>
4672           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4673           * </pre>
4674           */
4675          public boolean hasId() {
4676            return ((bitField0_ & 0x00000002) == 0x00000002);
4677          }
4678          /**
4679           * <code>required int32 id = 2;</code>
4680           *
4681           * <pre>
4682           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4683           * </pre>
4684           */
4685          public int getId() {
4686            return id_;
4687          }
4688    
4689          private void initFields() {
4690            kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
4691            id_ = 0;
4692          }
4693          private byte memoizedIsInitialized = -1;
4694          public final boolean isInitialized() {
4695            byte isInitialized = memoizedIsInitialized;
4696            if (isInitialized != -1) return isInitialized == 1;
4697    
4698            if (!hasId()) {
4699              memoizedIsInitialized = 0;
4700              return false;
4701            }
4702            memoizedIsInitialized = 1;
4703            return true;
4704          }
4705    
4706          public void writeTo(com.google.protobuf.CodedOutputStream output)
4707                              throws java.io.IOException {
4708            getSerializedSize();
4709            if (((bitField0_ & 0x00000001) == 0x00000001)) {
4710              output.writeEnum(1, kind_.getNumber());
4711            }
4712            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4713              output.writeInt32(2, id_);
4714            }
4715          }
4716    
4717          private int memoizedSerializedSize = -1;
4718          public int getSerializedSize() {
4719            int size = memoizedSerializedSize;
4720            if (size != -1) return size;
4721    
4722            size = 0;
4723            if (((bitField0_ & 0x00000001) == 0x00000001)) {
4724              size += com.google.protobuf.CodedOutputStream
4725                .computeEnumSize(1, kind_.getNumber());
4726            }
4727            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4728              size += com.google.protobuf.CodedOutputStream
4729                .computeInt32Size(2, id_);
4730            }
4731            memoizedSerializedSize = size;
4732            return size;
4733          }
4734    
4735          private static final long serialVersionUID = 0L;
4736          @java.lang.Override
4737          protected java.lang.Object writeReplace()
4738              throws java.io.ObjectStreamException {
4739            return super.writeReplace();
4740          }
4741    
4742          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4743              com.google.protobuf.ByteString data)
4744              throws com.google.protobuf.InvalidProtocolBufferException {
4745            return PARSER.parseFrom(data);
4746          }
4747          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4748              com.google.protobuf.ByteString data,
4749              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4750              throws com.google.protobuf.InvalidProtocolBufferException {
4751            return PARSER.parseFrom(data, extensionRegistry);
4752          }
4753          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(byte[] data)
4754              throws com.google.protobuf.InvalidProtocolBufferException {
4755            return PARSER.parseFrom(data);
4756          }
4757          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4758              byte[] data,
4759              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4760              throws com.google.protobuf.InvalidProtocolBufferException {
4761            return PARSER.parseFrom(data, extensionRegistry);
4762          }
4763          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(java.io.InputStream input)
4764              throws java.io.IOException {
4765            return PARSER.parseFrom(input);
4766          }
4767          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4768              java.io.InputStream input,
4769              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4770              throws java.io.IOException {
4771            return PARSER.parseFrom(input, extensionRegistry);
4772          }
4773          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseDelimitedFrom(java.io.InputStream input)
4774              throws java.io.IOException {
4775            return PARSER.parseDelimitedFrom(input);
4776          }
4777          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseDelimitedFrom(
4778              java.io.InputStream input,
4779              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4780              throws java.io.IOException {
4781            return PARSER.parseDelimitedFrom(input, extensionRegistry);
4782          }
4783          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4784              com.google.protobuf.CodedInputStream input)
4785              throws java.io.IOException {
4786            return PARSER.parseFrom(input);
4787          }
4788          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4789              com.google.protobuf.CodedInputStream input,
4790              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4791              throws java.io.IOException {
4792            return PARSER.parseFrom(input, extensionRegistry);
4793          }
4794    
4795          public static Builder newBuilder() { return Builder.create(); }
4796          public Builder newBuilderForType() { return newBuilder(); }
4797          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor prototype) {
4798            return newBuilder().mergeFrom(prototype);
4799          }
4800          public Builder toBuilder() { return newBuilder(this); }
4801    
4802          /**
4803           * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Constructor}
4804           */
4805          public static final class Builder extends
4806              com.google.protobuf.GeneratedMessageLite.Builder<
4807                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor, Builder>
4808              implements org.jetbrains.kotlin.serialization.ProtoBuf.Type.ConstructorOrBuilder {
4809            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.newBuilder()
4810            private Builder() {
4811              maybeForceBuilderInitialization();
4812            }
4813    
4814            private void maybeForceBuilderInitialization() {
4815            }
4816            private static Builder create() {
4817              return new Builder();
4818            }
4819    
4820            public Builder clear() {
4821              super.clear();
4822              kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
4823              bitField0_ = (bitField0_ & ~0x00000001);
4824              id_ = 0;
4825              bitField0_ = (bitField0_ & ~0x00000002);
4826              return this;
4827            }
4828    
4829            public Builder clone() {
4830              return create().mergeFrom(buildPartial());
4831            }
4832    
4833            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor getDefaultInstanceForType() {
4834              return org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
4835            }
4836    
4837            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor build() {
4838              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor result = buildPartial();
4839              if (!result.isInitialized()) {
4840                throw newUninitializedMessageException(result);
4841              }
4842              return result;
4843            }
4844    
4845            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor buildPartial() {
4846              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor result = new org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor(this);
4847              int from_bitField0_ = bitField0_;
4848              int to_bitField0_ = 0;
4849              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
4850                to_bitField0_ |= 0x00000001;
4851              }
4852              result.kind_ = kind_;
4853              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
4854                to_bitField0_ |= 0x00000002;
4855              }
4856              result.id_ = id_;
4857              result.bitField0_ = to_bitField0_;
4858              return result;
4859            }
4860    
4861            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor other) {
4862              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance()) return this;
4863              if (other.hasKind()) {
4864                setKind(other.getKind());
4865              }
4866              if (other.hasId()) {
4867                setId(other.getId());
4868              }
4869              return this;
4870            }
4871    
4872            public final boolean isInitialized() {
4873              if (!hasId()) {
4874                
4875                return false;
4876              }
4877              return true;
4878            }
4879    
4880            public Builder mergeFrom(
4881                com.google.protobuf.CodedInputStream input,
4882                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4883                throws java.io.IOException {
4884              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parsedMessage = null;
4885              try {
4886                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
4887              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4888                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor) e.getUnfinishedMessage();
4889                throw e;
4890              } finally {
4891                if (parsedMessage != null) {
4892                  mergeFrom(parsedMessage);
4893                }
4894              }
4895              return this;
4896            }
4897            private int bitField0_;
4898    
4899            // optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];
4900            private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
4901            /**
4902             * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4903             */
4904            public boolean hasKind() {
4905              return ((bitField0_ & 0x00000001) == 0x00000001);
4906            }
4907            /**
4908             * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4909             */
4910            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind getKind() {
4911              return kind_;
4912            }
4913            /**
4914             * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4915             */
4916            public Builder setKind(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind value) {
4917              if (value == null) {
4918                throw new NullPointerException();
4919              }
4920              bitField0_ |= 0x00000001;
4921              kind_ = value;
4922              
4923              return this;
4924            }
4925            /**
4926             * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4927             */
4928            public Builder clearKind() {
4929              bitField0_ = (bitField0_ & ~0x00000001);
4930              kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
4931              
4932              return this;
4933            }
4934    
4935            // required int32 id = 2;
4936            private int id_ ;
4937            /**
4938             * <code>required int32 id = 2;</code>
4939             *
4940             * <pre>
4941             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4942             * </pre>
4943             */
4944            public boolean hasId() {
4945              return ((bitField0_ & 0x00000002) == 0x00000002);
4946            }
4947            /**
4948             * <code>required int32 id = 2;</code>
4949             *
4950             * <pre>
4951             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4952             * </pre>
4953             */
4954            public int getId() {
4955              return id_;
4956            }
4957            /**
4958             * <code>required int32 id = 2;</code>
4959             *
4960             * <pre>
4961             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4962             * </pre>
4963             */
4964            public Builder setId(int value) {
4965              bitField0_ |= 0x00000002;
4966              id_ = value;
4967              
4968              return this;
4969            }
4970            /**
4971             * <code>required int32 id = 2;</code>
4972             *
4973             * <pre>
4974             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4975             * </pre>
4976             */
4977            public Builder clearId() {
4978              bitField0_ = (bitField0_ & ~0x00000002);
4979              id_ = 0;
4980              
4981              return this;
4982            }
4983    
4984            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Type.Constructor)
4985          }
4986    
4987          static {
4988            defaultInstance = new Constructor(true);
4989            defaultInstance.initFields();
4990          }
4991    
4992          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Type.Constructor)
4993        }
4994    
4995        public interface ArgumentOrBuilder
4996            extends com.google.protobuf.MessageLiteOrBuilder {
4997    
4998          // optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];
4999          /**
5000           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5001           */
5002          boolean hasProjection();
5003          /**
5004           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5005           */
5006          org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection();
5007    
5008          // optional .org.jetbrains.kotlin.serialization.Type type = 2;
5009          /**
5010           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5011           *
5012           * <pre>
5013           * when projection is STAR, no type is written, otherwise type must be specified
5014           * </pre>
5015           */
5016          boolean hasType();
5017          /**
5018           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5019           *
5020           * <pre>
5021           * when projection is STAR, no type is written, otherwise type must be specified
5022           * </pre>
5023           */
5024          org.jetbrains.kotlin.serialization.ProtoBuf.Type getType();
5025        }
5026        /**
5027         * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Argument}
5028         */
5029        public static final class Argument extends
5030            com.google.protobuf.GeneratedMessageLite
5031            implements ArgumentOrBuilder {
5032          // Use Argument.newBuilder() to construct.
5033          private Argument(com.google.protobuf.GeneratedMessageLite.Builder builder) {
5034            super(builder);
5035    
5036          }
5037          private Argument(boolean noInit) {}
5038    
5039          private static final Argument defaultInstance;
5040          public static Argument getDefaultInstance() {
5041            return defaultInstance;
5042          }
5043    
5044          public Argument getDefaultInstanceForType() {
5045            return defaultInstance;
5046          }
5047    
5048          private Argument(
5049              com.google.protobuf.CodedInputStream input,
5050              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5051              throws com.google.protobuf.InvalidProtocolBufferException {
5052            initFields();
5053            int mutable_bitField0_ = 0;
5054            try {
5055              boolean done = false;
5056              while (!done) {
5057                int tag = input.readTag();
5058                switch (tag) {
5059                  case 0:
5060                    done = true;
5061                    break;
5062                  default: {
5063                    if (!parseUnknownField(input,
5064                                           extensionRegistry, tag)) {
5065                      done = true;
5066                    }
5067                    break;
5068                  }
5069                  case 8: {
5070                    int rawValue = input.readEnum();
5071                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection value = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.valueOf(rawValue);
5072                    if (value != null) {
5073                      bitField0_ |= 0x00000001;
5074                      projection_ = value;
5075                    }
5076                    break;
5077                  }
5078                  case 18: {
5079                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
5080                    if (((bitField0_ & 0x00000002) == 0x00000002)) {
5081                      subBuilder = type_.toBuilder();
5082                    }
5083                    type_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
5084                    if (subBuilder != null) {
5085                      subBuilder.mergeFrom(type_);
5086                      type_ = subBuilder.buildPartial();
5087                    }
5088                    bitField0_ |= 0x00000002;
5089                    break;
5090                  }
5091                }
5092              }
5093            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5094              throw e.setUnfinishedMessage(this);
5095            } catch (java.io.IOException e) {
5096              throw new com.google.protobuf.InvalidProtocolBufferException(
5097                  e.getMessage()).setUnfinishedMessage(this);
5098            } finally {
5099              makeExtensionsImmutable();
5100            }
5101          }
5102          public static com.google.protobuf.Parser<Argument> PARSER =
5103              new com.google.protobuf.AbstractParser<Argument>() {
5104            public Argument parsePartialFrom(
5105                com.google.protobuf.CodedInputStream input,
5106                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5107                throws com.google.protobuf.InvalidProtocolBufferException {
5108              return new Argument(input, extensionRegistry);
5109            }
5110          };
5111    
5112          @java.lang.Override
5113          public com.google.protobuf.Parser<Argument> getParserForType() {
5114            return PARSER;
5115          }
5116    
5117          /**
5118           * Protobuf enum {@code org.jetbrains.kotlin.serialization.Type.Argument.Projection}
5119           */
5120          public enum Projection
5121              implements com.google.protobuf.Internal.EnumLite {
5122            /**
5123             * <code>IN = 0;</code>
5124             */
5125            IN(0, 0),
5126            /**
5127             * <code>OUT = 1;</code>
5128             */
5129            OUT(1, 1),
5130            /**
5131             * <code>INV = 2;</code>
5132             */
5133            INV(2, 2),
5134            /**
5135             * <code>STAR = 3;</code>
5136             */
5137            STAR(3, 3),
5138            ;
5139    
5140            /**
5141             * <code>IN = 0;</code>
5142             */
5143            public static final int IN_VALUE = 0;
5144            /**
5145             * <code>OUT = 1;</code>
5146             */
5147            public static final int OUT_VALUE = 1;
5148            /**
5149             * <code>INV = 2;</code>
5150             */
5151            public static final int INV_VALUE = 2;
5152            /**
5153             * <code>STAR = 3;</code>
5154             */
5155            public static final int STAR_VALUE = 3;
5156    
5157    
5158            public final int getNumber() { return value; }
5159    
5160            public static Projection valueOf(int value) {
5161              switch (value) {
5162                case 0: return IN;
5163                case 1: return OUT;
5164                case 2: return INV;
5165                case 3: return STAR;
5166                default: return null;
5167              }
5168            }
5169    
5170            public static com.google.protobuf.Internal.EnumLiteMap<Projection>
5171                internalGetValueMap() {
5172              return internalValueMap;
5173            }
5174            private static com.google.protobuf.Internal.EnumLiteMap<Projection>
5175                internalValueMap =
5176                  new com.google.protobuf.Internal.EnumLiteMap<Projection>() {
5177                    public Projection findValueByNumber(int number) {
5178                      return Projection.valueOf(number);
5179                    }
5180                  };
5181    
5182            private final int value;
5183    
5184            private Projection(int index, int value) {
5185              this.value = value;
5186            }
5187    
5188            // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Type.Argument.Projection)
5189          }
5190    
5191          private int bitField0_;
5192          // optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];
5193          public static final int PROJECTION_FIELD_NUMBER = 1;
5194          private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection projection_;
5195          /**
5196           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5197           */
5198          public boolean hasProjection() {
5199            return ((bitField0_ & 0x00000001) == 0x00000001);
5200          }
5201          /**
5202           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5203           */
5204          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
5205            return projection_;
5206          }
5207    
5208          // optional .org.jetbrains.kotlin.serialization.Type type = 2;
5209          public static final int TYPE_FIELD_NUMBER = 2;
5210          private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_;
5211          /**
5212           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5213           *
5214           * <pre>
5215           * when projection is STAR, no type is written, otherwise type must be specified
5216           * </pre>
5217           */
5218          public boolean hasType() {
5219            return ((bitField0_ & 0x00000002) == 0x00000002);
5220          }
5221          /**
5222           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5223           *
5224           * <pre>
5225           * when projection is STAR, no type is written, otherwise type must be specified
5226           * </pre>
5227           */
5228          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
5229            return type_;
5230          }
5231    
5232          private void initFields() {
5233            projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5234            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5235          }
5236          private byte memoizedIsInitialized = -1;
5237          public final boolean isInitialized() {
5238            byte isInitialized = memoizedIsInitialized;
5239            if (isInitialized != -1) return isInitialized == 1;
5240    
5241            if (hasType()) {
5242              if (!getType().isInitialized()) {
5243                memoizedIsInitialized = 0;
5244                return false;
5245              }
5246            }
5247            memoizedIsInitialized = 1;
5248            return true;
5249          }
5250    
5251          public void writeTo(com.google.protobuf.CodedOutputStream output)
5252                              throws java.io.IOException {
5253            getSerializedSize();
5254            if (((bitField0_ & 0x00000001) == 0x00000001)) {
5255              output.writeEnum(1, projection_.getNumber());
5256            }
5257            if (((bitField0_ & 0x00000002) == 0x00000002)) {
5258              output.writeMessage(2, type_);
5259            }
5260          }
5261    
5262          private int memoizedSerializedSize = -1;
5263          public int getSerializedSize() {
5264            int size = memoizedSerializedSize;
5265            if (size != -1) return size;
5266    
5267            size = 0;
5268            if (((bitField0_ & 0x00000001) == 0x00000001)) {
5269              size += com.google.protobuf.CodedOutputStream
5270                .computeEnumSize(1, projection_.getNumber());
5271            }
5272            if (((bitField0_ & 0x00000002) == 0x00000002)) {
5273              size += com.google.protobuf.CodedOutputStream
5274                .computeMessageSize(2, type_);
5275            }
5276            memoizedSerializedSize = size;
5277            return size;
5278          }
5279    
5280          private static final long serialVersionUID = 0L;
5281          @java.lang.Override
5282          protected java.lang.Object writeReplace()
5283              throws java.io.ObjectStreamException {
5284            return super.writeReplace();
5285          }
5286    
5287          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5288              com.google.protobuf.ByteString data)
5289              throws com.google.protobuf.InvalidProtocolBufferException {
5290            return PARSER.parseFrom(data);
5291          }
5292          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5293              com.google.protobuf.ByteString data,
5294              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5295              throws com.google.protobuf.InvalidProtocolBufferException {
5296            return PARSER.parseFrom(data, extensionRegistry);
5297          }
5298          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(byte[] data)
5299              throws com.google.protobuf.InvalidProtocolBufferException {
5300            return PARSER.parseFrom(data);
5301          }
5302          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5303              byte[] data,
5304              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5305              throws com.google.protobuf.InvalidProtocolBufferException {
5306            return PARSER.parseFrom(data, extensionRegistry);
5307          }
5308          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(java.io.InputStream input)
5309              throws java.io.IOException {
5310            return PARSER.parseFrom(input);
5311          }
5312          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5313              java.io.InputStream input,
5314              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5315              throws java.io.IOException {
5316            return PARSER.parseFrom(input, extensionRegistry);
5317          }
5318          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(java.io.InputStream input)
5319              throws java.io.IOException {
5320            return PARSER.parseDelimitedFrom(input);
5321          }
5322          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(
5323              java.io.InputStream input,
5324              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5325              throws java.io.IOException {
5326            return PARSER.parseDelimitedFrom(input, extensionRegistry);
5327          }
5328          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5329              com.google.protobuf.CodedInputStream input)
5330              throws java.io.IOException {
5331            return PARSER.parseFrom(input);
5332          }
5333          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5334              com.google.protobuf.CodedInputStream input,
5335              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5336              throws java.io.IOException {
5337            return PARSER.parseFrom(input, extensionRegistry);
5338          }
5339    
5340          public static Builder newBuilder() { return Builder.create(); }
5341          public Builder newBuilderForType() { return newBuilder(); }
5342          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument prototype) {
5343            return newBuilder().mergeFrom(prototype);
5344          }
5345          public Builder toBuilder() { return newBuilder(this); }
5346    
5347          /**
5348           * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Argument}
5349           */
5350          public static final class Builder extends
5351              com.google.protobuf.GeneratedMessageLite.Builder<
5352                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument, Builder>
5353              implements org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder {
5354            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.newBuilder()
5355            private Builder() {
5356              maybeForceBuilderInitialization();
5357            }
5358    
5359            private void maybeForceBuilderInitialization() {
5360            }
5361            private static Builder create() {
5362              return new Builder();
5363            }
5364    
5365            public Builder clear() {
5366              super.clear();
5367              projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5368              bitField0_ = (bitField0_ & ~0x00000001);
5369              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5370              bitField0_ = (bitField0_ & ~0x00000002);
5371              return this;
5372            }
5373    
5374            public Builder clone() {
5375              return create().mergeFrom(buildPartial());
5376            }
5377    
5378            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getDefaultInstanceForType() {
5379              return org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.getDefaultInstance();
5380            }
5381    
5382            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument build() {
5383              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument result = buildPartial();
5384              if (!result.isInitialized()) {
5385                throw newUninitializedMessageException(result);
5386              }
5387              return result;
5388            }
5389    
5390            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument buildPartial() {
5391              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument result = new org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument(this);
5392              int from_bitField0_ = bitField0_;
5393              int to_bitField0_ = 0;
5394              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
5395                to_bitField0_ |= 0x00000001;
5396              }
5397              result.projection_ = projection_;
5398              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
5399                to_bitField0_ |= 0x00000002;
5400              }
5401              result.type_ = type_;
5402              result.bitField0_ = to_bitField0_;
5403              return result;
5404            }
5405    
5406            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument other) {
5407              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.getDefaultInstance()) return this;
5408              if (other.hasProjection()) {
5409                setProjection(other.getProjection());
5410              }
5411              if (other.hasType()) {
5412                mergeType(other.getType());
5413              }
5414              return this;
5415            }
5416    
5417            public final boolean isInitialized() {
5418              if (hasType()) {
5419                if (!getType().isInitialized()) {
5420                  
5421                  return false;
5422                }
5423              }
5424              return true;
5425            }
5426    
5427            public Builder mergeFrom(
5428                com.google.protobuf.CodedInputStream input,
5429                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5430                throws java.io.IOException {
5431              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parsedMessage = null;
5432              try {
5433                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
5434              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5435                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument) e.getUnfinishedMessage();
5436                throw e;
5437              } finally {
5438                if (parsedMessage != null) {
5439                  mergeFrom(parsedMessage);
5440                }
5441              }
5442              return this;
5443            }
5444            private int bitField0_;
5445    
5446            // optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];
5447            private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5448            /**
5449             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5450             */
5451            public boolean hasProjection() {
5452              return ((bitField0_ & 0x00000001) == 0x00000001);
5453            }
5454            /**
5455             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5456             */
5457            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
5458              return projection_;
5459            }
5460            /**
5461             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5462             */
5463            public Builder setProjection(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection value) {
5464              if (value == null) {
5465                throw new NullPointerException();
5466              }
5467              bitField0_ |= 0x00000001;
5468              projection_ = value;
5469              
5470              return this;
5471            }
5472            /**
5473             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5474             */
5475            public Builder clearProjection() {
5476              bitField0_ = (bitField0_ & ~0x00000001);
5477              projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5478              
5479              return this;
5480            }
5481    
5482            // optional .org.jetbrains.kotlin.serialization.Type type = 2;
5483            private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5484            /**
5485             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5486             *
5487             * <pre>
5488             * when projection is STAR, no type is written, otherwise type must be specified
5489             * </pre>
5490             */
5491            public boolean hasType() {
5492              return ((bitField0_ & 0x00000002) == 0x00000002);
5493            }
5494            /**
5495             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5496             *
5497             * <pre>
5498             * when projection is STAR, no type is written, otherwise type must be specified
5499             * </pre>
5500             */
5501            public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
5502              return type_;
5503            }
5504            /**
5505             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5506             *
5507             * <pre>
5508             * when projection is STAR, no type is written, otherwise type must be specified
5509             * </pre>
5510             */
5511            public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
5512              if (value == null) {
5513                throw new NullPointerException();
5514              }
5515              type_ = value;
5516    
5517              bitField0_ |= 0x00000002;
5518              return this;
5519            }
5520            /**
5521             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5522             *
5523             * <pre>
5524             * when projection is STAR, no type is written, otherwise type must be specified
5525             * </pre>
5526             */
5527            public Builder setType(
5528                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
5529              type_ = builderForValue.build();
5530    
5531              bitField0_ |= 0x00000002;
5532              return this;
5533            }
5534            /**
5535             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5536             *
5537             * <pre>
5538             * when projection is STAR, no type is written, otherwise type must be specified
5539             * </pre>
5540             */
5541            public Builder mergeType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
5542              if (((bitField0_ & 0x00000002) == 0x00000002) &&
5543                  type_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
5544                type_ =
5545                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
5546              } else {
5547                type_ = value;
5548              }
5549    
5550              bitField0_ |= 0x00000002;
5551              return this;
5552            }
5553            /**
5554             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5555             *
5556             * <pre>
5557             * when projection is STAR, no type is written, otherwise type must be specified
5558             * </pre>
5559             */
5560            public Builder clearType() {
5561              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5562    
5563              bitField0_ = (bitField0_ & ~0x00000002);
5564              return this;
5565            }
5566    
5567            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Type.Argument)
5568          }
5569    
5570          static {
5571            defaultInstance = new Argument(true);
5572            defaultInstance.initFields();
5573          }
5574    
5575          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Type.Argument)
5576        }
5577    
5578        private int bitField0_;
5579        // required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;
5580        public static final int CONSTRUCTOR_FIELD_NUMBER = 1;
5581        private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor constructor_;
5582        /**
5583         * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
5584         */
5585        public boolean hasConstructor() {
5586          return ((bitField0_ & 0x00000001) == 0x00000001);
5587        }
5588        /**
5589         * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
5590         */
5591        public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor getConstructor() {
5592          return constructor_;
5593        }
5594    
5595        // repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;
5596        public static final int ARGUMENT_FIELD_NUMBER = 2;
5597        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> argument_;
5598        /**
5599         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5600         */
5601        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> getArgumentList() {
5602          return argument_;
5603        }
5604        /**
5605         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5606         */
5607        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder> 
5608            getArgumentOrBuilderList() {
5609          return argument_;
5610        }
5611        /**
5612         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5613         */
5614        public int getArgumentCount() {
5615          return argument_.size();
5616        }
5617        /**
5618         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5619         */
5620        public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index) {
5621          return argument_.get(index);
5622        }
5623        /**
5624         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5625         */
5626        public org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder getArgumentOrBuilder(
5627            int index) {
5628          return argument_.get(index);
5629        }
5630    
5631        // optional bool nullable = 3 [default = false];
5632        public static final int NULLABLE_FIELD_NUMBER = 3;
5633        private boolean nullable_;
5634        /**
5635         * <code>optional bool nullable = 3 [default = false];</code>
5636         */
5637        public boolean hasNullable() {
5638          return ((bitField0_ & 0x00000002) == 0x00000002);
5639        }
5640        /**
5641         * <code>optional bool nullable = 3 [default = false];</code>
5642         */
5643        public boolean getNullable() {
5644          return nullable_;
5645        }
5646    
5647        // optional int32 flexible_type_capabilities_id = 4;
5648        public static final int FLEXIBLE_TYPE_CAPABILITIES_ID_FIELD_NUMBER = 4;
5649        private int flexibleTypeCapabilitiesId_;
5650        /**
5651         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5652         *
5653         * <pre>
5654         * Id in the StringTable
5655         * If this field is set, the type is flexible.
5656         * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5657         * </pre>
5658         */
5659        public boolean hasFlexibleTypeCapabilitiesId() {
5660          return ((bitField0_ & 0x00000004) == 0x00000004);
5661        }
5662        /**
5663         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5664         *
5665         * <pre>
5666         * Id in the StringTable
5667         * If this field is set, the type is flexible.
5668         * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5669         * </pre>
5670         */
5671        public int getFlexibleTypeCapabilitiesId() {
5672          return flexibleTypeCapabilitiesId_;
5673        }
5674    
5675        // optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;
5676        public static final int FLEXIBLE_UPPER_BOUND_FIELD_NUMBER = 5;
5677        private org.jetbrains.kotlin.serialization.ProtoBuf.Type flexibleUpperBound_;
5678        /**
5679         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5680         *
5681         * <pre>
5682         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
5683         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
5684         * to represent flexible types is too many wasted bytes.
5685         * </pre>
5686         */
5687        public boolean hasFlexibleUpperBound() {
5688          return ((bitField0_ & 0x00000008) == 0x00000008);
5689        }
5690        /**
5691         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5692         *
5693         * <pre>
5694         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
5695         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
5696         * to represent flexible types is too many wasted bytes.
5697         * </pre>
5698         */
5699        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound() {
5700          return flexibleUpperBound_;
5701        }
5702    
5703        private void initFields() {
5704          constructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
5705          argument_ = java.util.Collections.emptyList();
5706          nullable_ = false;
5707          flexibleTypeCapabilitiesId_ = 0;
5708          flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5709        }
5710        private byte memoizedIsInitialized = -1;
5711        public final boolean isInitialized() {
5712          byte isInitialized = memoizedIsInitialized;
5713          if (isInitialized != -1) return isInitialized == 1;
5714    
5715          if (!hasConstructor()) {
5716            memoizedIsInitialized = 0;
5717            return false;
5718          }
5719          if (!getConstructor().isInitialized()) {
5720            memoizedIsInitialized = 0;
5721            return false;
5722          }
5723          for (int i = 0; i < getArgumentCount(); i++) {
5724            if (!getArgument(i).isInitialized()) {
5725              memoizedIsInitialized = 0;
5726              return false;
5727            }
5728          }
5729          if (hasFlexibleUpperBound()) {
5730            if (!getFlexibleUpperBound().isInitialized()) {
5731              memoizedIsInitialized = 0;
5732              return false;
5733            }
5734          }
5735          if (!extensionsAreInitialized()) {
5736            memoizedIsInitialized = 0;
5737            return false;
5738          }
5739          memoizedIsInitialized = 1;
5740          return true;
5741        }
5742    
5743        public void writeTo(com.google.protobuf.CodedOutputStream output)
5744                            throws java.io.IOException {
5745          getSerializedSize();
5746          com.google.protobuf.GeneratedMessageLite
5747            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Type>.ExtensionWriter extensionWriter =
5748              newExtensionWriter();
5749          if (((bitField0_ & 0x00000001) == 0x00000001)) {
5750            output.writeMessage(1, constructor_);
5751          }
5752          for (int i = 0; i < argument_.size(); i++) {
5753            output.writeMessage(2, argument_.get(i));
5754          }
5755          if (((bitField0_ & 0x00000002) == 0x00000002)) {
5756            output.writeBool(3, nullable_);
5757          }
5758          if (((bitField0_ & 0x00000004) == 0x00000004)) {
5759            output.writeInt32(4, flexibleTypeCapabilitiesId_);
5760          }
5761          if (((bitField0_ & 0x00000008) == 0x00000008)) {
5762            output.writeMessage(5, flexibleUpperBound_);
5763          }
5764          extensionWriter.writeUntil(200, output);
5765        }
5766    
5767        private int memoizedSerializedSize = -1;
5768        public int getSerializedSize() {
5769          int size = memoizedSerializedSize;
5770          if (size != -1) return size;
5771    
5772          size = 0;
5773          if (((bitField0_ & 0x00000001) == 0x00000001)) {
5774            size += com.google.protobuf.CodedOutputStream
5775              .computeMessageSize(1, constructor_);
5776          }
5777          for (int i = 0; i < argument_.size(); i++) {
5778            size += com.google.protobuf.CodedOutputStream
5779              .computeMessageSize(2, argument_.get(i));
5780          }
5781          if (((bitField0_ & 0x00000002) == 0x00000002)) {
5782            size += com.google.protobuf.CodedOutputStream
5783              .computeBoolSize(3, nullable_);
5784          }
5785          if (((bitField0_ & 0x00000004) == 0x00000004)) {
5786            size += com.google.protobuf.CodedOutputStream
5787              .computeInt32Size(4, flexibleTypeCapabilitiesId_);
5788          }
5789          if (((bitField0_ & 0x00000008) == 0x00000008)) {
5790            size += com.google.protobuf.CodedOutputStream
5791              .computeMessageSize(5, flexibleUpperBound_);
5792          }
5793          size += extensionsSerializedSize();
5794          memoizedSerializedSize = size;
5795          return size;
5796        }
5797    
5798        private static final long serialVersionUID = 0L;
5799        @java.lang.Override
5800        protected java.lang.Object writeReplace()
5801            throws java.io.ObjectStreamException {
5802          return super.writeReplace();
5803        }
5804    
5805        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5806            com.google.protobuf.ByteString data)
5807            throws com.google.protobuf.InvalidProtocolBufferException {
5808          return PARSER.parseFrom(data);
5809        }
5810        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5811            com.google.protobuf.ByteString data,
5812            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5813            throws com.google.protobuf.InvalidProtocolBufferException {
5814          return PARSER.parseFrom(data, extensionRegistry);
5815        }
5816        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(byte[] data)
5817            throws com.google.protobuf.InvalidProtocolBufferException {
5818          return PARSER.parseFrom(data);
5819        }
5820        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5821            byte[] data,
5822            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5823            throws com.google.protobuf.InvalidProtocolBufferException {
5824          return PARSER.parseFrom(data, extensionRegistry);
5825        }
5826        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(java.io.InputStream input)
5827            throws java.io.IOException {
5828          return PARSER.parseFrom(input);
5829        }
5830        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5831            java.io.InputStream input,
5832            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5833            throws java.io.IOException {
5834          return PARSER.parseFrom(input, extensionRegistry);
5835        }
5836        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseDelimitedFrom(java.io.InputStream input)
5837            throws java.io.IOException {
5838          return PARSER.parseDelimitedFrom(input);
5839        }
5840        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseDelimitedFrom(
5841            java.io.InputStream input,
5842            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5843            throws java.io.IOException {
5844          return PARSER.parseDelimitedFrom(input, extensionRegistry);
5845        }
5846        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5847            com.google.protobuf.CodedInputStream input)
5848            throws java.io.IOException {
5849          return PARSER.parseFrom(input);
5850        }
5851        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5852            com.google.protobuf.CodedInputStream input,
5853            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5854            throws java.io.IOException {
5855          return PARSER.parseFrom(input, extensionRegistry);
5856        }
5857    
5858        public static Builder newBuilder() { return Builder.create(); }
5859        public Builder newBuilderForType() { return newBuilder(); }
5860        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Type prototype) {
5861          return newBuilder().mergeFrom(prototype);
5862        }
5863        public Builder toBuilder() { return newBuilder(this); }
5864    
5865        /**
5866         * Protobuf type {@code org.jetbrains.kotlin.serialization.Type}
5867         */
5868        public static final class Builder extends
5869            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
5870              org.jetbrains.kotlin.serialization.ProtoBuf.Type, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder {
5871          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder()
5872          private Builder() {
5873            maybeForceBuilderInitialization();
5874          }
5875    
5876          private void maybeForceBuilderInitialization() {
5877          }
5878          private static Builder create() {
5879            return new Builder();
5880          }
5881    
5882          public Builder clear() {
5883            super.clear();
5884            constructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
5885            bitField0_ = (bitField0_ & ~0x00000001);
5886            argument_ = java.util.Collections.emptyList();
5887            bitField0_ = (bitField0_ & ~0x00000002);
5888            nullable_ = false;
5889            bitField0_ = (bitField0_ & ~0x00000004);
5890            flexibleTypeCapabilitiesId_ = 0;
5891            bitField0_ = (bitField0_ & ~0x00000008);
5892            flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5893            bitField0_ = (bitField0_ & ~0x00000010);
5894            return this;
5895          }
5896    
5897          public Builder clone() {
5898            return create().mergeFrom(buildPartial());
5899          }
5900    
5901          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getDefaultInstanceForType() {
5902            return org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5903          }
5904    
5905          public org.jetbrains.kotlin.serialization.ProtoBuf.Type build() {
5906            org.jetbrains.kotlin.serialization.ProtoBuf.Type result = buildPartial();
5907            if (!result.isInitialized()) {
5908              throw newUninitializedMessageException(result);
5909            }
5910            return result;
5911          }
5912    
5913          public org.jetbrains.kotlin.serialization.ProtoBuf.Type buildPartial() {
5914            org.jetbrains.kotlin.serialization.ProtoBuf.Type result = new org.jetbrains.kotlin.serialization.ProtoBuf.Type(this);
5915            int from_bitField0_ = bitField0_;
5916            int to_bitField0_ = 0;
5917            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
5918              to_bitField0_ |= 0x00000001;
5919            }
5920            result.constructor_ = constructor_;
5921            if (((bitField0_ & 0x00000002) == 0x00000002)) {
5922              argument_ = java.util.Collections.unmodifiableList(argument_);
5923              bitField0_ = (bitField0_ & ~0x00000002);
5924            }
5925            result.argument_ = argument_;
5926            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
5927              to_bitField0_ |= 0x00000002;
5928            }
5929            result.nullable_ = nullable_;
5930            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
5931              to_bitField0_ |= 0x00000004;
5932            }
5933            result.flexibleTypeCapabilitiesId_ = flexibleTypeCapabilitiesId_;
5934            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
5935              to_bitField0_ |= 0x00000008;
5936            }
5937            result.flexibleUpperBound_ = flexibleUpperBound_;
5938            result.bitField0_ = to_bitField0_;
5939            return result;
5940          }
5941    
5942          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Type other) {
5943            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) return this;
5944            if (other.hasConstructor()) {
5945              mergeConstructor(other.getConstructor());
5946            }
5947            if (!other.argument_.isEmpty()) {
5948              if (argument_.isEmpty()) {
5949                argument_ = other.argument_;
5950                bitField0_ = (bitField0_ & ~0x00000002);
5951              } else {
5952                ensureArgumentIsMutable();
5953                argument_.addAll(other.argument_);
5954              }
5955              
5956            }
5957            if (other.hasNullable()) {
5958              setNullable(other.getNullable());
5959            }
5960            if (other.hasFlexibleTypeCapabilitiesId()) {
5961              setFlexibleTypeCapabilitiesId(other.getFlexibleTypeCapabilitiesId());
5962            }
5963            if (other.hasFlexibleUpperBound()) {
5964              mergeFlexibleUpperBound(other.getFlexibleUpperBound());
5965            }
5966            this.mergeExtensionFields(other);
5967            return this;
5968          }
5969    
5970          public final boolean isInitialized() {
5971            if (!hasConstructor()) {
5972              
5973              return false;
5974            }
5975            if (!getConstructor().isInitialized()) {
5976              
5977              return false;
5978            }
5979            for (int i = 0; i < getArgumentCount(); i++) {
5980              if (!getArgument(i).isInitialized()) {
5981                
5982                return false;
5983              }
5984            }
5985            if (hasFlexibleUpperBound()) {
5986              if (!getFlexibleUpperBound().isInitialized()) {
5987                
5988                return false;
5989              }
5990            }
5991            if (!extensionsAreInitialized()) {
5992              
5993              return false;
5994            }
5995            return true;
5996          }
5997    
5998          public Builder mergeFrom(
5999              com.google.protobuf.CodedInputStream input,
6000              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6001              throws java.io.IOException {
6002            org.jetbrains.kotlin.serialization.ProtoBuf.Type parsedMessage = null;
6003            try {
6004              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
6005            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6006              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Type) e.getUnfinishedMessage();
6007              throw e;
6008            } finally {
6009              if (parsedMessage != null) {
6010                mergeFrom(parsedMessage);
6011              }
6012            }
6013            return this;
6014          }
6015          private int bitField0_;
6016    
6017          // required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;
6018          private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor constructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
6019          /**
6020           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
6021           */
6022          public boolean hasConstructor() {
6023            return ((bitField0_ & 0x00000001) == 0x00000001);
6024          }
6025          /**
6026           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
6027           */
6028          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor getConstructor() {
6029            return constructor_;
6030          }
6031          /**
6032           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
6033           */
6034          public Builder setConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor value) {
6035            if (value == null) {
6036              throw new NullPointerException();
6037            }
6038            constructor_ = value;
6039    
6040            bitField0_ |= 0x00000001;
6041            return this;
6042          }
6043          /**
6044           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
6045           */
6046          public Builder setConstructor(
6047              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Builder builderForValue) {
6048            constructor_ = builderForValue.build();
6049    
6050            bitField0_ |= 0x00000001;
6051            return this;
6052          }
6053          /**
6054           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
6055           */
6056          public Builder mergeConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor value) {
6057            if (((bitField0_ & 0x00000001) == 0x00000001) &&
6058                constructor_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance()) {
6059              constructor_ =
6060                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.newBuilder(constructor_).mergeFrom(value).buildPartial();
6061            } else {
6062              constructor_ = value;
6063            }
6064    
6065            bitField0_ |= 0x00000001;
6066            return this;
6067          }
6068          /**
6069           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
6070           */
6071          public Builder clearConstructor() {
6072            constructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
6073    
6074            bitField0_ = (bitField0_ & ~0x00000001);
6075            return this;
6076          }
6077    
6078          // repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;
6079          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> argument_ =
6080            java.util.Collections.emptyList();
6081          private void ensureArgumentIsMutable() {
6082            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
6083              argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument>(argument_);
6084              bitField0_ |= 0x00000002;
6085             }
6086          }
6087    
6088          /**
6089           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6090           */
6091          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> getArgumentList() {
6092            return java.util.Collections.unmodifiableList(argument_);
6093          }
6094          /**
6095           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6096           */
6097          public int getArgumentCount() {
6098            return argument_.size();
6099          }
6100          /**
6101           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6102           */
6103          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index) {
6104            return argument_.get(index);
6105          }
6106          /**
6107           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6108           */
6109          public Builder setArgument(
6110              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
6111            if (value == null) {
6112              throw new NullPointerException();
6113            }
6114            ensureArgumentIsMutable();
6115            argument_.set(index, value);
6116    
6117            return this;
6118          }
6119          /**
6120           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6121           */
6122          public Builder setArgument(
6123              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
6124            ensureArgumentIsMutable();
6125            argument_.set(index, builderForValue.build());
6126    
6127            return this;
6128          }
6129          /**
6130           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6131           */
6132          public Builder addArgument(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
6133            if (value == null) {
6134              throw new NullPointerException();
6135            }
6136            ensureArgumentIsMutable();
6137            argument_.add(value);
6138    
6139            return this;
6140          }
6141          /**
6142           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6143           */
6144          public Builder addArgument(
6145              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
6146            if (value == null) {
6147              throw new NullPointerException();
6148            }
6149            ensureArgumentIsMutable();
6150            argument_.add(index, value);
6151    
6152            return this;
6153          }
6154          /**
6155           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6156           */
6157          public Builder addArgument(
6158              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
6159            ensureArgumentIsMutable();
6160            argument_.add(builderForValue.build());
6161    
6162            return this;
6163          }
6164          /**
6165           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6166           */
6167          public Builder addArgument(
6168              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
6169            ensureArgumentIsMutable();
6170            argument_.add(index, builderForValue.build());
6171    
6172            return this;
6173          }
6174          /**
6175           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6176           */
6177          public Builder addAllArgument(
6178              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> values) {
6179            ensureArgumentIsMutable();
6180            super.addAll(values, argument_);
6181    
6182            return this;
6183          }
6184          /**
6185           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6186           */
6187          public Builder clearArgument() {
6188            argument_ = java.util.Collections.emptyList();
6189            bitField0_ = (bitField0_ & ~0x00000002);
6190    
6191            return this;
6192          }
6193          /**
6194           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6195           */
6196          public Builder removeArgument(int index) {
6197            ensureArgumentIsMutable();
6198            argument_.remove(index);
6199    
6200            return this;
6201          }
6202    
6203          // optional bool nullable = 3 [default = false];
6204          private boolean nullable_ ;
6205          /**
6206           * <code>optional bool nullable = 3 [default = false];</code>
6207           */
6208          public boolean hasNullable() {
6209            return ((bitField0_ & 0x00000004) == 0x00000004);
6210          }
6211          /**
6212           * <code>optional bool nullable = 3 [default = false];</code>
6213           */
6214          public boolean getNullable() {
6215            return nullable_;
6216          }
6217          /**
6218           * <code>optional bool nullable = 3 [default = false];</code>
6219           */
6220          public Builder setNullable(boolean value) {
6221            bitField0_ |= 0x00000004;
6222            nullable_ = value;
6223            
6224            return this;
6225          }
6226          /**
6227           * <code>optional bool nullable = 3 [default = false];</code>
6228           */
6229          public Builder clearNullable() {
6230            bitField0_ = (bitField0_ & ~0x00000004);
6231            nullable_ = false;
6232            
6233            return this;
6234          }
6235    
6236          // optional int32 flexible_type_capabilities_id = 4;
6237          private int flexibleTypeCapabilitiesId_ ;
6238          /**
6239           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6240           *
6241           * <pre>
6242           * Id in the StringTable
6243           * If this field is set, the type is flexible.
6244           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6245           * </pre>
6246           */
6247          public boolean hasFlexibleTypeCapabilitiesId() {
6248            return ((bitField0_ & 0x00000008) == 0x00000008);
6249          }
6250          /**
6251           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6252           *
6253           * <pre>
6254           * Id in the StringTable
6255           * If this field is set, the type is flexible.
6256           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6257           * </pre>
6258           */
6259          public int getFlexibleTypeCapabilitiesId() {
6260            return flexibleTypeCapabilitiesId_;
6261          }
6262          /**
6263           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6264           *
6265           * <pre>
6266           * Id in the StringTable
6267           * If this field is set, the type is flexible.
6268           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6269           * </pre>
6270           */
6271          public Builder setFlexibleTypeCapabilitiesId(int value) {
6272            bitField0_ |= 0x00000008;
6273            flexibleTypeCapabilitiesId_ = value;
6274            
6275            return this;
6276          }
6277          /**
6278           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6279           *
6280           * <pre>
6281           * Id in the StringTable
6282           * If this field is set, the type is flexible.
6283           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6284           * </pre>
6285           */
6286          public Builder clearFlexibleTypeCapabilitiesId() {
6287            bitField0_ = (bitField0_ & ~0x00000008);
6288            flexibleTypeCapabilitiesId_ = 0;
6289            
6290            return this;
6291          }
6292    
6293          // optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;
6294          private org.jetbrains.kotlin.serialization.ProtoBuf.Type flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6295          /**
6296           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6297           *
6298           * <pre>
6299           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6300           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6301           * to represent flexible types is too many wasted bytes.
6302           * </pre>
6303           */
6304          public boolean hasFlexibleUpperBound() {
6305            return ((bitField0_ & 0x00000010) == 0x00000010);
6306          }
6307          /**
6308           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6309           *
6310           * <pre>
6311           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6312           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6313           * to represent flexible types is too many wasted bytes.
6314           * </pre>
6315           */
6316          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound() {
6317            return flexibleUpperBound_;
6318          }
6319          /**
6320           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6321           *
6322           * <pre>
6323           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6324           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6325           * to represent flexible types is too many wasted bytes.
6326           * </pre>
6327           */
6328          public Builder setFlexibleUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6329            if (value == null) {
6330              throw new NullPointerException();
6331            }
6332            flexibleUpperBound_ = value;
6333    
6334            bitField0_ |= 0x00000010;
6335            return this;
6336          }
6337          /**
6338           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6339           *
6340           * <pre>
6341           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6342           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6343           * to represent flexible types is too many wasted bytes.
6344           * </pre>
6345           */
6346          public Builder setFlexibleUpperBound(
6347              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
6348            flexibleUpperBound_ = builderForValue.build();
6349    
6350            bitField0_ |= 0x00000010;
6351            return this;
6352          }
6353          /**
6354           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6355           *
6356           * <pre>
6357           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6358           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6359           * to represent flexible types is too many wasted bytes.
6360           * </pre>
6361           */
6362          public Builder mergeFlexibleUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6363            if (((bitField0_ & 0x00000010) == 0x00000010) &&
6364                flexibleUpperBound_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
6365              flexibleUpperBound_ =
6366                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(flexibleUpperBound_).mergeFrom(value).buildPartial();
6367            } else {
6368              flexibleUpperBound_ = value;
6369            }
6370    
6371            bitField0_ |= 0x00000010;
6372            return this;
6373          }
6374          /**
6375           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6376           *
6377           * <pre>
6378           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6379           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6380           * to represent flexible types is too many wasted bytes.
6381           * </pre>
6382           */
6383          public Builder clearFlexibleUpperBound() {
6384            flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6385    
6386            bitField0_ = (bitField0_ & ~0x00000010);
6387            return this;
6388          }
6389    
6390          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Type)
6391        }
6392    
6393        static {
6394          defaultInstance = new Type(true);
6395          defaultInstance.initFields();
6396        }
6397    
6398        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Type)
6399      }
6400    
6401      public interface TypeParameterOrBuilder
6402          extends com.google.protobuf.MessageLiteOrBuilder {
6403    
6404        // required int32 id = 1;
6405        /**
6406         * <code>required int32 id = 1;</code>
6407         */
6408        boolean hasId();
6409        /**
6410         * <code>required int32 id = 1;</code>
6411         */
6412        int getId();
6413    
6414        // required int32 name = 2;
6415        /**
6416         * <code>required int32 name = 2;</code>
6417         *
6418         * <pre>
6419         * Id in the StringTable
6420         * </pre>
6421         */
6422        boolean hasName();
6423        /**
6424         * <code>required int32 name = 2;</code>
6425         *
6426         * <pre>
6427         * Id in the StringTable
6428         * </pre>
6429         */
6430        int getName();
6431    
6432        // optional bool reified = 3 [default = false];
6433        /**
6434         * <code>optional bool reified = 3 [default = false];</code>
6435         */
6436        boolean hasReified();
6437        /**
6438         * <code>optional bool reified = 3 [default = false];</code>
6439         */
6440        boolean getReified();
6441    
6442        // optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];
6443        /**
6444         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6445         */
6446        boolean hasVariance();
6447        /**
6448         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6449         */
6450        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance();
6451    
6452        // repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;
6453        /**
6454         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6455         */
6456        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> 
6457            getUpperBoundList();
6458        /**
6459         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6460         */
6461        org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index);
6462        /**
6463         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6464         */
6465        int getUpperBoundCount();
6466      }
6467      /**
6468       * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeParameter}
6469       */
6470      public static final class TypeParameter extends
6471          com.google.protobuf.GeneratedMessageLite
6472          implements TypeParameterOrBuilder {
6473        // Use TypeParameter.newBuilder() to construct.
6474        private TypeParameter(com.google.protobuf.GeneratedMessageLite.Builder builder) {
6475          super(builder);
6476    
6477        }
6478        private TypeParameter(boolean noInit) {}
6479    
6480        private static final TypeParameter defaultInstance;
6481        public static TypeParameter getDefaultInstance() {
6482          return defaultInstance;
6483        }
6484    
6485        public TypeParameter getDefaultInstanceForType() {
6486          return defaultInstance;
6487        }
6488    
6489        private TypeParameter(
6490            com.google.protobuf.CodedInputStream input,
6491            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6492            throws com.google.protobuf.InvalidProtocolBufferException {
6493          initFields();
6494          int mutable_bitField0_ = 0;
6495          try {
6496            boolean done = false;
6497            while (!done) {
6498              int tag = input.readTag();
6499              switch (tag) {
6500                case 0:
6501                  done = true;
6502                  break;
6503                default: {
6504                  if (!parseUnknownField(input,
6505                                         extensionRegistry, tag)) {
6506                    done = true;
6507                  }
6508                  break;
6509                }
6510                case 8: {
6511                  bitField0_ |= 0x00000001;
6512                  id_ = input.readInt32();
6513                  break;
6514                }
6515                case 16: {
6516                  bitField0_ |= 0x00000002;
6517                  name_ = input.readInt32();
6518                  break;
6519                }
6520                case 24: {
6521                  bitField0_ |= 0x00000004;
6522                  reified_ = input.readBool();
6523                  break;
6524                }
6525                case 32: {
6526                  int rawValue = input.readEnum();
6527                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance value = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.valueOf(rawValue);
6528                  if (value != null) {
6529                    bitField0_ |= 0x00000008;
6530                    variance_ = value;
6531                  }
6532                  break;
6533                }
6534                case 42: {
6535                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
6536                    upperBound_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
6537                    mutable_bitField0_ |= 0x00000010;
6538                  }
6539                  upperBound_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
6540                  break;
6541                }
6542              }
6543            }
6544          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6545            throw e.setUnfinishedMessage(this);
6546          } catch (java.io.IOException e) {
6547            throw new com.google.protobuf.InvalidProtocolBufferException(
6548                e.getMessage()).setUnfinishedMessage(this);
6549          } finally {
6550            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
6551              upperBound_ = java.util.Collections.unmodifiableList(upperBound_);
6552            }
6553            makeExtensionsImmutable();
6554          }
6555        }
6556        public static com.google.protobuf.Parser<TypeParameter> PARSER =
6557            new com.google.protobuf.AbstractParser<TypeParameter>() {
6558          public TypeParameter parsePartialFrom(
6559              com.google.protobuf.CodedInputStream input,
6560              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6561              throws com.google.protobuf.InvalidProtocolBufferException {
6562            return new TypeParameter(input, extensionRegistry);
6563          }
6564        };
6565    
6566        @java.lang.Override
6567        public com.google.protobuf.Parser<TypeParameter> getParserForType() {
6568          return PARSER;
6569        }
6570    
6571        /**
6572         * Protobuf enum {@code org.jetbrains.kotlin.serialization.TypeParameter.Variance}
6573         */
6574        public enum Variance
6575            implements com.google.protobuf.Internal.EnumLite {
6576          /**
6577           * <code>IN = 0;</code>
6578           */
6579          IN(0, 0),
6580          /**
6581           * <code>OUT = 1;</code>
6582           */
6583          OUT(1, 1),
6584          /**
6585           * <code>INV = 2;</code>
6586           */
6587          INV(2, 2),
6588          ;
6589    
6590          /**
6591           * <code>IN = 0;</code>
6592           */
6593          public static final int IN_VALUE = 0;
6594          /**
6595           * <code>OUT = 1;</code>
6596           */
6597          public static final int OUT_VALUE = 1;
6598          /**
6599           * <code>INV = 2;</code>
6600           */
6601          public static final int INV_VALUE = 2;
6602    
6603    
6604          public final int getNumber() { return value; }
6605    
6606          public static Variance valueOf(int value) {
6607            switch (value) {
6608              case 0: return IN;
6609              case 1: return OUT;
6610              case 2: return INV;
6611              default: return null;
6612            }
6613          }
6614    
6615          public static com.google.protobuf.Internal.EnumLiteMap<Variance>
6616              internalGetValueMap() {
6617            return internalValueMap;
6618          }
6619          private static com.google.protobuf.Internal.EnumLiteMap<Variance>
6620              internalValueMap =
6621                new com.google.protobuf.Internal.EnumLiteMap<Variance>() {
6622                  public Variance findValueByNumber(int number) {
6623                    return Variance.valueOf(number);
6624                  }
6625                };
6626    
6627          private final int value;
6628    
6629          private Variance(int index, int value) {
6630            this.value = value;
6631          }
6632    
6633          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.TypeParameter.Variance)
6634        }
6635    
6636        private int bitField0_;
6637        // required int32 id = 1;
6638        public static final int ID_FIELD_NUMBER = 1;
6639        private int id_;
6640        /**
6641         * <code>required int32 id = 1;</code>
6642         */
6643        public boolean hasId() {
6644          return ((bitField0_ & 0x00000001) == 0x00000001);
6645        }
6646        /**
6647         * <code>required int32 id = 1;</code>
6648         */
6649        public int getId() {
6650          return id_;
6651        }
6652    
6653        // required int32 name = 2;
6654        public static final int NAME_FIELD_NUMBER = 2;
6655        private int name_;
6656        /**
6657         * <code>required int32 name = 2;</code>
6658         *
6659         * <pre>
6660         * Id in the StringTable
6661         * </pre>
6662         */
6663        public boolean hasName() {
6664          return ((bitField0_ & 0x00000002) == 0x00000002);
6665        }
6666        /**
6667         * <code>required int32 name = 2;</code>
6668         *
6669         * <pre>
6670         * Id in the StringTable
6671         * </pre>
6672         */
6673        public int getName() {
6674          return name_;
6675        }
6676    
6677        // optional bool reified = 3 [default = false];
6678        public static final int REIFIED_FIELD_NUMBER = 3;
6679        private boolean reified_;
6680        /**
6681         * <code>optional bool reified = 3 [default = false];</code>
6682         */
6683        public boolean hasReified() {
6684          return ((bitField0_ & 0x00000004) == 0x00000004);
6685        }
6686        /**
6687         * <code>optional bool reified = 3 [default = false];</code>
6688         */
6689        public boolean getReified() {
6690          return reified_;
6691        }
6692    
6693        // optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];
6694        public static final int VARIANCE_FIELD_NUMBER = 4;
6695        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance variance_;
6696        /**
6697         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6698         */
6699        public boolean hasVariance() {
6700          return ((bitField0_ & 0x00000008) == 0x00000008);
6701        }
6702        /**
6703         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6704         */
6705        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
6706          return variance_;
6707        }
6708    
6709        // repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;
6710        public static final int UPPER_BOUND_FIELD_NUMBER = 5;
6711        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> upperBound_;
6712        /**
6713         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6714         */
6715        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getUpperBoundList() {
6716          return upperBound_;
6717        }
6718        /**
6719         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6720         */
6721        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
6722            getUpperBoundOrBuilderList() {
6723          return upperBound_;
6724        }
6725        /**
6726         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6727         */
6728        public int getUpperBoundCount() {
6729          return upperBound_.size();
6730        }
6731        /**
6732         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6733         */
6734        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index) {
6735          return upperBound_.get(index);
6736        }
6737        /**
6738         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6739         */
6740        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getUpperBoundOrBuilder(
6741            int index) {
6742          return upperBound_.get(index);
6743        }
6744    
6745        private void initFields() {
6746          id_ = 0;
6747          name_ = 0;
6748          reified_ = false;
6749          variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
6750          upperBound_ = java.util.Collections.emptyList();
6751        }
6752        private byte memoizedIsInitialized = -1;
6753        public final boolean isInitialized() {
6754          byte isInitialized = memoizedIsInitialized;
6755          if (isInitialized != -1) return isInitialized == 1;
6756    
6757          if (!hasId()) {
6758            memoizedIsInitialized = 0;
6759            return false;
6760          }
6761          if (!hasName()) {
6762            memoizedIsInitialized = 0;
6763            return false;
6764          }
6765          for (int i = 0; i < getUpperBoundCount(); i++) {
6766            if (!getUpperBound(i).isInitialized()) {
6767              memoizedIsInitialized = 0;
6768              return false;
6769            }
6770          }
6771          memoizedIsInitialized = 1;
6772          return true;
6773        }
6774    
6775        public void writeTo(com.google.protobuf.CodedOutputStream output)
6776                            throws java.io.IOException {
6777          getSerializedSize();
6778          if (((bitField0_ & 0x00000001) == 0x00000001)) {
6779            output.writeInt32(1, id_);
6780          }
6781          if (((bitField0_ & 0x00000002) == 0x00000002)) {
6782            output.writeInt32(2, name_);
6783          }
6784          if (((bitField0_ & 0x00000004) == 0x00000004)) {
6785            output.writeBool(3, reified_);
6786          }
6787          if (((bitField0_ & 0x00000008) == 0x00000008)) {
6788            output.writeEnum(4, variance_.getNumber());
6789          }
6790          for (int i = 0; i < upperBound_.size(); i++) {
6791            output.writeMessage(5, upperBound_.get(i));
6792          }
6793        }
6794    
6795        private int memoizedSerializedSize = -1;
6796        public int getSerializedSize() {
6797          int size = memoizedSerializedSize;
6798          if (size != -1) return size;
6799    
6800          size = 0;
6801          if (((bitField0_ & 0x00000001) == 0x00000001)) {
6802            size += com.google.protobuf.CodedOutputStream
6803              .computeInt32Size(1, id_);
6804          }
6805          if (((bitField0_ & 0x00000002) == 0x00000002)) {
6806            size += com.google.protobuf.CodedOutputStream
6807              .computeInt32Size(2, name_);
6808          }
6809          if (((bitField0_ & 0x00000004) == 0x00000004)) {
6810            size += com.google.protobuf.CodedOutputStream
6811              .computeBoolSize(3, reified_);
6812          }
6813          if (((bitField0_ & 0x00000008) == 0x00000008)) {
6814            size += com.google.protobuf.CodedOutputStream
6815              .computeEnumSize(4, variance_.getNumber());
6816          }
6817          for (int i = 0; i < upperBound_.size(); i++) {
6818            size += com.google.protobuf.CodedOutputStream
6819              .computeMessageSize(5, upperBound_.get(i));
6820          }
6821          memoizedSerializedSize = size;
6822          return size;
6823        }
6824    
6825        private static final long serialVersionUID = 0L;
6826        @java.lang.Override
6827        protected java.lang.Object writeReplace()
6828            throws java.io.ObjectStreamException {
6829          return super.writeReplace();
6830        }
6831    
6832        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6833            com.google.protobuf.ByteString data)
6834            throws com.google.protobuf.InvalidProtocolBufferException {
6835          return PARSER.parseFrom(data);
6836        }
6837        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6838            com.google.protobuf.ByteString data,
6839            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6840            throws com.google.protobuf.InvalidProtocolBufferException {
6841          return PARSER.parseFrom(data, extensionRegistry);
6842        }
6843        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(byte[] data)
6844            throws com.google.protobuf.InvalidProtocolBufferException {
6845          return PARSER.parseFrom(data);
6846        }
6847        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6848            byte[] data,
6849            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6850            throws com.google.protobuf.InvalidProtocolBufferException {
6851          return PARSER.parseFrom(data, extensionRegistry);
6852        }
6853        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(java.io.InputStream input)
6854            throws java.io.IOException {
6855          return PARSER.parseFrom(input);
6856        }
6857        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6858            java.io.InputStream input,
6859            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6860            throws java.io.IOException {
6861          return PARSER.parseFrom(input, extensionRegistry);
6862        }
6863        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(java.io.InputStream input)
6864            throws java.io.IOException {
6865          return PARSER.parseDelimitedFrom(input);
6866        }
6867        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(
6868            java.io.InputStream input,
6869            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6870            throws java.io.IOException {
6871          return PARSER.parseDelimitedFrom(input, extensionRegistry);
6872        }
6873        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6874            com.google.protobuf.CodedInputStream input)
6875            throws java.io.IOException {
6876          return PARSER.parseFrom(input);
6877        }
6878        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6879            com.google.protobuf.CodedInputStream input,
6880            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6881            throws java.io.IOException {
6882          return PARSER.parseFrom(input, extensionRegistry);
6883        }
6884    
6885        public static Builder newBuilder() { return Builder.create(); }
6886        public Builder newBuilderForType() { return newBuilder(); }
6887        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter prototype) {
6888          return newBuilder().mergeFrom(prototype);
6889        }
6890        public Builder toBuilder() { return newBuilder(this); }
6891    
6892        /**
6893         * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeParameter}
6894         */
6895        public static final class Builder extends
6896            com.google.protobuf.GeneratedMessageLite.Builder<
6897              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter, Builder>
6898            implements org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder {
6899          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.newBuilder()
6900          private Builder() {
6901            maybeForceBuilderInitialization();
6902          }
6903    
6904          private void maybeForceBuilderInitialization() {
6905          }
6906          private static Builder create() {
6907            return new Builder();
6908          }
6909    
6910          public Builder clear() {
6911            super.clear();
6912            id_ = 0;
6913            bitField0_ = (bitField0_ & ~0x00000001);
6914            name_ = 0;
6915            bitField0_ = (bitField0_ & ~0x00000002);
6916            reified_ = false;
6917            bitField0_ = (bitField0_ & ~0x00000004);
6918            variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
6919            bitField0_ = (bitField0_ & ~0x00000008);
6920            upperBound_ = java.util.Collections.emptyList();
6921            bitField0_ = (bitField0_ & ~0x00000010);
6922            return this;
6923          }
6924    
6925          public Builder clone() {
6926            return create().mergeFrom(buildPartial());
6927          }
6928    
6929          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getDefaultInstanceForType() {
6930            return org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.getDefaultInstance();
6931          }
6932    
6933          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter build() {
6934            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter result = buildPartial();
6935            if (!result.isInitialized()) {
6936              throw newUninitializedMessageException(result);
6937            }
6938            return result;
6939          }
6940    
6941          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter buildPartial() {
6942            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter result = new org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter(this);
6943            int from_bitField0_ = bitField0_;
6944            int to_bitField0_ = 0;
6945            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
6946              to_bitField0_ |= 0x00000001;
6947            }
6948            result.id_ = id_;
6949            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
6950              to_bitField0_ |= 0x00000002;
6951            }
6952            result.name_ = name_;
6953            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
6954              to_bitField0_ |= 0x00000004;
6955            }
6956            result.reified_ = reified_;
6957            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
6958              to_bitField0_ |= 0x00000008;
6959            }
6960            result.variance_ = variance_;
6961            if (((bitField0_ & 0x00000010) == 0x00000010)) {
6962              upperBound_ = java.util.Collections.unmodifiableList(upperBound_);
6963              bitField0_ = (bitField0_ & ~0x00000010);
6964            }
6965            result.upperBound_ = upperBound_;
6966            result.bitField0_ = to_bitField0_;
6967            return result;
6968          }
6969    
6970          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter other) {
6971            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.getDefaultInstance()) return this;
6972            if (other.hasId()) {
6973              setId(other.getId());
6974            }
6975            if (other.hasName()) {
6976              setName(other.getName());
6977            }
6978            if (other.hasReified()) {
6979              setReified(other.getReified());
6980            }
6981            if (other.hasVariance()) {
6982              setVariance(other.getVariance());
6983            }
6984            if (!other.upperBound_.isEmpty()) {
6985              if (upperBound_.isEmpty()) {
6986                upperBound_ = other.upperBound_;
6987                bitField0_ = (bitField0_ & ~0x00000010);
6988              } else {
6989                ensureUpperBoundIsMutable();
6990                upperBound_.addAll(other.upperBound_);
6991              }
6992              
6993            }
6994            return this;
6995          }
6996    
6997          public final boolean isInitialized() {
6998            if (!hasId()) {
6999              
7000              return false;
7001            }
7002            if (!hasName()) {
7003              
7004              return false;
7005            }
7006            for (int i = 0; i < getUpperBoundCount(); i++) {
7007              if (!getUpperBound(i).isInitialized()) {
7008                
7009                return false;
7010              }
7011            }
7012            return true;
7013          }
7014    
7015          public Builder mergeFrom(
7016              com.google.protobuf.CodedInputStream input,
7017              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7018              throws java.io.IOException {
7019            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parsedMessage = null;
7020            try {
7021              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
7022            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7023              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter) e.getUnfinishedMessage();
7024              throw e;
7025            } finally {
7026              if (parsedMessage != null) {
7027                mergeFrom(parsedMessage);
7028              }
7029            }
7030            return this;
7031          }
7032          private int bitField0_;
7033    
7034          // required int32 id = 1;
7035          private int id_ ;
7036          /**
7037           * <code>required int32 id = 1;</code>
7038           */
7039          public boolean hasId() {
7040            return ((bitField0_ & 0x00000001) == 0x00000001);
7041          }
7042          /**
7043           * <code>required int32 id = 1;</code>
7044           */
7045          public int getId() {
7046            return id_;
7047          }
7048          /**
7049           * <code>required int32 id = 1;</code>
7050           */
7051          public Builder setId(int value) {
7052            bitField0_ |= 0x00000001;
7053            id_ = value;
7054            
7055            return this;
7056          }
7057          /**
7058           * <code>required int32 id = 1;</code>
7059           */
7060          public Builder clearId() {
7061            bitField0_ = (bitField0_ & ~0x00000001);
7062            id_ = 0;
7063            
7064            return this;
7065          }
7066    
7067          // required int32 name = 2;
7068          private int name_ ;
7069          /**
7070           * <code>required int32 name = 2;</code>
7071           *
7072           * <pre>
7073           * Id in the StringTable
7074           * </pre>
7075           */
7076          public boolean hasName() {
7077            return ((bitField0_ & 0x00000002) == 0x00000002);
7078          }
7079          /**
7080           * <code>required int32 name = 2;</code>
7081           *
7082           * <pre>
7083           * Id in the StringTable
7084           * </pre>
7085           */
7086          public int getName() {
7087            return name_;
7088          }
7089          /**
7090           * <code>required int32 name = 2;</code>
7091           *
7092           * <pre>
7093           * Id in the StringTable
7094           * </pre>
7095           */
7096          public Builder setName(int value) {
7097            bitField0_ |= 0x00000002;
7098            name_ = value;
7099            
7100            return this;
7101          }
7102          /**
7103           * <code>required int32 name = 2;</code>
7104           *
7105           * <pre>
7106           * Id in the StringTable
7107           * </pre>
7108           */
7109          public Builder clearName() {
7110            bitField0_ = (bitField0_ & ~0x00000002);
7111            name_ = 0;
7112            
7113            return this;
7114          }
7115    
7116          // optional bool reified = 3 [default = false];
7117          private boolean reified_ ;
7118          /**
7119           * <code>optional bool reified = 3 [default = false];</code>
7120           */
7121          public boolean hasReified() {
7122            return ((bitField0_ & 0x00000004) == 0x00000004);
7123          }
7124          /**
7125           * <code>optional bool reified = 3 [default = false];</code>
7126           */
7127          public boolean getReified() {
7128            return reified_;
7129          }
7130          /**
7131           * <code>optional bool reified = 3 [default = false];</code>
7132           */
7133          public Builder setReified(boolean value) {
7134            bitField0_ |= 0x00000004;
7135            reified_ = value;
7136            
7137            return this;
7138          }
7139          /**
7140           * <code>optional bool reified = 3 [default = false];</code>
7141           */
7142          public Builder clearReified() {
7143            bitField0_ = (bitField0_ & ~0x00000004);
7144            reified_ = false;
7145            
7146            return this;
7147          }
7148    
7149          // optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];
7150          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
7151          /**
7152           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7153           */
7154          public boolean hasVariance() {
7155            return ((bitField0_ & 0x00000008) == 0x00000008);
7156          }
7157          /**
7158           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7159           */
7160          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
7161            return variance_;
7162          }
7163          /**
7164           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7165           */
7166          public Builder setVariance(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance value) {
7167            if (value == null) {
7168              throw new NullPointerException();
7169            }
7170            bitField0_ |= 0x00000008;
7171            variance_ = value;
7172            
7173            return this;
7174          }
7175          /**
7176           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7177           */
7178          public Builder clearVariance() {
7179            bitField0_ = (bitField0_ & ~0x00000008);
7180            variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
7181            
7182            return this;
7183          }
7184    
7185          // repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;
7186          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> upperBound_ =
7187            java.util.Collections.emptyList();
7188          private void ensureUpperBoundIsMutable() {
7189            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
7190              upperBound_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(upperBound_);
7191              bitField0_ |= 0x00000010;
7192             }
7193          }
7194    
7195          /**
7196           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7197           */
7198          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getUpperBoundList() {
7199            return java.util.Collections.unmodifiableList(upperBound_);
7200          }
7201          /**
7202           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7203           */
7204          public int getUpperBoundCount() {
7205            return upperBound_.size();
7206          }
7207          /**
7208           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7209           */
7210          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index) {
7211            return upperBound_.get(index);
7212          }
7213          /**
7214           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7215           */
7216          public Builder setUpperBound(
7217              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7218            if (value == null) {
7219              throw new NullPointerException();
7220            }
7221            ensureUpperBoundIsMutable();
7222            upperBound_.set(index, value);
7223    
7224            return this;
7225          }
7226          /**
7227           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7228           */
7229          public Builder setUpperBound(
7230              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7231            ensureUpperBoundIsMutable();
7232            upperBound_.set(index, builderForValue.build());
7233    
7234            return this;
7235          }
7236          /**
7237           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7238           */
7239          public Builder addUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7240            if (value == null) {
7241              throw new NullPointerException();
7242            }
7243            ensureUpperBoundIsMutable();
7244            upperBound_.add(value);
7245    
7246            return this;
7247          }
7248          /**
7249           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7250           */
7251          public Builder addUpperBound(
7252              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7253            if (value == null) {
7254              throw new NullPointerException();
7255            }
7256            ensureUpperBoundIsMutable();
7257            upperBound_.add(index, value);
7258    
7259            return this;
7260          }
7261          /**
7262           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7263           */
7264          public Builder addUpperBound(
7265              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7266            ensureUpperBoundIsMutable();
7267            upperBound_.add(builderForValue.build());
7268    
7269            return this;
7270          }
7271          /**
7272           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7273           */
7274          public Builder addUpperBound(
7275              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7276            ensureUpperBoundIsMutable();
7277            upperBound_.add(index, builderForValue.build());
7278    
7279            return this;
7280          }
7281          /**
7282           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7283           */
7284          public Builder addAllUpperBound(
7285              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
7286            ensureUpperBoundIsMutable();
7287            super.addAll(values, upperBound_);
7288    
7289            return this;
7290          }
7291          /**
7292           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7293           */
7294          public Builder clearUpperBound() {
7295            upperBound_ = java.util.Collections.emptyList();
7296            bitField0_ = (bitField0_ & ~0x00000010);
7297    
7298            return this;
7299          }
7300          /**
7301           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7302           */
7303          public Builder removeUpperBound(int index) {
7304            ensureUpperBoundIsMutable();
7305            upperBound_.remove(index);
7306    
7307            return this;
7308          }
7309    
7310          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.TypeParameter)
7311        }
7312    
7313        static {
7314          defaultInstance = new TypeParameter(true);
7315          defaultInstance.initFields();
7316        }
7317    
7318        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.TypeParameter)
7319      }
7320    
7321      public interface ClassOrBuilder extends 
7322           com.google.protobuf.GeneratedMessageLite.
7323                ExtendableMessageOrBuilder<Class> {
7324    
7325        // optional int32 flags = 1 [default = 0];
7326        /**
7327         * <code>optional int32 flags = 1 [default = 0];</code>
7328         *
7329         * <pre>
7330         *
7331         *Visibility
7332         *Modality
7333         *has_annotation
7334         *ClassKind
7335         *is_inner
7336         * </pre>
7337         */
7338        boolean hasFlags();
7339        /**
7340         * <code>optional int32 flags = 1 [default = 0];</code>
7341         *
7342         * <pre>
7343         *
7344         *Visibility
7345         *Modality
7346         *has_annotation
7347         *ClassKind
7348         *is_inner
7349         * </pre>
7350         */
7351        int getFlags();
7352    
7353        // required int32 fq_name = 3;
7354        /**
7355         * <code>required int32 fq_name = 3;</code>
7356         */
7357        boolean hasFqName();
7358        /**
7359         * <code>required int32 fq_name = 3;</code>
7360         */
7361        int getFqName();
7362    
7363        // optional int32 companion_object_name = 4;
7364        /**
7365         * <code>optional int32 companion_object_name = 4;</code>
7366         *
7367         * <pre>
7368         * If this field is present, it contains the name of companion object.
7369         * </pre>
7370         */
7371        boolean hasCompanionObjectName();
7372        /**
7373         * <code>optional int32 companion_object_name = 4;</code>
7374         *
7375         * <pre>
7376         * If this field is present, it contains the name of companion object.
7377         * </pre>
7378         */
7379        int getCompanionObjectName();
7380    
7381        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;
7382        /**
7383         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7384         */
7385        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
7386            getTypeParameterList();
7387        /**
7388         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7389         */
7390        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
7391        /**
7392         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7393         */
7394        int getTypeParameterCount();
7395    
7396        // repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;
7397        /**
7398         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7399         */
7400        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> 
7401            getSupertypeList();
7402        /**
7403         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7404         */
7405        org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index);
7406        /**
7407         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7408         */
7409        int getSupertypeCount();
7410    
7411        // repeated int32 nested_class_name = 7;
7412        /**
7413         * <code>repeated int32 nested_class_name = 7;</code>
7414         *
7415         * <pre>
7416         * we store only names, because the actual information must reside in the corresponding .class files,
7417         * to be obtainable through reflection at runtime
7418         * </pre>
7419         */
7420        java.util.List<java.lang.Integer> getNestedClassNameList();
7421        /**
7422         * <code>repeated int32 nested_class_name = 7;</code>
7423         *
7424         * <pre>
7425         * we store only names, because the actual information must reside in the corresponding .class files,
7426         * to be obtainable through reflection at runtime
7427         * </pre>
7428         */
7429        int getNestedClassNameCount();
7430        /**
7431         * <code>repeated int32 nested_class_name = 7;</code>
7432         *
7433         * <pre>
7434         * we store only names, because the actual information must reside in the corresponding .class files,
7435         * to be obtainable through reflection at runtime
7436         * </pre>
7437         */
7438        int getNestedClassName(int index);
7439    
7440        // repeated .org.jetbrains.kotlin.serialization.Callable member = 11;
7441        /**
7442         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
7443         */
7444        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> 
7445            getMemberList();
7446        /**
7447         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
7448         */
7449        org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index);
7450        /**
7451         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
7452         */
7453        int getMemberCount();
7454    
7455        // repeated int32 enum_entry = 12;
7456        /**
7457         * <code>repeated int32 enum_entry = 12;</code>
7458         */
7459        java.util.List<java.lang.Integer> getEnumEntryList();
7460        /**
7461         * <code>repeated int32 enum_entry = 12;</code>
7462         */
7463        int getEnumEntryCount();
7464        /**
7465         * <code>repeated int32 enum_entry = 12;</code>
7466         */
7467        int getEnumEntry(int index);
7468    
7469        // optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;
7470        /**
7471         * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
7472         *
7473         * <pre>
7474         * This field is present if and only if the class has a primary constructor
7475         * </pre>
7476         */
7477        boolean hasPrimaryConstructor();
7478        /**
7479         * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
7480         *
7481         * <pre>
7482         * This field is present if and only if the class has a primary constructor
7483         * </pre>
7484         */
7485        org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor getPrimaryConstructor();
7486    
7487        // repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;
7488        /**
7489         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
7490         */
7491        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> 
7492            getSecondaryConstructorList();
7493        /**
7494         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
7495         */
7496        org.jetbrains.kotlin.serialization.ProtoBuf.Callable getSecondaryConstructor(int index);
7497        /**
7498         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
7499         */
7500        int getSecondaryConstructorCount();
7501      }
7502      /**
7503       * Protobuf type {@code org.jetbrains.kotlin.serialization.Class}
7504       */
7505      public static final class Class extends
7506          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
7507            Class> implements ClassOrBuilder {
7508        // Use Class.newBuilder() to construct.
7509        private Class(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Class, ?> builder) {
7510          super(builder);
7511    
7512        }
7513        private Class(boolean noInit) {}
7514    
7515        private static final Class defaultInstance;
7516        public static Class getDefaultInstance() {
7517          return defaultInstance;
7518        }
7519    
7520        public Class getDefaultInstanceForType() {
7521          return defaultInstance;
7522        }
7523    
7524        private Class(
7525            com.google.protobuf.CodedInputStream input,
7526            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7527            throws com.google.protobuf.InvalidProtocolBufferException {
7528          initFields();
7529          int mutable_bitField0_ = 0;
7530          try {
7531            boolean done = false;
7532            while (!done) {
7533              int tag = input.readTag();
7534              switch (tag) {
7535                case 0:
7536                  done = true;
7537                  break;
7538                default: {
7539                  if (!parseUnknownField(input,
7540                                         extensionRegistry, tag)) {
7541                    done = true;
7542                  }
7543                  break;
7544                }
7545                case 8: {
7546                  bitField0_ |= 0x00000001;
7547                  flags_ = input.readInt32();
7548                  break;
7549                }
7550                case 24: {
7551                  bitField0_ |= 0x00000002;
7552                  fqName_ = input.readInt32();
7553                  break;
7554                }
7555                case 32: {
7556                  bitField0_ |= 0x00000004;
7557                  companionObjectName_ = input.readInt32();
7558                  break;
7559                }
7560                case 42: {
7561                  if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
7562                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
7563                    mutable_bitField0_ |= 0x00000008;
7564                  }
7565                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
7566                  break;
7567                }
7568                case 50: {
7569                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7570                    supertype_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
7571                    mutable_bitField0_ |= 0x00000010;
7572                  }
7573                  supertype_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
7574                  break;
7575                }
7576                case 56: {
7577                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
7578                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
7579                    mutable_bitField0_ |= 0x00000020;
7580                  }
7581                  nestedClassName_.add(input.readInt32());
7582                  break;
7583                }
7584                case 58: {
7585                  int length = input.readRawVarint32();
7586                  int limit = input.pushLimit(length);
7587                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
7588                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
7589                    mutable_bitField0_ |= 0x00000020;
7590                  }
7591                  while (input.getBytesUntilLimit() > 0) {
7592                    nestedClassName_.add(input.readInt32());
7593                  }
7594                  input.popLimit(limit);
7595                  break;
7596                }
7597                case 90: {
7598                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
7599                    member_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>();
7600                    mutable_bitField0_ |= 0x00000040;
7601                  }
7602                  member_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.PARSER, extensionRegistry));
7603                  break;
7604                }
7605                case 96: {
7606                  if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
7607                    enumEntry_ = new java.util.ArrayList<java.lang.Integer>();
7608                    mutable_bitField0_ |= 0x00000080;
7609                  }
7610                  enumEntry_.add(input.readInt32());
7611                  break;
7612                }
7613                case 98: {
7614                  int length = input.readRawVarint32();
7615                  int limit = input.pushLimit(length);
7616                  if (!((mutable_bitField0_ & 0x00000080) == 0x00000080) && input.getBytesUntilLimit() > 0) {
7617                    enumEntry_ = new java.util.ArrayList<java.lang.Integer>();
7618                    mutable_bitField0_ |= 0x00000080;
7619                  }
7620                  while (input.getBytesUntilLimit() > 0) {
7621                    enumEntry_.add(input.readInt32());
7622                  }
7623                  input.popLimit(limit);
7624                  break;
7625                }
7626                case 106: {
7627                  org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.Builder subBuilder = null;
7628                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
7629                    subBuilder = primaryConstructor_.toBuilder();
7630                  }
7631                  primaryConstructor_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.PARSER, extensionRegistry);
7632                  if (subBuilder != null) {
7633                    subBuilder.mergeFrom(primaryConstructor_);
7634                    primaryConstructor_ = subBuilder.buildPartial();
7635                  }
7636                  bitField0_ |= 0x00000008;
7637                  break;
7638                }
7639                case 114: {
7640                  if (!((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
7641                    secondaryConstructor_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>();
7642                    mutable_bitField0_ |= 0x00000200;
7643                  }
7644                  secondaryConstructor_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.PARSER, extensionRegistry));
7645                  break;
7646                }
7647              }
7648            }
7649          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7650            throw e.setUnfinishedMessage(this);
7651          } catch (java.io.IOException e) {
7652            throw new com.google.protobuf.InvalidProtocolBufferException(
7653                e.getMessage()).setUnfinishedMessage(this);
7654          } finally {
7655            if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
7656              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
7657            }
7658            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7659              supertype_ = java.util.Collections.unmodifiableList(supertype_);
7660            }
7661            if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
7662              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
7663            }
7664            if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
7665              member_ = java.util.Collections.unmodifiableList(member_);
7666            }
7667            if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
7668              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
7669            }
7670            if (((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
7671              secondaryConstructor_ = java.util.Collections.unmodifiableList(secondaryConstructor_);
7672            }
7673            makeExtensionsImmutable();
7674          }
7675        }
7676        public static com.google.protobuf.Parser<Class> PARSER =
7677            new com.google.protobuf.AbstractParser<Class>() {
7678          public Class parsePartialFrom(
7679              com.google.protobuf.CodedInputStream input,
7680              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7681              throws com.google.protobuf.InvalidProtocolBufferException {
7682            return new Class(input, extensionRegistry);
7683          }
7684        };
7685    
7686        @java.lang.Override
7687        public com.google.protobuf.Parser<Class> getParserForType() {
7688          return PARSER;
7689        }
7690    
7691        /**
7692         * Protobuf enum {@code org.jetbrains.kotlin.serialization.Class.Kind}
7693         */
7694        public enum Kind
7695            implements com.google.protobuf.Internal.EnumLite {
7696          /**
7697           * <code>CLASS = 0;</code>
7698           *
7699           * <pre>
7700           * 3 bits
7701           * </pre>
7702           */
7703          CLASS(0, 0),
7704          /**
7705           * <code>TRAIT = 1;</code>
7706           */
7707          TRAIT(1, 1),
7708          /**
7709           * <code>ENUM_CLASS = 2;</code>
7710           */
7711          ENUM_CLASS(2, 2),
7712          /**
7713           * <code>ENUM_ENTRY = 3;</code>
7714           */
7715          ENUM_ENTRY(3, 3),
7716          /**
7717           * <code>ANNOTATION_CLASS = 4;</code>
7718           */
7719          ANNOTATION_CLASS(4, 4),
7720          /**
7721           * <code>OBJECT = 5;</code>
7722           */
7723          OBJECT(5, 5),
7724          /**
7725           * <code>CLASS_OBJECT = 6;</code>
7726           */
7727          CLASS_OBJECT(6, 6),
7728          ;
7729    
7730          /**
7731           * <code>CLASS = 0;</code>
7732           *
7733           * <pre>
7734           * 3 bits
7735           * </pre>
7736           */
7737          public static final int CLASS_VALUE = 0;
7738          /**
7739           * <code>TRAIT = 1;</code>
7740           */
7741          public static final int TRAIT_VALUE = 1;
7742          /**
7743           * <code>ENUM_CLASS = 2;</code>
7744           */
7745          public static final int ENUM_CLASS_VALUE = 2;
7746          /**
7747           * <code>ENUM_ENTRY = 3;</code>
7748           */
7749          public static final int ENUM_ENTRY_VALUE = 3;
7750          /**
7751           * <code>ANNOTATION_CLASS = 4;</code>
7752           */
7753          public static final int ANNOTATION_CLASS_VALUE = 4;
7754          /**
7755           * <code>OBJECT = 5;</code>
7756           */
7757          public static final int OBJECT_VALUE = 5;
7758          /**
7759           * <code>CLASS_OBJECT = 6;</code>
7760           */
7761          public static final int CLASS_OBJECT_VALUE = 6;
7762    
7763    
7764          public final int getNumber() { return value; }
7765    
7766          public static Kind valueOf(int value) {
7767            switch (value) {
7768              case 0: return CLASS;
7769              case 1: return TRAIT;
7770              case 2: return ENUM_CLASS;
7771              case 3: return ENUM_ENTRY;
7772              case 4: return ANNOTATION_CLASS;
7773              case 5: return OBJECT;
7774              case 6: return CLASS_OBJECT;
7775              default: return null;
7776            }
7777          }
7778    
7779          public static com.google.protobuf.Internal.EnumLiteMap<Kind>
7780              internalGetValueMap() {
7781            return internalValueMap;
7782          }
7783          private static com.google.protobuf.Internal.EnumLiteMap<Kind>
7784              internalValueMap =
7785                new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
7786                  public Kind findValueByNumber(int number) {
7787                    return Kind.valueOf(number);
7788                  }
7789                };
7790    
7791          private final int value;
7792    
7793          private Kind(int index, int value) {
7794            this.value = value;
7795          }
7796    
7797          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Class.Kind)
7798        }
7799    
7800        public interface PrimaryConstructorOrBuilder
7801            extends com.google.protobuf.MessageLiteOrBuilder {
7802    
7803          // optional .org.jetbrains.kotlin.serialization.Callable data = 1;
7804          /**
7805           * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
7806           *
7807           * <pre>
7808           * If this field is present, it contains serialized data for the primary constructor.
7809           * Otherwise it's default and can be created manually upon deserialization
7810           * Note: currently only objects have default primary constructor
7811           * </pre>
7812           */
7813          boolean hasData();
7814          /**
7815           * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
7816           *
7817           * <pre>
7818           * If this field is present, it contains serialized data for the primary constructor.
7819           * Otherwise it's default and can be created manually upon deserialization
7820           * Note: currently only objects have default primary constructor
7821           * </pre>
7822           */
7823          org.jetbrains.kotlin.serialization.ProtoBuf.Callable getData();
7824        }
7825        /**
7826         * Protobuf type {@code org.jetbrains.kotlin.serialization.Class.PrimaryConstructor}
7827         */
7828        public static final class PrimaryConstructor extends
7829            com.google.protobuf.GeneratedMessageLite
7830            implements PrimaryConstructorOrBuilder {
7831          // Use PrimaryConstructor.newBuilder() to construct.
7832          private PrimaryConstructor(com.google.protobuf.GeneratedMessageLite.Builder builder) {
7833            super(builder);
7834    
7835          }
7836          private PrimaryConstructor(boolean noInit) {}
7837    
7838          private static final PrimaryConstructor defaultInstance;
7839          public static PrimaryConstructor getDefaultInstance() {
7840            return defaultInstance;
7841          }
7842    
7843          public PrimaryConstructor getDefaultInstanceForType() {
7844            return defaultInstance;
7845          }
7846    
7847          private PrimaryConstructor(
7848              com.google.protobuf.CodedInputStream input,
7849              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7850              throws com.google.protobuf.InvalidProtocolBufferException {
7851            initFields();
7852            int mutable_bitField0_ = 0;
7853            try {
7854              boolean done = false;
7855              while (!done) {
7856                int tag = input.readTag();
7857                switch (tag) {
7858                  case 0:
7859                    done = true;
7860                    break;
7861                  default: {
7862                    if (!parseUnknownField(input,
7863                                           extensionRegistry, tag)) {
7864                      done = true;
7865                    }
7866                    break;
7867                  }
7868                  case 10: {
7869                    org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder subBuilder = null;
7870                    if (((bitField0_ & 0x00000001) == 0x00000001)) {
7871                      subBuilder = data_.toBuilder();
7872                    }
7873                    data_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.PARSER, extensionRegistry);
7874                    if (subBuilder != null) {
7875                      subBuilder.mergeFrom(data_);
7876                      data_ = subBuilder.buildPartial();
7877                    }
7878                    bitField0_ |= 0x00000001;
7879                    break;
7880                  }
7881                }
7882              }
7883            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7884              throw e.setUnfinishedMessage(this);
7885            } catch (java.io.IOException e) {
7886              throw new com.google.protobuf.InvalidProtocolBufferException(
7887                  e.getMessage()).setUnfinishedMessage(this);
7888            } finally {
7889              makeExtensionsImmutable();
7890            }
7891          }
7892          public static com.google.protobuf.Parser<PrimaryConstructor> PARSER =
7893              new com.google.protobuf.AbstractParser<PrimaryConstructor>() {
7894            public PrimaryConstructor parsePartialFrom(
7895                com.google.protobuf.CodedInputStream input,
7896                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7897                throws com.google.protobuf.InvalidProtocolBufferException {
7898              return new PrimaryConstructor(input, extensionRegistry);
7899            }
7900          };
7901    
7902          @java.lang.Override
7903          public com.google.protobuf.Parser<PrimaryConstructor> getParserForType() {
7904            return PARSER;
7905          }
7906    
7907          private int bitField0_;
7908          // optional .org.jetbrains.kotlin.serialization.Callable data = 1;
7909          public static final int DATA_FIELD_NUMBER = 1;
7910          private org.jetbrains.kotlin.serialization.ProtoBuf.Callable data_;
7911          /**
7912           * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
7913           *
7914           * <pre>
7915           * If this field is present, it contains serialized data for the primary constructor.
7916           * Otherwise it's default and can be created manually upon deserialization
7917           * Note: currently only objects have default primary constructor
7918           * </pre>
7919           */
7920          public boolean hasData() {
7921            return ((bitField0_ & 0x00000001) == 0x00000001);
7922          }
7923          /**
7924           * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
7925           *
7926           * <pre>
7927           * If this field is present, it contains serialized data for the primary constructor.
7928           * Otherwise it's default and can be created manually upon deserialization
7929           * Note: currently only objects have default primary constructor
7930           * </pre>
7931           */
7932          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getData() {
7933            return data_;
7934          }
7935    
7936          private void initFields() {
7937            data_ = org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance();
7938          }
7939          private byte memoizedIsInitialized = -1;
7940          public final boolean isInitialized() {
7941            byte isInitialized = memoizedIsInitialized;
7942            if (isInitialized != -1) return isInitialized == 1;
7943    
7944            if (hasData()) {
7945              if (!getData().isInitialized()) {
7946                memoizedIsInitialized = 0;
7947                return false;
7948              }
7949            }
7950            memoizedIsInitialized = 1;
7951            return true;
7952          }
7953    
7954          public void writeTo(com.google.protobuf.CodedOutputStream output)
7955                              throws java.io.IOException {
7956            getSerializedSize();
7957            if (((bitField0_ & 0x00000001) == 0x00000001)) {
7958              output.writeMessage(1, data_);
7959            }
7960          }
7961    
7962          private int memoizedSerializedSize = -1;
7963          public int getSerializedSize() {
7964            int size = memoizedSerializedSize;
7965            if (size != -1) return size;
7966    
7967            size = 0;
7968            if (((bitField0_ & 0x00000001) == 0x00000001)) {
7969              size += com.google.protobuf.CodedOutputStream
7970                .computeMessageSize(1, data_);
7971            }
7972            memoizedSerializedSize = size;
7973            return size;
7974          }
7975    
7976          private static final long serialVersionUID = 0L;
7977          @java.lang.Override
7978          protected java.lang.Object writeReplace()
7979              throws java.io.ObjectStreamException {
7980            return super.writeReplace();
7981          }
7982    
7983          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
7984              com.google.protobuf.ByteString data)
7985              throws com.google.protobuf.InvalidProtocolBufferException {
7986            return PARSER.parseFrom(data);
7987          }
7988          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
7989              com.google.protobuf.ByteString data,
7990              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7991              throws com.google.protobuf.InvalidProtocolBufferException {
7992            return PARSER.parseFrom(data, extensionRegistry);
7993          }
7994          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(byte[] data)
7995              throws com.google.protobuf.InvalidProtocolBufferException {
7996            return PARSER.parseFrom(data);
7997          }
7998          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
7999              byte[] data,
8000              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8001              throws com.google.protobuf.InvalidProtocolBufferException {
8002            return PARSER.parseFrom(data, extensionRegistry);
8003          }
8004          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(java.io.InputStream input)
8005              throws java.io.IOException {
8006            return PARSER.parseFrom(input);
8007          }
8008          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
8009              java.io.InputStream input,
8010              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8011              throws java.io.IOException {
8012            return PARSER.parseFrom(input, extensionRegistry);
8013          }
8014          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseDelimitedFrom(java.io.InputStream input)
8015              throws java.io.IOException {
8016            return PARSER.parseDelimitedFrom(input);
8017          }
8018          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseDelimitedFrom(
8019              java.io.InputStream input,
8020              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8021              throws java.io.IOException {
8022            return PARSER.parseDelimitedFrom(input, extensionRegistry);
8023          }
8024          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
8025              com.google.protobuf.CodedInputStream input)
8026              throws java.io.IOException {
8027            return PARSER.parseFrom(input);
8028          }
8029          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
8030              com.google.protobuf.CodedInputStream input,
8031              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8032              throws java.io.IOException {
8033            return PARSER.parseFrom(input, extensionRegistry);
8034          }
8035    
8036          public static Builder newBuilder() { return Builder.create(); }
8037          public Builder newBuilderForType() { return newBuilder(); }
8038          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor prototype) {
8039            return newBuilder().mergeFrom(prototype);
8040          }
8041          public Builder toBuilder() { return newBuilder(this); }
8042    
8043          /**
8044           * Protobuf type {@code org.jetbrains.kotlin.serialization.Class.PrimaryConstructor}
8045           */
8046          public static final class Builder extends
8047              com.google.protobuf.GeneratedMessageLite.Builder<
8048                org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor, Builder>
8049              implements org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructorOrBuilder {
8050            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.newBuilder()
8051            private Builder() {
8052              maybeForceBuilderInitialization();
8053            }
8054    
8055            private void maybeForceBuilderInitialization() {
8056            }
8057            private static Builder create() {
8058              return new Builder();
8059            }
8060    
8061            public Builder clear() {
8062              super.clear();
8063              data_ = org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance();
8064              bitField0_ = (bitField0_ & ~0x00000001);
8065              return this;
8066            }
8067    
8068            public Builder clone() {
8069              return create().mergeFrom(buildPartial());
8070            }
8071    
8072            public org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor getDefaultInstanceForType() {
8073              return org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
8074            }
8075    
8076            public org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor build() {
8077              org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor result = buildPartial();
8078              if (!result.isInitialized()) {
8079                throw newUninitializedMessageException(result);
8080              }
8081              return result;
8082            }
8083    
8084            public org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor buildPartial() {
8085              org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor result = new org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor(this);
8086              int from_bitField0_ = bitField0_;
8087              int to_bitField0_ = 0;
8088              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
8089                to_bitField0_ |= 0x00000001;
8090              }
8091              result.data_ = data_;
8092              result.bitField0_ = to_bitField0_;
8093              return result;
8094            }
8095    
8096            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor other) {
8097              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance()) return this;
8098              if (other.hasData()) {
8099                mergeData(other.getData());
8100              }
8101              return this;
8102            }
8103    
8104            public final boolean isInitialized() {
8105              if (hasData()) {
8106                if (!getData().isInitialized()) {
8107                  
8108                  return false;
8109                }
8110              }
8111              return true;
8112            }
8113    
8114            public Builder mergeFrom(
8115                com.google.protobuf.CodedInputStream input,
8116                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8117                throws java.io.IOException {
8118              org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parsedMessage = null;
8119              try {
8120                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
8121              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8122                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor) e.getUnfinishedMessage();
8123                throw e;
8124              } finally {
8125                if (parsedMessage != null) {
8126                  mergeFrom(parsedMessage);
8127                }
8128              }
8129              return this;
8130            }
8131            private int bitField0_;
8132    
8133            // optional .org.jetbrains.kotlin.serialization.Callable data = 1;
8134            private org.jetbrains.kotlin.serialization.ProtoBuf.Callable data_ = org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance();
8135            /**
8136             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8137             *
8138             * <pre>
8139             * If this field is present, it contains serialized data for the primary constructor.
8140             * Otherwise it's default and can be created manually upon deserialization
8141             * Note: currently only objects have default primary constructor
8142             * </pre>
8143             */
8144            public boolean hasData() {
8145              return ((bitField0_ & 0x00000001) == 0x00000001);
8146            }
8147            /**
8148             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8149             *
8150             * <pre>
8151             * If this field is present, it contains serialized data for the primary constructor.
8152             * Otherwise it's default and can be created manually upon deserialization
8153             * Note: currently only objects have default primary constructor
8154             * </pre>
8155             */
8156            public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getData() {
8157              return data_;
8158            }
8159            /**
8160             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8161             *
8162             * <pre>
8163             * If this field is present, it contains serialized data for the primary constructor.
8164             * Otherwise it's default and can be created manually upon deserialization
8165             * Note: currently only objects have default primary constructor
8166             * </pre>
8167             */
8168            public Builder setData(org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
8169              if (value == null) {
8170                throw new NullPointerException();
8171              }
8172              data_ = value;
8173    
8174              bitField0_ |= 0x00000001;
8175              return this;
8176            }
8177            /**
8178             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8179             *
8180             * <pre>
8181             * If this field is present, it contains serialized data for the primary constructor.
8182             * Otherwise it's default and can be created manually upon deserialization
8183             * Note: currently only objects have default primary constructor
8184             * </pre>
8185             */
8186            public Builder setData(
8187                org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
8188              data_ = builderForValue.build();
8189    
8190              bitField0_ |= 0x00000001;
8191              return this;
8192            }
8193            /**
8194             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8195             *
8196             * <pre>
8197             * If this field is present, it contains serialized data for the primary constructor.
8198             * Otherwise it's default and can be created manually upon deserialization
8199             * Note: currently only objects have default primary constructor
8200             * </pre>
8201             */
8202            public Builder mergeData(org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
8203              if (((bitField0_ & 0x00000001) == 0x00000001) &&
8204                  data_ != org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance()) {
8205                data_ =
8206                  org.jetbrains.kotlin.serialization.ProtoBuf.Callable.newBuilder(data_).mergeFrom(value).buildPartial();
8207              } else {
8208                data_ = value;
8209              }
8210    
8211              bitField0_ |= 0x00000001;
8212              return this;
8213            }
8214            /**
8215             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8216             *
8217             * <pre>
8218             * If this field is present, it contains serialized data for the primary constructor.
8219             * Otherwise it's default and can be created manually upon deserialization
8220             * Note: currently only objects have default primary constructor
8221             * </pre>
8222             */
8223            public Builder clearData() {
8224              data_ = org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance();
8225    
8226              bitField0_ = (bitField0_ & ~0x00000001);
8227              return this;
8228            }
8229    
8230            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Class.PrimaryConstructor)
8231          }
8232    
8233          static {
8234            defaultInstance = new PrimaryConstructor(true);
8235            defaultInstance.initFields();
8236          }
8237    
8238          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Class.PrimaryConstructor)
8239        }
8240    
8241        private int bitField0_;
8242        // optional int32 flags = 1 [default = 0];
8243        public static final int FLAGS_FIELD_NUMBER = 1;
8244        private int flags_;
8245        /**
8246         * <code>optional int32 flags = 1 [default = 0];</code>
8247         *
8248         * <pre>
8249         *
8250         *Visibility
8251         *Modality
8252         *has_annotation
8253         *ClassKind
8254         *is_inner
8255         * </pre>
8256         */
8257        public boolean hasFlags() {
8258          return ((bitField0_ & 0x00000001) == 0x00000001);
8259        }
8260        /**
8261         * <code>optional int32 flags = 1 [default = 0];</code>
8262         *
8263         * <pre>
8264         *
8265         *Visibility
8266         *Modality
8267         *has_annotation
8268         *ClassKind
8269         *is_inner
8270         * </pre>
8271         */
8272        public int getFlags() {
8273          return flags_;
8274        }
8275    
8276        // required int32 fq_name = 3;
8277        public static final int FQ_NAME_FIELD_NUMBER = 3;
8278        private int fqName_;
8279        /**
8280         * <code>required int32 fq_name = 3;</code>
8281         */
8282        public boolean hasFqName() {
8283          return ((bitField0_ & 0x00000002) == 0x00000002);
8284        }
8285        /**
8286         * <code>required int32 fq_name = 3;</code>
8287         */
8288        public int getFqName() {
8289          return fqName_;
8290        }
8291    
8292        // optional int32 companion_object_name = 4;
8293        public static final int COMPANION_OBJECT_NAME_FIELD_NUMBER = 4;
8294        private int companionObjectName_;
8295        /**
8296         * <code>optional int32 companion_object_name = 4;</code>
8297         *
8298         * <pre>
8299         * If this field is present, it contains the name of companion object.
8300         * </pre>
8301         */
8302        public boolean hasCompanionObjectName() {
8303          return ((bitField0_ & 0x00000004) == 0x00000004);
8304        }
8305        /**
8306         * <code>optional int32 companion_object_name = 4;</code>
8307         *
8308         * <pre>
8309         * If this field is present, it contains the name of companion object.
8310         * </pre>
8311         */
8312        public int getCompanionObjectName() {
8313          return companionObjectName_;
8314        }
8315    
8316        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;
8317        public static final int TYPE_PARAMETER_FIELD_NUMBER = 5;
8318        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
8319        /**
8320         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8321         */
8322        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
8323          return typeParameter_;
8324        }
8325        /**
8326         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8327         */
8328        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
8329            getTypeParameterOrBuilderList() {
8330          return typeParameter_;
8331        }
8332        /**
8333         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8334         */
8335        public int getTypeParameterCount() {
8336          return typeParameter_.size();
8337        }
8338        /**
8339         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8340         */
8341        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
8342          return typeParameter_.get(index);
8343        }
8344        /**
8345         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8346         */
8347        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
8348            int index) {
8349          return typeParameter_.get(index);
8350        }
8351    
8352        // repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;
8353        public static final int SUPERTYPE_FIELD_NUMBER = 6;
8354        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> supertype_;
8355        /**
8356         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8357         */
8358        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getSupertypeList() {
8359          return supertype_;
8360        }
8361        /**
8362         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8363         */
8364        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
8365            getSupertypeOrBuilderList() {
8366          return supertype_;
8367        }
8368        /**
8369         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8370         */
8371        public int getSupertypeCount() {
8372          return supertype_.size();
8373        }
8374        /**
8375         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8376         */
8377        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index) {
8378          return supertype_.get(index);
8379        }
8380        /**
8381         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8382         */
8383        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getSupertypeOrBuilder(
8384            int index) {
8385          return supertype_.get(index);
8386        }
8387    
8388        // repeated int32 nested_class_name = 7;
8389        public static final int NESTED_CLASS_NAME_FIELD_NUMBER = 7;
8390        private java.util.List<java.lang.Integer> nestedClassName_;
8391        /**
8392         * <code>repeated int32 nested_class_name = 7;</code>
8393         *
8394         * <pre>
8395         * we store only names, because the actual information must reside in the corresponding .class files,
8396         * to be obtainable through reflection at runtime
8397         * </pre>
8398         */
8399        public java.util.List<java.lang.Integer>
8400            getNestedClassNameList() {
8401          return nestedClassName_;
8402        }
8403        /**
8404         * <code>repeated int32 nested_class_name = 7;</code>
8405         *
8406         * <pre>
8407         * we store only names, because the actual information must reside in the corresponding .class files,
8408         * to be obtainable through reflection at runtime
8409         * </pre>
8410         */
8411        public int getNestedClassNameCount() {
8412          return nestedClassName_.size();
8413        }
8414        /**
8415         * <code>repeated int32 nested_class_name = 7;</code>
8416         *
8417         * <pre>
8418         * we store only names, because the actual information must reside in the corresponding .class files,
8419         * to be obtainable through reflection at runtime
8420         * </pre>
8421         */
8422        public int getNestedClassName(int index) {
8423          return nestedClassName_.get(index);
8424        }
8425    
8426        // repeated .org.jetbrains.kotlin.serialization.Callable member = 11;
8427        public static final int MEMBER_FIELD_NUMBER = 11;
8428        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> member_;
8429        /**
8430         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
8431         */
8432        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getMemberList() {
8433          return member_;
8434        }
8435        /**
8436         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
8437         */
8438        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder> 
8439            getMemberOrBuilderList() {
8440          return member_;
8441        }
8442        /**
8443         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
8444         */
8445        public int getMemberCount() {
8446          return member_.size();
8447        }
8448        /**
8449         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
8450         */
8451        public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index) {
8452          return member_.get(index);
8453        }
8454        /**
8455         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
8456         */
8457        public org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder getMemberOrBuilder(
8458            int index) {
8459          return member_.get(index);
8460        }
8461    
8462        // repeated int32 enum_entry = 12;
8463        public static final int ENUM_ENTRY_FIELD_NUMBER = 12;
8464        private java.util.List<java.lang.Integer> enumEntry_;
8465        /**
8466         * <code>repeated int32 enum_entry = 12;</code>
8467         */
8468        public java.util.List<java.lang.Integer>
8469            getEnumEntryList() {
8470          return enumEntry_;
8471        }
8472        /**
8473         * <code>repeated int32 enum_entry = 12;</code>
8474         */
8475        public int getEnumEntryCount() {
8476          return enumEntry_.size();
8477        }
8478        /**
8479         * <code>repeated int32 enum_entry = 12;</code>
8480         */
8481        public int getEnumEntry(int index) {
8482          return enumEntry_.get(index);
8483        }
8484    
8485        // optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;
8486        public static final int PRIMARY_CONSTRUCTOR_FIELD_NUMBER = 13;
8487        private org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor primaryConstructor_;
8488        /**
8489         * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
8490         *
8491         * <pre>
8492         * This field is present if and only if the class has a primary constructor
8493         * </pre>
8494         */
8495        public boolean hasPrimaryConstructor() {
8496          return ((bitField0_ & 0x00000008) == 0x00000008);
8497        }
8498        /**
8499         * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
8500         *
8501         * <pre>
8502         * This field is present if and only if the class has a primary constructor
8503         * </pre>
8504         */
8505        public org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor getPrimaryConstructor() {
8506          return primaryConstructor_;
8507        }
8508    
8509        // repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;
8510        public static final int SECONDARY_CONSTRUCTOR_FIELD_NUMBER = 14;
8511        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> secondaryConstructor_;
8512        /**
8513         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
8514         */
8515        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getSecondaryConstructorList() {
8516          return secondaryConstructor_;
8517        }
8518        /**
8519         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
8520         */
8521        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder> 
8522            getSecondaryConstructorOrBuilderList() {
8523          return secondaryConstructor_;
8524        }
8525        /**
8526         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
8527         */
8528        public int getSecondaryConstructorCount() {
8529          return secondaryConstructor_.size();
8530        }
8531        /**
8532         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
8533         */
8534        public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getSecondaryConstructor(int index) {
8535          return secondaryConstructor_.get(index);
8536        }
8537        /**
8538         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
8539         */
8540        public org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder getSecondaryConstructorOrBuilder(
8541            int index) {
8542          return secondaryConstructor_.get(index);
8543        }
8544    
8545        private void initFields() {
8546          flags_ = 0;
8547          fqName_ = 0;
8548          companionObjectName_ = 0;
8549          typeParameter_ = java.util.Collections.emptyList();
8550          supertype_ = java.util.Collections.emptyList();
8551          nestedClassName_ = java.util.Collections.emptyList();
8552          member_ = java.util.Collections.emptyList();
8553          enumEntry_ = java.util.Collections.emptyList();
8554          primaryConstructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
8555          secondaryConstructor_ = java.util.Collections.emptyList();
8556        }
8557        private byte memoizedIsInitialized = -1;
8558        public final boolean isInitialized() {
8559          byte isInitialized = memoizedIsInitialized;
8560          if (isInitialized != -1) return isInitialized == 1;
8561    
8562          if (!hasFqName()) {
8563            memoizedIsInitialized = 0;
8564            return false;
8565          }
8566          for (int i = 0; i < getTypeParameterCount(); i++) {
8567            if (!getTypeParameter(i).isInitialized()) {
8568              memoizedIsInitialized = 0;
8569              return false;
8570            }
8571          }
8572          for (int i = 0; i < getSupertypeCount(); i++) {
8573            if (!getSupertype(i).isInitialized()) {
8574              memoizedIsInitialized = 0;
8575              return false;
8576            }
8577          }
8578          for (int i = 0; i < getMemberCount(); i++) {
8579            if (!getMember(i).isInitialized()) {
8580              memoizedIsInitialized = 0;
8581              return false;
8582            }
8583          }
8584          if (hasPrimaryConstructor()) {
8585            if (!getPrimaryConstructor().isInitialized()) {
8586              memoizedIsInitialized = 0;
8587              return false;
8588            }
8589          }
8590          for (int i = 0; i < getSecondaryConstructorCount(); i++) {
8591            if (!getSecondaryConstructor(i).isInitialized()) {
8592              memoizedIsInitialized = 0;
8593              return false;
8594            }
8595          }
8596          if (!extensionsAreInitialized()) {
8597            memoizedIsInitialized = 0;
8598            return false;
8599          }
8600          memoizedIsInitialized = 1;
8601          return true;
8602        }
8603    
8604        public void writeTo(com.google.protobuf.CodedOutputStream output)
8605                            throws java.io.IOException {
8606          getSerializedSize();
8607          com.google.protobuf.GeneratedMessageLite
8608            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Class>.ExtensionWriter extensionWriter =
8609              newExtensionWriter();
8610          if (((bitField0_ & 0x00000001) == 0x00000001)) {
8611            output.writeInt32(1, flags_);
8612          }
8613          if (((bitField0_ & 0x00000002) == 0x00000002)) {
8614            output.writeInt32(3, fqName_);
8615          }
8616          if (((bitField0_ & 0x00000004) == 0x00000004)) {
8617            output.writeInt32(4, companionObjectName_);
8618          }
8619          for (int i = 0; i < typeParameter_.size(); i++) {
8620            output.writeMessage(5, typeParameter_.get(i));
8621          }
8622          for (int i = 0; i < supertype_.size(); i++) {
8623            output.writeMessage(6, supertype_.get(i));
8624          }
8625          for (int i = 0; i < nestedClassName_.size(); i++) {
8626            output.writeInt32(7, nestedClassName_.get(i));
8627          }
8628          for (int i = 0; i < member_.size(); i++) {
8629            output.writeMessage(11, member_.get(i));
8630          }
8631          for (int i = 0; i < enumEntry_.size(); i++) {
8632            output.writeInt32(12, enumEntry_.get(i));
8633          }
8634          if (((bitField0_ & 0x00000008) == 0x00000008)) {
8635            output.writeMessage(13, primaryConstructor_);
8636          }
8637          for (int i = 0; i < secondaryConstructor_.size(); i++) {
8638            output.writeMessage(14, secondaryConstructor_.get(i));
8639          }
8640          extensionWriter.writeUntil(200, output);
8641        }
8642    
8643        private int memoizedSerializedSize = -1;
8644        public int getSerializedSize() {
8645          int size = memoizedSerializedSize;
8646          if (size != -1) return size;
8647    
8648          size = 0;
8649          if (((bitField0_ & 0x00000001) == 0x00000001)) {
8650            size += com.google.protobuf.CodedOutputStream
8651              .computeInt32Size(1, flags_);
8652          }
8653          if (((bitField0_ & 0x00000002) == 0x00000002)) {
8654            size += com.google.protobuf.CodedOutputStream
8655              .computeInt32Size(3, fqName_);
8656          }
8657          if (((bitField0_ & 0x00000004) == 0x00000004)) {
8658            size += com.google.protobuf.CodedOutputStream
8659              .computeInt32Size(4, companionObjectName_);
8660          }
8661          for (int i = 0; i < typeParameter_.size(); i++) {
8662            size += com.google.protobuf.CodedOutputStream
8663              .computeMessageSize(5, typeParameter_.get(i));
8664          }
8665          for (int i = 0; i < supertype_.size(); i++) {
8666            size += com.google.protobuf.CodedOutputStream
8667              .computeMessageSize(6, supertype_.get(i));
8668          }
8669          {
8670            int dataSize = 0;
8671            for (int i = 0; i < nestedClassName_.size(); i++) {
8672              dataSize += com.google.protobuf.CodedOutputStream
8673                .computeInt32SizeNoTag(nestedClassName_.get(i));
8674            }
8675            size += dataSize;
8676            size += 1 * getNestedClassNameList().size();
8677          }
8678          for (int i = 0; i < member_.size(); i++) {
8679            size += com.google.protobuf.CodedOutputStream
8680              .computeMessageSize(11, member_.get(i));
8681          }
8682          {
8683            int dataSize = 0;
8684            for (int i = 0; i < enumEntry_.size(); i++) {
8685              dataSize += com.google.protobuf.CodedOutputStream
8686                .computeInt32SizeNoTag(enumEntry_.get(i));
8687            }
8688            size += dataSize;
8689            size += 1 * getEnumEntryList().size();
8690          }
8691          if (((bitField0_ & 0x00000008) == 0x00000008)) {
8692            size += com.google.protobuf.CodedOutputStream
8693              .computeMessageSize(13, primaryConstructor_);
8694          }
8695          for (int i = 0; i < secondaryConstructor_.size(); i++) {
8696            size += com.google.protobuf.CodedOutputStream
8697              .computeMessageSize(14, secondaryConstructor_.get(i));
8698          }
8699          size += extensionsSerializedSize();
8700          memoizedSerializedSize = size;
8701          return size;
8702        }
8703    
8704        private static final long serialVersionUID = 0L;
8705        @java.lang.Override
8706        protected java.lang.Object writeReplace()
8707            throws java.io.ObjectStreamException {
8708          return super.writeReplace();
8709        }
8710    
8711        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8712            com.google.protobuf.ByteString data)
8713            throws com.google.protobuf.InvalidProtocolBufferException {
8714          return PARSER.parseFrom(data);
8715        }
8716        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8717            com.google.protobuf.ByteString data,
8718            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8719            throws com.google.protobuf.InvalidProtocolBufferException {
8720          return PARSER.parseFrom(data, extensionRegistry);
8721        }
8722        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(byte[] data)
8723            throws com.google.protobuf.InvalidProtocolBufferException {
8724          return PARSER.parseFrom(data);
8725        }
8726        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8727            byte[] data,
8728            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8729            throws com.google.protobuf.InvalidProtocolBufferException {
8730          return PARSER.parseFrom(data, extensionRegistry);
8731        }
8732        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(java.io.InputStream input)
8733            throws java.io.IOException {
8734          return PARSER.parseFrom(input);
8735        }
8736        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8737            java.io.InputStream input,
8738            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8739            throws java.io.IOException {
8740          return PARSER.parseFrom(input, extensionRegistry);
8741        }
8742        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseDelimitedFrom(java.io.InputStream input)
8743            throws java.io.IOException {
8744          return PARSER.parseDelimitedFrom(input);
8745        }
8746        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseDelimitedFrom(
8747            java.io.InputStream input,
8748            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8749            throws java.io.IOException {
8750          return PARSER.parseDelimitedFrom(input, extensionRegistry);
8751        }
8752        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8753            com.google.protobuf.CodedInputStream input)
8754            throws java.io.IOException {
8755          return PARSER.parseFrom(input);
8756        }
8757        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8758            com.google.protobuf.CodedInputStream input,
8759            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8760            throws java.io.IOException {
8761          return PARSER.parseFrom(input, extensionRegistry);
8762        }
8763    
8764        public static Builder newBuilder() { return Builder.create(); }
8765        public Builder newBuilderForType() { return newBuilder(); }
8766        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Class prototype) {
8767          return newBuilder().mergeFrom(prototype);
8768        }
8769        public Builder toBuilder() { return newBuilder(this); }
8770    
8771        /**
8772         * Protobuf type {@code org.jetbrains.kotlin.serialization.Class}
8773         */
8774        public static final class Builder extends
8775            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
8776              org.jetbrains.kotlin.serialization.ProtoBuf.Class, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.ClassOrBuilder {
8777          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Class.newBuilder()
8778          private Builder() {
8779            maybeForceBuilderInitialization();
8780          }
8781    
8782          private void maybeForceBuilderInitialization() {
8783          }
8784          private static Builder create() {
8785            return new Builder();
8786          }
8787    
8788          public Builder clear() {
8789            super.clear();
8790            flags_ = 0;
8791            bitField0_ = (bitField0_ & ~0x00000001);
8792            fqName_ = 0;
8793            bitField0_ = (bitField0_ & ~0x00000002);
8794            companionObjectName_ = 0;
8795            bitField0_ = (bitField0_ & ~0x00000004);
8796            typeParameter_ = java.util.Collections.emptyList();
8797            bitField0_ = (bitField0_ & ~0x00000008);
8798            supertype_ = java.util.Collections.emptyList();
8799            bitField0_ = (bitField0_ & ~0x00000010);
8800            nestedClassName_ = java.util.Collections.emptyList();
8801            bitField0_ = (bitField0_ & ~0x00000020);
8802            member_ = java.util.Collections.emptyList();
8803            bitField0_ = (bitField0_ & ~0x00000040);
8804            enumEntry_ = java.util.Collections.emptyList();
8805            bitField0_ = (bitField0_ & ~0x00000080);
8806            primaryConstructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
8807            bitField0_ = (bitField0_ & ~0x00000100);
8808            secondaryConstructor_ = java.util.Collections.emptyList();
8809            bitField0_ = (bitField0_ & ~0x00000200);
8810            return this;
8811          }
8812    
8813          public Builder clone() {
8814            return create().mergeFrom(buildPartial());
8815          }
8816    
8817          public org.jetbrains.kotlin.serialization.ProtoBuf.Class getDefaultInstanceForType() {
8818            return org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance();
8819          }
8820    
8821          public org.jetbrains.kotlin.serialization.ProtoBuf.Class build() {
8822            org.jetbrains.kotlin.serialization.ProtoBuf.Class result = buildPartial();
8823            if (!result.isInitialized()) {
8824              throw newUninitializedMessageException(result);
8825            }
8826            return result;
8827          }
8828    
8829          public org.jetbrains.kotlin.serialization.ProtoBuf.Class buildPartial() {
8830            org.jetbrains.kotlin.serialization.ProtoBuf.Class result = new org.jetbrains.kotlin.serialization.ProtoBuf.Class(this);
8831            int from_bitField0_ = bitField0_;
8832            int to_bitField0_ = 0;
8833            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
8834              to_bitField0_ |= 0x00000001;
8835            }
8836            result.flags_ = flags_;
8837            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
8838              to_bitField0_ |= 0x00000002;
8839            }
8840            result.fqName_ = fqName_;
8841            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
8842              to_bitField0_ |= 0x00000004;
8843            }
8844            result.companionObjectName_ = companionObjectName_;
8845            if (((bitField0_ & 0x00000008) == 0x00000008)) {
8846              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
8847              bitField0_ = (bitField0_ & ~0x00000008);
8848            }
8849            result.typeParameter_ = typeParameter_;
8850            if (((bitField0_ & 0x00000010) == 0x00000010)) {
8851              supertype_ = java.util.Collections.unmodifiableList(supertype_);
8852              bitField0_ = (bitField0_ & ~0x00000010);
8853            }
8854            result.supertype_ = supertype_;
8855            if (((bitField0_ & 0x00000020) == 0x00000020)) {
8856              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
8857              bitField0_ = (bitField0_ & ~0x00000020);
8858            }
8859            result.nestedClassName_ = nestedClassName_;
8860            if (((bitField0_ & 0x00000040) == 0x00000040)) {
8861              member_ = java.util.Collections.unmodifiableList(member_);
8862              bitField0_ = (bitField0_ & ~0x00000040);
8863            }
8864            result.member_ = member_;
8865            if (((bitField0_ & 0x00000080) == 0x00000080)) {
8866              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
8867              bitField0_ = (bitField0_ & ~0x00000080);
8868            }
8869            result.enumEntry_ = enumEntry_;
8870            if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
8871              to_bitField0_ |= 0x00000008;
8872            }
8873            result.primaryConstructor_ = primaryConstructor_;
8874            if (((bitField0_ & 0x00000200) == 0x00000200)) {
8875              secondaryConstructor_ = java.util.Collections.unmodifiableList(secondaryConstructor_);
8876              bitField0_ = (bitField0_ & ~0x00000200);
8877            }
8878            result.secondaryConstructor_ = secondaryConstructor_;
8879            result.bitField0_ = to_bitField0_;
8880            return result;
8881          }
8882    
8883          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Class other) {
8884            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance()) return this;
8885            if (other.hasFlags()) {
8886              setFlags(other.getFlags());
8887            }
8888            if (other.hasFqName()) {
8889              setFqName(other.getFqName());
8890            }
8891            if (other.hasCompanionObjectName()) {
8892              setCompanionObjectName(other.getCompanionObjectName());
8893            }
8894            if (!other.typeParameter_.isEmpty()) {
8895              if (typeParameter_.isEmpty()) {
8896                typeParameter_ = other.typeParameter_;
8897                bitField0_ = (bitField0_ & ~0x00000008);
8898              } else {
8899                ensureTypeParameterIsMutable();
8900                typeParameter_.addAll(other.typeParameter_);
8901              }
8902              
8903            }
8904            if (!other.supertype_.isEmpty()) {
8905              if (supertype_.isEmpty()) {
8906                supertype_ = other.supertype_;
8907                bitField0_ = (bitField0_ & ~0x00000010);
8908              } else {
8909                ensureSupertypeIsMutable();
8910                supertype_.addAll(other.supertype_);
8911              }
8912              
8913            }
8914            if (!other.nestedClassName_.isEmpty()) {
8915              if (nestedClassName_.isEmpty()) {
8916                nestedClassName_ = other.nestedClassName_;
8917                bitField0_ = (bitField0_ & ~0x00000020);
8918              } else {
8919                ensureNestedClassNameIsMutable();
8920                nestedClassName_.addAll(other.nestedClassName_);
8921              }
8922              
8923            }
8924            if (!other.member_.isEmpty()) {
8925              if (member_.isEmpty()) {
8926                member_ = other.member_;
8927                bitField0_ = (bitField0_ & ~0x00000040);
8928              } else {
8929                ensureMemberIsMutable();
8930                member_.addAll(other.member_);
8931              }
8932              
8933            }
8934            if (!other.enumEntry_.isEmpty()) {
8935              if (enumEntry_.isEmpty()) {
8936                enumEntry_ = other.enumEntry_;
8937                bitField0_ = (bitField0_ & ~0x00000080);
8938              } else {
8939                ensureEnumEntryIsMutable();
8940                enumEntry_.addAll(other.enumEntry_);
8941              }
8942              
8943            }
8944            if (other.hasPrimaryConstructor()) {
8945              mergePrimaryConstructor(other.getPrimaryConstructor());
8946            }
8947            if (!other.secondaryConstructor_.isEmpty()) {
8948              if (secondaryConstructor_.isEmpty()) {
8949                secondaryConstructor_ = other.secondaryConstructor_;
8950                bitField0_ = (bitField0_ & ~0x00000200);
8951              } else {
8952                ensureSecondaryConstructorIsMutable();
8953                secondaryConstructor_.addAll(other.secondaryConstructor_);
8954              }
8955              
8956            }
8957            this.mergeExtensionFields(other);
8958            return this;
8959          }
8960    
8961          public final boolean isInitialized() {
8962            if (!hasFqName()) {
8963              
8964              return false;
8965            }
8966            for (int i = 0; i < getTypeParameterCount(); i++) {
8967              if (!getTypeParameter(i).isInitialized()) {
8968                
8969                return false;
8970              }
8971            }
8972            for (int i = 0; i < getSupertypeCount(); i++) {
8973              if (!getSupertype(i).isInitialized()) {
8974                
8975                return false;
8976              }
8977            }
8978            for (int i = 0; i < getMemberCount(); i++) {
8979              if (!getMember(i).isInitialized()) {
8980                
8981                return false;
8982              }
8983            }
8984            if (hasPrimaryConstructor()) {
8985              if (!getPrimaryConstructor().isInitialized()) {
8986                
8987                return false;
8988              }
8989            }
8990            for (int i = 0; i < getSecondaryConstructorCount(); i++) {
8991              if (!getSecondaryConstructor(i).isInitialized()) {
8992                
8993                return false;
8994              }
8995            }
8996            if (!extensionsAreInitialized()) {
8997              
8998              return false;
8999            }
9000            return true;
9001          }
9002    
9003          public Builder mergeFrom(
9004              com.google.protobuf.CodedInputStream input,
9005              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9006              throws java.io.IOException {
9007            org.jetbrains.kotlin.serialization.ProtoBuf.Class parsedMessage = null;
9008            try {
9009              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
9010            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
9011              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Class) e.getUnfinishedMessage();
9012              throw e;
9013            } finally {
9014              if (parsedMessage != null) {
9015                mergeFrom(parsedMessage);
9016              }
9017            }
9018            return this;
9019          }
9020          private int bitField0_;
9021    
9022          // optional int32 flags = 1 [default = 0];
9023          private int flags_ ;
9024          /**
9025           * <code>optional int32 flags = 1 [default = 0];</code>
9026           *
9027           * <pre>
9028           *
9029           *Visibility
9030           *Modality
9031           *has_annotation
9032           *ClassKind
9033           *is_inner
9034           * </pre>
9035           */
9036          public boolean hasFlags() {
9037            return ((bitField0_ & 0x00000001) == 0x00000001);
9038          }
9039          /**
9040           * <code>optional int32 flags = 1 [default = 0];</code>
9041           *
9042           * <pre>
9043           *
9044           *Visibility
9045           *Modality
9046           *has_annotation
9047           *ClassKind
9048           *is_inner
9049           * </pre>
9050           */
9051          public int getFlags() {
9052            return flags_;
9053          }
9054          /**
9055           * <code>optional int32 flags = 1 [default = 0];</code>
9056           *
9057           * <pre>
9058           *
9059           *Visibility
9060           *Modality
9061           *has_annotation
9062           *ClassKind
9063           *is_inner
9064           * </pre>
9065           */
9066          public Builder setFlags(int value) {
9067            bitField0_ |= 0x00000001;
9068            flags_ = value;
9069            
9070            return this;
9071          }
9072          /**
9073           * <code>optional int32 flags = 1 [default = 0];</code>
9074           *
9075           * <pre>
9076           *
9077           *Visibility
9078           *Modality
9079           *has_annotation
9080           *ClassKind
9081           *is_inner
9082           * </pre>
9083           */
9084          public Builder clearFlags() {
9085            bitField0_ = (bitField0_ & ~0x00000001);
9086            flags_ = 0;
9087            
9088            return this;
9089          }
9090    
9091          // required int32 fq_name = 3;
9092          private int fqName_ ;
9093          /**
9094           * <code>required int32 fq_name = 3;</code>
9095           */
9096          public boolean hasFqName() {
9097            return ((bitField0_ & 0x00000002) == 0x00000002);
9098          }
9099          /**
9100           * <code>required int32 fq_name = 3;</code>
9101           */
9102          public int getFqName() {
9103            return fqName_;
9104          }
9105          /**
9106           * <code>required int32 fq_name = 3;</code>
9107           */
9108          public Builder setFqName(int value) {
9109            bitField0_ |= 0x00000002;
9110            fqName_ = value;
9111            
9112            return this;
9113          }
9114          /**
9115           * <code>required int32 fq_name = 3;</code>
9116           */
9117          public Builder clearFqName() {
9118            bitField0_ = (bitField0_ & ~0x00000002);
9119            fqName_ = 0;
9120            
9121            return this;
9122          }
9123    
9124          // optional int32 companion_object_name = 4;
9125          private int companionObjectName_ ;
9126          /**
9127           * <code>optional int32 companion_object_name = 4;</code>
9128           *
9129           * <pre>
9130           * If this field is present, it contains the name of companion object.
9131           * </pre>
9132           */
9133          public boolean hasCompanionObjectName() {
9134            return ((bitField0_ & 0x00000004) == 0x00000004);
9135          }
9136          /**
9137           * <code>optional int32 companion_object_name = 4;</code>
9138           *
9139           * <pre>
9140           * If this field is present, it contains the name of companion object.
9141           * </pre>
9142           */
9143          public int getCompanionObjectName() {
9144            return companionObjectName_;
9145          }
9146          /**
9147           * <code>optional int32 companion_object_name = 4;</code>
9148           *
9149           * <pre>
9150           * If this field is present, it contains the name of companion object.
9151           * </pre>
9152           */
9153          public Builder setCompanionObjectName(int value) {
9154            bitField0_ |= 0x00000004;
9155            companionObjectName_ = value;
9156            
9157            return this;
9158          }
9159          /**
9160           * <code>optional int32 companion_object_name = 4;</code>
9161           *
9162           * <pre>
9163           * If this field is present, it contains the name of companion object.
9164           * </pre>
9165           */
9166          public Builder clearCompanionObjectName() {
9167            bitField0_ = (bitField0_ & ~0x00000004);
9168            companionObjectName_ = 0;
9169            
9170            return this;
9171          }
9172    
9173          // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;
9174          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
9175            java.util.Collections.emptyList();
9176          private void ensureTypeParameterIsMutable() {
9177            if (!((bitField0_ & 0x00000008) == 0x00000008)) {
9178              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
9179              bitField0_ |= 0x00000008;
9180             }
9181          }
9182    
9183          /**
9184           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9185           */
9186          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
9187            return java.util.Collections.unmodifiableList(typeParameter_);
9188          }
9189          /**
9190           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9191           */
9192          public int getTypeParameterCount() {
9193            return typeParameter_.size();
9194          }
9195          /**
9196           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9197           */
9198          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
9199            return typeParameter_.get(index);
9200          }
9201          /**
9202           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9203           */
9204          public Builder setTypeParameter(
9205              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9206            if (value == null) {
9207              throw new NullPointerException();
9208            }
9209            ensureTypeParameterIsMutable();
9210            typeParameter_.set(index, value);
9211    
9212            return this;
9213          }
9214          /**
9215           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9216           */
9217          public Builder setTypeParameter(
9218              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9219            ensureTypeParameterIsMutable();
9220            typeParameter_.set(index, builderForValue.build());
9221    
9222            return this;
9223          }
9224          /**
9225           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9226           */
9227          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9228            if (value == null) {
9229              throw new NullPointerException();
9230            }
9231            ensureTypeParameterIsMutable();
9232            typeParameter_.add(value);
9233    
9234            return this;
9235          }
9236          /**
9237           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9238           */
9239          public Builder addTypeParameter(
9240              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9241            if (value == null) {
9242              throw new NullPointerException();
9243            }
9244            ensureTypeParameterIsMutable();
9245            typeParameter_.add(index, value);
9246    
9247            return this;
9248          }
9249          /**
9250           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9251           */
9252          public Builder addTypeParameter(
9253              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9254            ensureTypeParameterIsMutable();
9255            typeParameter_.add(builderForValue.build());
9256    
9257            return this;
9258          }
9259          /**
9260           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9261           */
9262          public Builder addTypeParameter(
9263              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9264            ensureTypeParameterIsMutable();
9265            typeParameter_.add(index, builderForValue.build());
9266    
9267            return this;
9268          }
9269          /**
9270           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9271           */
9272          public Builder addAllTypeParameter(
9273              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
9274            ensureTypeParameterIsMutable();
9275            super.addAll(values, typeParameter_);
9276    
9277            return this;
9278          }
9279          /**
9280           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9281           */
9282          public Builder clearTypeParameter() {
9283            typeParameter_ = java.util.Collections.emptyList();
9284            bitField0_ = (bitField0_ & ~0x00000008);
9285    
9286            return this;
9287          }
9288          /**
9289           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9290           */
9291          public Builder removeTypeParameter(int index) {
9292            ensureTypeParameterIsMutable();
9293            typeParameter_.remove(index);
9294    
9295            return this;
9296          }
9297    
9298          // repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;
9299          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> supertype_ =
9300            java.util.Collections.emptyList();
9301          private void ensureSupertypeIsMutable() {
9302            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
9303              supertype_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(supertype_);
9304              bitField0_ |= 0x00000010;
9305             }
9306          }
9307    
9308          /**
9309           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9310           */
9311          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getSupertypeList() {
9312            return java.util.Collections.unmodifiableList(supertype_);
9313          }
9314          /**
9315           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9316           */
9317          public int getSupertypeCount() {
9318            return supertype_.size();
9319          }
9320          /**
9321           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9322           */
9323          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index) {
9324            return supertype_.get(index);
9325          }
9326          /**
9327           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9328           */
9329          public Builder setSupertype(
9330              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9331            if (value == null) {
9332              throw new NullPointerException();
9333            }
9334            ensureSupertypeIsMutable();
9335            supertype_.set(index, value);
9336    
9337            return this;
9338          }
9339          /**
9340           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9341           */
9342          public Builder setSupertype(
9343              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9344            ensureSupertypeIsMutable();
9345            supertype_.set(index, builderForValue.build());
9346    
9347            return this;
9348          }
9349          /**
9350           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9351           */
9352          public Builder addSupertype(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9353            if (value == null) {
9354              throw new NullPointerException();
9355            }
9356            ensureSupertypeIsMutable();
9357            supertype_.add(value);
9358    
9359            return this;
9360          }
9361          /**
9362           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9363           */
9364          public Builder addSupertype(
9365              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9366            if (value == null) {
9367              throw new NullPointerException();
9368            }
9369            ensureSupertypeIsMutable();
9370            supertype_.add(index, value);
9371    
9372            return this;
9373          }
9374          /**
9375           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9376           */
9377          public Builder addSupertype(
9378              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9379            ensureSupertypeIsMutable();
9380            supertype_.add(builderForValue.build());
9381    
9382            return this;
9383          }
9384          /**
9385           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9386           */
9387          public Builder addSupertype(
9388              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9389            ensureSupertypeIsMutable();
9390            supertype_.add(index, builderForValue.build());
9391    
9392            return this;
9393          }
9394          /**
9395           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9396           */
9397          public Builder addAllSupertype(
9398              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
9399            ensureSupertypeIsMutable();
9400            super.addAll(values, supertype_);
9401    
9402            return this;
9403          }
9404          /**
9405           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9406           */
9407          public Builder clearSupertype() {
9408            supertype_ = java.util.Collections.emptyList();
9409            bitField0_ = (bitField0_ & ~0x00000010);
9410    
9411            return this;
9412          }
9413          /**
9414           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9415           */
9416          public Builder removeSupertype(int index) {
9417            ensureSupertypeIsMutable();
9418            supertype_.remove(index);
9419    
9420            return this;
9421          }
9422    
9423          // repeated int32 nested_class_name = 7;
9424          private java.util.List<java.lang.Integer> nestedClassName_ = java.util.Collections.emptyList();
9425          private void ensureNestedClassNameIsMutable() {
9426            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
9427              nestedClassName_ = new java.util.ArrayList<java.lang.Integer>(nestedClassName_);
9428              bitField0_ |= 0x00000020;
9429             }
9430          }
9431          /**
9432           * <code>repeated int32 nested_class_name = 7;</code>
9433           *
9434           * <pre>
9435           * we store only names, because the actual information must reside in the corresponding .class files,
9436           * to be obtainable through reflection at runtime
9437           * </pre>
9438           */
9439          public java.util.List<java.lang.Integer>
9440              getNestedClassNameList() {
9441            return java.util.Collections.unmodifiableList(nestedClassName_);
9442          }
9443          /**
9444           * <code>repeated int32 nested_class_name = 7;</code>
9445           *
9446           * <pre>
9447           * we store only names, because the actual information must reside in the corresponding .class files,
9448           * to be obtainable through reflection at runtime
9449           * </pre>
9450           */
9451          public int getNestedClassNameCount() {
9452            return nestedClassName_.size();
9453          }
9454          /**
9455           * <code>repeated int32 nested_class_name = 7;</code>
9456           *
9457           * <pre>
9458           * we store only names, because the actual information must reside in the corresponding .class files,
9459           * to be obtainable through reflection at runtime
9460           * </pre>
9461           */
9462          public int getNestedClassName(int index) {
9463            return nestedClassName_.get(index);
9464          }
9465          /**
9466           * <code>repeated int32 nested_class_name = 7;</code>
9467           *
9468           * <pre>
9469           * we store only names, because the actual information must reside in the corresponding .class files,
9470           * to be obtainable through reflection at runtime
9471           * </pre>
9472           */
9473          public Builder setNestedClassName(
9474              int index, int value) {
9475            ensureNestedClassNameIsMutable();
9476            nestedClassName_.set(index, value);
9477            
9478            return this;
9479          }
9480          /**
9481           * <code>repeated int32 nested_class_name = 7;</code>
9482           *
9483           * <pre>
9484           * we store only names, because the actual information must reside in the corresponding .class files,
9485           * to be obtainable through reflection at runtime
9486           * </pre>
9487           */
9488          public Builder addNestedClassName(int value) {
9489            ensureNestedClassNameIsMutable();
9490            nestedClassName_.add(value);
9491            
9492            return this;
9493          }
9494          /**
9495           * <code>repeated int32 nested_class_name = 7;</code>
9496           *
9497           * <pre>
9498           * we store only names, because the actual information must reside in the corresponding .class files,
9499           * to be obtainable through reflection at runtime
9500           * </pre>
9501           */
9502          public Builder addAllNestedClassName(
9503              java.lang.Iterable<? extends java.lang.Integer> values) {
9504            ensureNestedClassNameIsMutable();
9505            super.addAll(values, nestedClassName_);
9506            
9507            return this;
9508          }
9509          /**
9510           * <code>repeated int32 nested_class_name = 7;</code>
9511           *
9512           * <pre>
9513           * we store only names, because the actual information must reside in the corresponding .class files,
9514           * to be obtainable through reflection at runtime
9515           * </pre>
9516           */
9517          public Builder clearNestedClassName() {
9518            nestedClassName_ = java.util.Collections.emptyList();
9519            bitField0_ = (bitField0_ & ~0x00000020);
9520            
9521            return this;
9522          }
9523    
9524          // repeated .org.jetbrains.kotlin.serialization.Callable member = 11;
9525          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> member_ =
9526            java.util.Collections.emptyList();
9527          private void ensureMemberIsMutable() {
9528            if (!((bitField0_ & 0x00000040) == 0x00000040)) {
9529              member_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>(member_);
9530              bitField0_ |= 0x00000040;
9531             }
9532          }
9533    
9534          /**
9535           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9536           */
9537          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getMemberList() {
9538            return java.util.Collections.unmodifiableList(member_);
9539          }
9540          /**
9541           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9542           */
9543          public int getMemberCount() {
9544            return member_.size();
9545          }
9546          /**
9547           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9548           */
9549          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index) {
9550            return member_.get(index);
9551          }
9552          /**
9553           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9554           */
9555          public Builder setMember(
9556              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
9557            if (value == null) {
9558              throw new NullPointerException();
9559            }
9560            ensureMemberIsMutable();
9561            member_.set(index, value);
9562    
9563            return this;
9564          }
9565          /**
9566           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9567           */
9568          public Builder setMember(
9569              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
9570            ensureMemberIsMutable();
9571            member_.set(index, builderForValue.build());
9572    
9573            return this;
9574          }
9575          /**
9576           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9577           */
9578          public Builder addMember(org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
9579            if (value == null) {
9580              throw new NullPointerException();
9581            }
9582            ensureMemberIsMutable();
9583            member_.add(value);
9584    
9585            return this;
9586          }
9587          /**
9588           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9589           */
9590          public Builder addMember(
9591              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
9592            if (value == null) {
9593              throw new NullPointerException();
9594            }
9595            ensureMemberIsMutable();
9596            member_.add(index, value);
9597    
9598            return this;
9599          }
9600          /**
9601           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9602           */
9603          public Builder addMember(
9604              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
9605            ensureMemberIsMutable();
9606            member_.add(builderForValue.build());
9607    
9608            return this;
9609          }
9610          /**
9611           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9612           */
9613          public Builder addMember(
9614              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
9615            ensureMemberIsMutable();
9616            member_.add(index, builderForValue.build());
9617    
9618            return this;
9619          }
9620          /**
9621           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9622           */
9623          public Builder addAllMember(
9624              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Callable> values) {
9625            ensureMemberIsMutable();
9626            super.addAll(values, member_);
9627    
9628            return this;
9629          }
9630          /**
9631           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9632           */
9633          public Builder clearMember() {
9634            member_ = java.util.Collections.emptyList();
9635            bitField0_ = (bitField0_ & ~0x00000040);
9636    
9637            return this;
9638          }
9639          /**
9640           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9641           */
9642          public Builder removeMember(int index) {
9643            ensureMemberIsMutable();
9644            member_.remove(index);
9645    
9646            return this;
9647          }
9648    
9649          // repeated int32 enum_entry = 12;
9650          private java.util.List<java.lang.Integer> enumEntry_ = java.util.Collections.emptyList();
9651          private void ensureEnumEntryIsMutable() {
9652            if (!((bitField0_ & 0x00000080) == 0x00000080)) {
9653              enumEntry_ = new java.util.ArrayList<java.lang.Integer>(enumEntry_);
9654              bitField0_ |= 0x00000080;
9655             }
9656          }
9657          /**
9658           * <code>repeated int32 enum_entry = 12;</code>
9659           */
9660          public java.util.List<java.lang.Integer>
9661              getEnumEntryList() {
9662            return java.util.Collections.unmodifiableList(enumEntry_);
9663          }
9664          /**
9665           * <code>repeated int32 enum_entry = 12;</code>
9666           */
9667          public int getEnumEntryCount() {
9668            return enumEntry_.size();
9669          }
9670          /**
9671           * <code>repeated int32 enum_entry = 12;</code>
9672           */
9673          public int getEnumEntry(int index) {
9674            return enumEntry_.get(index);
9675          }
9676          /**
9677           * <code>repeated int32 enum_entry = 12;</code>
9678           */
9679          public Builder setEnumEntry(
9680              int index, int value) {
9681            ensureEnumEntryIsMutable();
9682            enumEntry_.set(index, value);
9683            
9684            return this;
9685          }
9686          /**
9687           * <code>repeated int32 enum_entry = 12;</code>
9688           */
9689          public Builder addEnumEntry(int value) {
9690            ensureEnumEntryIsMutable();
9691            enumEntry_.add(value);
9692            
9693            return this;
9694          }
9695          /**
9696           * <code>repeated int32 enum_entry = 12;</code>
9697           */
9698          public Builder addAllEnumEntry(
9699              java.lang.Iterable<? extends java.lang.Integer> values) {
9700            ensureEnumEntryIsMutable();
9701            super.addAll(values, enumEntry_);
9702            
9703            return this;
9704          }
9705          /**
9706           * <code>repeated int32 enum_entry = 12;</code>
9707           */
9708          public Builder clearEnumEntry() {
9709            enumEntry_ = java.util.Collections.emptyList();
9710            bitField0_ = (bitField0_ & ~0x00000080);
9711            
9712            return this;
9713          }
9714    
9715          // optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;
9716          private org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor primaryConstructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
9717          /**
9718           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
9719           *
9720           * <pre>
9721           * This field is present if and only if the class has a primary constructor
9722           * </pre>
9723           */
9724          public boolean hasPrimaryConstructor() {
9725            return ((bitField0_ & 0x00000100) == 0x00000100);
9726          }
9727          /**
9728           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
9729           *
9730           * <pre>
9731           * This field is present if and only if the class has a primary constructor
9732           * </pre>
9733           */
9734          public org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor getPrimaryConstructor() {
9735            return primaryConstructor_;
9736          }
9737          /**
9738           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
9739           *
9740           * <pre>
9741           * This field is present if and only if the class has a primary constructor
9742           * </pre>
9743           */
9744          public Builder setPrimaryConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor value) {
9745            if (value == null) {
9746              throw new NullPointerException();
9747            }
9748            primaryConstructor_ = value;
9749    
9750            bitField0_ |= 0x00000100;
9751            return this;
9752          }
9753          /**
9754           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
9755           *
9756           * <pre>
9757           * This field is present if and only if the class has a primary constructor
9758           * </pre>
9759           */
9760          public Builder setPrimaryConstructor(
9761              org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.Builder builderForValue) {
9762            primaryConstructor_ = builderForValue.build();
9763    
9764            bitField0_ |= 0x00000100;
9765            return this;
9766          }
9767          /**
9768           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
9769           *
9770           * <pre>
9771           * This field is present if and only if the class has a primary constructor
9772           * </pre>
9773           */
9774          public Builder mergePrimaryConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor value) {
9775            if (((bitField0_ & 0x00000100) == 0x00000100) &&
9776                primaryConstructor_ != org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance()) {
9777              primaryConstructor_ =
9778                org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.newBuilder(primaryConstructor_).mergeFrom(value).buildPartial();
9779            } else {
9780              primaryConstructor_ = value;
9781            }
9782    
9783            bitField0_ |= 0x00000100;
9784            return this;
9785          }
9786          /**
9787           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
9788           *
9789           * <pre>
9790           * This field is present if and only if the class has a primary constructor
9791           * </pre>
9792           */
9793          public Builder clearPrimaryConstructor() {
9794            primaryConstructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
9795    
9796            bitField0_ = (bitField0_ & ~0x00000100);
9797            return this;
9798          }
9799    
9800          // repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;
9801          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> secondaryConstructor_ =
9802            java.util.Collections.emptyList();
9803          private void ensureSecondaryConstructorIsMutable() {
9804            if (!((bitField0_ & 0x00000200) == 0x00000200)) {
9805              secondaryConstructor_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>(secondaryConstructor_);
9806              bitField0_ |= 0x00000200;
9807             }
9808          }
9809    
9810          /**
9811           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9812           */
9813          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getSecondaryConstructorList() {
9814            return java.util.Collections.unmodifiableList(secondaryConstructor_);
9815          }
9816          /**
9817           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9818           */
9819          public int getSecondaryConstructorCount() {
9820            return secondaryConstructor_.size();
9821          }
9822          /**
9823           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9824           */
9825          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getSecondaryConstructor(int index) {
9826            return secondaryConstructor_.get(index);
9827          }
9828          /**
9829           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9830           */
9831          public Builder setSecondaryConstructor(
9832              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
9833            if (value == null) {
9834              throw new NullPointerException();
9835            }
9836            ensureSecondaryConstructorIsMutable();
9837            secondaryConstructor_.set(index, value);
9838    
9839            return this;
9840          }
9841          /**
9842           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9843           */
9844          public Builder setSecondaryConstructor(
9845              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
9846            ensureSecondaryConstructorIsMutable();
9847            secondaryConstructor_.set(index, builderForValue.build());
9848    
9849            return this;
9850          }
9851          /**
9852           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9853           */
9854          public Builder addSecondaryConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
9855            if (value == null) {
9856              throw new NullPointerException();
9857            }
9858            ensureSecondaryConstructorIsMutable();
9859            secondaryConstructor_.add(value);
9860    
9861            return this;
9862          }
9863          /**
9864           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9865           */
9866          public Builder addSecondaryConstructor(
9867              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
9868            if (value == null) {
9869              throw new NullPointerException();
9870            }
9871            ensureSecondaryConstructorIsMutable();
9872            secondaryConstructor_.add(index, value);
9873    
9874            return this;
9875          }
9876          /**
9877           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9878           */
9879          public Builder addSecondaryConstructor(
9880              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
9881            ensureSecondaryConstructorIsMutable();
9882            secondaryConstructor_.add(builderForValue.build());
9883    
9884            return this;
9885          }
9886          /**
9887           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9888           */
9889          public Builder addSecondaryConstructor(
9890              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
9891            ensureSecondaryConstructorIsMutable();
9892            secondaryConstructor_.add(index, builderForValue.build());
9893    
9894            return this;
9895          }
9896          /**
9897           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9898           */
9899          public Builder addAllSecondaryConstructor(
9900              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Callable> values) {
9901            ensureSecondaryConstructorIsMutable();
9902            super.addAll(values, secondaryConstructor_);
9903    
9904            return this;
9905          }
9906          /**
9907           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9908           */
9909          public Builder clearSecondaryConstructor() {
9910            secondaryConstructor_ = java.util.Collections.emptyList();
9911            bitField0_ = (bitField0_ & ~0x00000200);
9912    
9913            return this;
9914          }
9915          /**
9916           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9917           */
9918          public Builder removeSecondaryConstructor(int index) {
9919            ensureSecondaryConstructorIsMutable();
9920            secondaryConstructor_.remove(index);
9921    
9922            return this;
9923          }
9924    
9925          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Class)
9926        }
9927    
9928        static {
9929          defaultInstance = new Class(true);
9930          defaultInstance.initFields();
9931        }
9932    
9933        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Class)
9934      }
9935    
9936      public interface PackageOrBuilder extends 
9937           com.google.protobuf.GeneratedMessageLite.
9938                ExtendableMessageOrBuilder<Package> {
9939    
9940        // repeated .org.jetbrains.kotlin.serialization.Callable member = 1;
9941        /**
9942         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
9943         */
9944        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> 
9945            getMemberList();
9946        /**
9947         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
9948         */
9949        org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index);
9950        /**
9951         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
9952         */
9953        int getMemberCount();
9954      }
9955      /**
9956       * Protobuf type {@code org.jetbrains.kotlin.serialization.Package}
9957       */
9958      public static final class Package extends
9959          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
9960            Package> implements PackageOrBuilder {
9961        // Use Package.newBuilder() to construct.
9962        private Package(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Package, ?> builder) {
9963          super(builder);
9964    
9965        }
9966        private Package(boolean noInit) {}
9967    
9968        private static final Package defaultInstance;
9969        public static Package getDefaultInstance() {
9970          return defaultInstance;
9971        }
9972    
9973        public Package getDefaultInstanceForType() {
9974          return defaultInstance;
9975        }
9976    
9977        private Package(
9978            com.google.protobuf.CodedInputStream input,
9979            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9980            throws com.google.protobuf.InvalidProtocolBufferException {
9981          initFields();
9982          int mutable_bitField0_ = 0;
9983          try {
9984            boolean done = false;
9985            while (!done) {
9986              int tag = input.readTag();
9987              switch (tag) {
9988                case 0:
9989                  done = true;
9990                  break;
9991                default: {
9992                  if (!parseUnknownField(input,
9993                                         extensionRegistry, tag)) {
9994                    done = true;
9995                  }
9996                  break;
9997                }
9998                case 10: {
9999                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
10000                    member_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>();
10001                    mutable_bitField0_ |= 0x00000001;
10002                  }
10003                  member_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.PARSER, extensionRegistry));
10004                  break;
10005                }
10006              }
10007            }
10008          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10009            throw e.setUnfinishedMessage(this);
10010          } catch (java.io.IOException e) {
10011            throw new com.google.protobuf.InvalidProtocolBufferException(
10012                e.getMessage()).setUnfinishedMessage(this);
10013          } finally {
10014            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
10015              member_ = java.util.Collections.unmodifiableList(member_);
10016            }
10017            makeExtensionsImmutable();
10018          }
10019        }
10020        public static com.google.protobuf.Parser<Package> PARSER =
10021            new com.google.protobuf.AbstractParser<Package>() {
10022          public Package parsePartialFrom(
10023              com.google.protobuf.CodedInputStream input,
10024              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10025              throws com.google.protobuf.InvalidProtocolBufferException {
10026            return new Package(input, extensionRegistry);
10027          }
10028        };
10029    
10030        @java.lang.Override
10031        public com.google.protobuf.Parser<Package> getParserForType() {
10032          return PARSER;
10033        }
10034    
10035        // repeated .org.jetbrains.kotlin.serialization.Callable member = 1;
10036        public static final int MEMBER_FIELD_NUMBER = 1;
10037        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> member_;
10038        /**
10039         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10040         */
10041        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getMemberList() {
10042          return member_;
10043        }
10044        /**
10045         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10046         */
10047        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder> 
10048            getMemberOrBuilderList() {
10049          return member_;
10050        }
10051        /**
10052         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10053         */
10054        public int getMemberCount() {
10055          return member_.size();
10056        }
10057        /**
10058         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10059         */
10060        public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index) {
10061          return member_.get(index);
10062        }
10063        /**
10064         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10065         */
10066        public org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder getMemberOrBuilder(
10067            int index) {
10068          return member_.get(index);
10069        }
10070    
10071        private void initFields() {
10072          member_ = java.util.Collections.emptyList();
10073        }
10074        private byte memoizedIsInitialized = -1;
10075        public final boolean isInitialized() {
10076          byte isInitialized = memoizedIsInitialized;
10077          if (isInitialized != -1) return isInitialized == 1;
10078    
10079          for (int i = 0; i < getMemberCount(); i++) {
10080            if (!getMember(i).isInitialized()) {
10081              memoizedIsInitialized = 0;
10082              return false;
10083            }
10084          }
10085          if (!extensionsAreInitialized()) {
10086            memoizedIsInitialized = 0;
10087            return false;
10088          }
10089          memoizedIsInitialized = 1;
10090          return true;
10091        }
10092    
10093        public void writeTo(com.google.protobuf.CodedOutputStream output)
10094                            throws java.io.IOException {
10095          getSerializedSize();
10096          com.google.protobuf.GeneratedMessageLite
10097            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Package>.ExtensionWriter extensionWriter =
10098              newExtensionWriter();
10099          for (int i = 0; i < member_.size(); i++) {
10100            output.writeMessage(1, member_.get(i));
10101          }
10102          extensionWriter.writeUntil(200, output);
10103        }
10104    
10105        private int memoizedSerializedSize = -1;
10106        public int getSerializedSize() {
10107          int size = memoizedSerializedSize;
10108          if (size != -1) return size;
10109    
10110          size = 0;
10111          for (int i = 0; i < member_.size(); i++) {
10112            size += com.google.protobuf.CodedOutputStream
10113              .computeMessageSize(1, member_.get(i));
10114          }
10115          size += extensionsSerializedSize();
10116          memoizedSerializedSize = size;
10117          return size;
10118        }
10119    
10120        private static final long serialVersionUID = 0L;
10121        @java.lang.Override
10122        protected java.lang.Object writeReplace()
10123            throws java.io.ObjectStreamException {
10124          return super.writeReplace();
10125        }
10126    
10127        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10128            com.google.protobuf.ByteString data)
10129            throws com.google.protobuf.InvalidProtocolBufferException {
10130          return PARSER.parseFrom(data);
10131        }
10132        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10133            com.google.protobuf.ByteString data,
10134            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10135            throws com.google.protobuf.InvalidProtocolBufferException {
10136          return PARSER.parseFrom(data, extensionRegistry);
10137        }
10138        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(byte[] data)
10139            throws com.google.protobuf.InvalidProtocolBufferException {
10140          return PARSER.parseFrom(data);
10141        }
10142        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10143            byte[] data,
10144            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10145            throws com.google.protobuf.InvalidProtocolBufferException {
10146          return PARSER.parseFrom(data, extensionRegistry);
10147        }
10148        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(java.io.InputStream input)
10149            throws java.io.IOException {
10150          return PARSER.parseFrom(input);
10151        }
10152        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10153            java.io.InputStream input,
10154            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10155            throws java.io.IOException {
10156          return PARSER.parseFrom(input, extensionRegistry);
10157        }
10158        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseDelimitedFrom(java.io.InputStream input)
10159            throws java.io.IOException {
10160          return PARSER.parseDelimitedFrom(input);
10161        }
10162        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseDelimitedFrom(
10163            java.io.InputStream input,
10164            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10165            throws java.io.IOException {
10166          return PARSER.parseDelimitedFrom(input, extensionRegistry);
10167        }
10168        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10169            com.google.protobuf.CodedInputStream input)
10170            throws java.io.IOException {
10171          return PARSER.parseFrom(input);
10172        }
10173        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10174            com.google.protobuf.CodedInputStream input,
10175            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10176            throws java.io.IOException {
10177          return PARSER.parseFrom(input, extensionRegistry);
10178        }
10179    
10180        public static Builder newBuilder() { return Builder.create(); }
10181        public Builder newBuilderForType() { return newBuilder(); }
10182        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Package prototype) {
10183          return newBuilder().mergeFrom(prototype);
10184        }
10185        public Builder toBuilder() { return newBuilder(this); }
10186    
10187        /**
10188         * Protobuf type {@code org.jetbrains.kotlin.serialization.Package}
10189         */
10190        public static final class Builder extends
10191            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
10192              org.jetbrains.kotlin.serialization.ProtoBuf.Package, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.PackageOrBuilder {
10193          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Package.newBuilder()
10194          private Builder() {
10195            maybeForceBuilderInitialization();
10196          }
10197    
10198          private void maybeForceBuilderInitialization() {
10199          }
10200          private static Builder create() {
10201            return new Builder();
10202          }
10203    
10204          public Builder clear() {
10205            super.clear();
10206            member_ = java.util.Collections.emptyList();
10207            bitField0_ = (bitField0_ & ~0x00000001);
10208            return this;
10209          }
10210    
10211          public Builder clone() {
10212            return create().mergeFrom(buildPartial());
10213          }
10214    
10215          public org.jetbrains.kotlin.serialization.ProtoBuf.Package getDefaultInstanceForType() {
10216            return org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance();
10217          }
10218    
10219          public org.jetbrains.kotlin.serialization.ProtoBuf.Package build() {
10220            org.jetbrains.kotlin.serialization.ProtoBuf.Package result = buildPartial();
10221            if (!result.isInitialized()) {
10222              throw newUninitializedMessageException(result);
10223            }
10224            return result;
10225          }
10226    
10227          public org.jetbrains.kotlin.serialization.ProtoBuf.Package buildPartial() {
10228            org.jetbrains.kotlin.serialization.ProtoBuf.Package result = new org.jetbrains.kotlin.serialization.ProtoBuf.Package(this);
10229            int from_bitField0_ = bitField0_;
10230            if (((bitField0_ & 0x00000001) == 0x00000001)) {
10231              member_ = java.util.Collections.unmodifiableList(member_);
10232              bitField0_ = (bitField0_ & ~0x00000001);
10233            }
10234            result.member_ = member_;
10235            return result;
10236          }
10237    
10238          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Package other) {
10239            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance()) return this;
10240            if (!other.member_.isEmpty()) {
10241              if (member_.isEmpty()) {
10242                member_ = other.member_;
10243                bitField0_ = (bitField0_ & ~0x00000001);
10244              } else {
10245                ensureMemberIsMutable();
10246                member_.addAll(other.member_);
10247              }
10248              
10249            }
10250            this.mergeExtensionFields(other);
10251            return this;
10252          }
10253    
10254          public final boolean isInitialized() {
10255            for (int i = 0; i < getMemberCount(); i++) {
10256              if (!getMember(i).isInitialized()) {
10257                
10258                return false;
10259              }
10260            }
10261            if (!extensionsAreInitialized()) {
10262              
10263              return false;
10264            }
10265            return true;
10266          }
10267    
10268          public Builder mergeFrom(
10269              com.google.protobuf.CodedInputStream input,
10270              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10271              throws java.io.IOException {
10272            org.jetbrains.kotlin.serialization.ProtoBuf.Package parsedMessage = null;
10273            try {
10274              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
10275            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10276              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Package) e.getUnfinishedMessage();
10277              throw e;
10278            } finally {
10279              if (parsedMessage != null) {
10280                mergeFrom(parsedMessage);
10281              }
10282            }
10283            return this;
10284          }
10285          private int bitField0_;
10286    
10287          // repeated .org.jetbrains.kotlin.serialization.Callable member = 1;
10288          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> member_ =
10289            java.util.Collections.emptyList();
10290          private void ensureMemberIsMutable() {
10291            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
10292              member_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>(member_);
10293              bitField0_ |= 0x00000001;
10294             }
10295          }
10296    
10297          /**
10298           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10299           */
10300          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getMemberList() {
10301            return java.util.Collections.unmodifiableList(member_);
10302          }
10303          /**
10304           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10305           */
10306          public int getMemberCount() {
10307            return member_.size();
10308          }
10309          /**
10310           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10311           */
10312          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index) {
10313            return member_.get(index);
10314          }
10315          /**
10316           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10317           */
10318          public Builder setMember(
10319              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
10320            if (value == null) {
10321              throw new NullPointerException();
10322            }
10323            ensureMemberIsMutable();
10324            member_.set(index, value);
10325    
10326            return this;
10327          }
10328          /**
10329           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10330           */
10331          public Builder setMember(
10332              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
10333            ensureMemberIsMutable();
10334            member_.set(index, builderForValue.build());
10335    
10336            return this;
10337          }
10338          /**
10339           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10340           */
10341          public Builder addMember(org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
10342            if (value == null) {
10343              throw new NullPointerException();
10344            }
10345            ensureMemberIsMutable();
10346            member_.add(value);
10347    
10348            return this;
10349          }
10350          /**
10351           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10352           */
10353          public Builder addMember(
10354              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
10355            if (value == null) {
10356              throw new NullPointerException();
10357            }
10358            ensureMemberIsMutable();
10359            member_.add(index, value);
10360    
10361            return this;
10362          }
10363          /**
10364           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10365           */
10366          public Builder addMember(
10367              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
10368            ensureMemberIsMutable();
10369            member_.add(builderForValue.build());
10370    
10371            return this;
10372          }
10373          /**
10374           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10375           */
10376          public Builder addMember(
10377              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
10378            ensureMemberIsMutable();
10379            member_.add(index, builderForValue.build());
10380    
10381            return this;
10382          }
10383          /**
10384           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10385           */
10386          public Builder addAllMember(
10387              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Callable> values) {
10388            ensureMemberIsMutable();
10389            super.addAll(values, member_);
10390    
10391            return this;
10392          }
10393          /**
10394           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10395           */
10396          public Builder clearMember() {
10397            member_ = java.util.Collections.emptyList();
10398            bitField0_ = (bitField0_ & ~0x00000001);
10399    
10400            return this;
10401          }
10402          /**
10403           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10404           */
10405          public Builder removeMember(int index) {
10406            ensureMemberIsMutable();
10407            member_.remove(index);
10408    
10409            return this;
10410          }
10411    
10412          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Package)
10413        }
10414    
10415        static {
10416          defaultInstance = new Package(true);
10417          defaultInstance.initFields();
10418        }
10419    
10420        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Package)
10421      }
10422    
10423      public interface CallableOrBuilder extends 
10424           com.google.protobuf.GeneratedMessageLite.
10425                ExtendableMessageOrBuilder<Callable> {
10426    
10427        // optional int32 flags = 1;
10428        /**
10429         * <code>optional int32 flags = 1;</code>
10430         *
10431         * <pre>
10432         *
10433         *Visibility
10434         *Modality
10435         *has_annotations
10436         *CallableKind
10437         *MemberKind
10438         *hasGetter
10439         *hasSetter
10440         *hasConstant
10441         * </pre>
10442         */
10443        boolean hasFlags();
10444        /**
10445         * <code>optional int32 flags = 1;</code>
10446         *
10447         * <pre>
10448         *
10449         *Visibility
10450         *Modality
10451         *has_annotations
10452         *CallableKind
10453         *MemberKind
10454         *hasGetter
10455         *hasSetter
10456         *hasConstant
10457         * </pre>
10458         */
10459        int getFlags();
10460    
10461        // optional int32 getter_flags = 9;
10462        /**
10463         * <code>optional int32 getter_flags = 9;</code>
10464         *
10465         * <pre>
10466         *
10467         *isNotDefault
10468         *Visibility
10469         *Modality
10470         *has_annotations
10471         * </pre>
10472         */
10473        boolean hasGetterFlags();
10474        /**
10475         * <code>optional int32 getter_flags = 9;</code>
10476         *
10477         * <pre>
10478         *
10479         *isNotDefault
10480         *Visibility
10481         *Modality
10482         *has_annotations
10483         * </pre>
10484         */
10485        int getGetterFlags();
10486    
10487        // optional int32 setter_flags = 10;
10488        /**
10489         * <code>optional int32 setter_flags = 10;</code>
10490         */
10491        boolean hasSetterFlags();
10492        /**
10493         * <code>optional int32 setter_flags = 10;</code>
10494         */
10495        int getSetterFlags();
10496    
10497        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
10498        /**
10499         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
10500         */
10501        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
10502            getTypeParameterList();
10503        /**
10504         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
10505         */
10506        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
10507        /**
10508         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
10509         */
10510        int getTypeParameterCount();
10511    
10512        // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
10513        /**
10514         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
10515         */
10516        boolean hasReceiverType();
10517        /**
10518         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
10519         */
10520        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType();
10521    
10522        // required int32 name = 6;
10523        /**
10524         * <code>required int32 name = 6;</code>
10525         *
10526         * <pre>
10527         * Id in the StringTable
10528         * </pre>
10529         */
10530        boolean hasName();
10531        /**
10532         * <code>required int32 name = 6;</code>
10533         *
10534         * <pre>
10535         * Id in the StringTable
10536         * </pre>
10537         */
10538        int getName();
10539    
10540        // repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;
10541        /**
10542         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
10543         *
10544         * <pre>
10545         * Value parameters for functions and constructors, or setter value parameter for properties
10546         * </pre>
10547         */
10548        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> 
10549            getValueParameterList();
10550        /**
10551         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
10552         *
10553         * <pre>
10554         * Value parameters for functions and constructors, or setter value parameter for properties
10555         * </pre>
10556         */
10557        org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index);
10558        /**
10559         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
10560         *
10561         * <pre>
10562         * Value parameters for functions and constructors, or setter value parameter for properties
10563         * </pre>
10564         */
10565        int getValueParameterCount();
10566    
10567        // required .org.jetbrains.kotlin.serialization.Type return_type = 8;
10568        /**
10569         * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
10570         */
10571        boolean hasReturnType();
10572        /**
10573         * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
10574         */
10575        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType();
10576      }
10577      /**
10578       * Protobuf type {@code org.jetbrains.kotlin.serialization.Callable}
10579       */
10580      public static final class Callable extends
10581          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
10582            Callable> implements CallableOrBuilder {
10583        // Use Callable.newBuilder() to construct.
10584        private Callable(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Callable, ?> builder) {
10585          super(builder);
10586    
10587        }
10588        private Callable(boolean noInit) {}
10589    
10590        private static final Callable defaultInstance;
10591        public static Callable getDefaultInstance() {
10592          return defaultInstance;
10593        }
10594    
10595        public Callable getDefaultInstanceForType() {
10596          return defaultInstance;
10597        }
10598    
10599        private Callable(
10600            com.google.protobuf.CodedInputStream input,
10601            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10602            throws com.google.protobuf.InvalidProtocolBufferException {
10603          initFields();
10604          int mutable_bitField0_ = 0;
10605          try {
10606            boolean done = false;
10607            while (!done) {
10608              int tag = input.readTag();
10609              switch (tag) {
10610                case 0:
10611                  done = true;
10612                  break;
10613                default: {
10614                  if (!parseUnknownField(input,
10615                                         extensionRegistry, tag)) {
10616                    done = true;
10617                  }
10618                  break;
10619                }
10620                case 8: {
10621                  bitField0_ |= 0x00000001;
10622                  flags_ = input.readInt32();
10623                  break;
10624                }
10625                case 34: {
10626                  if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
10627                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
10628                    mutable_bitField0_ |= 0x00000008;
10629                  }
10630                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
10631                  break;
10632                }
10633                case 42: {
10634                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
10635                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
10636                    subBuilder = receiverType_.toBuilder();
10637                  }
10638                  receiverType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
10639                  if (subBuilder != null) {
10640                    subBuilder.mergeFrom(receiverType_);
10641                    receiverType_ = subBuilder.buildPartial();
10642                  }
10643                  bitField0_ |= 0x00000008;
10644                  break;
10645                }
10646                case 48: {
10647                  bitField0_ |= 0x00000010;
10648                  name_ = input.readInt32();
10649                  break;
10650                }
10651                case 58: {
10652                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
10653                    valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter>();
10654                    mutable_bitField0_ |= 0x00000040;
10655                  }
10656                  valueParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.PARSER, extensionRegistry));
10657                  break;
10658                }
10659                case 66: {
10660                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
10661                  if (((bitField0_ & 0x00000020) == 0x00000020)) {
10662                    subBuilder = returnType_.toBuilder();
10663                  }
10664                  returnType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
10665                  if (subBuilder != null) {
10666                    subBuilder.mergeFrom(returnType_);
10667                    returnType_ = subBuilder.buildPartial();
10668                  }
10669                  bitField0_ |= 0x00000020;
10670                  break;
10671                }
10672                case 72: {
10673                  bitField0_ |= 0x00000002;
10674                  getterFlags_ = input.readInt32();
10675                  break;
10676                }
10677                case 80: {
10678                  bitField0_ |= 0x00000004;
10679                  setterFlags_ = input.readInt32();
10680                  break;
10681                }
10682              }
10683            }
10684          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10685            throw e.setUnfinishedMessage(this);
10686          } catch (java.io.IOException e) {
10687            throw new com.google.protobuf.InvalidProtocolBufferException(
10688                e.getMessage()).setUnfinishedMessage(this);
10689          } finally {
10690            if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
10691              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
10692            }
10693            if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
10694              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
10695            }
10696            makeExtensionsImmutable();
10697          }
10698        }
10699        public static com.google.protobuf.Parser<Callable> PARSER =
10700            new com.google.protobuf.AbstractParser<Callable>() {
10701          public Callable parsePartialFrom(
10702              com.google.protobuf.CodedInputStream input,
10703              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10704              throws com.google.protobuf.InvalidProtocolBufferException {
10705            return new Callable(input, extensionRegistry);
10706          }
10707        };
10708    
10709        @java.lang.Override
10710        public com.google.protobuf.Parser<Callable> getParserForType() {
10711          return PARSER;
10712        }
10713    
10714        /**
10715         * Protobuf enum {@code org.jetbrains.kotlin.serialization.Callable.MemberKind}
10716         */
10717        public enum MemberKind
10718            implements com.google.protobuf.Internal.EnumLite {
10719          /**
10720           * <code>DECLARATION = 0;</code>
10721           *
10722           * <pre>
10723           * 2 bits
10724           * </pre>
10725           */
10726          DECLARATION(0, 0),
10727          /**
10728           * <code>FAKE_OVERRIDE = 1;</code>
10729           */
10730          FAKE_OVERRIDE(1, 1),
10731          /**
10732           * <code>DELEGATION = 2;</code>
10733           */
10734          DELEGATION(2, 2),
10735          /**
10736           * <code>SYNTHESIZED = 3;</code>
10737           */
10738          SYNTHESIZED(3, 3),
10739          ;
10740    
10741          /**
10742           * <code>DECLARATION = 0;</code>
10743           *
10744           * <pre>
10745           * 2 bits
10746           * </pre>
10747           */
10748          public static final int DECLARATION_VALUE = 0;
10749          /**
10750           * <code>FAKE_OVERRIDE = 1;</code>
10751           */
10752          public static final int FAKE_OVERRIDE_VALUE = 1;
10753          /**
10754           * <code>DELEGATION = 2;</code>
10755           */
10756          public static final int DELEGATION_VALUE = 2;
10757          /**
10758           * <code>SYNTHESIZED = 3;</code>
10759           */
10760          public static final int SYNTHESIZED_VALUE = 3;
10761    
10762    
10763          public final int getNumber() { return value; }
10764    
10765          public static MemberKind valueOf(int value) {
10766            switch (value) {
10767              case 0: return DECLARATION;
10768              case 1: return FAKE_OVERRIDE;
10769              case 2: return DELEGATION;
10770              case 3: return SYNTHESIZED;
10771              default: return null;
10772            }
10773          }
10774    
10775          public static com.google.protobuf.Internal.EnumLiteMap<MemberKind>
10776              internalGetValueMap() {
10777            return internalValueMap;
10778          }
10779          private static com.google.protobuf.Internal.EnumLiteMap<MemberKind>
10780              internalValueMap =
10781                new com.google.protobuf.Internal.EnumLiteMap<MemberKind>() {
10782                  public MemberKind findValueByNumber(int number) {
10783                    return MemberKind.valueOf(number);
10784                  }
10785                };
10786    
10787          private final int value;
10788    
10789          private MemberKind(int index, int value) {
10790            this.value = value;
10791          }
10792    
10793          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Callable.MemberKind)
10794        }
10795    
10796        /**
10797         * Protobuf enum {@code org.jetbrains.kotlin.serialization.Callable.CallableKind}
10798         */
10799        public enum CallableKind
10800            implements com.google.protobuf.Internal.EnumLite {
10801          /**
10802           * <code>FUN = 0;</code>
10803           *
10804           * <pre>
10805           * 2 bits
10806           * </pre>
10807           */
10808          FUN(0, 0),
10809          /**
10810           * <code>VAL = 1;</code>
10811           */
10812          VAL(1, 1),
10813          /**
10814           * <code>VAR = 2;</code>
10815           */
10816          VAR(2, 2),
10817          /**
10818           * <code>CONSTRUCTOR = 3;</code>
10819           */
10820          CONSTRUCTOR(3, 3),
10821          ;
10822    
10823          /**
10824           * <code>FUN = 0;</code>
10825           *
10826           * <pre>
10827           * 2 bits
10828           * </pre>
10829           */
10830          public static final int FUN_VALUE = 0;
10831          /**
10832           * <code>VAL = 1;</code>
10833           */
10834          public static final int VAL_VALUE = 1;
10835          /**
10836           * <code>VAR = 2;</code>
10837           */
10838          public static final int VAR_VALUE = 2;
10839          /**
10840           * <code>CONSTRUCTOR = 3;</code>
10841           */
10842          public static final int CONSTRUCTOR_VALUE = 3;
10843    
10844    
10845          public final int getNumber() { return value; }
10846    
10847          public static CallableKind valueOf(int value) {
10848            switch (value) {
10849              case 0: return FUN;
10850              case 1: return VAL;
10851              case 2: return VAR;
10852              case 3: return CONSTRUCTOR;
10853              default: return null;
10854            }
10855          }
10856    
10857          public static com.google.protobuf.Internal.EnumLiteMap<CallableKind>
10858              internalGetValueMap() {
10859            return internalValueMap;
10860          }
10861          private static com.google.protobuf.Internal.EnumLiteMap<CallableKind>
10862              internalValueMap =
10863                new com.google.protobuf.Internal.EnumLiteMap<CallableKind>() {
10864                  public CallableKind findValueByNumber(int number) {
10865                    return CallableKind.valueOf(number);
10866                  }
10867                };
10868    
10869          private final int value;
10870    
10871          private CallableKind(int index, int value) {
10872            this.value = value;
10873          }
10874    
10875          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Callable.CallableKind)
10876        }
10877    
10878        public interface ValueParameterOrBuilder extends 
10879             com.google.protobuf.GeneratedMessageLite.
10880                  ExtendableMessageOrBuilder<ValueParameter> {
10881    
10882          // optional int32 flags = 1;
10883          /**
10884           * <code>optional int32 flags = 1;</code>
10885           *
10886           * <pre>
10887           *
10888           *declaresDefault
10889           *has_annotations
10890           * </pre>
10891           */
10892          boolean hasFlags();
10893          /**
10894           * <code>optional int32 flags = 1;</code>
10895           *
10896           * <pre>
10897           *
10898           *declaresDefault
10899           *has_annotations
10900           * </pre>
10901           */
10902          int getFlags();
10903    
10904          // required int32 name = 2;
10905          /**
10906           * <code>required int32 name = 2;</code>
10907           *
10908           * <pre>
10909           * Id in the StringTable
10910           * </pre>
10911           */
10912          boolean hasName();
10913          /**
10914           * <code>required int32 name = 2;</code>
10915           *
10916           * <pre>
10917           * Id in the StringTable
10918           * </pre>
10919           */
10920          int getName();
10921    
10922          // required .org.jetbrains.kotlin.serialization.Type type = 3;
10923          /**
10924           * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
10925           */
10926          boolean hasType();
10927          /**
10928           * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
10929           */
10930          org.jetbrains.kotlin.serialization.ProtoBuf.Type getType();
10931    
10932          // optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;
10933          /**
10934           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
10935           */
10936          boolean hasVarargElementType();
10937          /**
10938           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
10939           */
10940          org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType();
10941        }
10942        /**
10943         * Protobuf type {@code org.jetbrains.kotlin.serialization.Callable.ValueParameter}
10944         */
10945        public static final class ValueParameter extends
10946            com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
10947              ValueParameter> implements ValueParameterOrBuilder {
10948          // Use ValueParameter.newBuilder() to construct.
10949          private ValueParameter(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter, ?> builder) {
10950            super(builder);
10951    
10952          }
10953          private ValueParameter(boolean noInit) {}
10954    
10955          private static final ValueParameter defaultInstance;
10956          public static ValueParameter getDefaultInstance() {
10957            return defaultInstance;
10958          }
10959    
10960          public ValueParameter getDefaultInstanceForType() {
10961            return defaultInstance;
10962          }
10963    
10964          private ValueParameter(
10965              com.google.protobuf.CodedInputStream input,
10966              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10967              throws com.google.protobuf.InvalidProtocolBufferException {
10968            initFields();
10969            int mutable_bitField0_ = 0;
10970            try {
10971              boolean done = false;
10972              while (!done) {
10973                int tag = input.readTag();
10974                switch (tag) {
10975                  case 0:
10976                    done = true;
10977                    break;
10978                  default: {
10979                    if (!parseUnknownField(input,
10980                                           extensionRegistry, tag)) {
10981                      done = true;
10982                    }
10983                    break;
10984                  }
10985                  case 8: {
10986                    bitField0_ |= 0x00000001;
10987                    flags_ = input.readInt32();
10988                    break;
10989                  }
10990                  case 16: {
10991                    bitField0_ |= 0x00000002;
10992                    name_ = input.readInt32();
10993                    break;
10994                  }
10995                  case 26: {
10996                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
10997                    if (((bitField0_ & 0x00000004) == 0x00000004)) {
10998                      subBuilder = type_.toBuilder();
10999                    }
11000                    type_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
11001                    if (subBuilder != null) {
11002                      subBuilder.mergeFrom(type_);
11003                      type_ = subBuilder.buildPartial();
11004                    }
11005                    bitField0_ |= 0x00000004;
11006                    break;
11007                  }
11008                  case 34: {
11009                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
11010                    if (((bitField0_ & 0x00000008) == 0x00000008)) {
11011                      subBuilder = varargElementType_.toBuilder();
11012                    }
11013                    varargElementType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
11014                    if (subBuilder != null) {
11015                      subBuilder.mergeFrom(varargElementType_);
11016                      varargElementType_ = subBuilder.buildPartial();
11017                    }
11018                    bitField0_ |= 0x00000008;
11019                    break;
11020                  }
11021                }
11022              }
11023            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11024              throw e.setUnfinishedMessage(this);
11025            } catch (java.io.IOException e) {
11026              throw new com.google.protobuf.InvalidProtocolBufferException(
11027                  e.getMessage()).setUnfinishedMessage(this);
11028            } finally {
11029              makeExtensionsImmutable();
11030            }
11031          }
11032          public static com.google.protobuf.Parser<ValueParameter> PARSER =
11033              new com.google.protobuf.AbstractParser<ValueParameter>() {
11034            public ValueParameter parsePartialFrom(
11035                com.google.protobuf.CodedInputStream input,
11036                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11037                throws com.google.protobuf.InvalidProtocolBufferException {
11038              return new ValueParameter(input, extensionRegistry);
11039            }
11040          };
11041    
11042          @java.lang.Override
11043          public com.google.protobuf.Parser<ValueParameter> getParserForType() {
11044            return PARSER;
11045          }
11046    
11047          private int bitField0_;
11048          // optional int32 flags = 1;
11049          public static final int FLAGS_FIELD_NUMBER = 1;
11050          private int flags_;
11051          /**
11052           * <code>optional int32 flags = 1;</code>
11053           *
11054           * <pre>
11055           *
11056           *declaresDefault
11057           *has_annotations
11058           * </pre>
11059           */
11060          public boolean hasFlags() {
11061            return ((bitField0_ & 0x00000001) == 0x00000001);
11062          }
11063          /**
11064           * <code>optional int32 flags = 1;</code>
11065           *
11066           * <pre>
11067           *
11068           *declaresDefault
11069           *has_annotations
11070           * </pre>
11071           */
11072          public int getFlags() {
11073            return flags_;
11074          }
11075    
11076          // required int32 name = 2;
11077          public static final int NAME_FIELD_NUMBER = 2;
11078          private int name_;
11079          /**
11080           * <code>required int32 name = 2;</code>
11081           *
11082           * <pre>
11083           * Id in the StringTable
11084           * </pre>
11085           */
11086          public boolean hasName() {
11087            return ((bitField0_ & 0x00000002) == 0x00000002);
11088          }
11089          /**
11090           * <code>required int32 name = 2;</code>
11091           *
11092           * <pre>
11093           * Id in the StringTable
11094           * </pre>
11095           */
11096          public int getName() {
11097            return name_;
11098          }
11099    
11100          // required .org.jetbrains.kotlin.serialization.Type type = 3;
11101          public static final int TYPE_FIELD_NUMBER = 3;
11102          private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_;
11103          /**
11104           * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11105           */
11106          public boolean hasType() {
11107            return ((bitField0_ & 0x00000004) == 0x00000004);
11108          }
11109          /**
11110           * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11111           */
11112          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
11113            return type_;
11114          }
11115    
11116          // optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;
11117          public static final int VARARG_ELEMENT_TYPE_FIELD_NUMBER = 4;
11118          private org.jetbrains.kotlin.serialization.ProtoBuf.Type varargElementType_;
11119          /**
11120           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11121           */
11122          public boolean hasVarargElementType() {
11123            return ((bitField0_ & 0x00000008) == 0x00000008);
11124          }
11125          /**
11126           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11127           */
11128          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType() {
11129            return varargElementType_;
11130          }
11131    
11132          private void initFields() {
11133            flags_ = 0;
11134            name_ = 0;
11135            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11136            varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11137          }
11138          private byte memoizedIsInitialized = -1;
11139          public final boolean isInitialized() {
11140            byte isInitialized = memoizedIsInitialized;
11141            if (isInitialized != -1) return isInitialized == 1;
11142    
11143            if (!hasName()) {
11144              memoizedIsInitialized = 0;
11145              return false;
11146            }
11147            if (!hasType()) {
11148              memoizedIsInitialized = 0;
11149              return false;
11150            }
11151            if (!getType().isInitialized()) {
11152              memoizedIsInitialized = 0;
11153              return false;
11154            }
11155            if (hasVarargElementType()) {
11156              if (!getVarargElementType().isInitialized()) {
11157                memoizedIsInitialized = 0;
11158                return false;
11159              }
11160            }
11161            if (!extensionsAreInitialized()) {
11162              memoizedIsInitialized = 0;
11163              return false;
11164            }
11165            memoizedIsInitialized = 1;
11166            return true;
11167          }
11168    
11169          public void writeTo(com.google.protobuf.CodedOutputStream output)
11170                              throws java.io.IOException {
11171            getSerializedSize();
11172            com.google.protobuf.GeneratedMessageLite
11173              .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter>.ExtensionWriter extensionWriter =
11174                newExtensionWriter();
11175            if (((bitField0_ & 0x00000001) == 0x00000001)) {
11176              output.writeInt32(1, flags_);
11177            }
11178            if (((bitField0_ & 0x00000002) == 0x00000002)) {
11179              output.writeInt32(2, name_);
11180            }
11181            if (((bitField0_ & 0x00000004) == 0x00000004)) {
11182              output.writeMessage(3, type_);
11183            }
11184            if (((bitField0_ & 0x00000008) == 0x00000008)) {
11185              output.writeMessage(4, varargElementType_);
11186            }
11187            extensionWriter.writeUntil(200, output);
11188          }
11189    
11190          private int memoizedSerializedSize = -1;
11191          public int getSerializedSize() {
11192            int size = memoizedSerializedSize;
11193            if (size != -1) return size;
11194    
11195            size = 0;
11196            if (((bitField0_ & 0x00000001) == 0x00000001)) {
11197              size += com.google.protobuf.CodedOutputStream
11198                .computeInt32Size(1, flags_);
11199            }
11200            if (((bitField0_ & 0x00000002) == 0x00000002)) {
11201              size += com.google.protobuf.CodedOutputStream
11202                .computeInt32Size(2, name_);
11203            }
11204            if (((bitField0_ & 0x00000004) == 0x00000004)) {
11205              size += com.google.protobuf.CodedOutputStream
11206                .computeMessageSize(3, type_);
11207            }
11208            if (((bitField0_ & 0x00000008) == 0x00000008)) {
11209              size += com.google.protobuf.CodedOutputStream
11210                .computeMessageSize(4, varargElementType_);
11211            }
11212            size += extensionsSerializedSize();
11213            memoizedSerializedSize = size;
11214            return size;
11215          }
11216    
11217          private static final long serialVersionUID = 0L;
11218          @java.lang.Override
11219          protected java.lang.Object writeReplace()
11220              throws java.io.ObjectStreamException {
11221            return super.writeReplace();
11222          }
11223    
11224          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11225              com.google.protobuf.ByteString data)
11226              throws com.google.protobuf.InvalidProtocolBufferException {
11227            return PARSER.parseFrom(data);
11228          }
11229          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11230              com.google.protobuf.ByteString data,
11231              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11232              throws com.google.protobuf.InvalidProtocolBufferException {
11233            return PARSER.parseFrom(data, extensionRegistry);
11234          }
11235          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(byte[] data)
11236              throws com.google.protobuf.InvalidProtocolBufferException {
11237            return PARSER.parseFrom(data);
11238          }
11239          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11240              byte[] data,
11241              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11242              throws com.google.protobuf.InvalidProtocolBufferException {
11243            return PARSER.parseFrom(data, extensionRegistry);
11244          }
11245          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(java.io.InputStream input)
11246              throws java.io.IOException {
11247            return PARSER.parseFrom(input);
11248          }
11249          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11250              java.io.InputStream input,
11251              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11252              throws java.io.IOException {
11253            return PARSER.parseFrom(input, extensionRegistry);
11254          }
11255          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseDelimitedFrom(java.io.InputStream input)
11256              throws java.io.IOException {
11257            return PARSER.parseDelimitedFrom(input);
11258          }
11259          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseDelimitedFrom(
11260              java.io.InputStream input,
11261              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11262              throws java.io.IOException {
11263            return PARSER.parseDelimitedFrom(input, extensionRegistry);
11264          }
11265          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11266              com.google.protobuf.CodedInputStream input)
11267              throws java.io.IOException {
11268            return PARSER.parseFrom(input);
11269          }
11270          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11271              com.google.protobuf.CodedInputStream input,
11272              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11273              throws java.io.IOException {
11274            return PARSER.parseFrom(input, extensionRegistry);
11275          }
11276    
11277          public static Builder newBuilder() { return Builder.create(); }
11278          public Builder newBuilderForType() { return newBuilder(); }
11279          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter prototype) {
11280            return newBuilder().mergeFrom(prototype);
11281          }
11282          public Builder toBuilder() { return newBuilder(this); }
11283    
11284          /**
11285           * Protobuf type {@code org.jetbrains.kotlin.serialization.Callable.ValueParameter}
11286           */
11287          public static final class Builder extends
11288              com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
11289                org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameterOrBuilder {
11290            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.newBuilder()
11291            private Builder() {
11292              maybeForceBuilderInitialization();
11293            }
11294    
11295            private void maybeForceBuilderInitialization() {
11296            }
11297            private static Builder create() {
11298              return new Builder();
11299            }
11300    
11301            public Builder clear() {
11302              super.clear();
11303              flags_ = 0;
11304              bitField0_ = (bitField0_ & ~0x00000001);
11305              name_ = 0;
11306              bitField0_ = (bitField0_ & ~0x00000002);
11307              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11308              bitField0_ = (bitField0_ & ~0x00000004);
11309              varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11310              bitField0_ = (bitField0_ & ~0x00000008);
11311              return this;
11312            }
11313    
11314            public Builder clone() {
11315              return create().mergeFrom(buildPartial());
11316            }
11317    
11318            public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter getDefaultInstanceForType() {
11319              return org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.getDefaultInstance();
11320            }
11321    
11322            public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter build() {
11323              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter result = buildPartial();
11324              if (!result.isInitialized()) {
11325                throw newUninitializedMessageException(result);
11326              }
11327              return result;
11328            }
11329    
11330            public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter buildPartial() {
11331              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter result = new org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter(this);
11332              int from_bitField0_ = bitField0_;
11333              int to_bitField0_ = 0;
11334              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
11335                to_bitField0_ |= 0x00000001;
11336              }
11337              result.flags_ = flags_;
11338              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
11339                to_bitField0_ |= 0x00000002;
11340              }
11341              result.name_ = name_;
11342              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
11343                to_bitField0_ |= 0x00000004;
11344              }
11345              result.type_ = type_;
11346              if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
11347                to_bitField0_ |= 0x00000008;
11348              }
11349              result.varargElementType_ = varargElementType_;
11350              result.bitField0_ = to_bitField0_;
11351              return result;
11352            }
11353    
11354            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter other) {
11355              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.getDefaultInstance()) return this;
11356              if (other.hasFlags()) {
11357                setFlags(other.getFlags());
11358              }
11359              if (other.hasName()) {
11360                setName(other.getName());
11361              }
11362              if (other.hasType()) {
11363                mergeType(other.getType());
11364              }
11365              if (other.hasVarargElementType()) {
11366                mergeVarargElementType(other.getVarargElementType());
11367              }
11368              this.mergeExtensionFields(other);
11369              return this;
11370            }
11371    
11372            public final boolean isInitialized() {
11373              if (!hasName()) {
11374                
11375                return false;
11376              }
11377              if (!hasType()) {
11378                
11379                return false;
11380              }
11381              if (!getType().isInitialized()) {
11382                
11383                return false;
11384              }
11385              if (hasVarargElementType()) {
11386                if (!getVarargElementType().isInitialized()) {
11387                  
11388                  return false;
11389                }
11390              }
11391              if (!extensionsAreInitialized()) {
11392                
11393                return false;
11394              }
11395              return true;
11396            }
11397    
11398            public Builder mergeFrom(
11399                com.google.protobuf.CodedInputStream input,
11400                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11401                throws java.io.IOException {
11402              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parsedMessage = null;
11403              try {
11404                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
11405              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11406                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter) e.getUnfinishedMessage();
11407                throw e;
11408              } finally {
11409                if (parsedMessage != null) {
11410                  mergeFrom(parsedMessage);
11411                }
11412              }
11413              return this;
11414            }
11415            private int bitField0_;
11416    
11417            // optional int32 flags = 1;
11418            private int flags_ ;
11419            /**
11420             * <code>optional int32 flags = 1;</code>
11421             *
11422             * <pre>
11423             *
11424             *declaresDefault
11425             *has_annotations
11426             * </pre>
11427             */
11428            public boolean hasFlags() {
11429              return ((bitField0_ & 0x00000001) == 0x00000001);
11430            }
11431            /**
11432             * <code>optional int32 flags = 1;</code>
11433             *
11434             * <pre>
11435             *
11436             *declaresDefault
11437             *has_annotations
11438             * </pre>
11439             */
11440            public int getFlags() {
11441              return flags_;
11442            }
11443            /**
11444             * <code>optional int32 flags = 1;</code>
11445             *
11446             * <pre>
11447             *
11448             *declaresDefault
11449             *has_annotations
11450             * </pre>
11451             */
11452            public Builder setFlags(int value) {
11453              bitField0_ |= 0x00000001;
11454              flags_ = value;
11455              
11456              return this;
11457            }
11458            /**
11459             * <code>optional int32 flags = 1;</code>
11460             *
11461             * <pre>
11462             *
11463             *declaresDefault
11464             *has_annotations
11465             * </pre>
11466             */
11467            public Builder clearFlags() {
11468              bitField0_ = (bitField0_ & ~0x00000001);
11469              flags_ = 0;
11470              
11471              return this;
11472            }
11473    
11474            // required int32 name = 2;
11475            private int name_ ;
11476            /**
11477             * <code>required int32 name = 2;</code>
11478             *
11479             * <pre>
11480             * Id in the StringTable
11481             * </pre>
11482             */
11483            public boolean hasName() {
11484              return ((bitField0_ & 0x00000002) == 0x00000002);
11485            }
11486            /**
11487             * <code>required int32 name = 2;</code>
11488             *
11489             * <pre>
11490             * Id in the StringTable
11491             * </pre>
11492             */
11493            public int getName() {
11494              return name_;
11495            }
11496            /**
11497             * <code>required int32 name = 2;</code>
11498             *
11499             * <pre>
11500             * Id in the StringTable
11501             * </pre>
11502             */
11503            public Builder setName(int value) {
11504              bitField0_ |= 0x00000002;
11505              name_ = value;
11506              
11507              return this;
11508            }
11509            /**
11510             * <code>required int32 name = 2;</code>
11511             *
11512             * <pre>
11513             * Id in the StringTable
11514             * </pre>
11515             */
11516            public Builder clearName() {
11517              bitField0_ = (bitField0_ & ~0x00000002);
11518              name_ = 0;
11519              
11520              return this;
11521            }
11522    
11523            // required .org.jetbrains.kotlin.serialization.Type type = 3;
11524            private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11525            /**
11526             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11527             */
11528            public boolean hasType() {
11529              return ((bitField0_ & 0x00000004) == 0x00000004);
11530            }
11531            /**
11532             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11533             */
11534            public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
11535              return type_;
11536            }
11537            /**
11538             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11539             */
11540            public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11541              if (value == null) {
11542                throw new NullPointerException();
11543              }
11544              type_ = value;
11545    
11546              bitField0_ |= 0x00000004;
11547              return this;
11548            }
11549            /**
11550             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11551             */
11552            public Builder setType(
11553                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
11554              type_ = builderForValue.build();
11555    
11556              bitField0_ |= 0x00000004;
11557              return this;
11558            }
11559            /**
11560             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11561             */
11562            public Builder mergeType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11563              if (((bitField0_ & 0x00000004) == 0x00000004) &&
11564                  type_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
11565                type_ =
11566                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
11567              } else {
11568                type_ = value;
11569              }
11570    
11571              bitField0_ |= 0x00000004;
11572              return this;
11573            }
11574            /**
11575             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11576             */
11577            public Builder clearType() {
11578              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11579    
11580              bitField0_ = (bitField0_ & ~0x00000004);
11581              return this;
11582            }
11583    
11584            // optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;
11585            private org.jetbrains.kotlin.serialization.ProtoBuf.Type varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11586            /**
11587             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11588             */
11589            public boolean hasVarargElementType() {
11590              return ((bitField0_ & 0x00000008) == 0x00000008);
11591            }
11592            /**
11593             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11594             */
11595            public org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType() {
11596              return varargElementType_;
11597            }
11598            /**
11599             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11600             */
11601            public Builder setVarargElementType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11602              if (value == null) {
11603                throw new NullPointerException();
11604              }
11605              varargElementType_ = value;
11606    
11607              bitField0_ |= 0x00000008;
11608              return this;
11609            }
11610            /**
11611             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11612             */
11613            public Builder setVarargElementType(
11614                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
11615              varargElementType_ = builderForValue.build();
11616    
11617              bitField0_ |= 0x00000008;
11618              return this;
11619            }
11620            /**
11621             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11622             */
11623            public Builder mergeVarargElementType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11624              if (((bitField0_ & 0x00000008) == 0x00000008) &&
11625                  varargElementType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
11626                varargElementType_ =
11627                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(varargElementType_).mergeFrom(value).buildPartial();
11628              } else {
11629                varargElementType_ = value;
11630              }
11631    
11632              bitField0_ |= 0x00000008;
11633              return this;
11634            }
11635            /**
11636             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11637             */
11638            public Builder clearVarargElementType() {
11639              varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11640    
11641              bitField0_ = (bitField0_ & ~0x00000008);
11642              return this;
11643            }
11644    
11645            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Callable.ValueParameter)
11646          }
11647    
11648          static {
11649            defaultInstance = new ValueParameter(true);
11650            defaultInstance.initFields();
11651          }
11652    
11653          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Callable.ValueParameter)
11654        }
11655    
11656        private int bitField0_;
11657        // optional int32 flags = 1;
11658        public static final int FLAGS_FIELD_NUMBER = 1;
11659        private int flags_;
11660        /**
11661         * <code>optional int32 flags = 1;</code>
11662         *
11663         * <pre>
11664         *
11665         *Visibility
11666         *Modality
11667         *has_annotations
11668         *CallableKind
11669         *MemberKind
11670         *hasGetter
11671         *hasSetter
11672         *hasConstant
11673         * </pre>
11674         */
11675        public boolean hasFlags() {
11676          return ((bitField0_ & 0x00000001) == 0x00000001);
11677        }
11678        /**
11679         * <code>optional int32 flags = 1;</code>
11680         *
11681         * <pre>
11682         *
11683         *Visibility
11684         *Modality
11685         *has_annotations
11686         *CallableKind
11687         *MemberKind
11688         *hasGetter
11689         *hasSetter
11690         *hasConstant
11691         * </pre>
11692         */
11693        public int getFlags() {
11694          return flags_;
11695        }
11696    
11697        // optional int32 getter_flags = 9;
11698        public static final int GETTER_FLAGS_FIELD_NUMBER = 9;
11699        private int getterFlags_;
11700        /**
11701         * <code>optional int32 getter_flags = 9;</code>
11702         *
11703         * <pre>
11704         *
11705         *isNotDefault
11706         *Visibility
11707         *Modality
11708         *has_annotations
11709         * </pre>
11710         */
11711        public boolean hasGetterFlags() {
11712          return ((bitField0_ & 0x00000002) == 0x00000002);
11713        }
11714        /**
11715         * <code>optional int32 getter_flags = 9;</code>
11716         *
11717         * <pre>
11718         *
11719         *isNotDefault
11720         *Visibility
11721         *Modality
11722         *has_annotations
11723         * </pre>
11724         */
11725        public int getGetterFlags() {
11726          return getterFlags_;
11727        }
11728    
11729        // optional int32 setter_flags = 10;
11730        public static final int SETTER_FLAGS_FIELD_NUMBER = 10;
11731        private int setterFlags_;
11732        /**
11733         * <code>optional int32 setter_flags = 10;</code>
11734         */
11735        public boolean hasSetterFlags() {
11736          return ((bitField0_ & 0x00000004) == 0x00000004);
11737        }
11738        /**
11739         * <code>optional int32 setter_flags = 10;</code>
11740         */
11741        public int getSetterFlags() {
11742          return setterFlags_;
11743        }
11744    
11745        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
11746        public static final int TYPE_PARAMETER_FIELD_NUMBER = 4;
11747        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
11748        /**
11749         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
11750         */
11751        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
11752          return typeParameter_;
11753        }
11754        /**
11755         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
11756         */
11757        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
11758            getTypeParameterOrBuilderList() {
11759          return typeParameter_;
11760        }
11761        /**
11762         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
11763         */
11764        public int getTypeParameterCount() {
11765          return typeParameter_.size();
11766        }
11767        /**
11768         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
11769         */
11770        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
11771          return typeParameter_.get(index);
11772        }
11773        /**
11774         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
11775         */
11776        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
11777            int index) {
11778          return typeParameter_.get(index);
11779        }
11780    
11781        // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
11782        public static final int RECEIVER_TYPE_FIELD_NUMBER = 5;
11783        private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_;
11784        /**
11785         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
11786         */
11787        public boolean hasReceiverType() {
11788          return ((bitField0_ & 0x00000008) == 0x00000008);
11789        }
11790        /**
11791         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
11792         */
11793        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
11794          return receiverType_;
11795        }
11796    
11797        // required int32 name = 6;
11798        public static final int NAME_FIELD_NUMBER = 6;
11799        private int name_;
11800        /**
11801         * <code>required int32 name = 6;</code>
11802         *
11803         * <pre>
11804         * Id in the StringTable
11805         * </pre>
11806         */
11807        public boolean hasName() {
11808          return ((bitField0_ & 0x00000010) == 0x00000010);
11809        }
11810        /**
11811         * <code>required int32 name = 6;</code>
11812         *
11813         * <pre>
11814         * Id in the StringTable
11815         * </pre>
11816         */
11817        public int getName() {
11818          return name_;
11819        }
11820    
11821        // repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;
11822        public static final int VALUE_PARAMETER_FIELD_NUMBER = 7;
11823        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> valueParameter_;
11824        /**
11825         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
11826         *
11827         * <pre>
11828         * Value parameters for functions and constructors, or setter value parameter for properties
11829         * </pre>
11830         */
11831        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> getValueParameterList() {
11832          return valueParameter_;
11833        }
11834        /**
11835         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
11836         *
11837         * <pre>
11838         * Value parameters for functions and constructors, or setter value parameter for properties
11839         * </pre>
11840         */
11841        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameterOrBuilder> 
11842            getValueParameterOrBuilderList() {
11843          return valueParameter_;
11844        }
11845        /**
11846         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
11847         *
11848         * <pre>
11849         * Value parameters for functions and constructors, or setter value parameter for properties
11850         * </pre>
11851         */
11852        public int getValueParameterCount() {
11853          return valueParameter_.size();
11854        }
11855        /**
11856         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
11857         *
11858         * <pre>
11859         * Value parameters for functions and constructors, or setter value parameter for properties
11860         * </pre>
11861         */
11862        public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index) {
11863          return valueParameter_.get(index);
11864        }
11865        /**
11866         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
11867         *
11868         * <pre>
11869         * Value parameters for functions and constructors, or setter value parameter for properties
11870         * </pre>
11871         */
11872        public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameterOrBuilder getValueParameterOrBuilder(
11873            int index) {
11874          return valueParameter_.get(index);
11875        }
11876    
11877        // required .org.jetbrains.kotlin.serialization.Type return_type = 8;
11878        public static final int RETURN_TYPE_FIELD_NUMBER = 8;
11879        private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_;
11880        /**
11881         * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
11882         */
11883        public boolean hasReturnType() {
11884          return ((bitField0_ & 0x00000020) == 0x00000020);
11885        }
11886        /**
11887         * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
11888         */
11889        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
11890          return returnType_;
11891        }
11892    
11893        private void initFields() {
11894          flags_ = 0;
11895          getterFlags_ = 0;
11896          setterFlags_ = 0;
11897          typeParameter_ = java.util.Collections.emptyList();
11898          receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11899          name_ = 0;
11900          valueParameter_ = java.util.Collections.emptyList();
11901          returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11902        }
11903        private byte memoizedIsInitialized = -1;
11904        public final boolean isInitialized() {
11905          byte isInitialized = memoizedIsInitialized;
11906          if (isInitialized != -1) return isInitialized == 1;
11907    
11908          if (!hasName()) {
11909            memoizedIsInitialized = 0;
11910            return false;
11911          }
11912          if (!hasReturnType()) {
11913            memoizedIsInitialized = 0;
11914            return false;
11915          }
11916          for (int i = 0; i < getTypeParameterCount(); i++) {
11917            if (!getTypeParameter(i).isInitialized()) {
11918              memoizedIsInitialized = 0;
11919              return false;
11920            }
11921          }
11922          if (hasReceiverType()) {
11923            if (!getReceiverType().isInitialized()) {
11924              memoizedIsInitialized = 0;
11925              return false;
11926            }
11927          }
11928          for (int i = 0; i < getValueParameterCount(); i++) {
11929            if (!getValueParameter(i).isInitialized()) {
11930              memoizedIsInitialized = 0;
11931              return false;
11932            }
11933          }
11934          if (!getReturnType().isInitialized()) {
11935            memoizedIsInitialized = 0;
11936            return false;
11937          }
11938          if (!extensionsAreInitialized()) {
11939            memoizedIsInitialized = 0;
11940            return false;
11941          }
11942          memoizedIsInitialized = 1;
11943          return true;
11944        }
11945    
11946        public void writeTo(com.google.protobuf.CodedOutputStream output)
11947                            throws java.io.IOException {
11948          getSerializedSize();
11949          com.google.protobuf.GeneratedMessageLite
11950            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>.ExtensionWriter extensionWriter =
11951              newExtensionWriter();
11952          if (((bitField0_ & 0x00000001) == 0x00000001)) {
11953            output.writeInt32(1, flags_);
11954          }
11955          for (int i = 0; i < typeParameter_.size(); i++) {
11956            output.writeMessage(4, typeParameter_.get(i));
11957          }
11958          if (((bitField0_ & 0x00000008) == 0x00000008)) {
11959            output.writeMessage(5, receiverType_);
11960          }
11961          if (((bitField0_ & 0x00000010) == 0x00000010)) {
11962            output.writeInt32(6, name_);
11963          }
11964          for (int i = 0; i < valueParameter_.size(); i++) {
11965            output.writeMessage(7, valueParameter_.get(i));
11966          }
11967          if (((bitField0_ & 0x00000020) == 0x00000020)) {
11968            output.writeMessage(8, returnType_);
11969          }
11970          if (((bitField0_ & 0x00000002) == 0x00000002)) {
11971            output.writeInt32(9, getterFlags_);
11972          }
11973          if (((bitField0_ & 0x00000004) == 0x00000004)) {
11974            output.writeInt32(10, setterFlags_);
11975          }
11976          extensionWriter.writeUntil(200, output);
11977        }
11978    
11979        private int memoizedSerializedSize = -1;
11980        public int getSerializedSize() {
11981          int size = memoizedSerializedSize;
11982          if (size != -1) return size;
11983    
11984          size = 0;
11985          if (((bitField0_ & 0x00000001) == 0x00000001)) {
11986            size += com.google.protobuf.CodedOutputStream
11987              .computeInt32Size(1, flags_);
11988          }
11989          for (int i = 0; i < typeParameter_.size(); i++) {
11990            size += com.google.protobuf.CodedOutputStream
11991              .computeMessageSize(4, typeParameter_.get(i));
11992          }
11993          if (((bitField0_ & 0x00000008) == 0x00000008)) {
11994            size += com.google.protobuf.CodedOutputStream
11995              .computeMessageSize(5, receiverType_);
11996          }
11997          if (((bitField0_ & 0x00000010) == 0x00000010)) {
11998            size += com.google.protobuf.CodedOutputStream
11999              .computeInt32Size(6, name_);
12000          }
12001          for (int i = 0; i < valueParameter_.size(); i++) {
12002            size += com.google.protobuf.CodedOutputStream
12003              .computeMessageSize(7, valueParameter_.get(i));
12004          }
12005          if (((bitField0_ & 0x00000020) == 0x00000020)) {
12006            size += com.google.protobuf.CodedOutputStream
12007              .computeMessageSize(8, returnType_);
12008          }
12009          if (((bitField0_ & 0x00000002) == 0x00000002)) {
12010            size += com.google.protobuf.CodedOutputStream
12011              .computeInt32Size(9, getterFlags_);
12012          }
12013          if (((bitField0_ & 0x00000004) == 0x00000004)) {
12014            size += com.google.protobuf.CodedOutputStream
12015              .computeInt32Size(10, setterFlags_);
12016          }
12017          size += extensionsSerializedSize();
12018          memoizedSerializedSize = size;
12019          return size;
12020        }
12021    
12022        private static final long serialVersionUID = 0L;
12023        @java.lang.Override
12024        protected java.lang.Object writeReplace()
12025            throws java.io.ObjectStreamException {
12026          return super.writeReplace();
12027        }
12028    
12029        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
12030            com.google.protobuf.ByteString data)
12031            throws com.google.protobuf.InvalidProtocolBufferException {
12032          return PARSER.parseFrom(data);
12033        }
12034        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
12035            com.google.protobuf.ByteString data,
12036            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12037            throws com.google.protobuf.InvalidProtocolBufferException {
12038          return PARSER.parseFrom(data, extensionRegistry);
12039        }
12040        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(byte[] data)
12041            throws com.google.protobuf.InvalidProtocolBufferException {
12042          return PARSER.parseFrom(data);
12043        }
12044        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
12045            byte[] data,
12046            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12047            throws com.google.protobuf.InvalidProtocolBufferException {
12048          return PARSER.parseFrom(data, extensionRegistry);
12049        }
12050        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(java.io.InputStream input)
12051            throws java.io.IOException {
12052          return PARSER.parseFrom(input);
12053        }
12054        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
12055            java.io.InputStream input,
12056            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12057            throws java.io.IOException {
12058          return PARSER.parseFrom(input, extensionRegistry);
12059        }
12060        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseDelimitedFrom(java.io.InputStream input)
12061            throws java.io.IOException {
12062          return PARSER.parseDelimitedFrom(input);
12063        }
12064        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseDelimitedFrom(
12065            java.io.InputStream input,
12066            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12067            throws java.io.IOException {
12068          return PARSER.parseDelimitedFrom(input, extensionRegistry);
12069        }
12070        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
12071            com.google.protobuf.CodedInputStream input)
12072            throws java.io.IOException {
12073          return PARSER.parseFrom(input);
12074        }
12075        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
12076            com.google.protobuf.CodedInputStream input,
12077            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12078            throws java.io.IOException {
12079          return PARSER.parseFrom(input, extensionRegistry);
12080        }
12081    
12082        public static Builder newBuilder() { return Builder.create(); }
12083        public Builder newBuilderForType() { return newBuilder(); }
12084        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Callable prototype) {
12085          return newBuilder().mergeFrom(prototype);
12086        }
12087        public Builder toBuilder() { return newBuilder(this); }
12088    
12089        /**
12090         * Protobuf type {@code org.jetbrains.kotlin.serialization.Callable}
12091         */
12092        public static final class Builder extends
12093            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
12094              org.jetbrains.kotlin.serialization.ProtoBuf.Callable, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder {
12095          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Callable.newBuilder()
12096          private Builder() {
12097            maybeForceBuilderInitialization();
12098          }
12099    
12100          private void maybeForceBuilderInitialization() {
12101          }
12102          private static Builder create() {
12103            return new Builder();
12104          }
12105    
12106          public Builder clear() {
12107            super.clear();
12108            flags_ = 0;
12109            bitField0_ = (bitField0_ & ~0x00000001);
12110            getterFlags_ = 0;
12111            bitField0_ = (bitField0_ & ~0x00000002);
12112            setterFlags_ = 0;
12113            bitField0_ = (bitField0_ & ~0x00000004);
12114            typeParameter_ = java.util.Collections.emptyList();
12115            bitField0_ = (bitField0_ & ~0x00000008);
12116            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12117            bitField0_ = (bitField0_ & ~0x00000010);
12118            name_ = 0;
12119            bitField0_ = (bitField0_ & ~0x00000020);
12120            valueParameter_ = java.util.Collections.emptyList();
12121            bitField0_ = (bitField0_ & ~0x00000040);
12122            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12123            bitField0_ = (bitField0_ & ~0x00000080);
12124            return this;
12125          }
12126    
12127          public Builder clone() {
12128            return create().mergeFrom(buildPartial());
12129          }
12130    
12131          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getDefaultInstanceForType() {
12132            return org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance();
12133          }
12134    
12135          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable build() {
12136            org.jetbrains.kotlin.serialization.ProtoBuf.Callable result = buildPartial();
12137            if (!result.isInitialized()) {
12138              throw newUninitializedMessageException(result);
12139            }
12140            return result;
12141          }
12142    
12143          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable buildPartial() {
12144            org.jetbrains.kotlin.serialization.ProtoBuf.Callable result = new org.jetbrains.kotlin.serialization.ProtoBuf.Callable(this);
12145            int from_bitField0_ = bitField0_;
12146            int to_bitField0_ = 0;
12147            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
12148              to_bitField0_ |= 0x00000001;
12149            }
12150            result.flags_ = flags_;
12151            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
12152              to_bitField0_ |= 0x00000002;
12153            }
12154            result.getterFlags_ = getterFlags_;
12155            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
12156              to_bitField0_ |= 0x00000004;
12157            }
12158            result.setterFlags_ = setterFlags_;
12159            if (((bitField0_ & 0x00000008) == 0x00000008)) {
12160              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
12161              bitField0_ = (bitField0_ & ~0x00000008);
12162            }
12163            result.typeParameter_ = typeParameter_;
12164            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
12165              to_bitField0_ |= 0x00000008;
12166            }
12167            result.receiverType_ = receiverType_;
12168            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
12169              to_bitField0_ |= 0x00000010;
12170            }
12171            result.name_ = name_;
12172            if (((bitField0_ & 0x00000040) == 0x00000040)) {
12173              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
12174              bitField0_ = (bitField0_ & ~0x00000040);
12175            }
12176            result.valueParameter_ = valueParameter_;
12177            if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
12178              to_bitField0_ |= 0x00000020;
12179            }
12180            result.returnType_ = returnType_;
12181            result.bitField0_ = to_bitField0_;
12182            return result;
12183          }
12184    
12185          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Callable other) {
12186            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance()) return this;
12187            if (other.hasFlags()) {
12188              setFlags(other.getFlags());
12189            }
12190            if (other.hasGetterFlags()) {
12191              setGetterFlags(other.getGetterFlags());
12192            }
12193            if (other.hasSetterFlags()) {
12194              setSetterFlags(other.getSetterFlags());
12195            }
12196            if (!other.typeParameter_.isEmpty()) {
12197              if (typeParameter_.isEmpty()) {
12198                typeParameter_ = other.typeParameter_;
12199                bitField0_ = (bitField0_ & ~0x00000008);
12200              } else {
12201                ensureTypeParameterIsMutable();
12202                typeParameter_.addAll(other.typeParameter_);
12203              }
12204              
12205            }
12206            if (other.hasReceiverType()) {
12207              mergeReceiverType(other.getReceiverType());
12208            }
12209            if (other.hasName()) {
12210              setName(other.getName());
12211            }
12212            if (!other.valueParameter_.isEmpty()) {
12213              if (valueParameter_.isEmpty()) {
12214                valueParameter_ = other.valueParameter_;
12215                bitField0_ = (bitField0_ & ~0x00000040);
12216              } else {
12217                ensureValueParameterIsMutable();
12218                valueParameter_.addAll(other.valueParameter_);
12219              }
12220              
12221            }
12222            if (other.hasReturnType()) {
12223              mergeReturnType(other.getReturnType());
12224            }
12225            this.mergeExtensionFields(other);
12226            return this;
12227          }
12228    
12229          public final boolean isInitialized() {
12230            if (!hasName()) {
12231              
12232              return false;
12233            }
12234            if (!hasReturnType()) {
12235              
12236              return false;
12237            }
12238            for (int i = 0; i < getTypeParameterCount(); i++) {
12239              if (!getTypeParameter(i).isInitialized()) {
12240                
12241                return false;
12242              }
12243            }
12244            if (hasReceiverType()) {
12245              if (!getReceiverType().isInitialized()) {
12246                
12247                return false;
12248              }
12249            }
12250            for (int i = 0; i < getValueParameterCount(); i++) {
12251              if (!getValueParameter(i).isInitialized()) {
12252                
12253                return false;
12254              }
12255            }
12256            if (!getReturnType().isInitialized()) {
12257              
12258              return false;
12259            }
12260            if (!extensionsAreInitialized()) {
12261              
12262              return false;
12263            }
12264            return true;
12265          }
12266    
12267          public Builder mergeFrom(
12268              com.google.protobuf.CodedInputStream input,
12269              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12270              throws java.io.IOException {
12271            org.jetbrains.kotlin.serialization.ProtoBuf.Callable parsedMessage = null;
12272            try {
12273              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
12274            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
12275              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Callable) e.getUnfinishedMessage();
12276              throw e;
12277            } finally {
12278              if (parsedMessage != null) {
12279                mergeFrom(parsedMessage);
12280              }
12281            }
12282            return this;
12283          }
12284          private int bitField0_;
12285    
12286          // optional int32 flags = 1;
12287          private int flags_ ;
12288          /**
12289           * <code>optional int32 flags = 1;</code>
12290           *
12291           * <pre>
12292           *
12293           *Visibility
12294           *Modality
12295           *has_annotations
12296           *CallableKind
12297           *MemberKind
12298           *hasGetter
12299           *hasSetter
12300           *hasConstant
12301           * </pre>
12302           */
12303          public boolean hasFlags() {
12304            return ((bitField0_ & 0x00000001) == 0x00000001);
12305          }
12306          /**
12307           * <code>optional int32 flags = 1;</code>
12308           *
12309           * <pre>
12310           *
12311           *Visibility
12312           *Modality
12313           *has_annotations
12314           *CallableKind
12315           *MemberKind
12316           *hasGetter
12317           *hasSetter
12318           *hasConstant
12319           * </pre>
12320           */
12321          public int getFlags() {
12322            return flags_;
12323          }
12324          /**
12325           * <code>optional int32 flags = 1;</code>
12326           *
12327           * <pre>
12328           *
12329           *Visibility
12330           *Modality
12331           *has_annotations
12332           *CallableKind
12333           *MemberKind
12334           *hasGetter
12335           *hasSetter
12336           *hasConstant
12337           * </pre>
12338           */
12339          public Builder setFlags(int value) {
12340            bitField0_ |= 0x00000001;
12341            flags_ = value;
12342            
12343            return this;
12344          }
12345          /**
12346           * <code>optional int32 flags = 1;</code>
12347           *
12348           * <pre>
12349           *
12350           *Visibility
12351           *Modality
12352           *has_annotations
12353           *CallableKind
12354           *MemberKind
12355           *hasGetter
12356           *hasSetter
12357           *hasConstant
12358           * </pre>
12359           */
12360          public Builder clearFlags() {
12361            bitField0_ = (bitField0_ & ~0x00000001);
12362            flags_ = 0;
12363            
12364            return this;
12365          }
12366    
12367          // optional int32 getter_flags = 9;
12368          private int getterFlags_ ;
12369          /**
12370           * <code>optional int32 getter_flags = 9;</code>
12371           *
12372           * <pre>
12373           *
12374           *isNotDefault
12375           *Visibility
12376           *Modality
12377           *has_annotations
12378           * </pre>
12379           */
12380          public boolean hasGetterFlags() {
12381            return ((bitField0_ & 0x00000002) == 0x00000002);
12382          }
12383          /**
12384           * <code>optional int32 getter_flags = 9;</code>
12385           *
12386           * <pre>
12387           *
12388           *isNotDefault
12389           *Visibility
12390           *Modality
12391           *has_annotations
12392           * </pre>
12393           */
12394          public int getGetterFlags() {
12395            return getterFlags_;
12396          }
12397          /**
12398           * <code>optional int32 getter_flags = 9;</code>
12399           *
12400           * <pre>
12401           *
12402           *isNotDefault
12403           *Visibility
12404           *Modality
12405           *has_annotations
12406           * </pre>
12407           */
12408          public Builder setGetterFlags(int value) {
12409            bitField0_ |= 0x00000002;
12410            getterFlags_ = value;
12411            
12412            return this;
12413          }
12414          /**
12415           * <code>optional int32 getter_flags = 9;</code>
12416           *
12417           * <pre>
12418           *
12419           *isNotDefault
12420           *Visibility
12421           *Modality
12422           *has_annotations
12423           * </pre>
12424           */
12425          public Builder clearGetterFlags() {
12426            bitField0_ = (bitField0_ & ~0x00000002);
12427            getterFlags_ = 0;
12428            
12429            return this;
12430          }
12431    
12432          // optional int32 setter_flags = 10;
12433          private int setterFlags_ ;
12434          /**
12435           * <code>optional int32 setter_flags = 10;</code>
12436           */
12437          public boolean hasSetterFlags() {
12438            return ((bitField0_ & 0x00000004) == 0x00000004);
12439          }
12440          /**
12441           * <code>optional int32 setter_flags = 10;</code>
12442           */
12443          public int getSetterFlags() {
12444            return setterFlags_;
12445          }
12446          /**
12447           * <code>optional int32 setter_flags = 10;</code>
12448           */
12449          public Builder setSetterFlags(int value) {
12450            bitField0_ |= 0x00000004;
12451            setterFlags_ = value;
12452            
12453            return this;
12454          }
12455          /**
12456           * <code>optional int32 setter_flags = 10;</code>
12457           */
12458          public Builder clearSetterFlags() {
12459            bitField0_ = (bitField0_ & ~0x00000004);
12460            setterFlags_ = 0;
12461            
12462            return this;
12463          }
12464    
12465          // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
12466          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
12467            java.util.Collections.emptyList();
12468          private void ensureTypeParameterIsMutable() {
12469            if (!((bitField0_ & 0x00000008) == 0x00000008)) {
12470              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
12471              bitField0_ |= 0x00000008;
12472             }
12473          }
12474    
12475          /**
12476           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12477           */
12478          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
12479            return java.util.Collections.unmodifiableList(typeParameter_);
12480          }
12481          /**
12482           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12483           */
12484          public int getTypeParameterCount() {
12485            return typeParameter_.size();
12486          }
12487          /**
12488           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12489           */
12490          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
12491            return typeParameter_.get(index);
12492          }
12493          /**
12494           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12495           */
12496          public Builder setTypeParameter(
12497              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
12498            if (value == null) {
12499              throw new NullPointerException();
12500            }
12501            ensureTypeParameterIsMutable();
12502            typeParameter_.set(index, value);
12503    
12504            return this;
12505          }
12506          /**
12507           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12508           */
12509          public Builder setTypeParameter(
12510              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
12511            ensureTypeParameterIsMutable();
12512            typeParameter_.set(index, builderForValue.build());
12513    
12514            return this;
12515          }
12516          /**
12517           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12518           */
12519          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
12520            if (value == null) {
12521              throw new NullPointerException();
12522            }
12523            ensureTypeParameterIsMutable();
12524            typeParameter_.add(value);
12525    
12526            return this;
12527          }
12528          /**
12529           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12530           */
12531          public Builder addTypeParameter(
12532              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
12533            if (value == null) {
12534              throw new NullPointerException();
12535            }
12536            ensureTypeParameterIsMutable();
12537            typeParameter_.add(index, value);
12538    
12539            return this;
12540          }
12541          /**
12542           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12543           */
12544          public Builder addTypeParameter(
12545              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
12546            ensureTypeParameterIsMutable();
12547            typeParameter_.add(builderForValue.build());
12548    
12549            return this;
12550          }
12551          /**
12552           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12553           */
12554          public Builder addTypeParameter(
12555              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
12556            ensureTypeParameterIsMutable();
12557            typeParameter_.add(index, builderForValue.build());
12558    
12559            return this;
12560          }
12561          /**
12562           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12563           */
12564          public Builder addAllTypeParameter(
12565              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
12566            ensureTypeParameterIsMutable();
12567            super.addAll(values, typeParameter_);
12568    
12569            return this;
12570          }
12571          /**
12572           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12573           */
12574          public Builder clearTypeParameter() {
12575            typeParameter_ = java.util.Collections.emptyList();
12576            bitField0_ = (bitField0_ & ~0x00000008);
12577    
12578            return this;
12579          }
12580          /**
12581           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12582           */
12583          public Builder removeTypeParameter(int index) {
12584            ensureTypeParameterIsMutable();
12585            typeParameter_.remove(index);
12586    
12587            return this;
12588          }
12589    
12590          // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
12591          private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12592          /**
12593           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12594           */
12595          public boolean hasReceiverType() {
12596            return ((bitField0_ & 0x00000010) == 0x00000010);
12597          }
12598          /**
12599           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12600           */
12601          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
12602            return receiverType_;
12603          }
12604          /**
12605           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12606           */
12607          public Builder setReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
12608            if (value == null) {
12609              throw new NullPointerException();
12610            }
12611            receiverType_ = value;
12612    
12613            bitField0_ |= 0x00000010;
12614            return this;
12615          }
12616          /**
12617           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12618           */
12619          public Builder setReceiverType(
12620              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
12621            receiverType_ = builderForValue.build();
12622    
12623            bitField0_ |= 0x00000010;
12624            return this;
12625          }
12626          /**
12627           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12628           */
12629          public Builder mergeReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
12630            if (((bitField0_ & 0x00000010) == 0x00000010) &&
12631                receiverType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
12632              receiverType_ =
12633                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(receiverType_).mergeFrom(value).buildPartial();
12634            } else {
12635              receiverType_ = value;
12636            }
12637    
12638            bitField0_ |= 0x00000010;
12639            return this;
12640          }
12641          /**
12642           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12643           */
12644          public Builder clearReceiverType() {
12645            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12646    
12647            bitField0_ = (bitField0_ & ~0x00000010);
12648            return this;
12649          }
12650    
12651          // required int32 name = 6;
12652          private int name_ ;
12653          /**
12654           * <code>required int32 name = 6;</code>
12655           *
12656           * <pre>
12657           * Id in the StringTable
12658           * </pre>
12659           */
12660          public boolean hasName() {
12661            return ((bitField0_ & 0x00000020) == 0x00000020);
12662          }
12663          /**
12664           * <code>required int32 name = 6;</code>
12665           *
12666           * <pre>
12667           * Id in the StringTable
12668           * </pre>
12669           */
12670          public int getName() {
12671            return name_;
12672          }
12673          /**
12674           * <code>required int32 name = 6;</code>
12675           *
12676           * <pre>
12677           * Id in the StringTable
12678           * </pre>
12679           */
12680          public Builder setName(int value) {
12681            bitField0_ |= 0x00000020;
12682            name_ = value;
12683            
12684            return this;
12685          }
12686          /**
12687           * <code>required int32 name = 6;</code>
12688           *
12689           * <pre>
12690           * Id in the StringTable
12691           * </pre>
12692           */
12693          public Builder clearName() {
12694            bitField0_ = (bitField0_ & ~0x00000020);
12695            name_ = 0;
12696            
12697            return this;
12698          }
12699    
12700          // repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;
12701          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> valueParameter_ =
12702            java.util.Collections.emptyList();
12703          private void ensureValueParameterIsMutable() {
12704            if (!((bitField0_ & 0x00000040) == 0x00000040)) {
12705              valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter>(valueParameter_);
12706              bitField0_ |= 0x00000040;
12707             }
12708          }
12709    
12710          /**
12711           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12712           *
12713           * <pre>
12714           * Value parameters for functions and constructors, or setter value parameter for properties
12715           * </pre>
12716           */
12717          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> getValueParameterList() {
12718            return java.util.Collections.unmodifiableList(valueParameter_);
12719          }
12720          /**
12721           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12722           *
12723           * <pre>
12724           * Value parameters for functions and constructors, or setter value parameter for properties
12725           * </pre>
12726           */
12727          public int getValueParameterCount() {
12728            return valueParameter_.size();
12729          }
12730          /**
12731           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12732           *
12733           * <pre>
12734           * Value parameters for functions and constructors, or setter value parameter for properties
12735           * </pre>
12736           */
12737          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index) {
12738            return valueParameter_.get(index);
12739          }
12740          /**
12741           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12742           *
12743           * <pre>
12744           * Value parameters for functions and constructors, or setter value parameter for properties
12745           * </pre>
12746           */
12747          public Builder setValueParameter(
12748              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter value) {
12749            if (value == null) {
12750              throw new NullPointerException();
12751            }
12752            ensureValueParameterIsMutable();
12753            valueParameter_.set(index, value);
12754    
12755            return this;
12756          }
12757          /**
12758           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12759           *
12760           * <pre>
12761           * Value parameters for functions and constructors, or setter value parameter for properties
12762           * </pre>
12763           */
12764          public Builder setValueParameter(
12765              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
12766            ensureValueParameterIsMutable();
12767            valueParameter_.set(index, builderForValue.build());
12768    
12769            return this;
12770          }
12771          /**
12772           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12773           *
12774           * <pre>
12775           * Value parameters for functions and constructors, or setter value parameter for properties
12776           * </pre>
12777           */
12778          public Builder addValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter value) {
12779            if (value == null) {
12780              throw new NullPointerException();
12781            }
12782            ensureValueParameterIsMutable();
12783            valueParameter_.add(value);
12784    
12785            return this;
12786          }
12787          /**
12788           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12789           *
12790           * <pre>
12791           * Value parameters for functions and constructors, or setter value parameter for properties
12792           * </pre>
12793           */
12794          public Builder addValueParameter(
12795              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter value) {
12796            if (value == null) {
12797              throw new NullPointerException();
12798            }
12799            ensureValueParameterIsMutable();
12800            valueParameter_.add(index, value);
12801    
12802            return this;
12803          }
12804          /**
12805           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12806           *
12807           * <pre>
12808           * Value parameters for functions and constructors, or setter value parameter for properties
12809           * </pre>
12810           */
12811          public Builder addValueParameter(
12812              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
12813            ensureValueParameterIsMutable();
12814            valueParameter_.add(builderForValue.build());
12815    
12816            return this;
12817          }
12818          /**
12819           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12820           *
12821           * <pre>
12822           * Value parameters for functions and constructors, or setter value parameter for properties
12823           * </pre>
12824           */
12825          public Builder addValueParameter(
12826              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
12827            ensureValueParameterIsMutable();
12828            valueParameter_.add(index, builderForValue.build());
12829    
12830            return this;
12831          }
12832          /**
12833           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12834           *
12835           * <pre>
12836           * Value parameters for functions and constructors, or setter value parameter for properties
12837           * </pre>
12838           */
12839          public Builder addAllValueParameter(
12840              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> values) {
12841            ensureValueParameterIsMutable();
12842            super.addAll(values, valueParameter_);
12843    
12844            return this;
12845          }
12846          /**
12847           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12848           *
12849           * <pre>
12850           * Value parameters for functions and constructors, or setter value parameter for properties
12851           * </pre>
12852           */
12853          public Builder clearValueParameter() {
12854            valueParameter_ = java.util.Collections.emptyList();
12855            bitField0_ = (bitField0_ & ~0x00000040);
12856    
12857            return this;
12858          }
12859          /**
12860           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12861           *
12862           * <pre>
12863           * Value parameters for functions and constructors, or setter value parameter for properties
12864           * </pre>
12865           */
12866          public Builder removeValueParameter(int index) {
12867            ensureValueParameterIsMutable();
12868            valueParameter_.remove(index);
12869    
12870            return this;
12871          }
12872    
12873          // required .org.jetbrains.kotlin.serialization.Type return_type = 8;
12874          private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12875          /**
12876           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
12877           */
12878          public boolean hasReturnType() {
12879            return ((bitField0_ & 0x00000080) == 0x00000080);
12880          }
12881          /**
12882           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
12883           */
12884          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
12885            return returnType_;
12886          }
12887          /**
12888           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
12889           */
12890          public Builder setReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
12891            if (value == null) {
12892              throw new NullPointerException();
12893            }
12894            returnType_ = value;
12895    
12896            bitField0_ |= 0x00000080;
12897            return this;
12898          }
12899          /**
12900           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
12901           */
12902          public Builder setReturnType(
12903              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
12904            returnType_ = builderForValue.build();
12905    
12906            bitField0_ |= 0x00000080;
12907            return this;
12908          }
12909          /**
12910           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
12911           */
12912          public Builder mergeReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
12913            if (((bitField0_ & 0x00000080) == 0x00000080) &&
12914                returnType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
12915              returnType_ =
12916                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(returnType_).mergeFrom(value).buildPartial();
12917            } else {
12918              returnType_ = value;
12919            }
12920    
12921            bitField0_ |= 0x00000080;
12922            return this;
12923          }
12924          /**
12925           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
12926           */
12927          public Builder clearReturnType() {
12928            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12929    
12930            bitField0_ = (bitField0_ & ~0x00000080);
12931            return this;
12932          }
12933    
12934          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Callable)
12935        }
12936    
12937        static {
12938          defaultInstance = new Callable(true);
12939          defaultInstance.initFields();
12940        }
12941    
12942        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Callable)
12943      }
12944    
12945    
12946      static {
12947      }
12948    
12949      // @@protoc_insertion_point(outer_class_scope)
12950    }