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