001    // Generated by the protocol buffer compiler.  DO NOT EDIT!
002    // source: core/serialization/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
4280          extends com.google.protobuf.MessageLiteOrBuilder {
4281    
4282        // required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;
4283        /**
4284         * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
4285         */
4286        boolean hasConstructor();
4287        /**
4288         * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
4289         */
4290        org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor getConstructor();
4291    
4292        // repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;
4293        /**
4294         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
4295         */
4296        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> 
4297            getArgumentList();
4298        /**
4299         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
4300         */
4301        org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index);
4302        /**
4303         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
4304         */
4305        int getArgumentCount();
4306    
4307        // optional bool nullable = 3 [default = false];
4308        /**
4309         * <code>optional bool nullable = 3 [default = false];</code>
4310         */
4311        boolean hasNullable();
4312        /**
4313         * <code>optional bool nullable = 3 [default = false];</code>
4314         */
4315        boolean getNullable();
4316    
4317        // optional int32 flexible_type_capabilities_id = 4;
4318        /**
4319         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
4320         *
4321         * <pre>
4322         * Id in the StringTable
4323         * If this field is set, the type is flexible.
4324         * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
4325         * </pre>
4326         */
4327        boolean hasFlexibleTypeCapabilitiesId();
4328        /**
4329         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
4330         *
4331         * <pre>
4332         * Id in the StringTable
4333         * If this field is set, the type is flexible.
4334         * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
4335         * </pre>
4336         */
4337        int getFlexibleTypeCapabilitiesId();
4338    
4339        // optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;
4340        /**
4341         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
4342         *
4343         * <pre>
4344         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
4345         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
4346         * to represent flexible types is too many wasted bytes.
4347         * </pre>
4348         */
4349        boolean hasFlexibleUpperBound();
4350        /**
4351         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
4352         *
4353         * <pre>
4354         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
4355         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
4356         * to represent flexible types is too many wasted bytes.
4357         * </pre>
4358         */
4359        org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound();
4360      }
4361      /**
4362       * Protobuf type {@code org.jetbrains.kotlin.serialization.Type}
4363       */
4364      public static final class Type extends
4365          com.google.protobuf.GeneratedMessageLite
4366          implements TypeOrBuilder {
4367        // Use Type.newBuilder() to construct.
4368        private Type(com.google.protobuf.GeneratedMessageLite.Builder builder) {
4369          super(builder);
4370    
4371        }
4372        private Type(boolean noInit) {}
4373    
4374        private static final Type defaultInstance;
4375        public static Type getDefaultInstance() {
4376          return defaultInstance;
4377        }
4378    
4379        public Type getDefaultInstanceForType() {
4380          return defaultInstance;
4381        }
4382    
4383        private Type(
4384            com.google.protobuf.CodedInputStream input,
4385            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4386            throws com.google.protobuf.InvalidProtocolBufferException {
4387          initFields();
4388          int mutable_bitField0_ = 0;
4389          try {
4390            boolean done = false;
4391            while (!done) {
4392              int tag = input.readTag();
4393              switch (tag) {
4394                case 0:
4395                  done = true;
4396                  break;
4397                default: {
4398                  if (!parseUnknownField(input,
4399                                         extensionRegistry, tag)) {
4400                    done = true;
4401                  }
4402                  break;
4403                }
4404                case 10: {
4405                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Builder subBuilder = null;
4406                  if (((bitField0_ & 0x00000001) == 0x00000001)) {
4407                    subBuilder = constructor_.toBuilder();
4408                  }
4409                  constructor_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.PARSER, extensionRegistry);
4410                  if (subBuilder != null) {
4411                    subBuilder.mergeFrom(constructor_);
4412                    constructor_ = subBuilder.buildPartial();
4413                  }
4414                  bitField0_ |= 0x00000001;
4415                  break;
4416                }
4417                case 18: {
4418                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
4419                    argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument>();
4420                    mutable_bitField0_ |= 0x00000002;
4421                  }
4422                  argument_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.PARSER, extensionRegistry));
4423                  break;
4424                }
4425                case 24: {
4426                  bitField0_ |= 0x00000002;
4427                  nullable_ = input.readBool();
4428                  break;
4429                }
4430                case 32: {
4431                  bitField0_ |= 0x00000004;
4432                  flexibleTypeCapabilitiesId_ = input.readInt32();
4433                  break;
4434                }
4435                case 42: {
4436                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
4437                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
4438                    subBuilder = flexibleUpperBound_.toBuilder();
4439                  }
4440                  flexibleUpperBound_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
4441                  if (subBuilder != null) {
4442                    subBuilder.mergeFrom(flexibleUpperBound_);
4443                    flexibleUpperBound_ = subBuilder.buildPartial();
4444                  }
4445                  bitField0_ |= 0x00000008;
4446                  break;
4447                }
4448              }
4449            }
4450          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4451            throw e.setUnfinishedMessage(this);
4452          } catch (java.io.IOException e) {
4453            throw new com.google.protobuf.InvalidProtocolBufferException(
4454                e.getMessage()).setUnfinishedMessage(this);
4455          } finally {
4456            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
4457              argument_ = java.util.Collections.unmodifiableList(argument_);
4458            }
4459            makeExtensionsImmutable();
4460          }
4461        }
4462        public static com.google.protobuf.Parser<Type> PARSER =
4463            new com.google.protobuf.AbstractParser<Type>() {
4464          public Type parsePartialFrom(
4465              com.google.protobuf.CodedInputStream input,
4466              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4467              throws com.google.protobuf.InvalidProtocolBufferException {
4468            return new Type(input, extensionRegistry);
4469          }
4470        };
4471    
4472        @java.lang.Override
4473        public com.google.protobuf.Parser<Type> getParserForType() {
4474          return PARSER;
4475        }
4476    
4477        public interface ConstructorOrBuilder
4478            extends com.google.protobuf.MessageLiteOrBuilder {
4479    
4480          // optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];
4481          /**
4482           * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4483           */
4484          boolean hasKind();
4485          /**
4486           * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4487           */
4488          org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind getKind();
4489    
4490          // required int32 id = 2;
4491          /**
4492           * <code>required int32 id = 2;</code>
4493           *
4494           * <pre>
4495           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4496           * </pre>
4497           */
4498          boolean hasId();
4499          /**
4500           * <code>required int32 id = 2;</code>
4501           *
4502           * <pre>
4503           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4504           * </pre>
4505           */
4506          int getId();
4507        }
4508        /**
4509         * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Constructor}
4510         */
4511        public static final class Constructor extends
4512            com.google.protobuf.GeneratedMessageLite
4513            implements ConstructorOrBuilder {
4514          // Use Constructor.newBuilder() to construct.
4515          private Constructor(com.google.protobuf.GeneratedMessageLite.Builder builder) {
4516            super(builder);
4517    
4518          }
4519          private Constructor(boolean noInit) {}
4520    
4521          private static final Constructor defaultInstance;
4522          public static Constructor getDefaultInstance() {
4523            return defaultInstance;
4524          }
4525    
4526          public Constructor getDefaultInstanceForType() {
4527            return defaultInstance;
4528          }
4529    
4530          private Constructor(
4531              com.google.protobuf.CodedInputStream input,
4532              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4533              throws com.google.protobuf.InvalidProtocolBufferException {
4534            initFields();
4535            int mutable_bitField0_ = 0;
4536            try {
4537              boolean done = false;
4538              while (!done) {
4539                int tag = input.readTag();
4540                switch (tag) {
4541                  case 0:
4542                    done = true;
4543                    break;
4544                  default: {
4545                    if (!parseUnknownField(input,
4546                                           extensionRegistry, tag)) {
4547                      done = true;
4548                    }
4549                    break;
4550                  }
4551                  case 8: {
4552                    int rawValue = input.readEnum();
4553                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind value = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind.valueOf(rawValue);
4554                    if (value != null) {
4555                      bitField0_ |= 0x00000001;
4556                      kind_ = value;
4557                    }
4558                    break;
4559                  }
4560                  case 16: {
4561                    bitField0_ |= 0x00000002;
4562                    id_ = input.readInt32();
4563                    break;
4564                  }
4565                }
4566              }
4567            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4568              throw e.setUnfinishedMessage(this);
4569            } catch (java.io.IOException e) {
4570              throw new com.google.protobuf.InvalidProtocolBufferException(
4571                  e.getMessage()).setUnfinishedMessage(this);
4572            } finally {
4573              makeExtensionsImmutable();
4574            }
4575          }
4576          public static com.google.protobuf.Parser<Constructor> PARSER =
4577              new com.google.protobuf.AbstractParser<Constructor>() {
4578            public Constructor parsePartialFrom(
4579                com.google.protobuf.CodedInputStream input,
4580                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4581                throws com.google.protobuf.InvalidProtocolBufferException {
4582              return new Constructor(input, extensionRegistry);
4583            }
4584          };
4585    
4586          @java.lang.Override
4587          public com.google.protobuf.Parser<Constructor> getParserForType() {
4588            return PARSER;
4589          }
4590    
4591          /**
4592           * Protobuf enum {@code org.jetbrains.kotlin.serialization.Type.Constructor.Kind}
4593           */
4594          public enum Kind
4595              implements com.google.protobuf.Internal.EnumLite {
4596            /**
4597             * <code>CLASS = 0;</code>
4598             */
4599            CLASS(0, 0),
4600            /**
4601             * <code>TYPE_PARAMETER = 1;</code>
4602             */
4603            TYPE_PARAMETER(1, 1),
4604            ;
4605    
4606            /**
4607             * <code>CLASS = 0;</code>
4608             */
4609            public static final int CLASS_VALUE = 0;
4610            /**
4611             * <code>TYPE_PARAMETER = 1;</code>
4612             */
4613            public static final int TYPE_PARAMETER_VALUE = 1;
4614    
4615    
4616            public final int getNumber() { return value; }
4617    
4618            public static Kind valueOf(int value) {
4619              switch (value) {
4620                case 0: return CLASS;
4621                case 1: return TYPE_PARAMETER;
4622                default: return null;
4623              }
4624            }
4625    
4626            public static com.google.protobuf.Internal.EnumLiteMap<Kind>
4627                internalGetValueMap() {
4628              return internalValueMap;
4629            }
4630            private static com.google.protobuf.Internal.EnumLiteMap<Kind>
4631                internalValueMap =
4632                  new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
4633                    public Kind findValueByNumber(int number) {
4634                      return Kind.valueOf(number);
4635                    }
4636                  };
4637    
4638            private final int value;
4639    
4640            private Kind(int index, int value) {
4641              this.value = value;
4642            }
4643    
4644            // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Type.Constructor.Kind)
4645          }
4646    
4647          private int bitField0_;
4648          // optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];
4649          public static final int KIND_FIELD_NUMBER = 1;
4650          private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind kind_;
4651          /**
4652           * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4653           */
4654          public boolean hasKind() {
4655            return ((bitField0_ & 0x00000001) == 0x00000001);
4656          }
4657          /**
4658           * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4659           */
4660          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind getKind() {
4661            return kind_;
4662          }
4663    
4664          // required int32 id = 2;
4665          public static final int ID_FIELD_NUMBER = 2;
4666          private int id_;
4667          /**
4668           * <code>required int32 id = 2;</code>
4669           *
4670           * <pre>
4671           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4672           * </pre>
4673           */
4674          public boolean hasId() {
4675            return ((bitField0_ & 0x00000002) == 0x00000002);
4676          }
4677          /**
4678           * <code>required int32 id = 2;</code>
4679           *
4680           * <pre>
4681           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4682           * </pre>
4683           */
4684          public int getId() {
4685            return id_;
4686          }
4687    
4688          private void initFields() {
4689            kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
4690            id_ = 0;
4691          }
4692          private byte memoizedIsInitialized = -1;
4693          public final boolean isInitialized() {
4694            byte isInitialized = memoizedIsInitialized;
4695            if (isInitialized != -1) return isInitialized == 1;
4696    
4697            if (!hasId()) {
4698              memoizedIsInitialized = 0;
4699              return false;
4700            }
4701            memoizedIsInitialized = 1;
4702            return true;
4703          }
4704    
4705          public void writeTo(com.google.protobuf.CodedOutputStream output)
4706                              throws java.io.IOException {
4707            getSerializedSize();
4708            if (((bitField0_ & 0x00000001) == 0x00000001)) {
4709              output.writeEnum(1, kind_.getNumber());
4710            }
4711            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4712              output.writeInt32(2, id_);
4713            }
4714          }
4715    
4716          private int memoizedSerializedSize = -1;
4717          public int getSerializedSize() {
4718            int size = memoizedSerializedSize;
4719            if (size != -1) return size;
4720    
4721            size = 0;
4722            if (((bitField0_ & 0x00000001) == 0x00000001)) {
4723              size += com.google.protobuf.CodedOutputStream
4724                .computeEnumSize(1, kind_.getNumber());
4725            }
4726            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4727              size += com.google.protobuf.CodedOutputStream
4728                .computeInt32Size(2, id_);
4729            }
4730            memoizedSerializedSize = size;
4731            return size;
4732          }
4733    
4734          private static final long serialVersionUID = 0L;
4735          @java.lang.Override
4736          protected java.lang.Object writeReplace()
4737              throws java.io.ObjectStreamException {
4738            return super.writeReplace();
4739          }
4740    
4741          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4742              com.google.protobuf.ByteString data)
4743              throws com.google.protobuf.InvalidProtocolBufferException {
4744            return PARSER.parseFrom(data);
4745          }
4746          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4747              com.google.protobuf.ByteString data,
4748              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4749              throws com.google.protobuf.InvalidProtocolBufferException {
4750            return PARSER.parseFrom(data, extensionRegistry);
4751          }
4752          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(byte[] data)
4753              throws com.google.protobuf.InvalidProtocolBufferException {
4754            return PARSER.parseFrom(data);
4755          }
4756          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4757              byte[] data,
4758              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4759              throws com.google.protobuf.InvalidProtocolBufferException {
4760            return PARSER.parseFrom(data, extensionRegistry);
4761          }
4762          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(java.io.InputStream input)
4763              throws java.io.IOException {
4764            return PARSER.parseFrom(input);
4765          }
4766          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4767              java.io.InputStream input,
4768              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4769              throws java.io.IOException {
4770            return PARSER.parseFrom(input, extensionRegistry);
4771          }
4772          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseDelimitedFrom(java.io.InputStream input)
4773              throws java.io.IOException {
4774            return PARSER.parseDelimitedFrom(input);
4775          }
4776          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseDelimitedFrom(
4777              java.io.InputStream input,
4778              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4779              throws java.io.IOException {
4780            return PARSER.parseDelimitedFrom(input, extensionRegistry);
4781          }
4782          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4783              com.google.protobuf.CodedInputStream input)
4784              throws java.io.IOException {
4785            return PARSER.parseFrom(input);
4786          }
4787          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4788              com.google.protobuf.CodedInputStream input,
4789              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4790              throws java.io.IOException {
4791            return PARSER.parseFrom(input, extensionRegistry);
4792          }
4793    
4794          public static Builder newBuilder() { return Builder.create(); }
4795          public Builder newBuilderForType() { return newBuilder(); }
4796          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor prototype) {
4797            return newBuilder().mergeFrom(prototype);
4798          }
4799          public Builder toBuilder() { return newBuilder(this); }
4800    
4801          /**
4802           * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Constructor}
4803           */
4804          public static final class Builder extends
4805              com.google.protobuf.GeneratedMessageLite.Builder<
4806                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor, Builder>
4807              implements org.jetbrains.kotlin.serialization.ProtoBuf.Type.ConstructorOrBuilder {
4808            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.newBuilder()
4809            private Builder() {
4810              maybeForceBuilderInitialization();
4811            }
4812    
4813            private void maybeForceBuilderInitialization() {
4814            }
4815            private static Builder create() {
4816              return new Builder();
4817            }
4818    
4819            public Builder clear() {
4820              super.clear();
4821              kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
4822              bitField0_ = (bitField0_ & ~0x00000001);
4823              id_ = 0;
4824              bitField0_ = (bitField0_ & ~0x00000002);
4825              return this;
4826            }
4827    
4828            public Builder clone() {
4829              return create().mergeFrom(buildPartial());
4830            }
4831    
4832            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor getDefaultInstanceForType() {
4833              return org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
4834            }
4835    
4836            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor build() {
4837              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor result = buildPartial();
4838              if (!result.isInitialized()) {
4839                throw newUninitializedMessageException(result);
4840              }
4841              return result;
4842            }
4843    
4844            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor buildPartial() {
4845              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor result = new org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor(this);
4846              int from_bitField0_ = bitField0_;
4847              int to_bitField0_ = 0;
4848              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
4849                to_bitField0_ |= 0x00000001;
4850              }
4851              result.kind_ = kind_;
4852              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
4853                to_bitField0_ |= 0x00000002;
4854              }
4855              result.id_ = id_;
4856              result.bitField0_ = to_bitField0_;
4857              return result;
4858            }
4859    
4860            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor other) {
4861              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance()) return this;
4862              if (other.hasKind()) {
4863                setKind(other.getKind());
4864              }
4865              if (other.hasId()) {
4866                setId(other.getId());
4867              }
4868              return this;
4869            }
4870    
4871            public final boolean isInitialized() {
4872              if (!hasId()) {
4873                
4874                return false;
4875              }
4876              return true;
4877            }
4878    
4879            public Builder mergeFrom(
4880                com.google.protobuf.CodedInputStream input,
4881                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4882                throws java.io.IOException {
4883              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parsedMessage = null;
4884              try {
4885                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
4886              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4887                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor) e.getUnfinishedMessage();
4888                throw e;
4889              } finally {
4890                if (parsedMessage != null) {
4891                  mergeFrom(parsedMessage);
4892                }
4893              }
4894              return this;
4895            }
4896            private int bitField0_;
4897    
4898            // optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];
4899            private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
4900            /**
4901             * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4902             */
4903            public boolean hasKind() {
4904              return ((bitField0_ & 0x00000001) == 0x00000001);
4905            }
4906            /**
4907             * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4908             */
4909            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind getKind() {
4910              return kind_;
4911            }
4912            /**
4913             * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4914             */
4915            public Builder setKind(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind value) {
4916              if (value == null) {
4917                throw new NullPointerException();
4918              }
4919              bitField0_ |= 0x00000001;
4920              kind_ = value;
4921              
4922              return this;
4923            }
4924            /**
4925             * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4926             */
4927            public Builder clearKind() {
4928              bitField0_ = (bitField0_ & ~0x00000001);
4929              kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
4930              
4931              return this;
4932            }
4933    
4934            // required int32 id = 2;
4935            private int id_ ;
4936            /**
4937             * <code>required int32 id = 2;</code>
4938             *
4939             * <pre>
4940             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4941             * </pre>
4942             */
4943            public boolean hasId() {
4944              return ((bitField0_ & 0x00000002) == 0x00000002);
4945            }
4946            /**
4947             * <code>required int32 id = 2;</code>
4948             *
4949             * <pre>
4950             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4951             * </pre>
4952             */
4953            public int getId() {
4954              return id_;
4955            }
4956            /**
4957             * <code>required int32 id = 2;</code>
4958             *
4959             * <pre>
4960             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4961             * </pre>
4962             */
4963            public Builder setId(int value) {
4964              bitField0_ |= 0x00000002;
4965              id_ = value;
4966              
4967              return this;
4968            }
4969            /**
4970             * <code>required int32 id = 2;</code>
4971             *
4972             * <pre>
4973             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4974             * </pre>
4975             */
4976            public Builder clearId() {
4977              bitField0_ = (bitField0_ & ~0x00000002);
4978              id_ = 0;
4979              
4980              return this;
4981            }
4982    
4983            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Type.Constructor)
4984          }
4985    
4986          static {
4987            defaultInstance = new Constructor(true);
4988            defaultInstance.initFields();
4989          }
4990    
4991          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Type.Constructor)
4992        }
4993    
4994        public interface ArgumentOrBuilder
4995            extends com.google.protobuf.MessageLiteOrBuilder {
4996    
4997          // optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];
4998          /**
4999           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5000           */
5001          boolean hasProjection();
5002          /**
5003           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5004           */
5005          org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection();
5006    
5007          // optional .org.jetbrains.kotlin.serialization.Type type = 2;
5008          /**
5009           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5010           */
5011          boolean hasType();
5012          /**
5013           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5014           */
5015          org.jetbrains.kotlin.serialization.ProtoBuf.Type getType();
5016        }
5017        /**
5018         * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Argument}
5019         */
5020        public static final class Argument extends
5021            com.google.protobuf.GeneratedMessageLite
5022            implements ArgumentOrBuilder {
5023          // Use Argument.newBuilder() to construct.
5024          private Argument(com.google.protobuf.GeneratedMessageLite.Builder builder) {
5025            super(builder);
5026    
5027          }
5028          private Argument(boolean noInit) {}
5029    
5030          private static final Argument defaultInstance;
5031          public static Argument getDefaultInstance() {
5032            return defaultInstance;
5033          }
5034    
5035          public Argument getDefaultInstanceForType() {
5036            return defaultInstance;
5037          }
5038    
5039          private Argument(
5040              com.google.protobuf.CodedInputStream input,
5041              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5042              throws com.google.protobuf.InvalidProtocolBufferException {
5043            initFields();
5044            int mutable_bitField0_ = 0;
5045            try {
5046              boolean done = false;
5047              while (!done) {
5048                int tag = input.readTag();
5049                switch (tag) {
5050                  case 0:
5051                    done = true;
5052                    break;
5053                  default: {
5054                    if (!parseUnknownField(input,
5055                                           extensionRegistry, tag)) {
5056                      done = true;
5057                    }
5058                    break;
5059                  }
5060                  case 8: {
5061                    int rawValue = input.readEnum();
5062                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection value = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.valueOf(rawValue);
5063                    if (value != null) {
5064                      bitField0_ |= 0x00000001;
5065                      projection_ = value;
5066                    }
5067                    break;
5068                  }
5069                  case 18: {
5070                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
5071                    if (((bitField0_ & 0x00000002) == 0x00000002)) {
5072                      subBuilder = type_.toBuilder();
5073                    }
5074                    type_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
5075                    if (subBuilder != null) {
5076                      subBuilder.mergeFrom(type_);
5077                      type_ = subBuilder.buildPartial();
5078                    }
5079                    bitField0_ |= 0x00000002;
5080                    break;
5081                  }
5082                }
5083              }
5084            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5085              throw e.setUnfinishedMessage(this);
5086            } catch (java.io.IOException e) {
5087              throw new com.google.protobuf.InvalidProtocolBufferException(
5088                  e.getMessage()).setUnfinishedMessage(this);
5089            } finally {
5090              makeExtensionsImmutable();
5091            }
5092          }
5093          public static com.google.protobuf.Parser<Argument> PARSER =
5094              new com.google.protobuf.AbstractParser<Argument>() {
5095            public Argument parsePartialFrom(
5096                com.google.protobuf.CodedInputStream input,
5097                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5098                throws com.google.protobuf.InvalidProtocolBufferException {
5099              return new Argument(input, extensionRegistry);
5100            }
5101          };
5102    
5103          @java.lang.Override
5104          public com.google.protobuf.Parser<Argument> getParserForType() {
5105            return PARSER;
5106          }
5107    
5108          /**
5109           * Protobuf enum {@code org.jetbrains.kotlin.serialization.Type.Argument.Projection}
5110           */
5111          public enum Projection
5112              implements com.google.protobuf.Internal.EnumLite {
5113            /**
5114             * <code>IN = 0;</code>
5115             */
5116            IN(0, 0),
5117            /**
5118             * <code>OUT = 1;</code>
5119             */
5120            OUT(1, 1),
5121            /**
5122             * <code>INV = 2;</code>
5123             */
5124            INV(2, 2),
5125            /**
5126             * <code>STAR = 3;</code>
5127             */
5128            STAR(3, 3),
5129            ;
5130    
5131            /**
5132             * <code>IN = 0;</code>
5133             */
5134            public static final int IN_VALUE = 0;
5135            /**
5136             * <code>OUT = 1;</code>
5137             */
5138            public static final int OUT_VALUE = 1;
5139            /**
5140             * <code>INV = 2;</code>
5141             */
5142            public static final int INV_VALUE = 2;
5143            /**
5144             * <code>STAR = 3;</code>
5145             */
5146            public static final int STAR_VALUE = 3;
5147    
5148    
5149            public final int getNumber() { return value; }
5150    
5151            public static Projection valueOf(int value) {
5152              switch (value) {
5153                case 0: return IN;
5154                case 1: return OUT;
5155                case 2: return INV;
5156                case 3: return STAR;
5157                default: return null;
5158              }
5159            }
5160    
5161            public static com.google.protobuf.Internal.EnumLiteMap<Projection>
5162                internalGetValueMap() {
5163              return internalValueMap;
5164            }
5165            private static com.google.protobuf.Internal.EnumLiteMap<Projection>
5166                internalValueMap =
5167                  new com.google.protobuf.Internal.EnumLiteMap<Projection>() {
5168                    public Projection findValueByNumber(int number) {
5169                      return Projection.valueOf(number);
5170                    }
5171                  };
5172    
5173            private final int value;
5174    
5175            private Projection(int index, int value) {
5176              this.value = value;
5177            }
5178    
5179            // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Type.Argument.Projection)
5180          }
5181    
5182          private int bitField0_;
5183          // optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];
5184          public static final int PROJECTION_FIELD_NUMBER = 1;
5185          private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection projection_;
5186          /**
5187           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5188           */
5189          public boolean hasProjection() {
5190            return ((bitField0_ & 0x00000001) == 0x00000001);
5191          }
5192          /**
5193           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5194           */
5195          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
5196            return projection_;
5197          }
5198    
5199          // optional .org.jetbrains.kotlin.serialization.Type type = 2;
5200          public static final int TYPE_FIELD_NUMBER = 2;
5201          private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_;
5202          /**
5203           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5204           */
5205          public boolean hasType() {
5206            return ((bitField0_ & 0x00000002) == 0x00000002);
5207          }
5208          /**
5209           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5210           */
5211          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
5212            return type_;
5213          }
5214    
5215          private void initFields() {
5216            projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5217            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5218          }
5219          private byte memoizedIsInitialized = -1;
5220          public final boolean isInitialized() {
5221            byte isInitialized = memoizedIsInitialized;
5222            if (isInitialized != -1) return isInitialized == 1;
5223    
5224            if (hasType()) {
5225              if (!getType().isInitialized()) {
5226                memoizedIsInitialized = 0;
5227                return false;
5228              }
5229            }
5230            memoizedIsInitialized = 1;
5231            return true;
5232          }
5233    
5234          public void writeTo(com.google.protobuf.CodedOutputStream output)
5235                              throws java.io.IOException {
5236            getSerializedSize();
5237            if (((bitField0_ & 0x00000001) == 0x00000001)) {
5238              output.writeEnum(1, projection_.getNumber());
5239            }
5240            if (((bitField0_ & 0x00000002) == 0x00000002)) {
5241              output.writeMessage(2, type_);
5242            }
5243          }
5244    
5245          private int memoizedSerializedSize = -1;
5246          public int getSerializedSize() {
5247            int size = memoizedSerializedSize;
5248            if (size != -1) return size;
5249    
5250            size = 0;
5251            if (((bitField0_ & 0x00000001) == 0x00000001)) {
5252              size += com.google.protobuf.CodedOutputStream
5253                .computeEnumSize(1, projection_.getNumber());
5254            }
5255            if (((bitField0_ & 0x00000002) == 0x00000002)) {
5256              size += com.google.protobuf.CodedOutputStream
5257                .computeMessageSize(2, type_);
5258            }
5259            memoizedSerializedSize = size;
5260            return size;
5261          }
5262    
5263          private static final long serialVersionUID = 0L;
5264          @java.lang.Override
5265          protected java.lang.Object writeReplace()
5266              throws java.io.ObjectStreamException {
5267            return super.writeReplace();
5268          }
5269    
5270          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5271              com.google.protobuf.ByteString data)
5272              throws com.google.protobuf.InvalidProtocolBufferException {
5273            return PARSER.parseFrom(data);
5274          }
5275          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5276              com.google.protobuf.ByteString data,
5277              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5278              throws com.google.protobuf.InvalidProtocolBufferException {
5279            return PARSER.parseFrom(data, extensionRegistry);
5280          }
5281          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(byte[] data)
5282              throws com.google.protobuf.InvalidProtocolBufferException {
5283            return PARSER.parseFrom(data);
5284          }
5285          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5286              byte[] data,
5287              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5288              throws com.google.protobuf.InvalidProtocolBufferException {
5289            return PARSER.parseFrom(data, extensionRegistry);
5290          }
5291          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(java.io.InputStream input)
5292              throws java.io.IOException {
5293            return PARSER.parseFrom(input);
5294          }
5295          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5296              java.io.InputStream input,
5297              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5298              throws java.io.IOException {
5299            return PARSER.parseFrom(input, extensionRegistry);
5300          }
5301          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(java.io.InputStream input)
5302              throws java.io.IOException {
5303            return PARSER.parseDelimitedFrom(input);
5304          }
5305          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(
5306              java.io.InputStream input,
5307              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5308              throws java.io.IOException {
5309            return PARSER.parseDelimitedFrom(input, extensionRegistry);
5310          }
5311          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5312              com.google.protobuf.CodedInputStream input)
5313              throws java.io.IOException {
5314            return PARSER.parseFrom(input);
5315          }
5316          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5317              com.google.protobuf.CodedInputStream input,
5318              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5319              throws java.io.IOException {
5320            return PARSER.parseFrom(input, extensionRegistry);
5321          }
5322    
5323          public static Builder newBuilder() { return Builder.create(); }
5324          public Builder newBuilderForType() { return newBuilder(); }
5325          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument prototype) {
5326            return newBuilder().mergeFrom(prototype);
5327          }
5328          public Builder toBuilder() { return newBuilder(this); }
5329    
5330          /**
5331           * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Argument}
5332           */
5333          public static final class Builder extends
5334              com.google.protobuf.GeneratedMessageLite.Builder<
5335                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument, Builder>
5336              implements org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder {
5337            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.newBuilder()
5338            private Builder() {
5339              maybeForceBuilderInitialization();
5340            }
5341    
5342            private void maybeForceBuilderInitialization() {
5343            }
5344            private static Builder create() {
5345              return new Builder();
5346            }
5347    
5348            public Builder clear() {
5349              super.clear();
5350              projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5351              bitField0_ = (bitField0_ & ~0x00000001);
5352              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5353              bitField0_ = (bitField0_ & ~0x00000002);
5354              return this;
5355            }
5356    
5357            public Builder clone() {
5358              return create().mergeFrom(buildPartial());
5359            }
5360    
5361            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getDefaultInstanceForType() {
5362              return org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.getDefaultInstance();
5363            }
5364    
5365            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument build() {
5366              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument result = buildPartial();
5367              if (!result.isInitialized()) {
5368                throw newUninitializedMessageException(result);
5369              }
5370              return result;
5371            }
5372    
5373            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument buildPartial() {
5374              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument result = new org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument(this);
5375              int from_bitField0_ = bitField0_;
5376              int to_bitField0_ = 0;
5377              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
5378                to_bitField0_ |= 0x00000001;
5379              }
5380              result.projection_ = projection_;
5381              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
5382                to_bitField0_ |= 0x00000002;
5383              }
5384              result.type_ = type_;
5385              result.bitField0_ = to_bitField0_;
5386              return result;
5387            }
5388    
5389            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument other) {
5390              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.getDefaultInstance()) return this;
5391              if (other.hasProjection()) {
5392                setProjection(other.getProjection());
5393              }
5394              if (other.hasType()) {
5395                mergeType(other.getType());
5396              }
5397              return this;
5398            }
5399    
5400            public final boolean isInitialized() {
5401              if (hasType()) {
5402                if (!getType().isInitialized()) {
5403                  
5404                  return false;
5405                }
5406              }
5407              return true;
5408            }
5409    
5410            public Builder mergeFrom(
5411                com.google.protobuf.CodedInputStream input,
5412                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5413                throws java.io.IOException {
5414              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parsedMessage = null;
5415              try {
5416                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
5417              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5418                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument) e.getUnfinishedMessage();
5419                throw e;
5420              } finally {
5421                if (parsedMessage != null) {
5422                  mergeFrom(parsedMessage);
5423                }
5424              }
5425              return this;
5426            }
5427            private int bitField0_;
5428    
5429            // optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];
5430            private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5431            /**
5432             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5433             */
5434            public boolean hasProjection() {
5435              return ((bitField0_ & 0x00000001) == 0x00000001);
5436            }
5437            /**
5438             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5439             */
5440            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
5441              return projection_;
5442            }
5443            /**
5444             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5445             */
5446            public Builder setProjection(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection value) {
5447              if (value == null) {
5448                throw new NullPointerException();
5449              }
5450              bitField0_ |= 0x00000001;
5451              projection_ = value;
5452              
5453              return this;
5454            }
5455            /**
5456             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5457             */
5458            public Builder clearProjection() {
5459              bitField0_ = (bitField0_ & ~0x00000001);
5460              projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5461              
5462              return this;
5463            }
5464    
5465            // optional .org.jetbrains.kotlin.serialization.Type type = 2;
5466            private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5467            /**
5468             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5469             */
5470            public boolean hasType() {
5471              return ((bitField0_ & 0x00000002) == 0x00000002);
5472            }
5473            /**
5474             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5475             */
5476            public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
5477              return type_;
5478            }
5479            /**
5480             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5481             */
5482            public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
5483              if (value == null) {
5484                throw new NullPointerException();
5485              }
5486              type_ = value;
5487    
5488              bitField0_ |= 0x00000002;
5489              return this;
5490            }
5491            /**
5492             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5493             */
5494            public Builder setType(
5495                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
5496              type_ = builderForValue.build();
5497    
5498              bitField0_ |= 0x00000002;
5499              return this;
5500            }
5501            /**
5502             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5503             */
5504            public Builder mergeType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
5505              if (((bitField0_ & 0x00000002) == 0x00000002) &&
5506                  type_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
5507                type_ =
5508                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
5509              } else {
5510                type_ = value;
5511              }
5512    
5513              bitField0_ |= 0x00000002;
5514              return this;
5515            }
5516            /**
5517             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5518             */
5519            public Builder clearType() {
5520              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5521    
5522              bitField0_ = (bitField0_ & ~0x00000002);
5523              return this;
5524            }
5525    
5526            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Type.Argument)
5527          }
5528    
5529          static {
5530            defaultInstance = new Argument(true);
5531            defaultInstance.initFields();
5532          }
5533    
5534          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Type.Argument)
5535        }
5536    
5537        private int bitField0_;
5538        // required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;
5539        public static final int CONSTRUCTOR_FIELD_NUMBER = 1;
5540        private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor constructor_;
5541        /**
5542         * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
5543         */
5544        public boolean hasConstructor() {
5545          return ((bitField0_ & 0x00000001) == 0x00000001);
5546        }
5547        /**
5548         * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
5549         */
5550        public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor getConstructor() {
5551          return constructor_;
5552        }
5553    
5554        // repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;
5555        public static final int ARGUMENT_FIELD_NUMBER = 2;
5556        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> argument_;
5557        /**
5558         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5559         */
5560        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> getArgumentList() {
5561          return argument_;
5562        }
5563        /**
5564         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5565         */
5566        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder> 
5567            getArgumentOrBuilderList() {
5568          return argument_;
5569        }
5570        /**
5571         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5572         */
5573        public int getArgumentCount() {
5574          return argument_.size();
5575        }
5576        /**
5577         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5578         */
5579        public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index) {
5580          return argument_.get(index);
5581        }
5582        /**
5583         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5584         */
5585        public org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder getArgumentOrBuilder(
5586            int index) {
5587          return argument_.get(index);
5588        }
5589    
5590        // optional bool nullable = 3 [default = false];
5591        public static final int NULLABLE_FIELD_NUMBER = 3;
5592        private boolean nullable_;
5593        /**
5594         * <code>optional bool nullable = 3 [default = false];</code>
5595         */
5596        public boolean hasNullable() {
5597          return ((bitField0_ & 0x00000002) == 0x00000002);
5598        }
5599        /**
5600         * <code>optional bool nullable = 3 [default = false];</code>
5601         */
5602        public boolean getNullable() {
5603          return nullable_;
5604        }
5605    
5606        // optional int32 flexible_type_capabilities_id = 4;
5607        public static final int FLEXIBLE_TYPE_CAPABILITIES_ID_FIELD_NUMBER = 4;
5608        private int flexibleTypeCapabilitiesId_;
5609        /**
5610         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5611         *
5612         * <pre>
5613         * Id in the StringTable
5614         * If this field is set, the type is flexible.
5615         * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5616         * </pre>
5617         */
5618        public boolean hasFlexibleTypeCapabilitiesId() {
5619          return ((bitField0_ & 0x00000004) == 0x00000004);
5620        }
5621        /**
5622         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5623         *
5624         * <pre>
5625         * Id in the StringTable
5626         * If this field is set, the type is flexible.
5627         * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5628         * </pre>
5629         */
5630        public int getFlexibleTypeCapabilitiesId() {
5631          return flexibleTypeCapabilitiesId_;
5632        }
5633    
5634        // optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;
5635        public static final int FLEXIBLE_UPPER_BOUND_FIELD_NUMBER = 5;
5636        private org.jetbrains.kotlin.serialization.ProtoBuf.Type flexibleUpperBound_;
5637        /**
5638         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5639         *
5640         * <pre>
5641         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
5642         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
5643         * to represent flexible types is too many wasted bytes.
5644         * </pre>
5645         */
5646        public boolean hasFlexibleUpperBound() {
5647          return ((bitField0_ & 0x00000008) == 0x00000008);
5648        }
5649        /**
5650         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5651         *
5652         * <pre>
5653         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
5654         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
5655         * to represent flexible types is too many wasted bytes.
5656         * </pre>
5657         */
5658        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound() {
5659          return flexibleUpperBound_;
5660        }
5661    
5662        private void initFields() {
5663          constructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
5664          argument_ = java.util.Collections.emptyList();
5665          nullable_ = false;
5666          flexibleTypeCapabilitiesId_ = 0;
5667          flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5668        }
5669        private byte memoizedIsInitialized = -1;
5670        public final boolean isInitialized() {
5671          byte isInitialized = memoizedIsInitialized;
5672          if (isInitialized != -1) return isInitialized == 1;
5673    
5674          if (!hasConstructor()) {
5675            memoizedIsInitialized = 0;
5676            return false;
5677          }
5678          if (!getConstructor().isInitialized()) {
5679            memoizedIsInitialized = 0;
5680            return false;
5681          }
5682          for (int i = 0; i < getArgumentCount(); i++) {
5683            if (!getArgument(i).isInitialized()) {
5684              memoizedIsInitialized = 0;
5685              return false;
5686            }
5687          }
5688          if (hasFlexibleUpperBound()) {
5689            if (!getFlexibleUpperBound().isInitialized()) {
5690              memoizedIsInitialized = 0;
5691              return false;
5692            }
5693          }
5694          memoizedIsInitialized = 1;
5695          return true;
5696        }
5697    
5698        public void writeTo(com.google.protobuf.CodedOutputStream output)
5699                            throws java.io.IOException {
5700          getSerializedSize();
5701          if (((bitField0_ & 0x00000001) == 0x00000001)) {
5702            output.writeMessage(1, constructor_);
5703          }
5704          for (int i = 0; i < argument_.size(); i++) {
5705            output.writeMessage(2, argument_.get(i));
5706          }
5707          if (((bitField0_ & 0x00000002) == 0x00000002)) {
5708            output.writeBool(3, nullable_);
5709          }
5710          if (((bitField0_ & 0x00000004) == 0x00000004)) {
5711            output.writeInt32(4, flexibleTypeCapabilitiesId_);
5712          }
5713          if (((bitField0_ & 0x00000008) == 0x00000008)) {
5714            output.writeMessage(5, flexibleUpperBound_);
5715          }
5716        }
5717    
5718        private int memoizedSerializedSize = -1;
5719        public int getSerializedSize() {
5720          int size = memoizedSerializedSize;
5721          if (size != -1) return size;
5722    
5723          size = 0;
5724          if (((bitField0_ & 0x00000001) == 0x00000001)) {
5725            size += com.google.protobuf.CodedOutputStream
5726              .computeMessageSize(1, constructor_);
5727          }
5728          for (int i = 0; i < argument_.size(); i++) {
5729            size += com.google.protobuf.CodedOutputStream
5730              .computeMessageSize(2, argument_.get(i));
5731          }
5732          if (((bitField0_ & 0x00000002) == 0x00000002)) {
5733            size += com.google.protobuf.CodedOutputStream
5734              .computeBoolSize(3, nullable_);
5735          }
5736          if (((bitField0_ & 0x00000004) == 0x00000004)) {
5737            size += com.google.protobuf.CodedOutputStream
5738              .computeInt32Size(4, flexibleTypeCapabilitiesId_);
5739          }
5740          if (((bitField0_ & 0x00000008) == 0x00000008)) {
5741            size += com.google.protobuf.CodedOutputStream
5742              .computeMessageSize(5, flexibleUpperBound_);
5743          }
5744          memoizedSerializedSize = size;
5745          return size;
5746        }
5747    
5748        private static final long serialVersionUID = 0L;
5749        @java.lang.Override
5750        protected java.lang.Object writeReplace()
5751            throws java.io.ObjectStreamException {
5752          return super.writeReplace();
5753        }
5754    
5755        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5756            com.google.protobuf.ByteString data)
5757            throws com.google.protobuf.InvalidProtocolBufferException {
5758          return PARSER.parseFrom(data);
5759        }
5760        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5761            com.google.protobuf.ByteString data,
5762            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5763            throws com.google.protobuf.InvalidProtocolBufferException {
5764          return PARSER.parseFrom(data, extensionRegistry);
5765        }
5766        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(byte[] data)
5767            throws com.google.protobuf.InvalidProtocolBufferException {
5768          return PARSER.parseFrom(data);
5769        }
5770        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5771            byte[] data,
5772            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5773            throws com.google.protobuf.InvalidProtocolBufferException {
5774          return PARSER.parseFrom(data, extensionRegistry);
5775        }
5776        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(java.io.InputStream input)
5777            throws java.io.IOException {
5778          return PARSER.parseFrom(input);
5779        }
5780        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5781            java.io.InputStream input,
5782            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5783            throws java.io.IOException {
5784          return PARSER.parseFrom(input, extensionRegistry);
5785        }
5786        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseDelimitedFrom(java.io.InputStream input)
5787            throws java.io.IOException {
5788          return PARSER.parseDelimitedFrom(input);
5789        }
5790        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseDelimitedFrom(
5791            java.io.InputStream input,
5792            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5793            throws java.io.IOException {
5794          return PARSER.parseDelimitedFrom(input, extensionRegistry);
5795        }
5796        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5797            com.google.protobuf.CodedInputStream input)
5798            throws java.io.IOException {
5799          return PARSER.parseFrom(input);
5800        }
5801        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5802            com.google.protobuf.CodedInputStream input,
5803            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5804            throws java.io.IOException {
5805          return PARSER.parseFrom(input, extensionRegistry);
5806        }
5807    
5808        public static Builder newBuilder() { return Builder.create(); }
5809        public Builder newBuilderForType() { return newBuilder(); }
5810        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Type prototype) {
5811          return newBuilder().mergeFrom(prototype);
5812        }
5813        public Builder toBuilder() { return newBuilder(this); }
5814    
5815        /**
5816         * Protobuf type {@code org.jetbrains.kotlin.serialization.Type}
5817         */
5818        public static final class Builder extends
5819            com.google.protobuf.GeneratedMessageLite.Builder<
5820              org.jetbrains.kotlin.serialization.ProtoBuf.Type, Builder>
5821            implements org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder {
5822          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder()
5823          private Builder() {
5824            maybeForceBuilderInitialization();
5825          }
5826    
5827          private void maybeForceBuilderInitialization() {
5828          }
5829          private static Builder create() {
5830            return new Builder();
5831          }
5832    
5833          public Builder clear() {
5834            super.clear();
5835            constructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
5836            bitField0_ = (bitField0_ & ~0x00000001);
5837            argument_ = java.util.Collections.emptyList();
5838            bitField0_ = (bitField0_ & ~0x00000002);
5839            nullable_ = false;
5840            bitField0_ = (bitField0_ & ~0x00000004);
5841            flexibleTypeCapabilitiesId_ = 0;
5842            bitField0_ = (bitField0_ & ~0x00000008);
5843            flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5844            bitField0_ = (bitField0_ & ~0x00000010);
5845            return this;
5846          }
5847    
5848          public Builder clone() {
5849            return create().mergeFrom(buildPartial());
5850          }
5851    
5852          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getDefaultInstanceForType() {
5853            return org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5854          }
5855    
5856          public org.jetbrains.kotlin.serialization.ProtoBuf.Type build() {
5857            org.jetbrains.kotlin.serialization.ProtoBuf.Type result = buildPartial();
5858            if (!result.isInitialized()) {
5859              throw newUninitializedMessageException(result);
5860            }
5861            return result;
5862          }
5863    
5864          public org.jetbrains.kotlin.serialization.ProtoBuf.Type buildPartial() {
5865            org.jetbrains.kotlin.serialization.ProtoBuf.Type result = new org.jetbrains.kotlin.serialization.ProtoBuf.Type(this);
5866            int from_bitField0_ = bitField0_;
5867            int to_bitField0_ = 0;
5868            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
5869              to_bitField0_ |= 0x00000001;
5870            }
5871            result.constructor_ = constructor_;
5872            if (((bitField0_ & 0x00000002) == 0x00000002)) {
5873              argument_ = java.util.Collections.unmodifiableList(argument_);
5874              bitField0_ = (bitField0_ & ~0x00000002);
5875            }
5876            result.argument_ = argument_;
5877            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
5878              to_bitField0_ |= 0x00000002;
5879            }
5880            result.nullable_ = nullable_;
5881            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
5882              to_bitField0_ |= 0x00000004;
5883            }
5884            result.flexibleTypeCapabilitiesId_ = flexibleTypeCapabilitiesId_;
5885            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
5886              to_bitField0_ |= 0x00000008;
5887            }
5888            result.flexibleUpperBound_ = flexibleUpperBound_;
5889            result.bitField0_ = to_bitField0_;
5890            return result;
5891          }
5892    
5893          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Type other) {
5894            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) return this;
5895            if (other.hasConstructor()) {
5896              mergeConstructor(other.getConstructor());
5897            }
5898            if (!other.argument_.isEmpty()) {
5899              if (argument_.isEmpty()) {
5900                argument_ = other.argument_;
5901                bitField0_ = (bitField0_ & ~0x00000002);
5902              } else {
5903                ensureArgumentIsMutable();
5904                argument_.addAll(other.argument_);
5905              }
5906              
5907            }
5908            if (other.hasNullable()) {
5909              setNullable(other.getNullable());
5910            }
5911            if (other.hasFlexibleTypeCapabilitiesId()) {
5912              setFlexibleTypeCapabilitiesId(other.getFlexibleTypeCapabilitiesId());
5913            }
5914            if (other.hasFlexibleUpperBound()) {
5915              mergeFlexibleUpperBound(other.getFlexibleUpperBound());
5916            }
5917            return this;
5918          }
5919    
5920          public final boolean isInitialized() {
5921            if (!hasConstructor()) {
5922              
5923              return false;
5924            }
5925            if (!getConstructor().isInitialized()) {
5926              
5927              return false;
5928            }
5929            for (int i = 0; i < getArgumentCount(); i++) {
5930              if (!getArgument(i).isInitialized()) {
5931                
5932                return false;
5933              }
5934            }
5935            if (hasFlexibleUpperBound()) {
5936              if (!getFlexibleUpperBound().isInitialized()) {
5937                
5938                return false;
5939              }
5940            }
5941            return true;
5942          }
5943    
5944          public Builder mergeFrom(
5945              com.google.protobuf.CodedInputStream input,
5946              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5947              throws java.io.IOException {
5948            org.jetbrains.kotlin.serialization.ProtoBuf.Type parsedMessage = null;
5949            try {
5950              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
5951            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5952              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Type) e.getUnfinishedMessage();
5953              throw e;
5954            } finally {
5955              if (parsedMessage != null) {
5956                mergeFrom(parsedMessage);
5957              }
5958            }
5959            return this;
5960          }
5961          private int bitField0_;
5962    
5963          // required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;
5964          private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor constructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
5965          /**
5966           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
5967           */
5968          public boolean hasConstructor() {
5969            return ((bitField0_ & 0x00000001) == 0x00000001);
5970          }
5971          /**
5972           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
5973           */
5974          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor getConstructor() {
5975            return constructor_;
5976          }
5977          /**
5978           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
5979           */
5980          public Builder setConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor value) {
5981            if (value == null) {
5982              throw new NullPointerException();
5983            }
5984            constructor_ = value;
5985    
5986            bitField0_ |= 0x00000001;
5987            return this;
5988          }
5989          /**
5990           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
5991           */
5992          public Builder setConstructor(
5993              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Builder builderForValue) {
5994            constructor_ = builderForValue.build();
5995    
5996            bitField0_ |= 0x00000001;
5997            return this;
5998          }
5999          /**
6000           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
6001           */
6002          public Builder mergeConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor value) {
6003            if (((bitField0_ & 0x00000001) == 0x00000001) &&
6004                constructor_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance()) {
6005              constructor_ =
6006                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.newBuilder(constructor_).mergeFrom(value).buildPartial();
6007            } else {
6008              constructor_ = value;
6009            }
6010    
6011            bitField0_ |= 0x00000001;
6012            return this;
6013          }
6014          /**
6015           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
6016           */
6017          public Builder clearConstructor() {
6018            constructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
6019    
6020            bitField0_ = (bitField0_ & ~0x00000001);
6021            return this;
6022          }
6023    
6024          // repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;
6025          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> argument_ =
6026            java.util.Collections.emptyList();
6027          private void ensureArgumentIsMutable() {
6028            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
6029              argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument>(argument_);
6030              bitField0_ |= 0x00000002;
6031             }
6032          }
6033    
6034          /**
6035           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6036           */
6037          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> getArgumentList() {
6038            return java.util.Collections.unmodifiableList(argument_);
6039          }
6040          /**
6041           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6042           */
6043          public int getArgumentCount() {
6044            return argument_.size();
6045          }
6046          /**
6047           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6048           */
6049          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index) {
6050            return argument_.get(index);
6051          }
6052          /**
6053           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6054           */
6055          public Builder setArgument(
6056              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
6057            if (value == null) {
6058              throw new NullPointerException();
6059            }
6060            ensureArgumentIsMutable();
6061            argument_.set(index, value);
6062    
6063            return this;
6064          }
6065          /**
6066           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6067           */
6068          public Builder setArgument(
6069              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
6070            ensureArgumentIsMutable();
6071            argument_.set(index, builderForValue.build());
6072    
6073            return this;
6074          }
6075          /**
6076           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6077           */
6078          public Builder addArgument(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
6079            if (value == null) {
6080              throw new NullPointerException();
6081            }
6082            ensureArgumentIsMutable();
6083            argument_.add(value);
6084    
6085            return this;
6086          }
6087          /**
6088           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6089           */
6090          public Builder addArgument(
6091              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
6092            if (value == null) {
6093              throw new NullPointerException();
6094            }
6095            ensureArgumentIsMutable();
6096            argument_.add(index, value);
6097    
6098            return this;
6099          }
6100          /**
6101           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6102           */
6103          public Builder addArgument(
6104              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
6105            ensureArgumentIsMutable();
6106            argument_.add(builderForValue.build());
6107    
6108            return this;
6109          }
6110          /**
6111           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6112           */
6113          public Builder addArgument(
6114              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
6115            ensureArgumentIsMutable();
6116            argument_.add(index, builderForValue.build());
6117    
6118            return this;
6119          }
6120          /**
6121           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6122           */
6123          public Builder addAllArgument(
6124              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> values) {
6125            ensureArgumentIsMutable();
6126            super.addAll(values, argument_);
6127    
6128            return this;
6129          }
6130          /**
6131           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6132           */
6133          public Builder clearArgument() {
6134            argument_ = java.util.Collections.emptyList();
6135            bitField0_ = (bitField0_ & ~0x00000002);
6136    
6137            return this;
6138          }
6139          /**
6140           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6141           */
6142          public Builder removeArgument(int index) {
6143            ensureArgumentIsMutable();
6144            argument_.remove(index);
6145    
6146            return this;
6147          }
6148    
6149          // optional bool nullable = 3 [default = false];
6150          private boolean nullable_ ;
6151          /**
6152           * <code>optional bool nullable = 3 [default = false];</code>
6153           */
6154          public boolean hasNullable() {
6155            return ((bitField0_ & 0x00000004) == 0x00000004);
6156          }
6157          /**
6158           * <code>optional bool nullable = 3 [default = false];</code>
6159           */
6160          public boolean getNullable() {
6161            return nullable_;
6162          }
6163          /**
6164           * <code>optional bool nullable = 3 [default = false];</code>
6165           */
6166          public Builder setNullable(boolean value) {
6167            bitField0_ |= 0x00000004;
6168            nullable_ = value;
6169            
6170            return this;
6171          }
6172          /**
6173           * <code>optional bool nullable = 3 [default = false];</code>
6174           */
6175          public Builder clearNullable() {
6176            bitField0_ = (bitField0_ & ~0x00000004);
6177            nullable_ = false;
6178            
6179            return this;
6180          }
6181    
6182          // optional int32 flexible_type_capabilities_id = 4;
6183          private int flexibleTypeCapabilitiesId_ ;
6184          /**
6185           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6186           *
6187           * <pre>
6188           * Id in the StringTable
6189           * If this field is set, the type is flexible.
6190           * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6191           * </pre>
6192           */
6193          public boolean hasFlexibleTypeCapabilitiesId() {
6194            return ((bitField0_ & 0x00000008) == 0x00000008);
6195          }
6196          /**
6197           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6198           *
6199           * <pre>
6200           * Id in the StringTable
6201           * If this field is set, the type is flexible.
6202           * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6203           * </pre>
6204           */
6205          public int getFlexibleTypeCapabilitiesId() {
6206            return flexibleTypeCapabilitiesId_;
6207          }
6208          /**
6209           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6210           *
6211           * <pre>
6212           * Id in the StringTable
6213           * If this field is set, the type is flexible.
6214           * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6215           * </pre>
6216           */
6217          public Builder setFlexibleTypeCapabilitiesId(int value) {
6218            bitField0_ |= 0x00000008;
6219            flexibleTypeCapabilitiesId_ = value;
6220            
6221            return this;
6222          }
6223          /**
6224           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6225           *
6226           * <pre>
6227           * Id in the StringTable
6228           * If this field is set, the type is flexible.
6229           * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6230           * </pre>
6231           */
6232          public Builder clearFlexibleTypeCapabilitiesId() {
6233            bitField0_ = (bitField0_ & ~0x00000008);
6234            flexibleTypeCapabilitiesId_ = 0;
6235            
6236            return this;
6237          }
6238    
6239          // optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;
6240          private org.jetbrains.kotlin.serialization.ProtoBuf.Type flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6241          /**
6242           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6243           *
6244           * <pre>
6245           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6246           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6247           * to represent flexible types is too many wasted bytes.
6248           * </pre>
6249           */
6250          public boolean hasFlexibleUpperBound() {
6251            return ((bitField0_ & 0x00000010) == 0x00000010);
6252          }
6253          /**
6254           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6255           *
6256           * <pre>
6257           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6258           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6259           * to represent flexible types is too many wasted bytes.
6260           * </pre>
6261           */
6262          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound() {
6263            return flexibleUpperBound_;
6264          }
6265          /**
6266           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6267           *
6268           * <pre>
6269           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6270           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6271           * to represent flexible types is too many wasted bytes.
6272           * </pre>
6273           */
6274          public Builder setFlexibleUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6275            if (value == null) {
6276              throw new NullPointerException();
6277            }
6278            flexibleUpperBound_ = value;
6279    
6280            bitField0_ |= 0x00000010;
6281            return this;
6282          }
6283          /**
6284           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6285           *
6286           * <pre>
6287           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6288           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6289           * to represent flexible types is too many wasted bytes.
6290           * </pre>
6291           */
6292          public Builder setFlexibleUpperBound(
6293              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
6294            flexibleUpperBound_ = builderForValue.build();
6295    
6296            bitField0_ |= 0x00000010;
6297            return this;
6298          }
6299          /**
6300           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6301           *
6302           * <pre>
6303           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6304           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6305           * to represent flexible types is too many wasted bytes.
6306           * </pre>
6307           */
6308          public Builder mergeFlexibleUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6309            if (((bitField0_ & 0x00000010) == 0x00000010) &&
6310                flexibleUpperBound_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
6311              flexibleUpperBound_ =
6312                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(flexibleUpperBound_).mergeFrom(value).buildPartial();
6313            } else {
6314              flexibleUpperBound_ = value;
6315            }
6316    
6317            bitField0_ |= 0x00000010;
6318            return this;
6319          }
6320          /**
6321           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6322           *
6323           * <pre>
6324           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6325           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6326           * to represent flexible types is too many wasted bytes.
6327           * </pre>
6328           */
6329          public Builder clearFlexibleUpperBound() {
6330            flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6331    
6332            bitField0_ = (bitField0_ & ~0x00000010);
6333            return this;
6334          }
6335    
6336          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Type)
6337        }
6338    
6339        static {
6340          defaultInstance = new Type(true);
6341          defaultInstance.initFields();
6342        }
6343    
6344        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Type)
6345      }
6346    
6347      public interface TypeParameterOrBuilder
6348          extends com.google.protobuf.MessageLiteOrBuilder {
6349    
6350        // required int32 id = 1;
6351        /**
6352         * <code>required int32 id = 1;</code>
6353         */
6354        boolean hasId();
6355        /**
6356         * <code>required int32 id = 1;</code>
6357         */
6358        int getId();
6359    
6360        // required int32 name = 2;
6361        /**
6362         * <code>required int32 name = 2;</code>
6363         *
6364         * <pre>
6365         * Id in the StringTable
6366         * </pre>
6367         */
6368        boolean hasName();
6369        /**
6370         * <code>required int32 name = 2;</code>
6371         *
6372         * <pre>
6373         * Id in the StringTable
6374         * </pre>
6375         */
6376        int getName();
6377    
6378        // optional bool reified = 3 [default = false];
6379        /**
6380         * <code>optional bool reified = 3 [default = false];</code>
6381         */
6382        boolean hasReified();
6383        /**
6384         * <code>optional bool reified = 3 [default = false];</code>
6385         */
6386        boolean getReified();
6387    
6388        // optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];
6389        /**
6390         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6391         */
6392        boolean hasVariance();
6393        /**
6394         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6395         */
6396        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance();
6397    
6398        // repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;
6399        /**
6400         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6401         */
6402        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> 
6403            getUpperBoundList();
6404        /**
6405         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6406         */
6407        org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index);
6408        /**
6409         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6410         */
6411        int getUpperBoundCount();
6412      }
6413      /**
6414       * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeParameter}
6415       */
6416      public static final class TypeParameter extends
6417          com.google.protobuf.GeneratedMessageLite
6418          implements TypeParameterOrBuilder {
6419        // Use TypeParameter.newBuilder() to construct.
6420        private TypeParameter(com.google.protobuf.GeneratedMessageLite.Builder builder) {
6421          super(builder);
6422    
6423        }
6424        private TypeParameter(boolean noInit) {}
6425    
6426        private static final TypeParameter defaultInstance;
6427        public static TypeParameter getDefaultInstance() {
6428          return defaultInstance;
6429        }
6430    
6431        public TypeParameter getDefaultInstanceForType() {
6432          return defaultInstance;
6433        }
6434    
6435        private TypeParameter(
6436            com.google.protobuf.CodedInputStream input,
6437            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6438            throws com.google.protobuf.InvalidProtocolBufferException {
6439          initFields();
6440          int mutable_bitField0_ = 0;
6441          try {
6442            boolean done = false;
6443            while (!done) {
6444              int tag = input.readTag();
6445              switch (tag) {
6446                case 0:
6447                  done = true;
6448                  break;
6449                default: {
6450                  if (!parseUnknownField(input,
6451                                         extensionRegistry, tag)) {
6452                    done = true;
6453                  }
6454                  break;
6455                }
6456                case 8: {
6457                  bitField0_ |= 0x00000001;
6458                  id_ = input.readInt32();
6459                  break;
6460                }
6461                case 16: {
6462                  bitField0_ |= 0x00000002;
6463                  name_ = input.readInt32();
6464                  break;
6465                }
6466                case 24: {
6467                  bitField0_ |= 0x00000004;
6468                  reified_ = input.readBool();
6469                  break;
6470                }
6471                case 32: {
6472                  int rawValue = input.readEnum();
6473                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance value = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.valueOf(rawValue);
6474                  if (value != null) {
6475                    bitField0_ |= 0x00000008;
6476                    variance_ = value;
6477                  }
6478                  break;
6479                }
6480                case 42: {
6481                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
6482                    upperBound_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
6483                    mutable_bitField0_ |= 0x00000010;
6484                  }
6485                  upperBound_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
6486                  break;
6487                }
6488              }
6489            }
6490          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6491            throw e.setUnfinishedMessage(this);
6492          } catch (java.io.IOException e) {
6493            throw new com.google.protobuf.InvalidProtocolBufferException(
6494                e.getMessage()).setUnfinishedMessage(this);
6495          } finally {
6496            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
6497              upperBound_ = java.util.Collections.unmodifiableList(upperBound_);
6498            }
6499            makeExtensionsImmutable();
6500          }
6501        }
6502        public static com.google.protobuf.Parser<TypeParameter> PARSER =
6503            new com.google.protobuf.AbstractParser<TypeParameter>() {
6504          public TypeParameter parsePartialFrom(
6505              com.google.protobuf.CodedInputStream input,
6506              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6507              throws com.google.protobuf.InvalidProtocolBufferException {
6508            return new TypeParameter(input, extensionRegistry);
6509          }
6510        };
6511    
6512        @java.lang.Override
6513        public com.google.protobuf.Parser<TypeParameter> getParserForType() {
6514          return PARSER;
6515        }
6516    
6517        /**
6518         * Protobuf enum {@code org.jetbrains.kotlin.serialization.TypeParameter.Variance}
6519         */
6520        public enum Variance
6521            implements com.google.protobuf.Internal.EnumLite {
6522          /**
6523           * <code>IN = 0;</code>
6524           */
6525          IN(0, 0),
6526          /**
6527           * <code>OUT = 1;</code>
6528           */
6529          OUT(1, 1),
6530          /**
6531           * <code>INV = 2;</code>
6532           */
6533          INV(2, 2),
6534          ;
6535    
6536          /**
6537           * <code>IN = 0;</code>
6538           */
6539          public static final int IN_VALUE = 0;
6540          /**
6541           * <code>OUT = 1;</code>
6542           */
6543          public static final int OUT_VALUE = 1;
6544          /**
6545           * <code>INV = 2;</code>
6546           */
6547          public static final int INV_VALUE = 2;
6548    
6549    
6550          public final int getNumber() { return value; }
6551    
6552          public static Variance valueOf(int value) {
6553            switch (value) {
6554              case 0: return IN;
6555              case 1: return OUT;
6556              case 2: return INV;
6557              default: return null;
6558            }
6559          }
6560    
6561          public static com.google.protobuf.Internal.EnumLiteMap<Variance>
6562              internalGetValueMap() {
6563            return internalValueMap;
6564          }
6565          private static com.google.protobuf.Internal.EnumLiteMap<Variance>
6566              internalValueMap =
6567                new com.google.protobuf.Internal.EnumLiteMap<Variance>() {
6568                  public Variance findValueByNumber(int number) {
6569                    return Variance.valueOf(number);
6570                  }
6571                };
6572    
6573          private final int value;
6574    
6575          private Variance(int index, int value) {
6576            this.value = value;
6577          }
6578    
6579          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.TypeParameter.Variance)
6580        }
6581    
6582        private int bitField0_;
6583        // required int32 id = 1;
6584        public static final int ID_FIELD_NUMBER = 1;
6585        private int id_;
6586        /**
6587         * <code>required int32 id = 1;</code>
6588         */
6589        public boolean hasId() {
6590          return ((bitField0_ & 0x00000001) == 0x00000001);
6591        }
6592        /**
6593         * <code>required int32 id = 1;</code>
6594         */
6595        public int getId() {
6596          return id_;
6597        }
6598    
6599        // required int32 name = 2;
6600        public static final int NAME_FIELD_NUMBER = 2;
6601        private int name_;
6602        /**
6603         * <code>required int32 name = 2;</code>
6604         *
6605         * <pre>
6606         * Id in the StringTable
6607         * </pre>
6608         */
6609        public boolean hasName() {
6610          return ((bitField0_ & 0x00000002) == 0x00000002);
6611        }
6612        /**
6613         * <code>required int32 name = 2;</code>
6614         *
6615         * <pre>
6616         * Id in the StringTable
6617         * </pre>
6618         */
6619        public int getName() {
6620          return name_;
6621        }
6622    
6623        // optional bool reified = 3 [default = false];
6624        public static final int REIFIED_FIELD_NUMBER = 3;
6625        private boolean reified_;
6626        /**
6627         * <code>optional bool reified = 3 [default = false];</code>
6628         */
6629        public boolean hasReified() {
6630          return ((bitField0_ & 0x00000004) == 0x00000004);
6631        }
6632        /**
6633         * <code>optional bool reified = 3 [default = false];</code>
6634         */
6635        public boolean getReified() {
6636          return reified_;
6637        }
6638    
6639        // optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];
6640        public static final int VARIANCE_FIELD_NUMBER = 4;
6641        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance variance_;
6642        /**
6643         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6644         */
6645        public boolean hasVariance() {
6646          return ((bitField0_ & 0x00000008) == 0x00000008);
6647        }
6648        /**
6649         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6650         */
6651        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
6652          return variance_;
6653        }
6654    
6655        // repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;
6656        public static final int UPPER_BOUND_FIELD_NUMBER = 5;
6657        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> upperBound_;
6658        /**
6659         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6660         */
6661        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getUpperBoundList() {
6662          return upperBound_;
6663        }
6664        /**
6665         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6666         */
6667        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
6668            getUpperBoundOrBuilderList() {
6669          return upperBound_;
6670        }
6671        /**
6672         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6673         */
6674        public int getUpperBoundCount() {
6675          return upperBound_.size();
6676        }
6677        /**
6678         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6679         */
6680        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index) {
6681          return upperBound_.get(index);
6682        }
6683        /**
6684         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6685         */
6686        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getUpperBoundOrBuilder(
6687            int index) {
6688          return upperBound_.get(index);
6689        }
6690    
6691        private void initFields() {
6692          id_ = 0;
6693          name_ = 0;
6694          reified_ = false;
6695          variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
6696          upperBound_ = java.util.Collections.emptyList();
6697        }
6698        private byte memoizedIsInitialized = -1;
6699        public final boolean isInitialized() {
6700          byte isInitialized = memoizedIsInitialized;
6701          if (isInitialized != -1) return isInitialized == 1;
6702    
6703          if (!hasId()) {
6704            memoizedIsInitialized = 0;
6705            return false;
6706          }
6707          if (!hasName()) {
6708            memoizedIsInitialized = 0;
6709            return false;
6710          }
6711          for (int i = 0; i < getUpperBoundCount(); i++) {
6712            if (!getUpperBound(i).isInitialized()) {
6713              memoizedIsInitialized = 0;
6714              return false;
6715            }
6716          }
6717          memoizedIsInitialized = 1;
6718          return true;
6719        }
6720    
6721        public void writeTo(com.google.protobuf.CodedOutputStream output)
6722                            throws java.io.IOException {
6723          getSerializedSize();
6724          if (((bitField0_ & 0x00000001) == 0x00000001)) {
6725            output.writeInt32(1, id_);
6726          }
6727          if (((bitField0_ & 0x00000002) == 0x00000002)) {
6728            output.writeInt32(2, name_);
6729          }
6730          if (((bitField0_ & 0x00000004) == 0x00000004)) {
6731            output.writeBool(3, reified_);
6732          }
6733          if (((bitField0_ & 0x00000008) == 0x00000008)) {
6734            output.writeEnum(4, variance_.getNumber());
6735          }
6736          for (int i = 0; i < upperBound_.size(); i++) {
6737            output.writeMessage(5, upperBound_.get(i));
6738          }
6739        }
6740    
6741        private int memoizedSerializedSize = -1;
6742        public int getSerializedSize() {
6743          int size = memoizedSerializedSize;
6744          if (size != -1) return size;
6745    
6746          size = 0;
6747          if (((bitField0_ & 0x00000001) == 0x00000001)) {
6748            size += com.google.protobuf.CodedOutputStream
6749              .computeInt32Size(1, id_);
6750          }
6751          if (((bitField0_ & 0x00000002) == 0x00000002)) {
6752            size += com.google.protobuf.CodedOutputStream
6753              .computeInt32Size(2, name_);
6754          }
6755          if (((bitField0_ & 0x00000004) == 0x00000004)) {
6756            size += com.google.protobuf.CodedOutputStream
6757              .computeBoolSize(3, reified_);
6758          }
6759          if (((bitField0_ & 0x00000008) == 0x00000008)) {
6760            size += com.google.protobuf.CodedOutputStream
6761              .computeEnumSize(4, variance_.getNumber());
6762          }
6763          for (int i = 0; i < upperBound_.size(); i++) {
6764            size += com.google.protobuf.CodedOutputStream
6765              .computeMessageSize(5, upperBound_.get(i));
6766          }
6767          memoizedSerializedSize = size;
6768          return size;
6769        }
6770    
6771        private static final long serialVersionUID = 0L;
6772        @java.lang.Override
6773        protected java.lang.Object writeReplace()
6774            throws java.io.ObjectStreamException {
6775          return super.writeReplace();
6776        }
6777    
6778        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6779            com.google.protobuf.ByteString data)
6780            throws com.google.protobuf.InvalidProtocolBufferException {
6781          return PARSER.parseFrom(data);
6782        }
6783        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6784            com.google.protobuf.ByteString data,
6785            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6786            throws com.google.protobuf.InvalidProtocolBufferException {
6787          return PARSER.parseFrom(data, extensionRegistry);
6788        }
6789        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(byte[] data)
6790            throws com.google.protobuf.InvalidProtocolBufferException {
6791          return PARSER.parseFrom(data);
6792        }
6793        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6794            byte[] data,
6795            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6796            throws com.google.protobuf.InvalidProtocolBufferException {
6797          return PARSER.parseFrom(data, extensionRegistry);
6798        }
6799        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(java.io.InputStream input)
6800            throws java.io.IOException {
6801          return PARSER.parseFrom(input);
6802        }
6803        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6804            java.io.InputStream input,
6805            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6806            throws java.io.IOException {
6807          return PARSER.parseFrom(input, extensionRegistry);
6808        }
6809        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(java.io.InputStream input)
6810            throws java.io.IOException {
6811          return PARSER.parseDelimitedFrom(input);
6812        }
6813        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(
6814            java.io.InputStream input,
6815            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6816            throws java.io.IOException {
6817          return PARSER.parseDelimitedFrom(input, extensionRegistry);
6818        }
6819        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6820            com.google.protobuf.CodedInputStream input)
6821            throws java.io.IOException {
6822          return PARSER.parseFrom(input);
6823        }
6824        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6825            com.google.protobuf.CodedInputStream input,
6826            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6827            throws java.io.IOException {
6828          return PARSER.parseFrom(input, extensionRegistry);
6829        }
6830    
6831        public static Builder newBuilder() { return Builder.create(); }
6832        public Builder newBuilderForType() { return newBuilder(); }
6833        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter prototype) {
6834          return newBuilder().mergeFrom(prototype);
6835        }
6836        public Builder toBuilder() { return newBuilder(this); }
6837    
6838        /**
6839         * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeParameter}
6840         */
6841        public static final class Builder extends
6842            com.google.protobuf.GeneratedMessageLite.Builder<
6843              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter, Builder>
6844            implements org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder {
6845          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.newBuilder()
6846          private Builder() {
6847            maybeForceBuilderInitialization();
6848          }
6849    
6850          private void maybeForceBuilderInitialization() {
6851          }
6852          private static Builder create() {
6853            return new Builder();
6854          }
6855    
6856          public Builder clear() {
6857            super.clear();
6858            id_ = 0;
6859            bitField0_ = (bitField0_ & ~0x00000001);
6860            name_ = 0;
6861            bitField0_ = (bitField0_ & ~0x00000002);
6862            reified_ = false;
6863            bitField0_ = (bitField0_ & ~0x00000004);
6864            variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
6865            bitField0_ = (bitField0_ & ~0x00000008);
6866            upperBound_ = java.util.Collections.emptyList();
6867            bitField0_ = (bitField0_ & ~0x00000010);
6868            return this;
6869          }
6870    
6871          public Builder clone() {
6872            return create().mergeFrom(buildPartial());
6873          }
6874    
6875          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getDefaultInstanceForType() {
6876            return org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.getDefaultInstance();
6877          }
6878    
6879          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter build() {
6880            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter result = buildPartial();
6881            if (!result.isInitialized()) {
6882              throw newUninitializedMessageException(result);
6883            }
6884            return result;
6885          }
6886    
6887          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter buildPartial() {
6888            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter result = new org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter(this);
6889            int from_bitField0_ = bitField0_;
6890            int to_bitField0_ = 0;
6891            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
6892              to_bitField0_ |= 0x00000001;
6893            }
6894            result.id_ = id_;
6895            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
6896              to_bitField0_ |= 0x00000002;
6897            }
6898            result.name_ = name_;
6899            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
6900              to_bitField0_ |= 0x00000004;
6901            }
6902            result.reified_ = reified_;
6903            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
6904              to_bitField0_ |= 0x00000008;
6905            }
6906            result.variance_ = variance_;
6907            if (((bitField0_ & 0x00000010) == 0x00000010)) {
6908              upperBound_ = java.util.Collections.unmodifiableList(upperBound_);
6909              bitField0_ = (bitField0_ & ~0x00000010);
6910            }
6911            result.upperBound_ = upperBound_;
6912            result.bitField0_ = to_bitField0_;
6913            return result;
6914          }
6915    
6916          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter other) {
6917            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.getDefaultInstance()) return this;
6918            if (other.hasId()) {
6919              setId(other.getId());
6920            }
6921            if (other.hasName()) {
6922              setName(other.getName());
6923            }
6924            if (other.hasReified()) {
6925              setReified(other.getReified());
6926            }
6927            if (other.hasVariance()) {
6928              setVariance(other.getVariance());
6929            }
6930            if (!other.upperBound_.isEmpty()) {
6931              if (upperBound_.isEmpty()) {
6932                upperBound_ = other.upperBound_;
6933                bitField0_ = (bitField0_ & ~0x00000010);
6934              } else {
6935                ensureUpperBoundIsMutable();
6936                upperBound_.addAll(other.upperBound_);
6937              }
6938              
6939            }
6940            return this;
6941          }
6942    
6943          public final boolean isInitialized() {
6944            if (!hasId()) {
6945              
6946              return false;
6947            }
6948            if (!hasName()) {
6949              
6950              return false;
6951            }
6952            for (int i = 0; i < getUpperBoundCount(); i++) {
6953              if (!getUpperBound(i).isInitialized()) {
6954                
6955                return false;
6956              }
6957            }
6958            return true;
6959          }
6960    
6961          public Builder mergeFrom(
6962              com.google.protobuf.CodedInputStream input,
6963              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6964              throws java.io.IOException {
6965            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parsedMessage = null;
6966            try {
6967              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
6968            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6969              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter) e.getUnfinishedMessage();
6970              throw e;
6971            } finally {
6972              if (parsedMessage != null) {
6973                mergeFrom(parsedMessage);
6974              }
6975            }
6976            return this;
6977          }
6978          private int bitField0_;
6979    
6980          // required int32 id = 1;
6981          private int id_ ;
6982          /**
6983           * <code>required int32 id = 1;</code>
6984           */
6985          public boolean hasId() {
6986            return ((bitField0_ & 0x00000001) == 0x00000001);
6987          }
6988          /**
6989           * <code>required int32 id = 1;</code>
6990           */
6991          public int getId() {
6992            return id_;
6993          }
6994          /**
6995           * <code>required int32 id = 1;</code>
6996           */
6997          public Builder setId(int value) {
6998            bitField0_ |= 0x00000001;
6999            id_ = value;
7000            
7001            return this;
7002          }
7003          /**
7004           * <code>required int32 id = 1;</code>
7005           */
7006          public Builder clearId() {
7007            bitField0_ = (bitField0_ & ~0x00000001);
7008            id_ = 0;
7009            
7010            return this;
7011          }
7012    
7013          // required int32 name = 2;
7014          private int name_ ;
7015          /**
7016           * <code>required int32 name = 2;</code>
7017           *
7018           * <pre>
7019           * Id in the StringTable
7020           * </pre>
7021           */
7022          public boolean hasName() {
7023            return ((bitField0_ & 0x00000002) == 0x00000002);
7024          }
7025          /**
7026           * <code>required int32 name = 2;</code>
7027           *
7028           * <pre>
7029           * Id in the StringTable
7030           * </pre>
7031           */
7032          public int getName() {
7033            return name_;
7034          }
7035          /**
7036           * <code>required int32 name = 2;</code>
7037           *
7038           * <pre>
7039           * Id in the StringTable
7040           * </pre>
7041           */
7042          public Builder setName(int value) {
7043            bitField0_ |= 0x00000002;
7044            name_ = value;
7045            
7046            return this;
7047          }
7048          /**
7049           * <code>required int32 name = 2;</code>
7050           *
7051           * <pre>
7052           * Id in the StringTable
7053           * </pre>
7054           */
7055          public Builder clearName() {
7056            bitField0_ = (bitField0_ & ~0x00000002);
7057            name_ = 0;
7058            
7059            return this;
7060          }
7061    
7062          // optional bool reified = 3 [default = false];
7063          private boolean reified_ ;
7064          /**
7065           * <code>optional bool reified = 3 [default = false];</code>
7066           */
7067          public boolean hasReified() {
7068            return ((bitField0_ & 0x00000004) == 0x00000004);
7069          }
7070          /**
7071           * <code>optional bool reified = 3 [default = false];</code>
7072           */
7073          public boolean getReified() {
7074            return reified_;
7075          }
7076          /**
7077           * <code>optional bool reified = 3 [default = false];</code>
7078           */
7079          public Builder setReified(boolean value) {
7080            bitField0_ |= 0x00000004;
7081            reified_ = value;
7082            
7083            return this;
7084          }
7085          /**
7086           * <code>optional bool reified = 3 [default = false];</code>
7087           */
7088          public Builder clearReified() {
7089            bitField0_ = (bitField0_ & ~0x00000004);
7090            reified_ = false;
7091            
7092            return this;
7093          }
7094    
7095          // optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];
7096          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
7097          /**
7098           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7099           */
7100          public boolean hasVariance() {
7101            return ((bitField0_ & 0x00000008) == 0x00000008);
7102          }
7103          /**
7104           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7105           */
7106          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
7107            return variance_;
7108          }
7109          /**
7110           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7111           */
7112          public Builder setVariance(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance value) {
7113            if (value == null) {
7114              throw new NullPointerException();
7115            }
7116            bitField0_ |= 0x00000008;
7117            variance_ = value;
7118            
7119            return this;
7120          }
7121          /**
7122           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7123           */
7124          public Builder clearVariance() {
7125            bitField0_ = (bitField0_ & ~0x00000008);
7126            variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
7127            
7128            return this;
7129          }
7130    
7131          // repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;
7132          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> upperBound_ =
7133            java.util.Collections.emptyList();
7134          private void ensureUpperBoundIsMutable() {
7135            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
7136              upperBound_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(upperBound_);
7137              bitField0_ |= 0x00000010;
7138             }
7139          }
7140    
7141          /**
7142           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7143           */
7144          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getUpperBoundList() {
7145            return java.util.Collections.unmodifiableList(upperBound_);
7146          }
7147          /**
7148           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7149           */
7150          public int getUpperBoundCount() {
7151            return upperBound_.size();
7152          }
7153          /**
7154           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7155           */
7156          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index) {
7157            return upperBound_.get(index);
7158          }
7159          /**
7160           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7161           */
7162          public Builder setUpperBound(
7163              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7164            if (value == null) {
7165              throw new NullPointerException();
7166            }
7167            ensureUpperBoundIsMutable();
7168            upperBound_.set(index, value);
7169    
7170            return this;
7171          }
7172          /**
7173           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7174           */
7175          public Builder setUpperBound(
7176              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7177            ensureUpperBoundIsMutable();
7178            upperBound_.set(index, builderForValue.build());
7179    
7180            return this;
7181          }
7182          /**
7183           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7184           */
7185          public Builder addUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7186            if (value == null) {
7187              throw new NullPointerException();
7188            }
7189            ensureUpperBoundIsMutable();
7190            upperBound_.add(value);
7191    
7192            return this;
7193          }
7194          /**
7195           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7196           */
7197          public Builder addUpperBound(
7198              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7199            if (value == null) {
7200              throw new NullPointerException();
7201            }
7202            ensureUpperBoundIsMutable();
7203            upperBound_.add(index, value);
7204    
7205            return this;
7206          }
7207          /**
7208           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7209           */
7210          public Builder addUpperBound(
7211              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7212            ensureUpperBoundIsMutable();
7213            upperBound_.add(builderForValue.build());
7214    
7215            return this;
7216          }
7217          /**
7218           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7219           */
7220          public Builder addUpperBound(
7221              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7222            ensureUpperBoundIsMutable();
7223            upperBound_.add(index, builderForValue.build());
7224    
7225            return this;
7226          }
7227          /**
7228           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7229           */
7230          public Builder addAllUpperBound(
7231              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
7232            ensureUpperBoundIsMutable();
7233            super.addAll(values, upperBound_);
7234    
7235            return this;
7236          }
7237          /**
7238           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7239           */
7240          public Builder clearUpperBound() {
7241            upperBound_ = java.util.Collections.emptyList();
7242            bitField0_ = (bitField0_ & ~0x00000010);
7243    
7244            return this;
7245          }
7246          /**
7247           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7248           */
7249          public Builder removeUpperBound(int index) {
7250            ensureUpperBoundIsMutable();
7251            upperBound_.remove(index);
7252    
7253            return this;
7254          }
7255    
7256          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.TypeParameter)
7257        }
7258    
7259        static {
7260          defaultInstance = new TypeParameter(true);
7261          defaultInstance.initFields();
7262        }
7263    
7264        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.TypeParameter)
7265      }
7266    
7267      public interface ClassOrBuilder extends 
7268           com.google.protobuf.GeneratedMessageLite.
7269                ExtendableMessageOrBuilder<Class> {
7270    
7271        // optional int32 flags = 1 [default = 0];
7272        /**
7273         * <code>optional int32 flags = 1 [default = 0];</code>
7274         *
7275         * <pre>
7276         *
7277         *Visibility
7278         *Modality
7279         *has_annotation
7280         *ClassKind
7281         *is_inner
7282         * </pre>
7283         */
7284        boolean hasFlags();
7285        /**
7286         * <code>optional int32 flags = 1 [default = 0];</code>
7287         *
7288         * <pre>
7289         *
7290         *Visibility
7291         *Modality
7292         *has_annotation
7293         *ClassKind
7294         *is_inner
7295         * </pre>
7296         */
7297        int getFlags();
7298    
7299        // required int32 fq_name = 3;
7300        /**
7301         * <code>required int32 fq_name = 3;</code>
7302         */
7303        boolean hasFqName();
7304        /**
7305         * <code>required int32 fq_name = 3;</code>
7306         */
7307        int getFqName();
7308    
7309        // optional int32 companion_object_name = 4;
7310        /**
7311         * <code>optional int32 companion_object_name = 4;</code>
7312         *
7313         * <pre>
7314         * If this field is present, it contains the name of companion object.
7315         * </pre>
7316         */
7317        boolean hasCompanionObjectName();
7318        /**
7319         * <code>optional int32 companion_object_name = 4;</code>
7320         *
7321         * <pre>
7322         * If this field is present, it contains the name of companion object.
7323         * </pre>
7324         */
7325        int getCompanionObjectName();
7326    
7327        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;
7328        /**
7329         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7330         */
7331        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
7332            getTypeParameterList();
7333        /**
7334         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7335         */
7336        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
7337        /**
7338         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7339         */
7340        int getTypeParameterCount();
7341    
7342        // repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;
7343        /**
7344         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7345         */
7346        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> 
7347            getSupertypeList();
7348        /**
7349         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7350         */
7351        org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index);
7352        /**
7353         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7354         */
7355        int getSupertypeCount();
7356    
7357        // repeated int32 nested_class_name = 7;
7358        /**
7359         * <code>repeated int32 nested_class_name = 7;</code>
7360         *
7361         * <pre>
7362         * we store only names, because the actual information must reside in the corresponding .class files,
7363         * to be obtainable through reflection at runtime
7364         * </pre>
7365         */
7366        java.util.List<java.lang.Integer> getNestedClassNameList();
7367        /**
7368         * <code>repeated int32 nested_class_name = 7;</code>
7369         *
7370         * <pre>
7371         * we store only names, because the actual information must reside in the corresponding .class files,
7372         * to be obtainable through reflection at runtime
7373         * </pre>
7374         */
7375        int getNestedClassNameCount();
7376        /**
7377         * <code>repeated int32 nested_class_name = 7;</code>
7378         *
7379         * <pre>
7380         * we store only names, because the actual information must reside in the corresponding .class files,
7381         * to be obtainable through reflection at runtime
7382         * </pre>
7383         */
7384        int getNestedClassName(int index);
7385    
7386        // repeated .org.jetbrains.kotlin.serialization.Callable member = 11;
7387        /**
7388         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
7389         */
7390        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> 
7391            getMemberList();
7392        /**
7393         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
7394         */
7395        org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index);
7396        /**
7397         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
7398         */
7399        int getMemberCount();
7400    
7401        // repeated int32 enum_entry = 12;
7402        /**
7403         * <code>repeated int32 enum_entry = 12;</code>
7404         */
7405        java.util.List<java.lang.Integer> getEnumEntryList();
7406        /**
7407         * <code>repeated int32 enum_entry = 12;</code>
7408         */
7409        int getEnumEntryCount();
7410        /**
7411         * <code>repeated int32 enum_entry = 12;</code>
7412         */
7413        int getEnumEntry(int index);
7414    
7415        // optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;
7416        /**
7417         * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
7418         *
7419         * <pre>
7420         * This field is present if and only if the class has a primary constructor
7421         * </pre>
7422         */
7423        boolean hasPrimaryConstructor();
7424        /**
7425         * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
7426         *
7427         * <pre>
7428         * This field is present if and only if the class has a primary constructor
7429         * </pre>
7430         */
7431        org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor getPrimaryConstructor();
7432    
7433        // repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;
7434        /**
7435         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
7436         */
7437        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> 
7438            getSecondaryConstructorList();
7439        /**
7440         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
7441         */
7442        org.jetbrains.kotlin.serialization.ProtoBuf.Callable getSecondaryConstructor(int index);
7443        /**
7444         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
7445         */
7446        int getSecondaryConstructorCount();
7447      }
7448      /**
7449       * Protobuf type {@code org.jetbrains.kotlin.serialization.Class}
7450       */
7451      public static final class Class extends
7452          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
7453            Class> implements ClassOrBuilder {
7454        // Use Class.newBuilder() to construct.
7455        private Class(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Class, ?> builder) {
7456          super(builder);
7457    
7458        }
7459        private Class(boolean noInit) {}
7460    
7461        private static final Class defaultInstance;
7462        public static Class getDefaultInstance() {
7463          return defaultInstance;
7464        }
7465    
7466        public Class getDefaultInstanceForType() {
7467          return defaultInstance;
7468        }
7469    
7470        private Class(
7471            com.google.protobuf.CodedInputStream input,
7472            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7473            throws com.google.protobuf.InvalidProtocolBufferException {
7474          initFields();
7475          int mutable_bitField0_ = 0;
7476          try {
7477            boolean done = false;
7478            while (!done) {
7479              int tag = input.readTag();
7480              switch (tag) {
7481                case 0:
7482                  done = true;
7483                  break;
7484                default: {
7485                  if (!parseUnknownField(input,
7486                                         extensionRegistry, tag)) {
7487                    done = true;
7488                  }
7489                  break;
7490                }
7491                case 8: {
7492                  bitField0_ |= 0x00000001;
7493                  flags_ = input.readInt32();
7494                  break;
7495                }
7496                case 24: {
7497                  bitField0_ |= 0x00000002;
7498                  fqName_ = input.readInt32();
7499                  break;
7500                }
7501                case 32: {
7502                  bitField0_ |= 0x00000004;
7503                  companionObjectName_ = input.readInt32();
7504                  break;
7505                }
7506                case 42: {
7507                  if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
7508                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
7509                    mutable_bitField0_ |= 0x00000008;
7510                  }
7511                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
7512                  break;
7513                }
7514                case 50: {
7515                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7516                    supertype_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
7517                    mutable_bitField0_ |= 0x00000010;
7518                  }
7519                  supertype_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
7520                  break;
7521                }
7522                case 56: {
7523                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
7524                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
7525                    mutable_bitField0_ |= 0x00000020;
7526                  }
7527                  nestedClassName_.add(input.readInt32());
7528                  break;
7529                }
7530                case 58: {
7531                  int length = input.readRawVarint32();
7532                  int limit = input.pushLimit(length);
7533                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
7534                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
7535                    mutable_bitField0_ |= 0x00000020;
7536                  }
7537                  while (input.getBytesUntilLimit() > 0) {
7538                    nestedClassName_.add(input.readInt32());
7539                  }
7540                  input.popLimit(limit);
7541                  break;
7542                }
7543                case 90: {
7544                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
7545                    member_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>();
7546                    mutable_bitField0_ |= 0x00000040;
7547                  }
7548                  member_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.PARSER, extensionRegistry));
7549                  break;
7550                }
7551                case 96: {
7552                  if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
7553                    enumEntry_ = new java.util.ArrayList<java.lang.Integer>();
7554                    mutable_bitField0_ |= 0x00000080;
7555                  }
7556                  enumEntry_.add(input.readInt32());
7557                  break;
7558                }
7559                case 98: {
7560                  int length = input.readRawVarint32();
7561                  int limit = input.pushLimit(length);
7562                  if (!((mutable_bitField0_ & 0x00000080) == 0x00000080) && input.getBytesUntilLimit() > 0) {
7563                    enumEntry_ = new java.util.ArrayList<java.lang.Integer>();
7564                    mutable_bitField0_ |= 0x00000080;
7565                  }
7566                  while (input.getBytesUntilLimit() > 0) {
7567                    enumEntry_.add(input.readInt32());
7568                  }
7569                  input.popLimit(limit);
7570                  break;
7571                }
7572                case 106: {
7573                  org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.Builder subBuilder = null;
7574                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
7575                    subBuilder = primaryConstructor_.toBuilder();
7576                  }
7577                  primaryConstructor_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.PARSER, extensionRegistry);
7578                  if (subBuilder != null) {
7579                    subBuilder.mergeFrom(primaryConstructor_);
7580                    primaryConstructor_ = subBuilder.buildPartial();
7581                  }
7582                  bitField0_ |= 0x00000008;
7583                  break;
7584                }
7585                case 114: {
7586                  if (!((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
7587                    secondaryConstructor_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>();
7588                    mutable_bitField0_ |= 0x00000200;
7589                  }
7590                  secondaryConstructor_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.PARSER, extensionRegistry));
7591                  break;
7592                }
7593              }
7594            }
7595          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7596            throw e.setUnfinishedMessage(this);
7597          } catch (java.io.IOException e) {
7598            throw new com.google.protobuf.InvalidProtocolBufferException(
7599                e.getMessage()).setUnfinishedMessage(this);
7600          } finally {
7601            if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
7602              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
7603            }
7604            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7605              supertype_ = java.util.Collections.unmodifiableList(supertype_);
7606            }
7607            if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
7608              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
7609            }
7610            if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
7611              member_ = java.util.Collections.unmodifiableList(member_);
7612            }
7613            if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
7614              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
7615            }
7616            if (((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
7617              secondaryConstructor_ = java.util.Collections.unmodifiableList(secondaryConstructor_);
7618            }
7619            makeExtensionsImmutable();
7620          }
7621        }
7622        public static com.google.protobuf.Parser<Class> PARSER =
7623            new com.google.protobuf.AbstractParser<Class>() {
7624          public Class parsePartialFrom(
7625              com.google.protobuf.CodedInputStream input,
7626              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7627              throws com.google.protobuf.InvalidProtocolBufferException {
7628            return new Class(input, extensionRegistry);
7629          }
7630        };
7631    
7632        @java.lang.Override
7633        public com.google.protobuf.Parser<Class> getParserForType() {
7634          return PARSER;
7635        }
7636    
7637        /**
7638         * Protobuf enum {@code org.jetbrains.kotlin.serialization.Class.Kind}
7639         */
7640        public enum Kind
7641            implements com.google.protobuf.Internal.EnumLite {
7642          /**
7643           * <code>CLASS = 0;</code>
7644           *
7645           * <pre>
7646           * 3 bits
7647           * </pre>
7648           */
7649          CLASS(0, 0),
7650          /**
7651           * <code>TRAIT = 1;</code>
7652           */
7653          TRAIT(1, 1),
7654          /**
7655           * <code>ENUM_CLASS = 2;</code>
7656           */
7657          ENUM_CLASS(2, 2),
7658          /**
7659           * <code>ENUM_ENTRY = 3;</code>
7660           */
7661          ENUM_ENTRY(3, 3),
7662          /**
7663           * <code>ANNOTATION_CLASS = 4;</code>
7664           */
7665          ANNOTATION_CLASS(4, 4),
7666          /**
7667           * <code>OBJECT = 5;</code>
7668           */
7669          OBJECT(5, 5),
7670          /**
7671           * <code>CLASS_OBJECT = 6;</code>
7672           */
7673          CLASS_OBJECT(6, 6),
7674          ;
7675    
7676          /**
7677           * <code>CLASS = 0;</code>
7678           *
7679           * <pre>
7680           * 3 bits
7681           * </pre>
7682           */
7683          public static final int CLASS_VALUE = 0;
7684          /**
7685           * <code>TRAIT = 1;</code>
7686           */
7687          public static final int TRAIT_VALUE = 1;
7688          /**
7689           * <code>ENUM_CLASS = 2;</code>
7690           */
7691          public static final int ENUM_CLASS_VALUE = 2;
7692          /**
7693           * <code>ENUM_ENTRY = 3;</code>
7694           */
7695          public static final int ENUM_ENTRY_VALUE = 3;
7696          /**
7697           * <code>ANNOTATION_CLASS = 4;</code>
7698           */
7699          public static final int ANNOTATION_CLASS_VALUE = 4;
7700          /**
7701           * <code>OBJECT = 5;</code>
7702           */
7703          public static final int OBJECT_VALUE = 5;
7704          /**
7705           * <code>CLASS_OBJECT = 6;</code>
7706           */
7707          public static final int CLASS_OBJECT_VALUE = 6;
7708    
7709    
7710          public final int getNumber() { return value; }
7711    
7712          public static Kind valueOf(int value) {
7713            switch (value) {
7714              case 0: return CLASS;
7715              case 1: return TRAIT;
7716              case 2: return ENUM_CLASS;
7717              case 3: return ENUM_ENTRY;
7718              case 4: return ANNOTATION_CLASS;
7719              case 5: return OBJECT;
7720              case 6: return CLASS_OBJECT;
7721              default: return null;
7722            }
7723          }
7724    
7725          public static com.google.protobuf.Internal.EnumLiteMap<Kind>
7726              internalGetValueMap() {
7727            return internalValueMap;
7728          }
7729          private static com.google.protobuf.Internal.EnumLiteMap<Kind>
7730              internalValueMap =
7731                new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
7732                  public Kind findValueByNumber(int number) {
7733                    return Kind.valueOf(number);
7734                  }
7735                };
7736    
7737          private final int value;
7738    
7739          private Kind(int index, int value) {
7740            this.value = value;
7741          }
7742    
7743          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Class.Kind)
7744        }
7745    
7746        public interface PrimaryConstructorOrBuilder
7747            extends com.google.protobuf.MessageLiteOrBuilder {
7748    
7749          // optional .org.jetbrains.kotlin.serialization.Callable data = 1;
7750          /**
7751           * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
7752           *
7753           * <pre>
7754           * If this field is present, it contains serialized data for the primary constructor.
7755           * Otherwise it's default and can be created manually upon deserialization
7756           * </pre>
7757           */
7758          boolean hasData();
7759          /**
7760           * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
7761           *
7762           * <pre>
7763           * If this field is present, it contains serialized data for the primary constructor.
7764           * Otherwise it's default and can be created manually upon deserialization
7765           * </pre>
7766           */
7767          org.jetbrains.kotlin.serialization.ProtoBuf.Callable getData();
7768        }
7769        /**
7770         * Protobuf type {@code org.jetbrains.kotlin.serialization.Class.PrimaryConstructor}
7771         */
7772        public static final class PrimaryConstructor extends
7773            com.google.protobuf.GeneratedMessageLite
7774            implements PrimaryConstructorOrBuilder {
7775          // Use PrimaryConstructor.newBuilder() to construct.
7776          private PrimaryConstructor(com.google.protobuf.GeneratedMessageLite.Builder builder) {
7777            super(builder);
7778    
7779          }
7780          private PrimaryConstructor(boolean noInit) {}
7781    
7782          private static final PrimaryConstructor defaultInstance;
7783          public static PrimaryConstructor getDefaultInstance() {
7784            return defaultInstance;
7785          }
7786    
7787          public PrimaryConstructor getDefaultInstanceForType() {
7788            return defaultInstance;
7789          }
7790    
7791          private PrimaryConstructor(
7792              com.google.protobuf.CodedInputStream input,
7793              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7794              throws com.google.protobuf.InvalidProtocolBufferException {
7795            initFields();
7796            int mutable_bitField0_ = 0;
7797            try {
7798              boolean done = false;
7799              while (!done) {
7800                int tag = input.readTag();
7801                switch (tag) {
7802                  case 0:
7803                    done = true;
7804                    break;
7805                  default: {
7806                    if (!parseUnknownField(input,
7807                                           extensionRegistry, tag)) {
7808                      done = true;
7809                    }
7810                    break;
7811                  }
7812                  case 10: {
7813                    org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder subBuilder = null;
7814                    if (((bitField0_ & 0x00000001) == 0x00000001)) {
7815                      subBuilder = data_.toBuilder();
7816                    }
7817                    data_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.PARSER, extensionRegistry);
7818                    if (subBuilder != null) {
7819                      subBuilder.mergeFrom(data_);
7820                      data_ = subBuilder.buildPartial();
7821                    }
7822                    bitField0_ |= 0x00000001;
7823                    break;
7824                  }
7825                }
7826              }
7827            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7828              throw e.setUnfinishedMessage(this);
7829            } catch (java.io.IOException e) {
7830              throw new com.google.protobuf.InvalidProtocolBufferException(
7831                  e.getMessage()).setUnfinishedMessage(this);
7832            } finally {
7833              makeExtensionsImmutable();
7834            }
7835          }
7836          public static com.google.protobuf.Parser<PrimaryConstructor> PARSER =
7837              new com.google.protobuf.AbstractParser<PrimaryConstructor>() {
7838            public PrimaryConstructor parsePartialFrom(
7839                com.google.protobuf.CodedInputStream input,
7840                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7841                throws com.google.protobuf.InvalidProtocolBufferException {
7842              return new PrimaryConstructor(input, extensionRegistry);
7843            }
7844          };
7845    
7846          @java.lang.Override
7847          public com.google.protobuf.Parser<PrimaryConstructor> getParserForType() {
7848            return PARSER;
7849          }
7850    
7851          private int bitField0_;
7852          // optional .org.jetbrains.kotlin.serialization.Callable data = 1;
7853          public static final int DATA_FIELD_NUMBER = 1;
7854          private org.jetbrains.kotlin.serialization.ProtoBuf.Callable data_;
7855          /**
7856           * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
7857           *
7858           * <pre>
7859           * If this field is present, it contains serialized data for the primary constructor.
7860           * Otherwise it's default and can be created manually upon deserialization
7861           * </pre>
7862           */
7863          public boolean hasData() {
7864            return ((bitField0_ & 0x00000001) == 0x00000001);
7865          }
7866          /**
7867           * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
7868           *
7869           * <pre>
7870           * If this field is present, it contains serialized data for the primary constructor.
7871           * Otherwise it's default and can be created manually upon deserialization
7872           * </pre>
7873           */
7874          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getData() {
7875            return data_;
7876          }
7877    
7878          private void initFields() {
7879            data_ = org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance();
7880          }
7881          private byte memoizedIsInitialized = -1;
7882          public final boolean isInitialized() {
7883            byte isInitialized = memoizedIsInitialized;
7884            if (isInitialized != -1) return isInitialized == 1;
7885    
7886            if (hasData()) {
7887              if (!getData().isInitialized()) {
7888                memoizedIsInitialized = 0;
7889                return false;
7890              }
7891            }
7892            memoizedIsInitialized = 1;
7893            return true;
7894          }
7895    
7896          public void writeTo(com.google.protobuf.CodedOutputStream output)
7897                              throws java.io.IOException {
7898            getSerializedSize();
7899            if (((bitField0_ & 0x00000001) == 0x00000001)) {
7900              output.writeMessage(1, data_);
7901            }
7902          }
7903    
7904          private int memoizedSerializedSize = -1;
7905          public int getSerializedSize() {
7906            int size = memoizedSerializedSize;
7907            if (size != -1) return size;
7908    
7909            size = 0;
7910            if (((bitField0_ & 0x00000001) == 0x00000001)) {
7911              size += com.google.protobuf.CodedOutputStream
7912                .computeMessageSize(1, data_);
7913            }
7914            memoizedSerializedSize = size;
7915            return size;
7916          }
7917    
7918          private static final long serialVersionUID = 0L;
7919          @java.lang.Override
7920          protected java.lang.Object writeReplace()
7921              throws java.io.ObjectStreamException {
7922            return super.writeReplace();
7923          }
7924    
7925          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
7926              com.google.protobuf.ByteString data)
7927              throws com.google.protobuf.InvalidProtocolBufferException {
7928            return PARSER.parseFrom(data);
7929          }
7930          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
7931              com.google.protobuf.ByteString data,
7932              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7933              throws com.google.protobuf.InvalidProtocolBufferException {
7934            return PARSER.parseFrom(data, extensionRegistry);
7935          }
7936          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(byte[] data)
7937              throws com.google.protobuf.InvalidProtocolBufferException {
7938            return PARSER.parseFrom(data);
7939          }
7940          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
7941              byte[] data,
7942              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7943              throws com.google.protobuf.InvalidProtocolBufferException {
7944            return PARSER.parseFrom(data, extensionRegistry);
7945          }
7946          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(java.io.InputStream input)
7947              throws java.io.IOException {
7948            return PARSER.parseFrom(input);
7949          }
7950          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
7951              java.io.InputStream input,
7952              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7953              throws java.io.IOException {
7954            return PARSER.parseFrom(input, extensionRegistry);
7955          }
7956          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseDelimitedFrom(java.io.InputStream input)
7957              throws java.io.IOException {
7958            return PARSER.parseDelimitedFrom(input);
7959          }
7960          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseDelimitedFrom(
7961              java.io.InputStream input,
7962              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7963              throws java.io.IOException {
7964            return PARSER.parseDelimitedFrom(input, extensionRegistry);
7965          }
7966          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
7967              com.google.protobuf.CodedInputStream input)
7968              throws java.io.IOException {
7969            return PARSER.parseFrom(input);
7970          }
7971          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
7972              com.google.protobuf.CodedInputStream input,
7973              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7974              throws java.io.IOException {
7975            return PARSER.parseFrom(input, extensionRegistry);
7976          }
7977    
7978          public static Builder newBuilder() { return Builder.create(); }
7979          public Builder newBuilderForType() { return newBuilder(); }
7980          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor prototype) {
7981            return newBuilder().mergeFrom(prototype);
7982          }
7983          public Builder toBuilder() { return newBuilder(this); }
7984    
7985          /**
7986           * Protobuf type {@code org.jetbrains.kotlin.serialization.Class.PrimaryConstructor}
7987           */
7988          public static final class Builder extends
7989              com.google.protobuf.GeneratedMessageLite.Builder<
7990                org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor, Builder>
7991              implements org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructorOrBuilder {
7992            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.newBuilder()
7993            private Builder() {
7994              maybeForceBuilderInitialization();
7995            }
7996    
7997            private void maybeForceBuilderInitialization() {
7998            }
7999            private static Builder create() {
8000              return new Builder();
8001            }
8002    
8003            public Builder clear() {
8004              super.clear();
8005              data_ = org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance();
8006              bitField0_ = (bitField0_ & ~0x00000001);
8007              return this;
8008            }
8009    
8010            public Builder clone() {
8011              return create().mergeFrom(buildPartial());
8012            }
8013    
8014            public org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor getDefaultInstanceForType() {
8015              return org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
8016            }
8017    
8018            public org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor build() {
8019              org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor result = buildPartial();
8020              if (!result.isInitialized()) {
8021                throw newUninitializedMessageException(result);
8022              }
8023              return result;
8024            }
8025    
8026            public org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor buildPartial() {
8027              org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor result = new org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor(this);
8028              int from_bitField0_ = bitField0_;
8029              int to_bitField0_ = 0;
8030              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
8031                to_bitField0_ |= 0x00000001;
8032              }
8033              result.data_ = data_;
8034              result.bitField0_ = to_bitField0_;
8035              return result;
8036            }
8037    
8038            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor other) {
8039              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance()) return this;
8040              if (other.hasData()) {
8041                mergeData(other.getData());
8042              }
8043              return this;
8044            }
8045    
8046            public final boolean isInitialized() {
8047              if (hasData()) {
8048                if (!getData().isInitialized()) {
8049                  
8050                  return false;
8051                }
8052              }
8053              return true;
8054            }
8055    
8056            public Builder mergeFrom(
8057                com.google.protobuf.CodedInputStream input,
8058                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8059                throws java.io.IOException {
8060              org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parsedMessage = null;
8061              try {
8062                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
8063              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8064                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor) e.getUnfinishedMessage();
8065                throw e;
8066              } finally {
8067                if (parsedMessage != null) {
8068                  mergeFrom(parsedMessage);
8069                }
8070              }
8071              return this;
8072            }
8073            private int bitField0_;
8074    
8075            // optional .org.jetbrains.kotlin.serialization.Callable data = 1;
8076            private org.jetbrains.kotlin.serialization.ProtoBuf.Callable data_ = org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance();
8077            /**
8078             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8079             *
8080             * <pre>
8081             * If this field is present, it contains serialized data for the primary constructor.
8082             * Otherwise it's default and can be created manually upon deserialization
8083             * </pre>
8084             */
8085            public boolean hasData() {
8086              return ((bitField0_ & 0x00000001) == 0x00000001);
8087            }
8088            /**
8089             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8090             *
8091             * <pre>
8092             * If this field is present, it contains serialized data for the primary constructor.
8093             * Otherwise it's default and can be created manually upon deserialization
8094             * </pre>
8095             */
8096            public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getData() {
8097              return data_;
8098            }
8099            /**
8100             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8101             *
8102             * <pre>
8103             * If this field is present, it contains serialized data for the primary constructor.
8104             * Otherwise it's default and can be created manually upon deserialization
8105             * </pre>
8106             */
8107            public Builder setData(org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
8108              if (value == null) {
8109                throw new NullPointerException();
8110              }
8111              data_ = value;
8112    
8113              bitField0_ |= 0x00000001;
8114              return this;
8115            }
8116            /**
8117             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8118             *
8119             * <pre>
8120             * If this field is present, it contains serialized data for the primary constructor.
8121             * Otherwise it's default and can be created manually upon deserialization
8122             * </pre>
8123             */
8124            public Builder setData(
8125                org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
8126              data_ = builderForValue.build();
8127    
8128              bitField0_ |= 0x00000001;
8129              return this;
8130            }
8131            /**
8132             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8133             *
8134             * <pre>
8135             * If this field is present, it contains serialized data for the primary constructor.
8136             * Otherwise it's default and can be created manually upon deserialization
8137             * </pre>
8138             */
8139            public Builder mergeData(org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
8140              if (((bitField0_ & 0x00000001) == 0x00000001) &&
8141                  data_ != org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance()) {
8142                data_ =
8143                  org.jetbrains.kotlin.serialization.ProtoBuf.Callable.newBuilder(data_).mergeFrom(value).buildPartial();
8144              } else {
8145                data_ = value;
8146              }
8147    
8148              bitField0_ |= 0x00000001;
8149              return this;
8150            }
8151            /**
8152             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8153             *
8154             * <pre>
8155             * If this field is present, it contains serialized data for the primary constructor.
8156             * Otherwise it's default and can be created manually upon deserialization
8157             * </pre>
8158             */
8159            public Builder clearData() {
8160              data_ = org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance();
8161    
8162              bitField0_ = (bitField0_ & ~0x00000001);
8163              return this;
8164            }
8165    
8166            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Class.PrimaryConstructor)
8167          }
8168    
8169          static {
8170            defaultInstance = new PrimaryConstructor(true);
8171            defaultInstance.initFields();
8172          }
8173    
8174          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Class.PrimaryConstructor)
8175        }
8176    
8177        private int bitField0_;
8178        // optional int32 flags = 1 [default = 0];
8179        public static final int FLAGS_FIELD_NUMBER = 1;
8180        private int flags_;
8181        /**
8182         * <code>optional int32 flags = 1 [default = 0];</code>
8183         *
8184         * <pre>
8185         *
8186         *Visibility
8187         *Modality
8188         *has_annotation
8189         *ClassKind
8190         *is_inner
8191         * </pre>
8192         */
8193        public boolean hasFlags() {
8194          return ((bitField0_ & 0x00000001) == 0x00000001);
8195        }
8196        /**
8197         * <code>optional int32 flags = 1 [default = 0];</code>
8198         *
8199         * <pre>
8200         *
8201         *Visibility
8202         *Modality
8203         *has_annotation
8204         *ClassKind
8205         *is_inner
8206         * </pre>
8207         */
8208        public int getFlags() {
8209          return flags_;
8210        }
8211    
8212        // required int32 fq_name = 3;
8213        public static final int FQ_NAME_FIELD_NUMBER = 3;
8214        private int fqName_;
8215        /**
8216         * <code>required int32 fq_name = 3;</code>
8217         */
8218        public boolean hasFqName() {
8219          return ((bitField0_ & 0x00000002) == 0x00000002);
8220        }
8221        /**
8222         * <code>required int32 fq_name = 3;</code>
8223         */
8224        public int getFqName() {
8225          return fqName_;
8226        }
8227    
8228        // optional int32 companion_object_name = 4;
8229        public static final int COMPANION_OBJECT_NAME_FIELD_NUMBER = 4;
8230        private int companionObjectName_;
8231        /**
8232         * <code>optional int32 companion_object_name = 4;</code>
8233         *
8234         * <pre>
8235         * If this field is present, it contains the name of companion object.
8236         * </pre>
8237         */
8238        public boolean hasCompanionObjectName() {
8239          return ((bitField0_ & 0x00000004) == 0x00000004);
8240        }
8241        /**
8242         * <code>optional int32 companion_object_name = 4;</code>
8243         *
8244         * <pre>
8245         * If this field is present, it contains the name of companion object.
8246         * </pre>
8247         */
8248        public int getCompanionObjectName() {
8249          return companionObjectName_;
8250        }
8251    
8252        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;
8253        public static final int TYPE_PARAMETER_FIELD_NUMBER = 5;
8254        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
8255        /**
8256         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8257         */
8258        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
8259          return typeParameter_;
8260        }
8261        /**
8262         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8263         */
8264        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
8265            getTypeParameterOrBuilderList() {
8266          return typeParameter_;
8267        }
8268        /**
8269         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8270         */
8271        public int getTypeParameterCount() {
8272          return typeParameter_.size();
8273        }
8274        /**
8275         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8276         */
8277        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
8278          return typeParameter_.get(index);
8279        }
8280        /**
8281         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8282         */
8283        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
8284            int index) {
8285          return typeParameter_.get(index);
8286        }
8287    
8288        // repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;
8289        public static final int SUPERTYPE_FIELD_NUMBER = 6;
8290        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> supertype_;
8291        /**
8292         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8293         */
8294        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getSupertypeList() {
8295          return supertype_;
8296        }
8297        /**
8298         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8299         */
8300        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
8301            getSupertypeOrBuilderList() {
8302          return supertype_;
8303        }
8304        /**
8305         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8306         */
8307        public int getSupertypeCount() {
8308          return supertype_.size();
8309        }
8310        /**
8311         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8312         */
8313        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index) {
8314          return supertype_.get(index);
8315        }
8316        /**
8317         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8318         */
8319        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getSupertypeOrBuilder(
8320            int index) {
8321          return supertype_.get(index);
8322        }
8323    
8324        // repeated int32 nested_class_name = 7;
8325        public static final int NESTED_CLASS_NAME_FIELD_NUMBER = 7;
8326        private java.util.List<java.lang.Integer> nestedClassName_;
8327        /**
8328         * <code>repeated int32 nested_class_name = 7;</code>
8329         *
8330         * <pre>
8331         * we store only names, because the actual information must reside in the corresponding .class files,
8332         * to be obtainable through reflection at runtime
8333         * </pre>
8334         */
8335        public java.util.List<java.lang.Integer>
8336            getNestedClassNameList() {
8337          return nestedClassName_;
8338        }
8339        /**
8340         * <code>repeated int32 nested_class_name = 7;</code>
8341         *
8342         * <pre>
8343         * we store only names, because the actual information must reside in the corresponding .class files,
8344         * to be obtainable through reflection at runtime
8345         * </pre>
8346         */
8347        public int getNestedClassNameCount() {
8348          return nestedClassName_.size();
8349        }
8350        /**
8351         * <code>repeated int32 nested_class_name = 7;</code>
8352         *
8353         * <pre>
8354         * we store only names, because the actual information must reside in the corresponding .class files,
8355         * to be obtainable through reflection at runtime
8356         * </pre>
8357         */
8358        public int getNestedClassName(int index) {
8359          return nestedClassName_.get(index);
8360        }
8361    
8362        // repeated .org.jetbrains.kotlin.serialization.Callable member = 11;
8363        public static final int MEMBER_FIELD_NUMBER = 11;
8364        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> member_;
8365        /**
8366         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
8367         */
8368        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getMemberList() {
8369          return member_;
8370        }
8371        /**
8372         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
8373         */
8374        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder> 
8375            getMemberOrBuilderList() {
8376          return member_;
8377        }
8378        /**
8379         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
8380         */
8381        public int getMemberCount() {
8382          return member_.size();
8383        }
8384        /**
8385         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
8386         */
8387        public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index) {
8388          return member_.get(index);
8389        }
8390        /**
8391         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
8392         */
8393        public org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder getMemberOrBuilder(
8394            int index) {
8395          return member_.get(index);
8396        }
8397    
8398        // repeated int32 enum_entry = 12;
8399        public static final int ENUM_ENTRY_FIELD_NUMBER = 12;
8400        private java.util.List<java.lang.Integer> enumEntry_;
8401        /**
8402         * <code>repeated int32 enum_entry = 12;</code>
8403         */
8404        public java.util.List<java.lang.Integer>
8405            getEnumEntryList() {
8406          return enumEntry_;
8407        }
8408        /**
8409         * <code>repeated int32 enum_entry = 12;</code>
8410         */
8411        public int getEnumEntryCount() {
8412          return enumEntry_.size();
8413        }
8414        /**
8415         * <code>repeated int32 enum_entry = 12;</code>
8416         */
8417        public int getEnumEntry(int index) {
8418          return enumEntry_.get(index);
8419        }
8420    
8421        // optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;
8422        public static final int PRIMARY_CONSTRUCTOR_FIELD_NUMBER = 13;
8423        private org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor primaryConstructor_;
8424        /**
8425         * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
8426         *
8427         * <pre>
8428         * This field is present if and only if the class has a primary constructor
8429         * </pre>
8430         */
8431        public boolean hasPrimaryConstructor() {
8432          return ((bitField0_ & 0x00000008) == 0x00000008);
8433        }
8434        /**
8435         * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
8436         *
8437         * <pre>
8438         * This field is present if and only if the class has a primary constructor
8439         * </pre>
8440         */
8441        public org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor getPrimaryConstructor() {
8442          return primaryConstructor_;
8443        }
8444    
8445        // repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;
8446        public static final int SECONDARY_CONSTRUCTOR_FIELD_NUMBER = 14;
8447        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> secondaryConstructor_;
8448        /**
8449         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
8450         */
8451        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getSecondaryConstructorList() {
8452          return secondaryConstructor_;
8453        }
8454        /**
8455         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
8456         */
8457        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder> 
8458            getSecondaryConstructorOrBuilderList() {
8459          return secondaryConstructor_;
8460        }
8461        /**
8462         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
8463         */
8464        public int getSecondaryConstructorCount() {
8465          return secondaryConstructor_.size();
8466        }
8467        /**
8468         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
8469         */
8470        public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getSecondaryConstructor(int index) {
8471          return secondaryConstructor_.get(index);
8472        }
8473        /**
8474         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
8475         */
8476        public org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder getSecondaryConstructorOrBuilder(
8477            int index) {
8478          return secondaryConstructor_.get(index);
8479        }
8480    
8481        private void initFields() {
8482          flags_ = 0;
8483          fqName_ = 0;
8484          companionObjectName_ = 0;
8485          typeParameter_ = java.util.Collections.emptyList();
8486          supertype_ = java.util.Collections.emptyList();
8487          nestedClassName_ = java.util.Collections.emptyList();
8488          member_ = java.util.Collections.emptyList();
8489          enumEntry_ = java.util.Collections.emptyList();
8490          primaryConstructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
8491          secondaryConstructor_ = java.util.Collections.emptyList();
8492        }
8493        private byte memoizedIsInitialized = -1;
8494        public final boolean isInitialized() {
8495          byte isInitialized = memoizedIsInitialized;
8496          if (isInitialized != -1) return isInitialized == 1;
8497    
8498          if (!hasFqName()) {
8499            memoizedIsInitialized = 0;
8500            return false;
8501          }
8502          for (int i = 0; i < getTypeParameterCount(); i++) {
8503            if (!getTypeParameter(i).isInitialized()) {
8504              memoizedIsInitialized = 0;
8505              return false;
8506            }
8507          }
8508          for (int i = 0; i < getSupertypeCount(); i++) {
8509            if (!getSupertype(i).isInitialized()) {
8510              memoizedIsInitialized = 0;
8511              return false;
8512            }
8513          }
8514          for (int i = 0; i < getMemberCount(); i++) {
8515            if (!getMember(i).isInitialized()) {
8516              memoizedIsInitialized = 0;
8517              return false;
8518            }
8519          }
8520          if (hasPrimaryConstructor()) {
8521            if (!getPrimaryConstructor().isInitialized()) {
8522              memoizedIsInitialized = 0;
8523              return false;
8524            }
8525          }
8526          for (int i = 0; i < getSecondaryConstructorCount(); i++) {
8527            if (!getSecondaryConstructor(i).isInitialized()) {
8528              memoizedIsInitialized = 0;
8529              return false;
8530            }
8531          }
8532          if (!extensionsAreInitialized()) {
8533            memoizedIsInitialized = 0;
8534            return false;
8535          }
8536          memoizedIsInitialized = 1;
8537          return true;
8538        }
8539    
8540        public void writeTo(com.google.protobuf.CodedOutputStream output)
8541                            throws java.io.IOException {
8542          getSerializedSize();
8543          com.google.protobuf.GeneratedMessageLite
8544            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Class>.ExtensionWriter extensionWriter =
8545              newExtensionWriter();
8546          if (((bitField0_ & 0x00000001) == 0x00000001)) {
8547            output.writeInt32(1, flags_);
8548          }
8549          if (((bitField0_ & 0x00000002) == 0x00000002)) {
8550            output.writeInt32(3, fqName_);
8551          }
8552          if (((bitField0_ & 0x00000004) == 0x00000004)) {
8553            output.writeInt32(4, companionObjectName_);
8554          }
8555          for (int i = 0; i < typeParameter_.size(); i++) {
8556            output.writeMessage(5, typeParameter_.get(i));
8557          }
8558          for (int i = 0; i < supertype_.size(); i++) {
8559            output.writeMessage(6, supertype_.get(i));
8560          }
8561          for (int i = 0; i < nestedClassName_.size(); i++) {
8562            output.writeInt32(7, nestedClassName_.get(i));
8563          }
8564          for (int i = 0; i < member_.size(); i++) {
8565            output.writeMessage(11, member_.get(i));
8566          }
8567          for (int i = 0; i < enumEntry_.size(); i++) {
8568            output.writeInt32(12, enumEntry_.get(i));
8569          }
8570          if (((bitField0_ & 0x00000008) == 0x00000008)) {
8571            output.writeMessage(13, primaryConstructor_);
8572          }
8573          for (int i = 0; i < secondaryConstructor_.size(); i++) {
8574            output.writeMessage(14, secondaryConstructor_.get(i));
8575          }
8576          extensionWriter.writeUntil(200, output);
8577        }
8578    
8579        private int memoizedSerializedSize = -1;
8580        public int getSerializedSize() {
8581          int size = memoizedSerializedSize;
8582          if (size != -1) return size;
8583    
8584          size = 0;
8585          if (((bitField0_ & 0x00000001) == 0x00000001)) {
8586            size += com.google.protobuf.CodedOutputStream
8587              .computeInt32Size(1, flags_);
8588          }
8589          if (((bitField0_ & 0x00000002) == 0x00000002)) {
8590            size += com.google.protobuf.CodedOutputStream
8591              .computeInt32Size(3, fqName_);
8592          }
8593          if (((bitField0_ & 0x00000004) == 0x00000004)) {
8594            size += com.google.protobuf.CodedOutputStream
8595              .computeInt32Size(4, companionObjectName_);
8596          }
8597          for (int i = 0; i < typeParameter_.size(); i++) {
8598            size += com.google.protobuf.CodedOutputStream
8599              .computeMessageSize(5, typeParameter_.get(i));
8600          }
8601          for (int i = 0; i < supertype_.size(); i++) {
8602            size += com.google.protobuf.CodedOutputStream
8603              .computeMessageSize(6, supertype_.get(i));
8604          }
8605          {
8606            int dataSize = 0;
8607            for (int i = 0; i < nestedClassName_.size(); i++) {
8608              dataSize += com.google.protobuf.CodedOutputStream
8609                .computeInt32SizeNoTag(nestedClassName_.get(i));
8610            }
8611            size += dataSize;
8612            size += 1 * getNestedClassNameList().size();
8613          }
8614          for (int i = 0; i < member_.size(); i++) {
8615            size += com.google.protobuf.CodedOutputStream
8616              .computeMessageSize(11, member_.get(i));
8617          }
8618          {
8619            int dataSize = 0;
8620            for (int i = 0; i < enumEntry_.size(); i++) {
8621              dataSize += com.google.protobuf.CodedOutputStream
8622                .computeInt32SizeNoTag(enumEntry_.get(i));
8623            }
8624            size += dataSize;
8625            size += 1 * getEnumEntryList().size();
8626          }
8627          if (((bitField0_ & 0x00000008) == 0x00000008)) {
8628            size += com.google.protobuf.CodedOutputStream
8629              .computeMessageSize(13, primaryConstructor_);
8630          }
8631          for (int i = 0; i < secondaryConstructor_.size(); i++) {
8632            size += com.google.protobuf.CodedOutputStream
8633              .computeMessageSize(14, secondaryConstructor_.get(i));
8634          }
8635          size += extensionsSerializedSize();
8636          memoizedSerializedSize = size;
8637          return size;
8638        }
8639    
8640        private static final long serialVersionUID = 0L;
8641        @java.lang.Override
8642        protected java.lang.Object writeReplace()
8643            throws java.io.ObjectStreamException {
8644          return super.writeReplace();
8645        }
8646    
8647        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8648            com.google.protobuf.ByteString data)
8649            throws com.google.protobuf.InvalidProtocolBufferException {
8650          return PARSER.parseFrom(data);
8651        }
8652        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8653            com.google.protobuf.ByteString data,
8654            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8655            throws com.google.protobuf.InvalidProtocolBufferException {
8656          return PARSER.parseFrom(data, extensionRegistry);
8657        }
8658        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(byte[] data)
8659            throws com.google.protobuf.InvalidProtocolBufferException {
8660          return PARSER.parseFrom(data);
8661        }
8662        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8663            byte[] data,
8664            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8665            throws com.google.protobuf.InvalidProtocolBufferException {
8666          return PARSER.parseFrom(data, extensionRegistry);
8667        }
8668        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(java.io.InputStream input)
8669            throws java.io.IOException {
8670          return PARSER.parseFrom(input);
8671        }
8672        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8673            java.io.InputStream input,
8674            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8675            throws java.io.IOException {
8676          return PARSER.parseFrom(input, extensionRegistry);
8677        }
8678        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseDelimitedFrom(java.io.InputStream input)
8679            throws java.io.IOException {
8680          return PARSER.parseDelimitedFrom(input);
8681        }
8682        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseDelimitedFrom(
8683            java.io.InputStream input,
8684            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8685            throws java.io.IOException {
8686          return PARSER.parseDelimitedFrom(input, extensionRegistry);
8687        }
8688        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8689            com.google.protobuf.CodedInputStream input)
8690            throws java.io.IOException {
8691          return PARSER.parseFrom(input);
8692        }
8693        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8694            com.google.protobuf.CodedInputStream input,
8695            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8696            throws java.io.IOException {
8697          return PARSER.parseFrom(input, extensionRegistry);
8698        }
8699    
8700        public static Builder newBuilder() { return Builder.create(); }
8701        public Builder newBuilderForType() { return newBuilder(); }
8702        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Class prototype) {
8703          return newBuilder().mergeFrom(prototype);
8704        }
8705        public Builder toBuilder() { return newBuilder(this); }
8706    
8707        /**
8708         * Protobuf type {@code org.jetbrains.kotlin.serialization.Class}
8709         */
8710        public static final class Builder extends
8711            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
8712              org.jetbrains.kotlin.serialization.ProtoBuf.Class, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.ClassOrBuilder {
8713          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Class.newBuilder()
8714          private Builder() {
8715            maybeForceBuilderInitialization();
8716          }
8717    
8718          private void maybeForceBuilderInitialization() {
8719          }
8720          private static Builder create() {
8721            return new Builder();
8722          }
8723    
8724          public Builder clear() {
8725            super.clear();
8726            flags_ = 0;
8727            bitField0_ = (bitField0_ & ~0x00000001);
8728            fqName_ = 0;
8729            bitField0_ = (bitField0_ & ~0x00000002);
8730            companionObjectName_ = 0;
8731            bitField0_ = (bitField0_ & ~0x00000004);
8732            typeParameter_ = java.util.Collections.emptyList();
8733            bitField0_ = (bitField0_ & ~0x00000008);
8734            supertype_ = java.util.Collections.emptyList();
8735            bitField0_ = (bitField0_ & ~0x00000010);
8736            nestedClassName_ = java.util.Collections.emptyList();
8737            bitField0_ = (bitField0_ & ~0x00000020);
8738            member_ = java.util.Collections.emptyList();
8739            bitField0_ = (bitField0_ & ~0x00000040);
8740            enumEntry_ = java.util.Collections.emptyList();
8741            bitField0_ = (bitField0_ & ~0x00000080);
8742            primaryConstructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
8743            bitField0_ = (bitField0_ & ~0x00000100);
8744            secondaryConstructor_ = java.util.Collections.emptyList();
8745            bitField0_ = (bitField0_ & ~0x00000200);
8746            return this;
8747          }
8748    
8749          public Builder clone() {
8750            return create().mergeFrom(buildPartial());
8751          }
8752    
8753          public org.jetbrains.kotlin.serialization.ProtoBuf.Class getDefaultInstanceForType() {
8754            return org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance();
8755          }
8756    
8757          public org.jetbrains.kotlin.serialization.ProtoBuf.Class build() {
8758            org.jetbrains.kotlin.serialization.ProtoBuf.Class result = buildPartial();
8759            if (!result.isInitialized()) {
8760              throw newUninitializedMessageException(result);
8761            }
8762            return result;
8763          }
8764    
8765          public org.jetbrains.kotlin.serialization.ProtoBuf.Class buildPartial() {
8766            org.jetbrains.kotlin.serialization.ProtoBuf.Class result = new org.jetbrains.kotlin.serialization.ProtoBuf.Class(this);
8767            int from_bitField0_ = bitField0_;
8768            int to_bitField0_ = 0;
8769            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
8770              to_bitField0_ |= 0x00000001;
8771            }
8772            result.flags_ = flags_;
8773            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
8774              to_bitField0_ |= 0x00000002;
8775            }
8776            result.fqName_ = fqName_;
8777            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
8778              to_bitField0_ |= 0x00000004;
8779            }
8780            result.companionObjectName_ = companionObjectName_;
8781            if (((bitField0_ & 0x00000008) == 0x00000008)) {
8782              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
8783              bitField0_ = (bitField0_ & ~0x00000008);
8784            }
8785            result.typeParameter_ = typeParameter_;
8786            if (((bitField0_ & 0x00000010) == 0x00000010)) {
8787              supertype_ = java.util.Collections.unmodifiableList(supertype_);
8788              bitField0_ = (bitField0_ & ~0x00000010);
8789            }
8790            result.supertype_ = supertype_;
8791            if (((bitField0_ & 0x00000020) == 0x00000020)) {
8792              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
8793              bitField0_ = (bitField0_ & ~0x00000020);
8794            }
8795            result.nestedClassName_ = nestedClassName_;
8796            if (((bitField0_ & 0x00000040) == 0x00000040)) {
8797              member_ = java.util.Collections.unmodifiableList(member_);
8798              bitField0_ = (bitField0_ & ~0x00000040);
8799            }
8800            result.member_ = member_;
8801            if (((bitField0_ & 0x00000080) == 0x00000080)) {
8802              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
8803              bitField0_ = (bitField0_ & ~0x00000080);
8804            }
8805            result.enumEntry_ = enumEntry_;
8806            if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
8807              to_bitField0_ |= 0x00000008;
8808            }
8809            result.primaryConstructor_ = primaryConstructor_;
8810            if (((bitField0_ & 0x00000200) == 0x00000200)) {
8811              secondaryConstructor_ = java.util.Collections.unmodifiableList(secondaryConstructor_);
8812              bitField0_ = (bitField0_ & ~0x00000200);
8813            }
8814            result.secondaryConstructor_ = secondaryConstructor_;
8815            result.bitField0_ = to_bitField0_;
8816            return result;
8817          }
8818    
8819          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Class other) {
8820            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance()) return this;
8821            if (other.hasFlags()) {
8822              setFlags(other.getFlags());
8823            }
8824            if (other.hasFqName()) {
8825              setFqName(other.getFqName());
8826            }
8827            if (other.hasCompanionObjectName()) {
8828              setCompanionObjectName(other.getCompanionObjectName());
8829            }
8830            if (!other.typeParameter_.isEmpty()) {
8831              if (typeParameter_.isEmpty()) {
8832                typeParameter_ = other.typeParameter_;
8833                bitField0_ = (bitField0_ & ~0x00000008);
8834              } else {
8835                ensureTypeParameterIsMutable();
8836                typeParameter_.addAll(other.typeParameter_);
8837              }
8838              
8839            }
8840            if (!other.supertype_.isEmpty()) {
8841              if (supertype_.isEmpty()) {
8842                supertype_ = other.supertype_;
8843                bitField0_ = (bitField0_ & ~0x00000010);
8844              } else {
8845                ensureSupertypeIsMutable();
8846                supertype_.addAll(other.supertype_);
8847              }
8848              
8849            }
8850            if (!other.nestedClassName_.isEmpty()) {
8851              if (nestedClassName_.isEmpty()) {
8852                nestedClassName_ = other.nestedClassName_;
8853                bitField0_ = (bitField0_ & ~0x00000020);
8854              } else {
8855                ensureNestedClassNameIsMutable();
8856                nestedClassName_.addAll(other.nestedClassName_);
8857              }
8858              
8859            }
8860            if (!other.member_.isEmpty()) {
8861              if (member_.isEmpty()) {
8862                member_ = other.member_;
8863                bitField0_ = (bitField0_ & ~0x00000040);
8864              } else {
8865                ensureMemberIsMutable();
8866                member_.addAll(other.member_);
8867              }
8868              
8869            }
8870            if (!other.enumEntry_.isEmpty()) {
8871              if (enumEntry_.isEmpty()) {
8872                enumEntry_ = other.enumEntry_;
8873                bitField0_ = (bitField0_ & ~0x00000080);
8874              } else {
8875                ensureEnumEntryIsMutable();
8876                enumEntry_.addAll(other.enumEntry_);
8877              }
8878              
8879            }
8880            if (other.hasPrimaryConstructor()) {
8881              mergePrimaryConstructor(other.getPrimaryConstructor());
8882            }
8883            if (!other.secondaryConstructor_.isEmpty()) {
8884              if (secondaryConstructor_.isEmpty()) {
8885                secondaryConstructor_ = other.secondaryConstructor_;
8886                bitField0_ = (bitField0_ & ~0x00000200);
8887              } else {
8888                ensureSecondaryConstructorIsMutable();
8889                secondaryConstructor_.addAll(other.secondaryConstructor_);
8890              }
8891              
8892            }
8893            this.mergeExtensionFields(other);
8894            return this;
8895          }
8896    
8897          public final boolean isInitialized() {
8898            if (!hasFqName()) {
8899              
8900              return false;
8901            }
8902            for (int i = 0; i < getTypeParameterCount(); i++) {
8903              if (!getTypeParameter(i).isInitialized()) {
8904                
8905                return false;
8906              }
8907            }
8908            for (int i = 0; i < getSupertypeCount(); i++) {
8909              if (!getSupertype(i).isInitialized()) {
8910                
8911                return false;
8912              }
8913            }
8914            for (int i = 0; i < getMemberCount(); i++) {
8915              if (!getMember(i).isInitialized()) {
8916                
8917                return false;
8918              }
8919            }
8920            if (hasPrimaryConstructor()) {
8921              if (!getPrimaryConstructor().isInitialized()) {
8922                
8923                return false;
8924              }
8925            }
8926            for (int i = 0; i < getSecondaryConstructorCount(); i++) {
8927              if (!getSecondaryConstructor(i).isInitialized()) {
8928                
8929                return false;
8930              }
8931            }
8932            if (!extensionsAreInitialized()) {
8933              
8934              return false;
8935            }
8936            return true;
8937          }
8938    
8939          public Builder mergeFrom(
8940              com.google.protobuf.CodedInputStream input,
8941              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8942              throws java.io.IOException {
8943            org.jetbrains.kotlin.serialization.ProtoBuf.Class parsedMessage = null;
8944            try {
8945              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
8946            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8947              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Class) e.getUnfinishedMessage();
8948              throw e;
8949            } finally {
8950              if (parsedMessage != null) {
8951                mergeFrom(parsedMessage);
8952              }
8953            }
8954            return this;
8955          }
8956          private int bitField0_;
8957    
8958          // optional int32 flags = 1 [default = 0];
8959          private int flags_ ;
8960          /**
8961           * <code>optional int32 flags = 1 [default = 0];</code>
8962           *
8963           * <pre>
8964           *
8965           *Visibility
8966           *Modality
8967           *has_annotation
8968           *ClassKind
8969           *is_inner
8970           * </pre>
8971           */
8972          public boolean hasFlags() {
8973            return ((bitField0_ & 0x00000001) == 0x00000001);
8974          }
8975          /**
8976           * <code>optional int32 flags = 1 [default = 0];</code>
8977           *
8978           * <pre>
8979           *
8980           *Visibility
8981           *Modality
8982           *has_annotation
8983           *ClassKind
8984           *is_inner
8985           * </pre>
8986           */
8987          public int getFlags() {
8988            return flags_;
8989          }
8990          /**
8991           * <code>optional int32 flags = 1 [default = 0];</code>
8992           *
8993           * <pre>
8994           *
8995           *Visibility
8996           *Modality
8997           *has_annotation
8998           *ClassKind
8999           *is_inner
9000           * </pre>
9001           */
9002          public Builder setFlags(int value) {
9003            bitField0_ |= 0x00000001;
9004            flags_ = value;
9005            
9006            return this;
9007          }
9008          /**
9009           * <code>optional int32 flags = 1 [default = 0];</code>
9010           *
9011           * <pre>
9012           *
9013           *Visibility
9014           *Modality
9015           *has_annotation
9016           *ClassKind
9017           *is_inner
9018           * </pre>
9019           */
9020          public Builder clearFlags() {
9021            bitField0_ = (bitField0_ & ~0x00000001);
9022            flags_ = 0;
9023            
9024            return this;
9025          }
9026    
9027          // required int32 fq_name = 3;
9028          private int fqName_ ;
9029          /**
9030           * <code>required int32 fq_name = 3;</code>
9031           */
9032          public boolean hasFqName() {
9033            return ((bitField0_ & 0x00000002) == 0x00000002);
9034          }
9035          /**
9036           * <code>required int32 fq_name = 3;</code>
9037           */
9038          public int getFqName() {
9039            return fqName_;
9040          }
9041          /**
9042           * <code>required int32 fq_name = 3;</code>
9043           */
9044          public Builder setFqName(int value) {
9045            bitField0_ |= 0x00000002;
9046            fqName_ = value;
9047            
9048            return this;
9049          }
9050          /**
9051           * <code>required int32 fq_name = 3;</code>
9052           */
9053          public Builder clearFqName() {
9054            bitField0_ = (bitField0_ & ~0x00000002);
9055            fqName_ = 0;
9056            
9057            return this;
9058          }
9059    
9060          // optional int32 companion_object_name = 4;
9061          private int companionObjectName_ ;
9062          /**
9063           * <code>optional int32 companion_object_name = 4;</code>
9064           *
9065           * <pre>
9066           * If this field is present, it contains the name of companion object.
9067           * </pre>
9068           */
9069          public boolean hasCompanionObjectName() {
9070            return ((bitField0_ & 0x00000004) == 0x00000004);
9071          }
9072          /**
9073           * <code>optional int32 companion_object_name = 4;</code>
9074           *
9075           * <pre>
9076           * If this field is present, it contains the name of companion object.
9077           * </pre>
9078           */
9079          public int getCompanionObjectName() {
9080            return companionObjectName_;
9081          }
9082          /**
9083           * <code>optional int32 companion_object_name = 4;</code>
9084           *
9085           * <pre>
9086           * If this field is present, it contains the name of companion object.
9087           * </pre>
9088           */
9089          public Builder setCompanionObjectName(int value) {
9090            bitField0_ |= 0x00000004;
9091            companionObjectName_ = value;
9092            
9093            return this;
9094          }
9095          /**
9096           * <code>optional int32 companion_object_name = 4;</code>
9097           *
9098           * <pre>
9099           * If this field is present, it contains the name of companion object.
9100           * </pre>
9101           */
9102          public Builder clearCompanionObjectName() {
9103            bitField0_ = (bitField0_ & ~0x00000004);
9104            companionObjectName_ = 0;
9105            
9106            return this;
9107          }
9108    
9109          // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;
9110          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
9111            java.util.Collections.emptyList();
9112          private void ensureTypeParameterIsMutable() {
9113            if (!((bitField0_ & 0x00000008) == 0x00000008)) {
9114              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
9115              bitField0_ |= 0x00000008;
9116             }
9117          }
9118    
9119          /**
9120           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9121           */
9122          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
9123            return java.util.Collections.unmodifiableList(typeParameter_);
9124          }
9125          /**
9126           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9127           */
9128          public int getTypeParameterCount() {
9129            return typeParameter_.size();
9130          }
9131          /**
9132           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9133           */
9134          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
9135            return typeParameter_.get(index);
9136          }
9137          /**
9138           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9139           */
9140          public Builder setTypeParameter(
9141              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9142            if (value == null) {
9143              throw new NullPointerException();
9144            }
9145            ensureTypeParameterIsMutable();
9146            typeParameter_.set(index, value);
9147    
9148            return this;
9149          }
9150          /**
9151           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9152           */
9153          public Builder setTypeParameter(
9154              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9155            ensureTypeParameterIsMutable();
9156            typeParameter_.set(index, builderForValue.build());
9157    
9158            return this;
9159          }
9160          /**
9161           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9162           */
9163          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9164            if (value == null) {
9165              throw new NullPointerException();
9166            }
9167            ensureTypeParameterIsMutable();
9168            typeParameter_.add(value);
9169    
9170            return this;
9171          }
9172          /**
9173           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9174           */
9175          public Builder addTypeParameter(
9176              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9177            if (value == null) {
9178              throw new NullPointerException();
9179            }
9180            ensureTypeParameterIsMutable();
9181            typeParameter_.add(index, value);
9182    
9183            return this;
9184          }
9185          /**
9186           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9187           */
9188          public Builder addTypeParameter(
9189              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9190            ensureTypeParameterIsMutable();
9191            typeParameter_.add(builderForValue.build());
9192    
9193            return this;
9194          }
9195          /**
9196           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9197           */
9198          public Builder addTypeParameter(
9199              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9200            ensureTypeParameterIsMutable();
9201            typeParameter_.add(index, builderForValue.build());
9202    
9203            return this;
9204          }
9205          /**
9206           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9207           */
9208          public Builder addAllTypeParameter(
9209              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
9210            ensureTypeParameterIsMutable();
9211            super.addAll(values, typeParameter_);
9212    
9213            return this;
9214          }
9215          /**
9216           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9217           */
9218          public Builder clearTypeParameter() {
9219            typeParameter_ = java.util.Collections.emptyList();
9220            bitField0_ = (bitField0_ & ~0x00000008);
9221    
9222            return this;
9223          }
9224          /**
9225           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9226           */
9227          public Builder removeTypeParameter(int index) {
9228            ensureTypeParameterIsMutable();
9229            typeParameter_.remove(index);
9230    
9231            return this;
9232          }
9233    
9234          // repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;
9235          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> supertype_ =
9236            java.util.Collections.emptyList();
9237          private void ensureSupertypeIsMutable() {
9238            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
9239              supertype_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(supertype_);
9240              bitField0_ |= 0x00000010;
9241             }
9242          }
9243    
9244          /**
9245           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9246           */
9247          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getSupertypeList() {
9248            return java.util.Collections.unmodifiableList(supertype_);
9249          }
9250          /**
9251           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9252           */
9253          public int getSupertypeCount() {
9254            return supertype_.size();
9255          }
9256          /**
9257           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9258           */
9259          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index) {
9260            return supertype_.get(index);
9261          }
9262          /**
9263           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9264           */
9265          public Builder setSupertype(
9266              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9267            if (value == null) {
9268              throw new NullPointerException();
9269            }
9270            ensureSupertypeIsMutable();
9271            supertype_.set(index, value);
9272    
9273            return this;
9274          }
9275          /**
9276           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9277           */
9278          public Builder setSupertype(
9279              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9280            ensureSupertypeIsMutable();
9281            supertype_.set(index, builderForValue.build());
9282    
9283            return this;
9284          }
9285          /**
9286           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9287           */
9288          public Builder addSupertype(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9289            if (value == null) {
9290              throw new NullPointerException();
9291            }
9292            ensureSupertypeIsMutable();
9293            supertype_.add(value);
9294    
9295            return this;
9296          }
9297          /**
9298           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9299           */
9300          public Builder addSupertype(
9301              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9302            if (value == null) {
9303              throw new NullPointerException();
9304            }
9305            ensureSupertypeIsMutable();
9306            supertype_.add(index, value);
9307    
9308            return this;
9309          }
9310          /**
9311           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9312           */
9313          public Builder addSupertype(
9314              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9315            ensureSupertypeIsMutable();
9316            supertype_.add(builderForValue.build());
9317    
9318            return this;
9319          }
9320          /**
9321           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9322           */
9323          public Builder addSupertype(
9324              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9325            ensureSupertypeIsMutable();
9326            supertype_.add(index, builderForValue.build());
9327    
9328            return this;
9329          }
9330          /**
9331           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9332           */
9333          public Builder addAllSupertype(
9334              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
9335            ensureSupertypeIsMutable();
9336            super.addAll(values, supertype_);
9337    
9338            return this;
9339          }
9340          /**
9341           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9342           */
9343          public Builder clearSupertype() {
9344            supertype_ = java.util.Collections.emptyList();
9345            bitField0_ = (bitField0_ & ~0x00000010);
9346    
9347            return this;
9348          }
9349          /**
9350           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9351           */
9352          public Builder removeSupertype(int index) {
9353            ensureSupertypeIsMutable();
9354            supertype_.remove(index);
9355    
9356            return this;
9357          }
9358    
9359          // repeated int32 nested_class_name = 7;
9360          private java.util.List<java.lang.Integer> nestedClassName_ = java.util.Collections.emptyList();
9361          private void ensureNestedClassNameIsMutable() {
9362            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
9363              nestedClassName_ = new java.util.ArrayList<java.lang.Integer>(nestedClassName_);
9364              bitField0_ |= 0x00000020;
9365             }
9366          }
9367          /**
9368           * <code>repeated int32 nested_class_name = 7;</code>
9369           *
9370           * <pre>
9371           * we store only names, because the actual information must reside in the corresponding .class files,
9372           * to be obtainable through reflection at runtime
9373           * </pre>
9374           */
9375          public java.util.List<java.lang.Integer>
9376              getNestedClassNameList() {
9377            return java.util.Collections.unmodifiableList(nestedClassName_);
9378          }
9379          /**
9380           * <code>repeated int32 nested_class_name = 7;</code>
9381           *
9382           * <pre>
9383           * we store only names, because the actual information must reside in the corresponding .class files,
9384           * to be obtainable through reflection at runtime
9385           * </pre>
9386           */
9387          public int getNestedClassNameCount() {
9388            return nestedClassName_.size();
9389          }
9390          /**
9391           * <code>repeated int32 nested_class_name = 7;</code>
9392           *
9393           * <pre>
9394           * we store only names, because the actual information must reside in the corresponding .class files,
9395           * to be obtainable through reflection at runtime
9396           * </pre>
9397           */
9398          public int getNestedClassName(int index) {
9399            return nestedClassName_.get(index);
9400          }
9401          /**
9402           * <code>repeated int32 nested_class_name = 7;</code>
9403           *
9404           * <pre>
9405           * we store only names, because the actual information must reside in the corresponding .class files,
9406           * to be obtainable through reflection at runtime
9407           * </pre>
9408           */
9409          public Builder setNestedClassName(
9410              int index, int value) {
9411            ensureNestedClassNameIsMutable();
9412            nestedClassName_.set(index, value);
9413            
9414            return this;
9415          }
9416          /**
9417           * <code>repeated int32 nested_class_name = 7;</code>
9418           *
9419           * <pre>
9420           * we store only names, because the actual information must reside in the corresponding .class files,
9421           * to be obtainable through reflection at runtime
9422           * </pre>
9423           */
9424          public Builder addNestedClassName(int value) {
9425            ensureNestedClassNameIsMutable();
9426            nestedClassName_.add(value);
9427            
9428            return this;
9429          }
9430          /**
9431           * <code>repeated int32 nested_class_name = 7;</code>
9432           *
9433           * <pre>
9434           * we store only names, because the actual information must reside in the corresponding .class files,
9435           * to be obtainable through reflection at runtime
9436           * </pre>
9437           */
9438          public Builder addAllNestedClassName(
9439              java.lang.Iterable<? extends java.lang.Integer> values) {
9440            ensureNestedClassNameIsMutable();
9441            super.addAll(values, nestedClassName_);
9442            
9443            return this;
9444          }
9445          /**
9446           * <code>repeated int32 nested_class_name = 7;</code>
9447           *
9448           * <pre>
9449           * we store only names, because the actual information must reside in the corresponding .class files,
9450           * to be obtainable through reflection at runtime
9451           * </pre>
9452           */
9453          public Builder clearNestedClassName() {
9454            nestedClassName_ = java.util.Collections.emptyList();
9455            bitField0_ = (bitField0_ & ~0x00000020);
9456            
9457            return this;
9458          }
9459    
9460          // repeated .org.jetbrains.kotlin.serialization.Callable member = 11;
9461          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> member_ =
9462            java.util.Collections.emptyList();
9463          private void ensureMemberIsMutable() {
9464            if (!((bitField0_ & 0x00000040) == 0x00000040)) {
9465              member_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>(member_);
9466              bitField0_ |= 0x00000040;
9467             }
9468          }
9469    
9470          /**
9471           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9472           */
9473          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getMemberList() {
9474            return java.util.Collections.unmodifiableList(member_);
9475          }
9476          /**
9477           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9478           */
9479          public int getMemberCount() {
9480            return member_.size();
9481          }
9482          /**
9483           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9484           */
9485          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index) {
9486            return member_.get(index);
9487          }
9488          /**
9489           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9490           */
9491          public Builder setMember(
9492              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
9493            if (value == null) {
9494              throw new NullPointerException();
9495            }
9496            ensureMemberIsMutable();
9497            member_.set(index, value);
9498    
9499            return this;
9500          }
9501          /**
9502           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9503           */
9504          public Builder setMember(
9505              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
9506            ensureMemberIsMutable();
9507            member_.set(index, builderForValue.build());
9508    
9509            return this;
9510          }
9511          /**
9512           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9513           */
9514          public Builder addMember(org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
9515            if (value == null) {
9516              throw new NullPointerException();
9517            }
9518            ensureMemberIsMutable();
9519            member_.add(value);
9520    
9521            return this;
9522          }
9523          /**
9524           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9525           */
9526          public Builder addMember(
9527              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
9528            if (value == null) {
9529              throw new NullPointerException();
9530            }
9531            ensureMemberIsMutable();
9532            member_.add(index, value);
9533    
9534            return this;
9535          }
9536          /**
9537           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9538           */
9539          public Builder addMember(
9540              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
9541            ensureMemberIsMutable();
9542            member_.add(builderForValue.build());
9543    
9544            return this;
9545          }
9546          /**
9547           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9548           */
9549          public Builder addMember(
9550              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
9551            ensureMemberIsMutable();
9552            member_.add(index, builderForValue.build());
9553    
9554            return this;
9555          }
9556          /**
9557           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9558           */
9559          public Builder addAllMember(
9560              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Callable> values) {
9561            ensureMemberIsMutable();
9562            super.addAll(values, member_);
9563    
9564            return this;
9565          }
9566          /**
9567           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9568           */
9569          public Builder clearMember() {
9570            member_ = java.util.Collections.emptyList();
9571            bitField0_ = (bitField0_ & ~0x00000040);
9572    
9573            return this;
9574          }
9575          /**
9576           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9577           */
9578          public Builder removeMember(int index) {
9579            ensureMemberIsMutable();
9580            member_.remove(index);
9581    
9582            return this;
9583          }
9584    
9585          // repeated int32 enum_entry = 12;
9586          private java.util.List<java.lang.Integer> enumEntry_ = java.util.Collections.emptyList();
9587          private void ensureEnumEntryIsMutable() {
9588            if (!((bitField0_ & 0x00000080) == 0x00000080)) {
9589              enumEntry_ = new java.util.ArrayList<java.lang.Integer>(enumEntry_);
9590              bitField0_ |= 0x00000080;
9591             }
9592          }
9593          /**
9594           * <code>repeated int32 enum_entry = 12;</code>
9595           */
9596          public java.util.List<java.lang.Integer>
9597              getEnumEntryList() {
9598            return java.util.Collections.unmodifiableList(enumEntry_);
9599          }
9600          /**
9601           * <code>repeated int32 enum_entry = 12;</code>
9602           */
9603          public int getEnumEntryCount() {
9604            return enumEntry_.size();
9605          }
9606          /**
9607           * <code>repeated int32 enum_entry = 12;</code>
9608           */
9609          public int getEnumEntry(int index) {
9610            return enumEntry_.get(index);
9611          }
9612          /**
9613           * <code>repeated int32 enum_entry = 12;</code>
9614           */
9615          public Builder setEnumEntry(
9616              int index, int value) {
9617            ensureEnumEntryIsMutable();
9618            enumEntry_.set(index, value);
9619            
9620            return this;
9621          }
9622          /**
9623           * <code>repeated int32 enum_entry = 12;</code>
9624           */
9625          public Builder addEnumEntry(int value) {
9626            ensureEnumEntryIsMutable();
9627            enumEntry_.add(value);
9628            
9629            return this;
9630          }
9631          /**
9632           * <code>repeated int32 enum_entry = 12;</code>
9633           */
9634          public Builder addAllEnumEntry(
9635              java.lang.Iterable<? extends java.lang.Integer> values) {
9636            ensureEnumEntryIsMutable();
9637            super.addAll(values, enumEntry_);
9638            
9639            return this;
9640          }
9641          /**
9642           * <code>repeated int32 enum_entry = 12;</code>
9643           */
9644          public Builder clearEnumEntry() {
9645            enumEntry_ = java.util.Collections.emptyList();
9646            bitField0_ = (bitField0_ & ~0x00000080);
9647            
9648            return this;
9649          }
9650    
9651          // optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;
9652          private org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor primaryConstructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
9653          /**
9654           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
9655           *
9656           * <pre>
9657           * This field is present if and only if the class has a primary constructor
9658           * </pre>
9659           */
9660          public boolean hasPrimaryConstructor() {
9661            return ((bitField0_ & 0x00000100) == 0x00000100);
9662          }
9663          /**
9664           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
9665           *
9666           * <pre>
9667           * This field is present if and only if the class has a primary constructor
9668           * </pre>
9669           */
9670          public org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor getPrimaryConstructor() {
9671            return primaryConstructor_;
9672          }
9673          /**
9674           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
9675           *
9676           * <pre>
9677           * This field is present if and only if the class has a primary constructor
9678           * </pre>
9679           */
9680          public Builder setPrimaryConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor value) {
9681            if (value == null) {
9682              throw new NullPointerException();
9683            }
9684            primaryConstructor_ = value;
9685    
9686            bitField0_ |= 0x00000100;
9687            return this;
9688          }
9689          /**
9690           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
9691           *
9692           * <pre>
9693           * This field is present if and only if the class has a primary constructor
9694           * </pre>
9695           */
9696          public Builder setPrimaryConstructor(
9697              org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.Builder builderForValue) {
9698            primaryConstructor_ = builderForValue.build();
9699    
9700            bitField0_ |= 0x00000100;
9701            return this;
9702          }
9703          /**
9704           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
9705           *
9706           * <pre>
9707           * This field is present if and only if the class has a primary constructor
9708           * </pre>
9709           */
9710          public Builder mergePrimaryConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor value) {
9711            if (((bitField0_ & 0x00000100) == 0x00000100) &&
9712                primaryConstructor_ != org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance()) {
9713              primaryConstructor_ =
9714                org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.newBuilder(primaryConstructor_).mergeFrom(value).buildPartial();
9715            } else {
9716              primaryConstructor_ = value;
9717            }
9718    
9719            bitField0_ |= 0x00000100;
9720            return this;
9721          }
9722          /**
9723           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
9724           *
9725           * <pre>
9726           * This field is present if and only if the class has a primary constructor
9727           * </pre>
9728           */
9729          public Builder clearPrimaryConstructor() {
9730            primaryConstructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
9731    
9732            bitField0_ = (bitField0_ & ~0x00000100);
9733            return this;
9734          }
9735    
9736          // repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;
9737          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> secondaryConstructor_ =
9738            java.util.Collections.emptyList();
9739          private void ensureSecondaryConstructorIsMutable() {
9740            if (!((bitField0_ & 0x00000200) == 0x00000200)) {
9741              secondaryConstructor_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>(secondaryConstructor_);
9742              bitField0_ |= 0x00000200;
9743             }
9744          }
9745    
9746          /**
9747           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9748           */
9749          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getSecondaryConstructorList() {
9750            return java.util.Collections.unmodifiableList(secondaryConstructor_);
9751          }
9752          /**
9753           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9754           */
9755          public int getSecondaryConstructorCount() {
9756            return secondaryConstructor_.size();
9757          }
9758          /**
9759           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9760           */
9761          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getSecondaryConstructor(int index) {
9762            return secondaryConstructor_.get(index);
9763          }
9764          /**
9765           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9766           */
9767          public Builder setSecondaryConstructor(
9768              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
9769            if (value == null) {
9770              throw new NullPointerException();
9771            }
9772            ensureSecondaryConstructorIsMutable();
9773            secondaryConstructor_.set(index, value);
9774    
9775            return this;
9776          }
9777          /**
9778           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9779           */
9780          public Builder setSecondaryConstructor(
9781              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
9782            ensureSecondaryConstructorIsMutable();
9783            secondaryConstructor_.set(index, builderForValue.build());
9784    
9785            return this;
9786          }
9787          /**
9788           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9789           */
9790          public Builder addSecondaryConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
9791            if (value == null) {
9792              throw new NullPointerException();
9793            }
9794            ensureSecondaryConstructorIsMutable();
9795            secondaryConstructor_.add(value);
9796    
9797            return this;
9798          }
9799          /**
9800           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9801           */
9802          public Builder addSecondaryConstructor(
9803              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
9804            if (value == null) {
9805              throw new NullPointerException();
9806            }
9807            ensureSecondaryConstructorIsMutable();
9808            secondaryConstructor_.add(index, value);
9809    
9810            return this;
9811          }
9812          /**
9813           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9814           */
9815          public Builder addSecondaryConstructor(
9816              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
9817            ensureSecondaryConstructorIsMutable();
9818            secondaryConstructor_.add(builderForValue.build());
9819    
9820            return this;
9821          }
9822          /**
9823           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9824           */
9825          public Builder addSecondaryConstructor(
9826              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
9827            ensureSecondaryConstructorIsMutable();
9828            secondaryConstructor_.add(index, builderForValue.build());
9829    
9830            return this;
9831          }
9832          /**
9833           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9834           */
9835          public Builder addAllSecondaryConstructor(
9836              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Callable> values) {
9837            ensureSecondaryConstructorIsMutable();
9838            super.addAll(values, secondaryConstructor_);
9839    
9840            return this;
9841          }
9842          /**
9843           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9844           */
9845          public Builder clearSecondaryConstructor() {
9846            secondaryConstructor_ = java.util.Collections.emptyList();
9847            bitField0_ = (bitField0_ & ~0x00000200);
9848    
9849            return this;
9850          }
9851          /**
9852           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
9853           */
9854          public Builder removeSecondaryConstructor(int index) {
9855            ensureSecondaryConstructorIsMutable();
9856            secondaryConstructor_.remove(index);
9857    
9858            return this;
9859          }
9860    
9861          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Class)
9862        }
9863    
9864        static {
9865          defaultInstance = new Class(true);
9866          defaultInstance.initFields();
9867        }
9868    
9869        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Class)
9870      }
9871    
9872      public interface PackageOrBuilder extends 
9873           com.google.protobuf.GeneratedMessageLite.
9874                ExtendableMessageOrBuilder<Package> {
9875    
9876        // repeated .org.jetbrains.kotlin.serialization.Callable member = 1;
9877        /**
9878         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
9879         */
9880        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> 
9881            getMemberList();
9882        /**
9883         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
9884         */
9885        org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index);
9886        /**
9887         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
9888         */
9889        int getMemberCount();
9890      }
9891      /**
9892       * Protobuf type {@code org.jetbrains.kotlin.serialization.Package}
9893       */
9894      public static final class Package extends
9895          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
9896            Package> implements PackageOrBuilder {
9897        // Use Package.newBuilder() to construct.
9898        private Package(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Package, ?> builder) {
9899          super(builder);
9900    
9901        }
9902        private Package(boolean noInit) {}
9903    
9904        private static final Package defaultInstance;
9905        public static Package getDefaultInstance() {
9906          return defaultInstance;
9907        }
9908    
9909        public Package getDefaultInstanceForType() {
9910          return defaultInstance;
9911        }
9912    
9913        private Package(
9914            com.google.protobuf.CodedInputStream input,
9915            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9916            throws com.google.protobuf.InvalidProtocolBufferException {
9917          initFields();
9918          int mutable_bitField0_ = 0;
9919          try {
9920            boolean done = false;
9921            while (!done) {
9922              int tag = input.readTag();
9923              switch (tag) {
9924                case 0:
9925                  done = true;
9926                  break;
9927                default: {
9928                  if (!parseUnknownField(input,
9929                                         extensionRegistry, tag)) {
9930                    done = true;
9931                  }
9932                  break;
9933                }
9934                case 10: {
9935                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
9936                    member_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>();
9937                    mutable_bitField0_ |= 0x00000001;
9938                  }
9939                  member_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.PARSER, extensionRegistry));
9940                  break;
9941                }
9942              }
9943            }
9944          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
9945            throw e.setUnfinishedMessage(this);
9946          } catch (java.io.IOException e) {
9947            throw new com.google.protobuf.InvalidProtocolBufferException(
9948                e.getMessage()).setUnfinishedMessage(this);
9949          } finally {
9950            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
9951              member_ = java.util.Collections.unmodifiableList(member_);
9952            }
9953            makeExtensionsImmutable();
9954          }
9955        }
9956        public static com.google.protobuf.Parser<Package> PARSER =
9957            new com.google.protobuf.AbstractParser<Package>() {
9958          public Package parsePartialFrom(
9959              com.google.protobuf.CodedInputStream input,
9960              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9961              throws com.google.protobuf.InvalidProtocolBufferException {
9962            return new Package(input, extensionRegistry);
9963          }
9964        };
9965    
9966        @java.lang.Override
9967        public com.google.protobuf.Parser<Package> getParserForType() {
9968          return PARSER;
9969        }
9970    
9971        // repeated .org.jetbrains.kotlin.serialization.Callable member = 1;
9972        public static final int MEMBER_FIELD_NUMBER = 1;
9973        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> member_;
9974        /**
9975         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
9976         */
9977        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getMemberList() {
9978          return member_;
9979        }
9980        /**
9981         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
9982         */
9983        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder> 
9984            getMemberOrBuilderList() {
9985          return member_;
9986        }
9987        /**
9988         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
9989         */
9990        public int getMemberCount() {
9991          return member_.size();
9992        }
9993        /**
9994         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
9995         */
9996        public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index) {
9997          return member_.get(index);
9998        }
9999        /**
10000         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10001         */
10002        public org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder getMemberOrBuilder(
10003            int index) {
10004          return member_.get(index);
10005        }
10006    
10007        private void initFields() {
10008          member_ = java.util.Collections.emptyList();
10009        }
10010        private byte memoizedIsInitialized = -1;
10011        public final boolean isInitialized() {
10012          byte isInitialized = memoizedIsInitialized;
10013          if (isInitialized != -1) return isInitialized == 1;
10014    
10015          for (int i = 0; i < getMemberCount(); i++) {
10016            if (!getMember(i).isInitialized()) {
10017              memoizedIsInitialized = 0;
10018              return false;
10019            }
10020          }
10021          if (!extensionsAreInitialized()) {
10022            memoizedIsInitialized = 0;
10023            return false;
10024          }
10025          memoizedIsInitialized = 1;
10026          return true;
10027        }
10028    
10029        public void writeTo(com.google.protobuf.CodedOutputStream output)
10030                            throws java.io.IOException {
10031          getSerializedSize();
10032          com.google.protobuf.GeneratedMessageLite
10033            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Package>.ExtensionWriter extensionWriter =
10034              newExtensionWriter();
10035          for (int i = 0; i < member_.size(); i++) {
10036            output.writeMessage(1, member_.get(i));
10037          }
10038          extensionWriter.writeUntil(200, output);
10039        }
10040    
10041        private int memoizedSerializedSize = -1;
10042        public int getSerializedSize() {
10043          int size = memoizedSerializedSize;
10044          if (size != -1) return size;
10045    
10046          size = 0;
10047          for (int i = 0; i < member_.size(); i++) {
10048            size += com.google.protobuf.CodedOutputStream
10049              .computeMessageSize(1, member_.get(i));
10050          }
10051          size += extensionsSerializedSize();
10052          memoizedSerializedSize = size;
10053          return size;
10054        }
10055    
10056        private static final long serialVersionUID = 0L;
10057        @java.lang.Override
10058        protected java.lang.Object writeReplace()
10059            throws java.io.ObjectStreamException {
10060          return super.writeReplace();
10061        }
10062    
10063        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10064            com.google.protobuf.ByteString data)
10065            throws com.google.protobuf.InvalidProtocolBufferException {
10066          return PARSER.parseFrom(data);
10067        }
10068        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10069            com.google.protobuf.ByteString data,
10070            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10071            throws com.google.protobuf.InvalidProtocolBufferException {
10072          return PARSER.parseFrom(data, extensionRegistry);
10073        }
10074        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(byte[] data)
10075            throws com.google.protobuf.InvalidProtocolBufferException {
10076          return PARSER.parseFrom(data);
10077        }
10078        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10079            byte[] data,
10080            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10081            throws com.google.protobuf.InvalidProtocolBufferException {
10082          return PARSER.parseFrom(data, extensionRegistry);
10083        }
10084        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(java.io.InputStream input)
10085            throws java.io.IOException {
10086          return PARSER.parseFrom(input);
10087        }
10088        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10089            java.io.InputStream input,
10090            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10091            throws java.io.IOException {
10092          return PARSER.parseFrom(input, extensionRegistry);
10093        }
10094        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseDelimitedFrom(java.io.InputStream input)
10095            throws java.io.IOException {
10096          return PARSER.parseDelimitedFrom(input);
10097        }
10098        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseDelimitedFrom(
10099            java.io.InputStream input,
10100            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10101            throws java.io.IOException {
10102          return PARSER.parseDelimitedFrom(input, extensionRegistry);
10103        }
10104        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10105            com.google.protobuf.CodedInputStream input)
10106            throws java.io.IOException {
10107          return PARSER.parseFrom(input);
10108        }
10109        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10110            com.google.protobuf.CodedInputStream input,
10111            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10112            throws java.io.IOException {
10113          return PARSER.parseFrom(input, extensionRegistry);
10114        }
10115    
10116        public static Builder newBuilder() { return Builder.create(); }
10117        public Builder newBuilderForType() { return newBuilder(); }
10118        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Package prototype) {
10119          return newBuilder().mergeFrom(prototype);
10120        }
10121        public Builder toBuilder() { return newBuilder(this); }
10122    
10123        /**
10124         * Protobuf type {@code org.jetbrains.kotlin.serialization.Package}
10125         */
10126        public static final class Builder extends
10127            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
10128              org.jetbrains.kotlin.serialization.ProtoBuf.Package, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.PackageOrBuilder {
10129          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Package.newBuilder()
10130          private Builder() {
10131            maybeForceBuilderInitialization();
10132          }
10133    
10134          private void maybeForceBuilderInitialization() {
10135          }
10136          private static Builder create() {
10137            return new Builder();
10138          }
10139    
10140          public Builder clear() {
10141            super.clear();
10142            member_ = java.util.Collections.emptyList();
10143            bitField0_ = (bitField0_ & ~0x00000001);
10144            return this;
10145          }
10146    
10147          public Builder clone() {
10148            return create().mergeFrom(buildPartial());
10149          }
10150    
10151          public org.jetbrains.kotlin.serialization.ProtoBuf.Package getDefaultInstanceForType() {
10152            return org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance();
10153          }
10154    
10155          public org.jetbrains.kotlin.serialization.ProtoBuf.Package build() {
10156            org.jetbrains.kotlin.serialization.ProtoBuf.Package result = buildPartial();
10157            if (!result.isInitialized()) {
10158              throw newUninitializedMessageException(result);
10159            }
10160            return result;
10161          }
10162    
10163          public org.jetbrains.kotlin.serialization.ProtoBuf.Package buildPartial() {
10164            org.jetbrains.kotlin.serialization.ProtoBuf.Package result = new org.jetbrains.kotlin.serialization.ProtoBuf.Package(this);
10165            int from_bitField0_ = bitField0_;
10166            if (((bitField0_ & 0x00000001) == 0x00000001)) {
10167              member_ = java.util.Collections.unmodifiableList(member_);
10168              bitField0_ = (bitField0_ & ~0x00000001);
10169            }
10170            result.member_ = member_;
10171            return result;
10172          }
10173    
10174          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Package other) {
10175            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance()) return this;
10176            if (!other.member_.isEmpty()) {
10177              if (member_.isEmpty()) {
10178                member_ = other.member_;
10179                bitField0_ = (bitField0_ & ~0x00000001);
10180              } else {
10181                ensureMemberIsMutable();
10182                member_.addAll(other.member_);
10183              }
10184              
10185            }
10186            this.mergeExtensionFields(other);
10187            return this;
10188          }
10189    
10190          public final boolean isInitialized() {
10191            for (int i = 0; i < getMemberCount(); i++) {
10192              if (!getMember(i).isInitialized()) {
10193                
10194                return false;
10195              }
10196            }
10197            if (!extensionsAreInitialized()) {
10198              
10199              return false;
10200            }
10201            return true;
10202          }
10203    
10204          public Builder mergeFrom(
10205              com.google.protobuf.CodedInputStream input,
10206              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10207              throws java.io.IOException {
10208            org.jetbrains.kotlin.serialization.ProtoBuf.Package parsedMessage = null;
10209            try {
10210              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
10211            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10212              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Package) e.getUnfinishedMessage();
10213              throw e;
10214            } finally {
10215              if (parsedMessage != null) {
10216                mergeFrom(parsedMessage);
10217              }
10218            }
10219            return this;
10220          }
10221          private int bitField0_;
10222    
10223          // repeated .org.jetbrains.kotlin.serialization.Callable member = 1;
10224          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> member_ =
10225            java.util.Collections.emptyList();
10226          private void ensureMemberIsMutable() {
10227            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
10228              member_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>(member_);
10229              bitField0_ |= 0x00000001;
10230             }
10231          }
10232    
10233          /**
10234           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10235           */
10236          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getMemberList() {
10237            return java.util.Collections.unmodifiableList(member_);
10238          }
10239          /**
10240           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10241           */
10242          public int getMemberCount() {
10243            return member_.size();
10244          }
10245          /**
10246           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10247           */
10248          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index) {
10249            return member_.get(index);
10250          }
10251          /**
10252           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10253           */
10254          public Builder setMember(
10255              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
10256            if (value == null) {
10257              throw new NullPointerException();
10258            }
10259            ensureMemberIsMutable();
10260            member_.set(index, value);
10261    
10262            return this;
10263          }
10264          /**
10265           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10266           */
10267          public Builder setMember(
10268              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
10269            ensureMemberIsMutable();
10270            member_.set(index, builderForValue.build());
10271    
10272            return this;
10273          }
10274          /**
10275           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10276           */
10277          public Builder addMember(org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
10278            if (value == null) {
10279              throw new NullPointerException();
10280            }
10281            ensureMemberIsMutable();
10282            member_.add(value);
10283    
10284            return this;
10285          }
10286          /**
10287           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10288           */
10289          public Builder addMember(
10290              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
10291            if (value == null) {
10292              throw new NullPointerException();
10293            }
10294            ensureMemberIsMutable();
10295            member_.add(index, value);
10296    
10297            return this;
10298          }
10299          /**
10300           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10301           */
10302          public Builder addMember(
10303              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
10304            ensureMemberIsMutable();
10305            member_.add(builderForValue.build());
10306    
10307            return this;
10308          }
10309          /**
10310           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10311           */
10312          public Builder addMember(
10313              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
10314            ensureMemberIsMutable();
10315            member_.add(index, builderForValue.build());
10316    
10317            return this;
10318          }
10319          /**
10320           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10321           */
10322          public Builder addAllMember(
10323              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Callable> values) {
10324            ensureMemberIsMutable();
10325            super.addAll(values, member_);
10326    
10327            return this;
10328          }
10329          /**
10330           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10331           */
10332          public Builder clearMember() {
10333            member_ = java.util.Collections.emptyList();
10334            bitField0_ = (bitField0_ & ~0x00000001);
10335    
10336            return this;
10337          }
10338          /**
10339           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10340           */
10341          public Builder removeMember(int index) {
10342            ensureMemberIsMutable();
10343            member_.remove(index);
10344    
10345            return this;
10346          }
10347    
10348          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Package)
10349        }
10350    
10351        static {
10352          defaultInstance = new Package(true);
10353          defaultInstance.initFields();
10354        }
10355    
10356        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Package)
10357      }
10358    
10359      public interface CallableOrBuilder extends 
10360           com.google.protobuf.GeneratedMessageLite.
10361                ExtendableMessageOrBuilder<Callable> {
10362    
10363        // optional int32 flags = 1;
10364        /**
10365         * <code>optional int32 flags = 1;</code>
10366         *
10367         * <pre>
10368         *
10369         *Visibility
10370         *Modality
10371         *has_annotations
10372         *CallableKind
10373         *MemberKind
10374         *hasGetter
10375         *hasSetter
10376         *hasConstant
10377         * </pre>
10378         */
10379        boolean hasFlags();
10380        /**
10381         * <code>optional int32 flags = 1;</code>
10382         *
10383         * <pre>
10384         *
10385         *Visibility
10386         *Modality
10387         *has_annotations
10388         *CallableKind
10389         *MemberKind
10390         *hasGetter
10391         *hasSetter
10392         *hasConstant
10393         * </pre>
10394         */
10395        int getFlags();
10396    
10397        // optional int32 getter_flags = 9;
10398        /**
10399         * <code>optional int32 getter_flags = 9;</code>
10400         *
10401         * <pre>
10402         *
10403         *isNotDefault
10404         *Visibility
10405         *Modality
10406         *has_annotations
10407         * </pre>
10408         */
10409        boolean hasGetterFlags();
10410        /**
10411         * <code>optional int32 getter_flags = 9;</code>
10412         *
10413         * <pre>
10414         *
10415         *isNotDefault
10416         *Visibility
10417         *Modality
10418         *has_annotations
10419         * </pre>
10420         */
10421        int getGetterFlags();
10422    
10423        // optional int32 setter_flags = 10;
10424        /**
10425         * <code>optional int32 setter_flags = 10;</code>
10426         */
10427        boolean hasSetterFlags();
10428        /**
10429         * <code>optional int32 setter_flags = 10;</code>
10430         */
10431        int getSetterFlags();
10432    
10433        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
10434        /**
10435         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
10436         */
10437        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
10438            getTypeParameterList();
10439        /**
10440         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
10441         */
10442        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
10443        /**
10444         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
10445         */
10446        int getTypeParameterCount();
10447    
10448        // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
10449        /**
10450         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
10451         */
10452        boolean hasReceiverType();
10453        /**
10454         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
10455         */
10456        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType();
10457    
10458        // required int32 name = 6;
10459        /**
10460         * <code>required int32 name = 6;</code>
10461         *
10462         * <pre>
10463         * Id in the StringTable
10464         * </pre>
10465         */
10466        boolean hasName();
10467        /**
10468         * <code>required int32 name = 6;</code>
10469         *
10470         * <pre>
10471         * Id in the StringTable
10472         * </pre>
10473         */
10474        int getName();
10475    
10476        // repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;
10477        /**
10478         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
10479         *
10480         * <pre>
10481         * Value parameters for functions and constructors, or setter value parameter for properties
10482         * </pre>
10483         */
10484        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> 
10485            getValueParameterList();
10486        /**
10487         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
10488         *
10489         * <pre>
10490         * Value parameters for functions and constructors, or setter value parameter for properties
10491         * </pre>
10492         */
10493        org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index);
10494        /**
10495         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
10496         *
10497         * <pre>
10498         * Value parameters for functions and constructors, or setter value parameter for properties
10499         * </pre>
10500         */
10501        int getValueParameterCount();
10502    
10503        // required .org.jetbrains.kotlin.serialization.Type return_type = 8;
10504        /**
10505         * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
10506         */
10507        boolean hasReturnType();
10508        /**
10509         * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
10510         */
10511        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType();
10512      }
10513      /**
10514       * Protobuf type {@code org.jetbrains.kotlin.serialization.Callable}
10515       */
10516      public static final class Callable extends
10517          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
10518            Callable> implements CallableOrBuilder {
10519        // Use Callable.newBuilder() to construct.
10520        private Callable(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Callable, ?> builder) {
10521          super(builder);
10522    
10523        }
10524        private Callable(boolean noInit) {}
10525    
10526        private static final Callable defaultInstance;
10527        public static Callable getDefaultInstance() {
10528          return defaultInstance;
10529        }
10530    
10531        public Callable getDefaultInstanceForType() {
10532          return defaultInstance;
10533        }
10534    
10535        private Callable(
10536            com.google.protobuf.CodedInputStream input,
10537            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10538            throws com.google.protobuf.InvalidProtocolBufferException {
10539          initFields();
10540          int mutable_bitField0_ = 0;
10541          try {
10542            boolean done = false;
10543            while (!done) {
10544              int tag = input.readTag();
10545              switch (tag) {
10546                case 0:
10547                  done = true;
10548                  break;
10549                default: {
10550                  if (!parseUnknownField(input,
10551                                         extensionRegistry, tag)) {
10552                    done = true;
10553                  }
10554                  break;
10555                }
10556                case 8: {
10557                  bitField0_ |= 0x00000001;
10558                  flags_ = input.readInt32();
10559                  break;
10560                }
10561                case 34: {
10562                  if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
10563                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
10564                    mutable_bitField0_ |= 0x00000008;
10565                  }
10566                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
10567                  break;
10568                }
10569                case 42: {
10570                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
10571                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
10572                    subBuilder = receiverType_.toBuilder();
10573                  }
10574                  receiverType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
10575                  if (subBuilder != null) {
10576                    subBuilder.mergeFrom(receiverType_);
10577                    receiverType_ = subBuilder.buildPartial();
10578                  }
10579                  bitField0_ |= 0x00000008;
10580                  break;
10581                }
10582                case 48: {
10583                  bitField0_ |= 0x00000010;
10584                  name_ = input.readInt32();
10585                  break;
10586                }
10587                case 58: {
10588                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
10589                    valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter>();
10590                    mutable_bitField0_ |= 0x00000040;
10591                  }
10592                  valueParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.PARSER, extensionRegistry));
10593                  break;
10594                }
10595                case 66: {
10596                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
10597                  if (((bitField0_ & 0x00000020) == 0x00000020)) {
10598                    subBuilder = returnType_.toBuilder();
10599                  }
10600                  returnType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
10601                  if (subBuilder != null) {
10602                    subBuilder.mergeFrom(returnType_);
10603                    returnType_ = subBuilder.buildPartial();
10604                  }
10605                  bitField0_ |= 0x00000020;
10606                  break;
10607                }
10608                case 72: {
10609                  bitField0_ |= 0x00000002;
10610                  getterFlags_ = input.readInt32();
10611                  break;
10612                }
10613                case 80: {
10614                  bitField0_ |= 0x00000004;
10615                  setterFlags_ = input.readInt32();
10616                  break;
10617                }
10618              }
10619            }
10620          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10621            throw e.setUnfinishedMessage(this);
10622          } catch (java.io.IOException e) {
10623            throw new com.google.protobuf.InvalidProtocolBufferException(
10624                e.getMessage()).setUnfinishedMessage(this);
10625          } finally {
10626            if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
10627              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
10628            }
10629            if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
10630              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
10631            }
10632            makeExtensionsImmutable();
10633          }
10634        }
10635        public static com.google.protobuf.Parser<Callable> PARSER =
10636            new com.google.protobuf.AbstractParser<Callable>() {
10637          public Callable parsePartialFrom(
10638              com.google.protobuf.CodedInputStream input,
10639              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10640              throws com.google.protobuf.InvalidProtocolBufferException {
10641            return new Callable(input, extensionRegistry);
10642          }
10643        };
10644    
10645        @java.lang.Override
10646        public com.google.protobuf.Parser<Callable> getParserForType() {
10647          return PARSER;
10648        }
10649    
10650        /**
10651         * Protobuf enum {@code org.jetbrains.kotlin.serialization.Callable.MemberKind}
10652         */
10653        public enum MemberKind
10654            implements com.google.protobuf.Internal.EnumLite {
10655          /**
10656           * <code>DECLARATION = 0;</code>
10657           *
10658           * <pre>
10659           * 2 bits
10660           * </pre>
10661           */
10662          DECLARATION(0, 0),
10663          /**
10664           * <code>FAKE_OVERRIDE = 1;</code>
10665           */
10666          FAKE_OVERRIDE(1, 1),
10667          /**
10668           * <code>DELEGATION = 2;</code>
10669           */
10670          DELEGATION(2, 2),
10671          /**
10672           * <code>SYNTHESIZED = 3;</code>
10673           */
10674          SYNTHESIZED(3, 3),
10675          ;
10676    
10677          /**
10678           * <code>DECLARATION = 0;</code>
10679           *
10680           * <pre>
10681           * 2 bits
10682           * </pre>
10683           */
10684          public static final int DECLARATION_VALUE = 0;
10685          /**
10686           * <code>FAKE_OVERRIDE = 1;</code>
10687           */
10688          public static final int FAKE_OVERRIDE_VALUE = 1;
10689          /**
10690           * <code>DELEGATION = 2;</code>
10691           */
10692          public static final int DELEGATION_VALUE = 2;
10693          /**
10694           * <code>SYNTHESIZED = 3;</code>
10695           */
10696          public static final int SYNTHESIZED_VALUE = 3;
10697    
10698    
10699          public final int getNumber() { return value; }
10700    
10701          public static MemberKind valueOf(int value) {
10702            switch (value) {
10703              case 0: return DECLARATION;
10704              case 1: return FAKE_OVERRIDE;
10705              case 2: return DELEGATION;
10706              case 3: return SYNTHESIZED;
10707              default: return null;
10708            }
10709          }
10710    
10711          public static com.google.protobuf.Internal.EnumLiteMap<MemberKind>
10712              internalGetValueMap() {
10713            return internalValueMap;
10714          }
10715          private static com.google.protobuf.Internal.EnumLiteMap<MemberKind>
10716              internalValueMap =
10717                new com.google.protobuf.Internal.EnumLiteMap<MemberKind>() {
10718                  public MemberKind findValueByNumber(int number) {
10719                    return MemberKind.valueOf(number);
10720                  }
10721                };
10722    
10723          private final int value;
10724    
10725          private MemberKind(int index, int value) {
10726            this.value = value;
10727          }
10728    
10729          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Callable.MemberKind)
10730        }
10731    
10732        /**
10733         * Protobuf enum {@code org.jetbrains.kotlin.serialization.Callable.CallableKind}
10734         */
10735        public enum CallableKind
10736            implements com.google.protobuf.Internal.EnumLite {
10737          /**
10738           * <code>FUN = 0;</code>
10739           *
10740           * <pre>
10741           * 2 bits
10742           * </pre>
10743           */
10744          FUN(0, 0),
10745          /**
10746           * <code>VAL = 1;</code>
10747           */
10748          VAL(1, 1),
10749          /**
10750           * <code>VAR = 2;</code>
10751           */
10752          VAR(2, 2),
10753          /**
10754           * <code>CONSTRUCTOR = 3;</code>
10755           */
10756          CONSTRUCTOR(3, 3),
10757          ;
10758    
10759          /**
10760           * <code>FUN = 0;</code>
10761           *
10762           * <pre>
10763           * 2 bits
10764           * </pre>
10765           */
10766          public static final int FUN_VALUE = 0;
10767          /**
10768           * <code>VAL = 1;</code>
10769           */
10770          public static final int VAL_VALUE = 1;
10771          /**
10772           * <code>VAR = 2;</code>
10773           */
10774          public static final int VAR_VALUE = 2;
10775          /**
10776           * <code>CONSTRUCTOR = 3;</code>
10777           */
10778          public static final int CONSTRUCTOR_VALUE = 3;
10779    
10780    
10781          public final int getNumber() { return value; }
10782    
10783          public static CallableKind valueOf(int value) {
10784            switch (value) {
10785              case 0: return FUN;
10786              case 1: return VAL;
10787              case 2: return VAR;
10788              case 3: return CONSTRUCTOR;
10789              default: return null;
10790            }
10791          }
10792    
10793          public static com.google.protobuf.Internal.EnumLiteMap<CallableKind>
10794              internalGetValueMap() {
10795            return internalValueMap;
10796          }
10797          private static com.google.protobuf.Internal.EnumLiteMap<CallableKind>
10798              internalValueMap =
10799                new com.google.protobuf.Internal.EnumLiteMap<CallableKind>() {
10800                  public CallableKind findValueByNumber(int number) {
10801                    return CallableKind.valueOf(number);
10802                  }
10803                };
10804    
10805          private final int value;
10806    
10807          private CallableKind(int index, int value) {
10808            this.value = value;
10809          }
10810    
10811          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Callable.CallableKind)
10812        }
10813    
10814        public interface ValueParameterOrBuilder extends 
10815             com.google.protobuf.GeneratedMessageLite.
10816                  ExtendableMessageOrBuilder<ValueParameter> {
10817    
10818          // optional int32 flags = 1;
10819          /**
10820           * <code>optional int32 flags = 1;</code>
10821           *
10822           * <pre>
10823           *
10824           *declaresDefault
10825           *has_annotations
10826           * </pre>
10827           */
10828          boolean hasFlags();
10829          /**
10830           * <code>optional int32 flags = 1;</code>
10831           *
10832           * <pre>
10833           *
10834           *declaresDefault
10835           *has_annotations
10836           * </pre>
10837           */
10838          int getFlags();
10839    
10840          // required int32 name = 2;
10841          /**
10842           * <code>required int32 name = 2;</code>
10843           *
10844           * <pre>
10845           * Id in the StringTable
10846           * </pre>
10847           */
10848          boolean hasName();
10849          /**
10850           * <code>required int32 name = 2;</code>
10851           *
10852           * <pre>
10853           * Id in the StringTable
10854           * </pre>
10855           */
10856          int getName();
10857    
10858          // required .org.jetbrains.kotlin.serialization.Type type = 3;
10859          /**
10860           * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
10861           */
10862          boolean hasType();
10863          /**
10864           * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
10865           */
10866          org.jetbrains.kotlin.serialization.ProtoBuf.Type getType();
10867    
10868          // optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;
10869          /**
10870           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
10871           */
10872          boolean hasVarargElementType();
10873          /**
10874           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
10875           */
10876          org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType();
10877        }
10878        /**
10879         * Protobuf type {@code org.jetbrains.kotlin.serialization.Callable.ValueParameter}
10880         */
10881        public static final class ValueParameter extends
10882            com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
10883              ValueParameter> implements ValueParameterOrBuilder {
10884          // Use ValueParameter.newBuilder() to construct.
10885          private ValueParameter(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter, ?> builder) {
10886            super(builder);
10887    
10888          }
10889          private ValueParameter(boolean noInit) {}
10890    
10891          private static final ValueParameter defaultInstance;
10892          public static ValueParameter getDefaultInstance() {
10893            return defaultInstance;
10894          }
10895    
10896          public ValueParameter getDefaultInstanceForType() {
10897            return defaultInstance;
10898          }
10899    
10900          private ValueParameter(
10901              com.google.protobuf.CodedInputStream input,
10902              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10903              throws com.google.protobuf.InvalidProtocolBufferException {
10904            initFields();
10905            int mutable_bitField0_ = 0;
10906            try {
10907              boolean done = false;
10908              while (!done) {
10909                int tag = input.readTag();
10910                switch (tag) {
10911                  case 0:
10912                    done = true;
10913                    break;
10914                  default: {
10915                    if (!parseUnknownField(input,
10916                                           extensionRegistry, tag)) {
10917                      done = true;
10918                    }
10919                    break;
10920                  }
10921                  case 8: {
10922                    bitField0_ |= 0x00000001;
10923                    flags_ = input.readInt32();
10924                    break;
10925                  }
10926                  case 16: {
10927                    bitField0_ |= 0x00000002;
10928                    name_ = input.readInt32();
10929                    break;
10930                  }
10931                  case 26: {
10932                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
10933                    if (((bitField0_ & 0x00000004) == 0x00000004)) {
10934                      subBuilder = type_.toBuilder();
10935                    }
10936                    type_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
10937                    if (subBuilder != null) {
10938                      subBuilder.mergeFrom(type_);
10939                      type_ = subBuilder.buildPartial();
10940                    }
10941                    bitField0_ |= 0x00000004;
10942                    break;
10943                  }
10944                  case 34: {
10945                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
10946                    if (((bitField0_ & 0x00000008) == 0x00000008)) {
10947                      subBuilder = varargElementType_.toBuilder();
10948                    }
10949                    varargElementType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
10950                    if (subBuilder != null) {
10951                      subBuilder.mergeFrom(varargElementType_);
10952                      varargElementType_ = subBuilder.buildPartial();
10953                    }
10954                    bitField0_ |= 0x00000008;
10955                    break;
10956                  }
10957                }
10958              }
10959            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10960              throw e.setUnfinishedMessage(this);
10961            } catch (java.io.IOException e) {
10962              throw new com.google.protobuf.InvalidProtocolBufferException(
10963                  e.getMessage()).setUnfinishedMessage(this);
10964            } finally {
10965              makeExtensionsImmutable();
10966            }
10967          }
10968          public static com.google.protobuf.Parser<ValueParameter> PARSER =
10969              new com.google.protobuf.AbstractParser<ValueParameter>() {
10970            public ValueParameter parsePartialFrom(
10971                com.google.protobuf.CodedInputStream input,
10972                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10973                throws com.google.protobuf.InvalidProtocolBufferException {
10974              return new ValueParameter(input, extensionRegistry);
10975            }
10976          };
10977    
10978          @java.lang.Override
10979          public com.google.protobuf.Parser<ValueParameter> getParserForType() {
10980            return PARSER;
10981          }
10982    
10983          private int bitField0_;
10984          // optional int32 flags = 1;
10985          public static final int FLAGS_FIELD_NUMBER = 1;
10986          private int flags_;
10987          /**
10988           * <code>optional int32 flags = 1;</code>
10989           *
10990           * <pre>
10991           *
10992           *declaresDefault
10993           *has_annotations
10994           * </pre>
10995           */
10996          public boolean hasFlags() {
10997            return ((bitField0_ & 0x00000001) == 0x00000001);
10998          }
10999          /**
11000           * <code>optional int32 flags = 1;</code>
11001           *
11002           * <pre>
11003           *
11004           *declaresDefault
11005           *has_annotations
11006           * </pre>
11007           */
11008          public int getFlags() {
11009            return flags_;
11010          }
11011    
11012          // required int32 name = 2;
11013          public static final int NAME_FIELD_NUMBER = 2;
11014          private int name_;
11015          /**
11016           * <code>required int32 name = 2;</code>
11017           *
11018           * <pre>
11019           * Id in the StringTable
11020           * </pre>
11021           */
11022          public boolean hasName() {
11023            return ((bitField0_ & 0x00000002) == 0x00000002);
11024          }
11025          /**
11026           * <code>required int32 name = 2;</code>
11027           *
11028           * <pre>
11029           * Id in the StringTable
11030           * </pre>
11031           */
11032          public int getName() {
11033            return name_;
11034          }
11035    
11036          // required .org.jetbrains.kotlin.serialization.Type type = 3;
11037          public static final int TYPE_FIELD_NUMBER = 3;
11038          private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_;
11039          /**
11040           * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11041           */
11042          public boolean hasType() {
11043            return ((bitField0_ & 0x00000004) == 0x00000004);
11044          }
11045          /**
11046           * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11047           */
11048          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
11049            return type_;
11050          }
11051    
11052          // optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;
11053          public static final int VARARG_ELEMENT_TYPE_FIELD_NUMBER = 4;
11054          private org.jetbrains.kotlin.serialization.ProtoBuf.Type varargElementType_;
11055          /**
11056           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11057           */
11058          public boolean hasVarargElementType() {
11059            return ((bitField0_ & 0x00000008) == 0x00000008);
11060          }
11061          /**
11062           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11063           */
11064          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType() {
11065            return varargElementType_;
11066          }
11067    
11068          private void initFields() {
11069            flags_ = 0;
11070            name_ = 0;
11071            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11072            varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11073          }
11074          private byte memoizedIsInitialized = -1;
11075          public final boolean isInitialized() {
11076            byte isInitialized = memoizedIsInitialized;
11077            if (isInitialized != -1) return isInitialized == 1;
11078    
11079            if (!hasName()) {
11080              memoizedIsInitialized = 0;
11081              return false;
11082            }
11083            if (!hasType()) {
11084              memoizedIsInitialized = 0;
11085              return false;
11086            }
11087            if (!getType().isInitialized()) {
11088              memoizedIsInitialized = 0;
11089              return false;
11090            }
11091            if (hasVarargElementType()) {
11092              if (!getVarargElementType().isInitialized()) {
11093                memoizedIsInitialized = 0;
11094                return false;
11095              }
11096            }
11097            if (!extensionsAreInitialized()) {
11098              memoizedIsInitialized = 0;
11099              return false;
11100            }
11101            memoizedIsInitialized = 1;
11102            return true;
11103          }
11104    
11105          public void writeTo(com.google.protobuf.CodedOutputStream output)
11106                              throws java.io.IOException {
11107            getSerializedSize();
11108            com.google.protobuf.GeneratedMessageLite
11109              .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter>.ExtensionWriter extensionWriter =
11110                newExtensionWriter();
11111            if (((bitField0_ & 0x00000001) == 0x00000001)) {
11112              output.writeInt32(1, flags_);
11113            }
11114            if (((bitField0_ & 0x00000002) == 0x00000002)) {
11115              output.writeInt32(2, name_);
11116            }
11117            if (((bitField0_ & 0x00000004) == 0x00000004)) {
11118              output.writeMessage(3, type_);
11119            }
11120            if (((bitField0_ & 0x00000008) == 0x00000008)) {
11121              output.writeMessage(4, varargElementType_);
11122            }
11123            extensionWriter.writeUntil(200, output);
11124          }
11125    
11126          private int memoizedSerializedSize = -1;
11127          public int getSerializedSize() {
11128            int size = memoizedSerializedSize;
11129            if (size != -1) return size;
11130    
11131            size = 0;
11132            if (((bitField0_ & 0x00000001) == 0x00000001)) {
11133              size += com.google.protobuf.CodedOutputStream
11134                .computeInt32Size(1, flags_);
11135            }
11136            if (((bitField0_ & 0x00000002) == 0x00000002)) {
11137              size += com.google.protobuf.CodedOutputStream
11138                .computeInt32Size(2, name_);
11139            }
11140            if (((bitField0_ & 0x00000004) == 0x00000004)) {
11141              size += com.google.protobuf.CodedOutputStream
11142                .computeMessageSize(3, type_);
11143            }
11144            if (((bitField0_ & 0x00000008) == 0x00000008)) {
11145              size += com.google.protobuf.CodedOutputStream
11146                .computeMessageSize(4, varargElementType_);
11147            }
11148            size += extensionsSerializedSize();
11149            memoizedSerializedSize = size;
11150            return size;
11151          }
11152    
11153          private static final long serialVersionUID = 0L;
11154          @java.lang.Override
11155          protected java.lang.Object writeReplace()
11156              throws java.io.ObjectStreamException {
11157            return super.writeReplace();
11158          }
11159    
11160          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11161              com.google.protobuf.ByteString data)
11162              throws com.google.protobuf.InvalidProtocolBufferException {
11163            return PARSER.parseFrom(data);
11164          }
11165          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11166              com.google.protobuf.ByteString data,
11167              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11168              throws com.google.protobuf.InvalidProtocolBufferException {
11169            return PARSER.parseFrom(data, extensionRegistry);
11170          }
11171          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(byte[] data)
11172              throws com.google.protobuf.InvalidProtocolBufferException {
11173            return PARSER.parseFrom(data);
11174          }
11175          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11176              byte[] data,
11177              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11178              throws com.google.protobuf.InvalidProtocolBufferException {
11179            return PARSER.parseFrom(data, extensionRegistry);
11180          }
11181          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(java.io.InputStream input)
11182              throws java.io.IOException {
11183            return PARSER.parseFrom(input);
11184          }
11185          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11186              java.io.InputStream input,
11187              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11188              throws java.io.IOException {
11189            return PARSER.parseFrom(input, extensionRegistry);
11190          }
11191          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseDelimitedFrom(java.io.InputStream input)
11192              throws java.io.IOException {
11193            return PARSER.parseDelimitedFrom(input);
11194          }
11195          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseDelimitedFrom(
11196              java.io.InputStream input,
11197              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11198              throws java.io.IOException {
11199            return PARSER.parseDelimitedFrom(input, extensionRegistry);
11200          }
11201          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11202              com.google.protobuf.CodedInputStream input)
11203              throws java.io.IOException {
11204            return PARSER.parseFrom(input);
11205          }
11206          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11207              com.google.protobuf.CodedInputStream input,
11208              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11209              throws java.io.IOException {
11210            return PARSER.parseFrom(input, extensionRegistry);
11211          }
11212    
11213          public static Builder newBuilder() { return Builder.create(); }
11214          public Builder newBuilderForType() { return newBuilder(); }
11215          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter prototype) {
11216            return newBuilder().mergeFrom(prototype);
11217          }
11218          public Builder toBuilder() { return newBuilder(this); }
11219    
11220          /**
11221           * Protobuf type {@code org.jetbrains.kotlin.serialization.Callable.ValueParameter}
11222           */
11223          public static final class Builder extends
11224              com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
11225                org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameterOrBuilder {
11226            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.newBuilder()
11227            private Builder() {
11228              maybeForceBuilderInitialization();
11229            }
11230    
11231            private void maybeForceBuilderInitialization() {
11232            }
11233            private static Builder create() {
11234              return new Builder();
11235            }
11236    
11237            public Builder clear() {
11238              super.clear();
11239              flags_ = 0;
11240              bitField0_ = (bitField0_ & ~0x00000001);
11241              name_ = 0;
11242              bitField0_ = (bitField0_ & ~0x00000002);
11243              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11244              bitField0_ = (bitField0_ & ~0x00000004);
11245              varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11246              bitField0_ = (bitField0_ & ~0x00000008);
11247              return this;
11248            }
11249    
11250            public Builder clone() {
11251              return create().mergeFrom(buildPartial());
11252            }
11253    
11254            public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter getDefaultInstanceForType() {
11255              return org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.getDefaultInstance();
11256            }
11257    
11258            public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter build() {
11259              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter result = buildPartial();
11260              if (!result.isInitialized()) {
11261                throw newUninitializedMessageException(result);
11262              }
11263              return result;
11264            }
11265    
11266            public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter buildPartial() {
11267              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter result = new org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter(this);
11268              int from_bitField0_ = bitField0_;
11269              int to_bitField0_ = 0;
11270              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
11271                to_bitField0_ |= 0x00000001;
11272              }
11273              result.flags_ = flags_;
11274              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
11275                to_bitField0_ |= 0x00000002;
11276              }
11277              result.name_ = name_;
11278              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
11279                to_bitField0_ |= 0x00000004;
11280              }
11281              result.type_ = type_;
11282              if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
11283                to_bitField0_ |= 0x00000008;
11284              }
11285              result.varargElementType_ = varargElementType_;
11286              result.bitField0_ = to_bitField0_;
11287              return result;
11288            }
11289    
11290            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter other) {
11291              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.getDefaultInstance()) return this;
11292              if (other.hasFlags()) {
11293                setFlags(other.getFlags());
11294              }
11295              if (other.hasName()) {
11296                setName(other.getName());
11297              }
11298              if (other.hasType()) {
11299                mergeType(other.getType());
11300              }
11301              if (other.hasVarargElementType()) {
11302                mergeVarargElementType(other.getVarargElementType());
11303              }
11304              this.mergeExtensionFields(other);
11305              return this;
11306            }
11307    
11308            public final boolean isInitialized() {
11309              if (!hasName()) {
11310                
11311                return false;
11312              }
11313              if (!hasType()) {
11314                
11315                return false;
11316              }
11317              if (!getType().isInitialized()) {
11318                
11319                return false;
11320              }
11321              if (hasVarargElementType()) {
11322                if (!getVarargElementType().isInitialized()) {
11323                  
11324                  return false;
11325                }
11326              }
11327              if (!extensionsAreInitialized()) {
11328                
11329                return false;
11330              }
11331              return true;
11332            }
11333    
11334            public Builder mergeFrom(
11335                com.google.protobuf.CodedInputStream input,
11336                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11337                throws java.io.IOException {
11338              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parsedMessage = null;
11339              try {
11340                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
11341              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11342                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter) e.getUnfinishedMessage();
11343                throw e;
11344              } finally {
11345                if (parsedMessage != null) {
11346                  mergeFrom(parsedMessage);
11347                }
11348              }
11349              return this;
11350            }
11351            private int bitField0_;
11352    
11353            // optional int32 flags = 1;
11354            private int flags_ ;
11355            /**
11356             * <code>optional int32 flags = 1;</code>
11357             *
11358             * <pre>
11359             *
11360             *declaresDefault
11361             *has_annotations
11362             * </pre>
11363             */
11364            public boolean hasFlags() {
11365              return ((bitField0_ & 0x00000001) == 0x00000001);
11366            }
11367            /**
11368             * <code>optional int32 flags = 1;</code>
11369             *
11370             * <pre>
11371             *
11372             *declaresDefault
11373             *has_annotations
11374             * </pre>
11375             */
11376            public int getFlags() {
11377              return flags_;
11378            }
11379            /**
11380             * <code>optional int32 flags = 1;</code>
11381             *
11382             * <pre>
11383             *
11384             *declaresDefault
11385             *has_annotations
11386             * </pre>
11387             */
11388            public Builder setFlags(int value) {
11389              bitField0_ |= 0x00000001;
11390              flags_ = value;
11391              
11392              return this;
11393            }
11394            /**
11395             * <code>optional int32 flags = 1;</code>
11396             *
11397             * <pre>
11398             *
11399             *declaresDefault
11400             *has_annotations
11401             * </pre>
11402             */
11403            public Builder clearFlags() {
11404              bitField0_ = (bitField0_ & ~0x00000001);
11405              flags_ = 0;
11406              
11407              return this;
11408            }
11409    
11410            // required int32 name = 2;
11411            private int name_ ;
11412            /**
11413             * <code>required int32 name = 2;</code>
11414             *
11415             * <pre>
11416             * Id in the StringTable
11417             * </pre>
11418             */
11419            public boolean hasName() {
11420              return ((bitField0_ & 0x00000002) == 0x00000002);
11421            }
11422            /**
11423             * <code>required int32 name = 2;</code>
11424             *
11425             * <pre>
11426             * Id in the StringTable
11427             * </pre>
11428             */
11429            public int getName() {
11430              return name_;
11431            }
11432            /**
11433             * <code>required int32 name = 2;</code>
11434             *
11435             * <pre>
11436             * Id in the StringTable
11437             * </pre>
11438             */
11439            public Builder setName(int value) {
11440              bitField0_ |= 0x00000002;
11441              name_ = value;
11442              
11443              return this;
11444            }
11445            /**
11446             * <code>required int32 name = 2;</code>
11447             *
11448             * <pre>
11449             * Id in the StringTable
11450             * </pre>
11451             */
11452            public Builder clearName() {
11453              bitField0_ = (bitField0_ & ~0x00000002);
11454              name_ = 0;
11455              
11456              return this;
11457            }
11458    
11459            // required .org.jetbrains.kotlin.serialization.Type type = 3;
11460            private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11461            /**
11462             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11463             */
11464            public boolean hasType() {
11465              return ((bitField0_ & 0x00000004) == 0x00000004);
11466            }
11467            /**
11468             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11469             */
11470            public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
11471              return type_;
11472            }
11473            /**
11474             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11475             */
11476            public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11477              if (value == null) {
11478                throw new NullPointerException();
11479              }
11480              type_ = value;
11481    
11482              bitField0_ |= 0x00000004;
11483              return this;
11484            }
11485            /**
11486             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11487             */
11488            public Builder setType(
11489                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
11490              type_ = builderForValue.build();
11491    
11492              bitField0_ |= 0x00000004;
11493              return this;
11494            }
11495            /**
11496             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11497             */
11498            public Builder mergeType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11499              if (((bitField0_ & 0x00000004) == 0x00000004) &&
11500                  type_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
11501                type_ =
11502                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
11503              } else {
11504                type_ = value;
11505              }
11506    
11507              bitField0_ |= 0x00000004;
11508              return this;
11509            }
11510            /**
11511             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11512             */
11513            public Builder clearType() {
11514              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11515    
11516              bitField0_ = (bitField0_ & ~0x00000004);
11517              return this;
11518            }
11519    
11520            // optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;
11521            private org.jetbrains.kotlin.serialization.ProtoBuf.Type varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11522            /**
11523             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11524             */
11525            public boolean hasVarargElementType() {
11526              return ((bitField0_ & 0x00000008) == 0x00000008);
11527            }
11528            /**
11529             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11530             */
11531            public org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType() {
11532              return varargElementType_;
11533            }
11534            /**
11535             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11536             */
11537            public Builder setVarargElementType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11538              if (value == null) {
11539                throw new NullPointerException();
11540              }
11541              varargElementType_ = value;
11542    
11543              bitField0_ |= 0x00000008;
11544              return this;
11545            }
11546            /**
11547             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11548             */
11549            public Builder setVarargElementType(
11550                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
11551              varargElementType_ = builderForValue.build();
11552    
11553              bitField0_ |= 0x00000008;
11554              return this;
11555            }
11556            /**
11557             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11558             */
11559            public Builder mergeVarargElementType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11560              if (((bitField0_ & 0x00000008) == 0x00000008) &&
11561                  varargElementType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
11562                varargElementType_ =
11563                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(varargElementType_).mergeFrom(value).buildPartial();
11564              } else {
11565                varargElementType_ = value;
11566              }
11567    
11568              bitField0_ |= 0x00000008;
11569              return this;
11570            }
11571            /**
11572             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11573             */
11574            public Builder clearVarargElementType() {
11575              varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11576    
11577              bitField0_ = (bitField0_ & ~0x00000008);
11578              return this;
11579            }
11580    
11581            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Callable.ValueParameter)
11582          }
11583    
11584          static {
11585            defaultInstance = new ValueParameter(true);
11586            defaultInstance.initFields();
11587          }
11588    
11589          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Callable.ValueParameter)
11590        }
11591    
11592        private int bitField0_;
11593        // optional int32 flags = 1;
11594        public static final int FLAGS_FIELD_NUMBER = 1;
11595        private int flags_;
11596        /**
11597         * <code>optional int32 flags = 1;</code>
11598         *
11599         * <pre>
11600         *
11601         *Visibility
11602         *Modality
11603         *has_annotations
11604         *CallableKind
11605         *MemberKind
11606         *hasGetter
11607         *hasSetter
11608         *hasConstant
11609         * </pre>
11610         */
11611        public boolean hasFlags() {
11612          return ((bitField0_ & 0x00000001) == 0x00000001);
11613        }
11614        /**
11615         * <code>optional int32 flags = 1;</code>
11616         *
11617         * <pre>
11618         *
11619         *Visibility
11620         *Modality
11621         *has_annotations
11622         *CallableKind
11623         *MemberKind
11624         *hasGetter
11625         *hasSetter
11626         *hasConstant
11627         * </pre>
11628         */
11629        public int getFlags() {
11630          return flags_;
11631        }
11632    
11633        // optional int32 getter_flags = 9;
11634        public static final int GETTER_FLAGS_FIELD_NUMBER = 9;
11635        private int getterFlags_;
11636        /**
11637         * <code>optional int32 getter_flags = 9;</code>
11638         *
11639         * <pre>
11640         *
11641         *isNotDefault
11642         *Visibility
11643         *Modality
11644         *has_annotations
11645         * </pre>
11646         */
11647        public boolean hasGetterFlags() {
11648          return ((bitField0_ & 0x00000002) == 0x00000002);
11649        }
11650        /**
11651         * <code>optional int32 getter_flags = 9;</code>
11652         *
11653         * <pre>
11654         *
11655         *isNotDefault
11656         *Visibility
11657         *Modality
11658         *has_annotations
11659         * </pre>
11660         */
11661        public int getGetterFlags() {
11662          return getterFlags_;
11663        }
11664    
11665        // optional int32 setter_flags = 10;
11666        public static final int SETTER_FLAGS_FIELD_NUMBER = 10;
11667        private int setterFlags_;
11668        /**
11669         * <code>optional int32 setter_flags = 10;</code>
11670         */
11671        public boolean hasSetterFlags() {
11672          return ((bitField0_ & 0x00000004) == 0x00000004);
11673        }
11674        /**
11675         * <code>optional int32 setter_flags = 10;</code>
11676         */
11677        public int getSetterFlags() {
11678          return setterFlags_;
11679        }
11680    
11681        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
11682        public static final int TYPE_PARAMETER_FIELD_NUMBER = 4;
11683        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
11684        /**
11685         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
11686         */
11687        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
11688          return typeParameter_;
11689        }
11690        /**
11691         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
11692         */
11693        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
11694            getTypeParameterOrBuilderList() {
11695          return typeParameter_;
11696        }
11697        /**
11698         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
11699         */
11700        public int getTypeParameterCount() {
11701          return typeParameter_.size();
11702        }
11703        /**
11704         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
11705         */
11706        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
11707          return typeParameter_.get(index);
11708        }
11709        /**
11710         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
11711         */
11712        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
11713            int index) {
11714          return typeParameter_.get(index);
11715        }
11716    
11717        // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
11718        public static final int RECEIVER_TYPE_FIELD_NUMBER = 5;
11719        private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_;
11720        /**
11721         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
11722         */
11723        public boolean hasReceiverType() {
11724          return ((bitField0_ & 0x00000008) == 0x00000008);
11725        }
11726        /**
11727         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
11728         */
11729        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
11730          return receiverType_;
11731        }
11732    
11733        // required int32 name = 6;
11734        public static final int NAME_FIELD_NUMBER = 6;
11735        private int name_;
11736        /**
11737         * <code>required int32 name = 6;</code>
11738         *
11739         * <pre>
11740         * Id in the StringTable
11741         * </pre>
11742         */
11743        public boolean hasName() {
11744          return ((bitField0_ & 0x00000010) == 0x00000010);
11745        }
11746        /**
11747         * <code>required int32 name = 6;</code>
11748         *
11749         * <pre>
11750         * Id in the StringTable
11751         * </pre>
11752         */
11753        public int getName() {
11754          return name_;
11755        }
11756    
11757        // repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;
11758        public static final int VALUE_PARAMETER_FIELD_NUMBER = 7;
11759        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> valueParameter_;
11760        /**
11761         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
11762         *
11763         * <pre>
11764         * Value parameters for functions and constructors, or setter value parameter for properties
11765         * </pre>
11766         */
11767        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> getValueParameterList() {
11768          return valueParameter_;
11769        }
11770        /**
11771         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
11772         *
11773         * <pre>
11774         * Value parameters for functions and constructors, or setter value parameter for properties
11775         * </pre>
11776         */
11777        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameterOrBuilder> 
11778            getValueParameterOrBuilderList() {
11779          return valueParameter_;
11780        }
11781        /**
11782         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
11783         *
11784         * <pre>
11785         * Value parameters for functions and constructors, or setter value parameter for properties
11786         * </pre>
11787         */
11788        public int getValueParameterCount() {
11789          return valueParameter_.size();
11790        }
11791        /**
11792         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
11793         *
11794         * <pre>
11795         * Value parameters for functions and constructors, or setter value parameter for properties
11796         * </pre>
11797         */
11798        public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index) {
11799          return valueParameter_.get(index);
11800        }
11801        /**
11802         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
11803         *
11804         * <pre>
11805         * Value parameters for functions and constructors, or setter value parameter for properties
11806         * </pre>
11807         */
11808        public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameterOrBuilder getValueParameterOrBuilder(
11809            int index) {
11810          return valueParameter_.get(index);
11811        }
11812    
11813        // required .org.jetbrains.kotlin.serialization.Type return_type = 8;
11814        public static final int RETURN_TYPE_FIELD_NUMBER = 8;
11815        private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_;
11816        /**
11817         * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
11818         */
11819        public boolean hasReturnType() {
11820          return ((bitField0_ & 0x00000020) == 0x00000020);
11821        }
11822        /**
11823         * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
11824         */
11825        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
11826          return returnType_;
11827        }
11828    
11829        private void initFields() {
11830          flags_ = 0;
11831          getterFlags_ = 0;
11832          setterFlags_ = 0;
11833          typeParameter_ = java.util.Collections.emptyList();
11834          receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11835          name_ = 0;
11836          valueParameter_ = java.util.Collections.emptyList();
11837          returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11838        }
11839        private byte memoizedIsInitialized = -1;
11840        public final boolean isInitialized() {
11841          byte isInitialized = memoizedIsInitialized;
11842          if (isInitialized != -1) return isInitialized == 1;
11843    
11844          if (!hasName()) {
11845            memoizedIsInitialized = 0;
11846            return false;
11847          }
11848          if (!hasReturnType()) {
11849            memoizedIsInitialized = 0;
11850            return false;
11851          }
11852          for (int i = 0; i < getTypeParameterCount(); i++) {
11853            if (!getTypeParameter(i).isInitialized()) {
11854              memoizedIsInitialized = 0;
11855              return false;
11856            }
11857          }
11858          if (hasReceiverType()) {
11859            if (!getReceiverType().isInitialized()) {
11860              memoizedIsInitialized = 0;
11861              return false;
11862            }
11863          }
11864          for (int i = 0; i < getValueParameterCount(); i++) {
11865            if (!getValueParameter(i).isInitialized()) {
11866              memoizedIsInitialized = 0;
11867              return false;
11868            }
11869          }
11870          if (!getReturnType().isInitialized()) {
11871            memoizedIsInitialized = 0;
11872            return false;
11873          }
11874          if (!extensionsAreInitialized()) {
11875            memoizedIsInitialized = 0;
11876            return false;
11877          }
11878          memoizedIsInitialized = 1;
11879          return true;
11880        }
11881    
11882        public void writeTo(com.google.protobuf.CodedOutputStream output)
11883                            throws java.io.IOException {
11884          getSerializedSize();
11885          com.google.protobuf.GeneratedMessageLite
11886            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>.ExtensionWriter extensionWriter =
11887              newExtensionWriter();
11888          if (((bitField0_ & 0x00000001) == 0x00000001)) {
11889            output.writeInt32(1, flags_);
11890          }
11891          for (int i = 0; i < typeParameter_.size(); i++) {
11892            output.writeMessage(4, typeParameter_.get(i));
11893          }
11894          if (((bitField0_ & 0x00000008) == 0x00000008)) {
11895            output.writeMessage(5, receiverType_);
11896          }
11897          if (((bitField0_ & 0x00000010) == 0x00000010)) {
11898            output.writeInt32(6, name_);
11899          }
11900          for (int i = 0; i < valueParameter_.size(); i++) {
11901            output.writeMessage(7, valueParameter_.get(i));
11902          }
11903          if (((bitField0_ & 0x00000020) == 0x00000020)) {
11904            output.writeMessage(8, returnType_);
11905          }
11906          if (((bitField0_ & 0x00000002) == 0x00000002)) {
11907            output.writeInt32(9, getterFlags_);
11908          }
11909          if (((bitField0_ & 0x00000004) == 0x00000004)) {
11910            output.writeInt32(10, setterFlags_);
11911          }
11912          extensionWriter.writeUntil(200, output);
11913        }
11914    
11915        private int memoizedSerializedSize = -1;
11916        public int getSerializedSize() {
11917          int size = memoizedSerializedSize;
11918          if (size != -1) return size;
11919    
11920          size = 0;
11921          if (((bitField0_ & 0x00000001) == 0x00000001)) {
11922            size += com.google.protobuf.CodedOutputStream
11923              .computeInt32Size(1, flags_);
11924          }
11925          for (int i = 0; i < typeParameter_.size(); i++) {
11926            size += com.google.protobuf.CodedOutputStream
11927              .computeMessageSize(4, typeParameter_.get(i));
11928          }
11929          if (((bitField0_ & 0x00000008) == 0x00000008)) {
11930            size += com.google.protobuf.CodedOutputStream
11931              .computeMessageSize(5, receiverType_);
11932          }
11933          if (((bitField0_ & 0x00000010) == 0x00000010)) {
11934            size += com.google.protobuf.CodedOutputStream
11935              .computeInt32Size(6, name_);
11936          }
11937          for (int i = 0; i < valueParameter_.size(); i++) {
11938            size += com.google.protobuf.CodedOutputStream
11939              .computeMessageSize(7, valueParameter_.get(i));
11940          }
11941          if (((bitField0_ & 0x00000020) == 0x00000020)) {
11942            size += com.google.protobuf.CodedOutputStream
11943              .computeMessageSize(8, returnType_);
11944          }
11945          if (((bitField0_ & 0x00000002) == 0x00000002)) {
11946            size += com.google.protobuf.CodedOutputStream
11947              .computeInt32Size(9, getterFlags_);
11948          }
11949          if (((bitField0_ & 0x00000004) == 0x00000004)) {
11950            size += com.google.protobuf.CodedOutputStream
11951              .computeInt32Size(10, setterFlags_);
11952          }
11953          size += extensionsSerializedSize();
11954          memoizedSerializedSize = size;
11955          return size;
11956        }
11957    
11958        private static final long serialVersionUID = 0L;
11959        @java.lang.Override
11960        protected java.lang.Object writeReplace()
11961            throws java.io.ObjectStreamException {
11962          return super.writeReplace();
11963        }
11964    
11965        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
11966            com.google.protobuf.ByteString data)
11967            throws com.google.protobuf.InvalidProtocolBufferException {
11968          return PARSER.parseFrom(data);
11969        }
11970        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
11971            com.google.protobuf.ByteString data,
11972            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11973            throws com.google.protobuf.InvalidProtocolBufferException {
11974          return PARSER.parseFrom(data, extensionRegistry);
11975        }
11976        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(byte[] data)
11977            throws com.google.protobuf.InvalidProtocolBufferException {
11978          return PARSER.parseFrom(data);
11979        }
11980        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
11981            byte[] data,
11982            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11983            throws com.google.protobuf.InvalidProtocolBufferException {
11984          return PARSER.parseFrom(data, extensionRegistry);
11985        }
11986        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(java.io.InputStream input)
11987            throws java.io.IOException {
11988          return PARSER.parseFrom(input);
11989        }
11990        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
11991            java.io.InputStream input,
11992            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11993            throws java.io.IOException {
11994          return PARSER.parseFrom(input, extensionRegistry);
11995        }
11996        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseDelimitedFrom(java.io.InputStream input)
11997            throws java.io.IOException {
11998          return PARSER.parseDelimitedFrom(input);
11999        }
12000        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseDelimitedFrom(
12001            java.io.InputStream input,
12002            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12003            throws java.io.IOException {
12004          return PARSER.parseDelimitedFrom(input, extensionRegistry);
12005        }
12006        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
12007            com.google.protobuf.CodedInputStream input)
12008            throws java.io.IOException {
12009          return PARSER.parseFrom(input);
12010        }
12011        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
12012            com.google.protobuf.CodedInputStream input,
12013            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12014            throws java.io.IOException {
12015          return PARSER.parseFrom(input, extensionRegistry);
12016        }
12017    
12018        public static Builder newBuilder() { return Builder.create(); }
12019        public Builder newBuilderForType() { return newBuilder(); }
12020        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Callable prototype) {
12021          return newBuilder().mergeFrom(prototype);
12022        }
12023        public Builder toBuilder() { return newBuilder(this); }
12024    
12025        /**
12026         * Protobuf type {@code org.jetbrains.kotlin.serialization.Callable}
12027         */
12028        public static final class Builder extends
12029            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
12030              org.jetbrains.kotlin.serialization.ProtoBuf.Callable, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder {
12031          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Callable.newBuilder()
12032          private Builder() {
12033            maybeForceBuilderInitialization();
12034          }
12035    
12036          private void maybeForceBuilderInitialization() {
12037          }
12038          private static Builder create() {
12039            return new Builder();
12040          }
12041    
12042          public Builder clear() {
12043            super.clear();
12044            flags_ = 0;
12045            bitField0_ = (bitField0_ & ~0x00000001);
12046            getterFlags_ = 0;
12047            bitField0_ = (bitField0_ & ~0x00000002);
12048            setterFlags_ = 0;
12049            bitField0_ = (bitField0_ & ~0x00000004);
12050            typeParameter_ = java.util.Collections.emptyList();
12051            bitField0_ = (bitField0_ & ~0x00000008);
12052            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12053            bitField0_ = (bitField0_ & ~0x00000010);
12054            name_ = 0;
12055            bitField0_ = (bitField0_ & ~0x00000020);
12056            valueParameter_ = java.util.Collections.emptyList();
12057            bitField0_ = (bitField0_ & ~0x00000040);
12058            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12059            bitField0_ = (bitField0_ & ~0x00000080);
12060            return this;
12061          }
12062    
12063          public Builder clone() {
12064            return create().mergeFrom(buildPartial());
12065          }
12066    
12067          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getDefaultInstanceForType() {
12068            return org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance();
12069          }
12070    
12071          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable build() {
12072            org.jetbrains.kotlin.serialization.ProtoBuf.Callable result = buildPartial();
12073            if (!result.isInitialized()) {
12074              throw newUninitializedMessageException(result);
12075            }
12076            return result;
12077          }
12078    
12079          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable buildPartial() {
12080            org.jetbrains.kotlin.serialization.ProtoBuf.Callable result = new org.jetbrains.kotlin.serialization.ProtoBuf.Callable(this);
12081            int from_bitField0_ = bitField0_;
12082            int to_bitField0_ = 0;
12083            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
12084              to_bitField0_ |= 0x00000001;
12085            }
12086            result.flags_ = flags_;
12087            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
12088              to_bitField0_ |= 0x00000002;
12089            }
12090            result.getterFlags_ = getterFlags_;
12091            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
12092              to_bitField0_ |= 0x00000004;
12093            }
12094            result.setterFlags_ = setterFlags_;
12095            if (((bitField0_ & 0x00000008) == 0x00000008)) {
12096              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
12097              bitField0_ = (bitField0_ & ~0x00000008);
12098            }
12099            result.typeParameter_ = typeParameter_;
12100            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
12101              to_bitField0_ |= 0x00000008;
12102            }
12103            result.receiverType_ = receiverType_;
12104            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
12105              to_bitField0_ |= 0x00000010;
12106            }
12107            result.name_ = name_;
12108            if (((bitField0_ & 0x00000040) == 0x00000040)) {
12109              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
12110              bitField0_ = (bitField0_ & ~0x00000040);
12111            }
12112            result.valueParameter_ = valueParameter_;
12113            if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
12114              to_bitField0_ |= 0x00000020;
12115            }
12116            result.returnType_ = returnType_;
12117            result.bitField0_ = to_bitField0_;
12118            return result;
12119          }
12120    
12121          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Callable other) {
12122            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance()) return this;
12123            if (other.hasFlags()) {
12124              setFlags(other.getFlags());
12125            }
12126            if (other.hasGetterFlags()) {
12127              setGetterFlags(other.getGetterFlags());
12128            }
12129            if (other.hasSetterFlags()) {
12130              setSetterFlags(other.getSetterFlags());
12131            }
12132            if (!other.typeParameter_.isEmpty()) {
12133              if (typeParameter_.isEmpty()) {
12134                typeParameter_ = other.typeParameter_;
12135                bitField0_ = (bitField0_ & ~0x00000008);
12136              } else {
12137                ensureTypeParameterIsMutable();
12138                typeParameter_.addAll(other.typeParameter_);
12139              }
12140              
12141            }
12142            if (other.hasReceiverType()) {
12143              mergeReceiverType(other.getReceiverType());
12144            }
12145            if (other.hasName()) {
12146              setName(other.getName());
12147            }
12148            if (!other.valueParameter_.isEmpty()) {
12149              if (valueParameter_.isEmpty()) {
12150                valueParameter_ = other.valueParameter_;
12151                bitField0_ = (bitField0_ & ~0x00000040);
12152              } else {
12153                ensureValueParameterIsMutable();
12154                valueParameter_.addAll(other.valueParameter_);
12155              }
12156              
12157            }
12158            if (other.hasReturnType()) {
12159              mergeReturnType(other.getReturnType());
12160            }
12161            this.mergeExtensionFields(other);
12162            return this;
12163          }
12164    
12165          public final boolean isInitialized() {
12166            if (!hasName()) {
12167              
12168              return false;
12169            }
12170            if (!hasReturnType()) {
12171              
12172              return false;
12173            }
12174            for (int i = 0; i < getTypeParameterCount(); i++) {
12175              if (!getTypeParameter(i).isInitialized()) {
12176                
12177                return false;
12178              }
12179            }
12180            if (hasReceiverType()) {
12181              if (!getReceiverType().isInitialized()) {
12182                
12183                return false;
12184              }
12185            }
12186            for (int i = 0; i < getValueParameterCount(); i++) {
12187              if (!getValueParameter(i).isInitialized()) {
12188                
12189                return false;
12190              }
12191            }
12192            if (!getReturnType().isInitialized()) {
12193              
12194              return false;
12195            }
12196            if (!extensionsAreInitialized()) {
12197              
12198              return false;
12199            }
12200            return true;
12201          }
12202    
12203          public Builder mergeFrom(
12204              com.google.protobuf.CodedInputStream input,
12205              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12206              throws java.io.IOException {
12207            org.jetbrains.kotlin.serialization.ProtoBuf.Callable parsedMessage = null;
12208            try {
12209              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
12210            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
12211              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Callable) e.getUnfinishedMessage();
12212              throw e;
12213            } finally {
12214              if (parsedMessage != null) {
12215                mergeFrom(parsedMessage);
12216              }
12217            }
12218            return this;
12219          }
12220          private int bitField0_;
12221    
12222          // optional int32 flags = 1;
12223          private int flags_ ;
12224          /**
12225           * <code>optional int32 flags = 1;</code>
12226           *
12227           * <pre>
12228           *
12229           *Visibility
12230           *Modality
12231           *has_annotations
12232           *CallableKind
12233           *MemberKind
12234           *hasGetter
12235           *hasSetter
12236           *hasConstant
12237           * </pre>
12238           */
12239          public boolean hasFlags() {
12240            return ((bitField0_ & 0x00000001) == 0x00000001);
12241          }
12242          /**
12243           * <code>optional int32 flags = 1;</code>
12244           *
12245           * <pre>
12246           *
12247           *Visibility
12248           *Modality
12249           *has_annotations
12250           *CallableKind
12251           *MemberKind
12252           *hasGetter
12253           *hasSetter
12254           *hasConstant
12255           * </pre>
12256           */
12257          public int getFlags() {
12258            return flags_;
12259          }
12260          /**
12261           * <code>optional int32 flags = 1;</code>
12262           *
12263           * <pre>
12264           *
12265           *Visibility
12266           *Modality
12267           *has_annotations
12268           *CallableKind
12269           *MemberKind
12270           *hasGetter
12271           *hasSetter
12272           *hasConstant
12273           * </pre>
12274           */
12275          public Builder setFlags(int value) {
12276            bitField0_ |= 0x00000001;
12277            flags_ = value;
12278            
12279            return this;
12280          }
12281          /**
12282           * <code>optional int32 flags = 1;</code>
12283           *
12284           * <pre>
12285           *
12286           *Visibility
12287           *Modality
12288           *has_annotations
12289           *CallableKind
12290           *MemberKind
12291           *hasGetter
12292           *hasSetter
12293           *hasConstant
12294           * </pre>
12295           */
12296          public Builder clearFlags() {
12297            bitField0_ = (bitField0_ & ~0x00000001);
12298            flags_ = 0;
12299            
12300            return this;
12301          }
12302    
12303          // optional int32 getter_flags = 9;
12304          private int getterFlags_ ;
12305          /**
12306           * <code>optional int32 getter_flags = 9;</code>
12307           *
12308           * <pre>
12309           *
12310           *isNotDefault
12311           *Visibility
12312           *Modality
12313           *has_annotations
12314           * </pre>
12315           */
12316          public boolean hasGetterFlags() {
12317            return ((bitField0_ & 0x00000002) == 0x00000002);
12318          }
12319          /**
12320           * <code>optional int32 getter_flags = 9;</code>
12321           *
12322           * <pre>
12323           *
12324           *isNotDefault
12325           *Visibility
12326           *Modality
12327           *has_annotations
12328           * </pre>
12329           */
12330          public int getGetterFlags() {
12331            return getterFlags_;
12332          }
12333          /**
12334           * <code>optional int32 getter_flags = 9;</code>
12335           *
12336           * <pre>
12337           *
12338           *isNotDefault
12339           *Visibility
12340           *Modality
12341           *has_annotations
12342           * </pre>
12343           */
12344          public Builder setGetterFlags(int value) {
12345            bitField0_ |= 0x00000002;
12346            getterFlags_ = value;
12347            
12348            return this;
12349          }
12350          /**
12351           * <code>optional int32 getter_flags = 9;</code>
12352           *
12353           * <pre>
12354           *
12355           *isNotDefault
12356           *Visibility
12357           *Modality
12358           *has_annotations
12359           * </pre>
12360           */
12361          public Builder clearGetterFlags() {
12362            bitField0_ = (bitField0_ & ~0x00000002);
12363            getterFlags_ = 0;
12364            
12365            return this;
12366          }
12367    
12368          // optional int32 setter_flags = 10;
12369          private int setterFlags_ ;
12370          /**
12371           * <code>optional int32 setter_flags = 10;</code>
12372           */
12373          public boolean hasSetterFlags() {
12374            return ((bitField0_ & 0x00000004) == 0x00000004);
12375          }
12376          /**
12377           * <code>optional int32 setter_flags = 10;</code>
12378           */
12379          public int getSetterFlags() {
12380            return setterFlags_;
12381          }
12382          /**
12383           * <code>optional int32 setter_flags = 10;</code>
12384           */
12385          public Builder setSetterFlags(int value) {
12386            bitField0_ |= 0x00000004;
12387            setterFlags_ = value;
12388            
12389            return this;
12390          }
12391          /**
12392           * <code>optional int32 setter_flags = 10;</code>
12393           */
12394          public Builder clearSetterFlags() {
12395            bitField0_ = (bitField0_ & ~0x00000004);
12396            setterFlags_ = 0;
12397            
12398            return this;
12399          }
12400    
12401          // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
12402          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
12403            java.util.Collections.emptyList();
12404          private void ensureTypeParameterIsMutable() {
12405            if (!((bitField0_ & 0x00000008) == 0x00000008)) {
12406              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
12407              bitField0_ |= 0x00000008;
12408             }
12409          }
12410    
12411          /**
12412           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12413           */
12414          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
12415            return java.util.Collections.unmodifiableList(typeParameter_);
12416          }
12417          /**
12418           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12419           */
12420          public int getTypeParameterCount() {
12421            return typeParameter_.size();
12422          }
12423          /**
12424           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12425           */
12426          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
12427            return typeParameter_.get(index);
12428          }
12429          /**
12430           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12431           */
12432          public Builder setTypeParameter(
12433              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
12434            if (value == null) {
12435              throw new NullPointerException();
12436            }
12437            ensureTypeParameterIsMutable();
12438            typeParameter_.set(index, value);
12439    
12440            return this;
12441          }
12442          /**
12443           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12444           */
12445          public Builder setTypeParameter(
12446              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
12447            ensureTypeParameterIsMutable();
12448            typeParameter_.set(index, builderForValue.build());
12449    
12450            return this;
12451          }
12452          /**
12453           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12454           */
12455          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
12456            if (value == null) {
12457              throw new NullPointerException();
12458            }
12459            ensureTypeParameterIsMutable();
12460            typeParameter_.add(value);
12461    
12462            return this;
12463          }
12464          /**
12465           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12466           */
12467          public Builder addTypeParameter(
12468              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
12469            if (value == null) {
12470              throw new NullPointerException();
12471            }
12472            ensureTypeParameterIsMutable();
12473            typeParameter_.add(index, value);
12474    
12475            return this;
12476          }
12477          /**
12478           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12479           */
12480          public Builder addTypeParameter(
12481              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
12482            ensureTypeParameterIsMutable();
12483            typeParameter_.add(builderForValue.build());
12484    
12485            return this;
12486          }
12487          /**
12488           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12489           */
12490          public Builder addTypeParameter(
12491              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
12492            ensureTypeParameterIsMutable();
12493            typeParameter_.add(index, builderForValue.build());
12494    
12495            return this;
12496          }
12497          /**
12498           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12499           */
12500          public Builder addAllTypeParameter(
12501              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
12502            ensureTypeParameterIsMutable();
12503            super.addAll(values, typeParameter_);
12504    
12505            return this;
12506          }
12507          /**
12508           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12509           */
12510          public Builder clearTypeParameter() {
12511            typeParameter_ = java.util.Collections.emptyList();
12512            bitField0_ = (bitField0_ & ~0x00000008);
12513    
12514            return this;
12515          }
12516          /**
12517           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12518           */
12519          public Builder removeTypeParameter(int index) {
12520            ensureTypeParameterIsMutable();
12521            typeParameter_.remove(index);
12522    
12523            return this;
12524          }
12525    
12526          // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
12527          private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12528          /**
12529           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12530           */
12531          public boolean hasReceiverType() {
12532            return ((bitField0_ & 0x00000010) == 0x00000010);
12533          }
12534          /**
12535           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12536           */
12537          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
12538            return receiverType_;
12539          }
12540          /**
12541           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12542           */
12543          public Builder setReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
12544            if (value == null) {
12545              throw new NullPointerException();
12546            }
12547            receiverType_ = value;
12548    
12549            bitField0_ |= 0x00000010;
12550            return this;
12551          }
12552          /**
12553           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12554           */
12555          public Builder setReceiverType(
12556              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
12557            receiverType_ = builderForValue.build();
12558    
12559            bitField0_ |= 0x00000010;
12560            return this;
12561          }
12562          /**
12563           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12564           */
12565          public Builder mergeReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
12566            if (((bitField0_ & 0x00000010) == 0x00000010) &&
12567                receiverType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
12568              receiverType_ =
12569                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(receiverType_).mergeFrom(value).buildPartial();
12570            } else {
12571              receiverType_ = value;
12572            }
12573    
12574            bitField0_ |= 0x00000010;
12575            return this;
12576          }
12577          /**
12578           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12579           */
12580          public Builder clearReceiverType() {
12581            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12582    
12583            bitField0_ = (bitField0_ & ~0x00000010);
12584            return this;
12585          }
12586    
12587          // required int32 name = 6;
12588          private int name_ ;
12589          /**
12590           * <code>required int32 name = 6;</code>
12591           *
12592           * <pre>
12593           * Id in the StringTable
12594           * </pre>
12595           */
12596          public boolean hasName() {
12597            return ((bitField0_ & 0x00000020) == 0x00000020);
12598          }
12599          /**
12600           * <code>required int32 name = 6;</code>
12601           *
12602           * <pre>
12603           * Id in the StringTable
12604           * </pre>
12605           */
12606          public int getName() {
12607            return name_;
12608          }
12609          /**
12610           * <code>required int32 name = 6;</code>
12611           *
12612           * <pre>
12613           * Id in the StringTable
12614           * </pre>
12615           */
12616          public Builder setName(int value) {
12617            bitField0_ |= 0x00000020;
12618            name_ = value;
12619            
12620            return this;
12621          }
12622          /**
12623           * <code>required int32 name = 6;</code>
12624           *
12625           * <pre>
12626           * Id in the StringTable
12627           * </pre>
12628           */
12629          public Builder clearName() {
12630            bitField0_ = (bitField0_ & ~0x00000020);
12631            name_ = 0;
12632            
12633            return this;
12634          }
12635    
12636          // repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;
12637          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> valueParameter_ =
12638            java.util.Collections.emptyList();
12639          private void ensureValueParameterIsMutable() {
12640            if (!((bitField0_ & 0x00000040) == 0x00000040)) {
12641              valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter>(valueParameter_);
12642              bitField0_ |= 0x00000040;
12643             }
12644          }
12645    
12646          /**
12647           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12648           *
12649           * <pre>
12650           * Value parameters for functions and constructors, or setter value parameter for properties
12651           * </pre>
12652           */
12653          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> getValueParameterList() {
12654            return java.util.Collections.unmodifiableList(valueParameter_);
12655          }
12656          /**
12657           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12658           *
12659           * <pre>
12660           * Value parameters for functions and constructors, or setter value parameter for properties
12661           * </pre>
12662           */
12663          public int getValueParameterCount() {
12664            return valueParameter_.size();
12665          }
12666          /**
12667           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12668           *
12669           * <pre>
12670           * Value parameters for functions and constructors, or setter value parameter for properties
12671           * </pre>
12672           */
12673          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index) {
12674            return valueParameter_.get(index);
12675          }
12676          /**
12677           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12678           *
12679           * <pre>
12680           * Value parameters for functions and constructors, or setter value parameter for properties
12681           * </pre>
12682           */
12683          public Builder setValueParameter(
12684              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter value) {
12685            if (value == null) {
12686              throw new NullPointerException();
12687            }
12688            ensureValueParameterIsMutable();
12689            valueParameter_.set(index, value);
12690    
12691            return this;
12692          }
12693          /**
12694           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12695           *
12696           * <pre>
12697           * Value parameters for functions and constructors, or setter value parameter for properties
12698           * </pre>
12699           */
12700          public Builder setValueParameter(
12701              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
12702            ensureValueParameterIsMutable();
12703            valueParameter_.set(index, builderForValue.build());
12704    
12705            return this;
12706          }
12707          /**
12708           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12709           *
12710           * <pre>
12711           * Value parameters for functions and constructors, or setter value parameter for properties
12712           * </pre>
12713           */
12714          public Builder addValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter value) {
12715            if (value == null) {
12716              throw new NullPointerException();
12717            }
12718            ensureValueParameterIsMutable();
12719            valueParameter_.add(value);
12720    
12721            return this;
12722          }
12723          /**
12724           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12725           *
12726           * <pre>
12727           * Value parameters for functions and constructors, or setter value parameter for properties
12728           * </pre>
12729           */
12730          public Builder addValueParameter(
12731              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter value) {
12732            if (value == null) {
12733              throw new NullPointerException();
12734            }
12735            ensureValueParameterIsMutable();
12736            valueParameter_.add(index, value);
12737    
12738            return this;
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 addValueParameter(
12748              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
12749            ensureValueParameterIsMutable();
12750            valueParameter_.add(builderForValue.build());
12751    
12752            return this;
12753          }
12754          /**
12755           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12756           *
12757           * <pre>
12758           * Value parameters for functions and constructors, or setter value parameter for properties
12759           * </pre>
12760           */
12761          public Builder addValueParameter(
12762              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
12763            ensureValueParameterIsMutable();
12764            valueParameter_.add(index, builderForValue.build());
12765    
12766            return this;
12767          }
12768          /**
12769           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12770           *
12771           * <pre>
12772           * Value parameters for functions and constructors, or setter value parameter for properties
12773           * </pre>
12774           */
12775          public Builder addAllValueParameter(
12776              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> values) {
12777            ensureValueParameterIsMutable();
12778            super.addAll(values, valueParameter_);
12779    
12780            return this;
12781          }
12782          /**
12783           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12784           *
12785           * <pre>
12786           * Value parameters for functions and constructors, or setter value parameter for properties
12787           * </pre>
12788           */
12789          public Builder clearValueParameter() {
12790            valueParameter_ = java.util.Collections.emptyList();
12791            bitField0_ = (bitField0_ & ~0x00000040);
12792    
12793            return this;
12794          }
12795          /**
12796           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12797           *
12798           * <pre>
12799           * Value parameters for functions and constructors, or setter value parameter for properties
12800           * </pre>
12801           */
12802          public Builder removeValueParameter(int index) {
12803            ensureValueParameterIsMutable();
12804            valueParameter_.remove(index);
12805    
12806            return this;
12807          }
12808    
12809          // required .org.jetbrains.kotlin.serialization.Type return_type = 8;
12810          private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12811          /**
12812           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
12813           */
12814          public boolean hasReturnType() {
12815            return ((bitField0_ & 0x00000080) == 0x00000080);
12816          }
12817          /**
12818           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
12819           */
12820          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
12821            return returnType_;
12822          }
12823          /**
12824           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
12825           */
12826          public Builder setReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
12827            if (value == null) {
12828              throw new NullPointerException();
12829            }
12830            returnType_ = value;
12831    
12832            bitField0_ |= 0x00000080;
12833            return this;
12834          }
12835          /**
12836           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
12837           */
12838          public Builder setReturnType(
12839              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
12840            returnType_ = builderForValue.build();
12841    
12842            bitField0_ |= 0x00000080;
12843            return this;
12844          }
12845          /**
12846           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
12847           */
12848          public Builder mergeReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
12849            if (((bitField0_ & 0x00000080) == 0x00000080) &&
12850                returnType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
12851              returnType_ =
12852                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(returnType_).mergeFrom(value).buildPartial();
12853            } else {
12854              returnType_ = value;
12855            }
12856    
12857            bitField0_ |= 0x00000080;
12858            return this;
12859          }
12860          /**
12861           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
12862           */
12863          public Builder clearReturnType() {
12864            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12865    
12866            bitField0_ = (bitField0_ & ~0x00000080);
12867            return this;
12868          }
12869    
12870          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Callable)
12871        }
12872    
12873        static {
12874          defaultInstance = new Callable(true);
12875          defaultInstance.initFields();
12876        }
12877    
12878        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Callable)
12879      }
12880    
12881    
12882      static {
12883      }
12884    
12885      // @@protoc_insertion_point(outer_class_scope)
12886    }