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>EXTRA = 5;</code>
115         *
116         * <pre>
117         * there's an extra field for the actual visibility
118         * </pre>
119         */
120        EXTRA(5, 5),
121        ;
122    
123        /**
124         * <code>INTERNAL = 0;</code>
125         *
126         * <pre>
127         * 3 bits
128         * </pre>
129         */
130        public static final int INTERNAL_VALUE = 0;
131        /**
132         * <code>PRIVATE = 1;</code>
133         */
134        public static final int PRIVATE_VALUE = 1;
135        /**
136         * <code>PROTECTED = 2;</code>
137         */
138        public static final int PROTECTED_VALUE = 2;
139        /**
140         * <code>PUBLIC = 3;</code>
141         */
142        public static final int PUBLIC_VALUE = 3;
143        /**
144         * <code>PRIVATE_TO_THIS = 4;</code>
145         */
146        public static final int PRIVATE_TO_THIS_VALUE = 4;
147        /**
148         * <code>EXTRA = 5;</code>
149         *
150         * <pre>
151         * there's an extra field for the actual visibility
152         * </pre>
153         */
154        public static final int EXTRA_VALUE = 5;
155    
156    
157        public final int getNumber() { return value; }
158    
159        public static Visibility valueOf(int value) {
160          switch (value) {
161            case 0: return INTERNAL;
162            case 1: return PRIVATE;
163            case 2: return PROTECTED;
164            case 3: return PUBLIC;
165            case 4: return PRIVATE_TO_THIS;
166            case 5: return EXTRA;
167            default: return null;
168          }
169        }
170    
171        public static com.google.protobuf.Internal.EnumLiteMap<Visibility>
172            internalGetValueMap() {
173          return internalValueMap;
174        }
175        private static com.google.protobuf.Internal.EnumLiteMap<Visibility>
176            internalValueMap =
177              new com.google.protobuf.Internal.EnumLiteMap<Visibility>() {
178                public Visibility findValueByNumber(int number) {
179                  return Visibility.valueOf(number);
180                }
181              };
182    
183        private final int value;
184    
185        private Visibility(int index, int value) {
186          this.value = value;
187        }
188    
189        // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Visibility)
190      }
191    
192      public interface StringTableOrBuilder
193          extends com.google.protobuf.MessageLiteOrBuilder {
194    
195        // repeated string string = 1;
196        /**
197         * <code>repeated string string = 1;</code>
198         */
199        java.util.List<java.lang.String>
200        getStringList();
201        /**
202         * <code>repeated string string = 1;</code>
203         */
204        int getStringCount();
205        /**
206         * <code>repeated string string = 1;</code>
207         */
208        java.lang.String getString(int index);
209        /**
210         * <code>repeated string string = 1;</code>
211         */
212        com.google.protobuf.ByteString
213            getStringBytes(int index);
214      }
215      /**
216       * Protobuf type {@code org.jetbrains.kotlin.serialization.StringTable}
217       */
218      public static final class StringTable extends
219          com.google.protobuf.GeneratedMessageLite
220          implements StringTableOrBuilder {
221        // Use StringTable.newBuilder() to construct.
222        private StringTable(com.google.protobuf.GeneratedMessageLite.Builder builder) {
223          super(builder);
224    
225        }
226        private StringTable(boolean noInit) {}
227    
228        private static final StringTable defaultInstance;
229        public static StringTable getDefaultInstance() {
230          return defaultInstance;
231        }
232    
233        public StringTable getDefaultInstanceForType() {
234          return defaultInstance;
235        }
236    
237        private StringTable(
238            com.google.protobuf.CodedInputStream input,
239            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
240            throws com.google.protobuf.InvalidProtocolBufferException {
241          initFields();
242          int mutable_bitField0_ = 0;
243          try {
244            boolean done = false;
245            while (!done) {
246              int tag = input.readTag();
247              switch (tag) {
248                case 0:
249                  done = true;
250                  break;
251                default: {
252                  if (!parseUnknownField(input,
253                                         extensionRegistry, tag)) {
254                    done = true;
255                  }
256                  break;
257                }
258                case 10: {
259                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
260                    string_ = new com.google.protobuf.LazyStringArrayList();
261                    mutable_bitField0_ |= 0x00000001;
262                  }
263                  string_.add(input.readBytes());
264                  break;
265                }
266              }
267            }
268          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
269            throw e.setUnfinishedMessage(this);
270          } catch (java.io.IOException e) {
271            throw new com.google.protobuf.InvalidProtocolBufferException(
272                e.getMessage()).setUnfinishedMessage(this);
273          } finally {
274            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
275              string_ = new com.google.protobuf.UnmodifiableLazyStringList(string_);
276            }
277            makeExtensionsImmutable();
278          }
279        }
280        public static com.google.protobuf.Parser<StringTable> PARSER =
281            new com.google.protobuf.AbstractParser<StringTable>() {
282          public StringTable parsePartialFrom(
283              com.google.protobuf.CodedInputStream input,
284              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
285              throws com.google.protobuf.InvalidProtocolBufferException {
286            return new StringTable(input, extensionRegistry);
287          }
288        };
289    
290        @java.lang.Override
291        public com.google.protobuf.Parser<StringTable> getParserForType() {
292          return PARSER;
293        }
294    
295        // repeated string string = 1;
296        public static final int STRING_FIELD_NUMBER = 1;
297        private com.google.protobuf.LazyStringList string_;
298        /**
299         * <code>repeated string string = 1;</code>
300         */
301        public java.util.List<java.lang.String>
302            getStringList() {
303          return string_;
304        }
305        /**
306         * <code>repeated string string = 1;</code>
307         */
308        public int getStringCount() {
309          return string_.size();
310        }
311        /**
312         * <code>repeated string string = 1;</code>
313         */
314        public java.lang.String getString(int index) {
315          return string_.get(index);
316        }
317        /**
318         * <code>repeated string string = 1;</code>
319         */
320        public com.google.protobuf.ByteString
321            getStringBytes(int index) {
322          return string_.getByteString(index);
323        }
324    
325        private void initFields() {
326          string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
327        }
328        private byte memoizedIsInitialized = -1;
329        public final boolean isInitialized() {
330          byte isInitialized = memoizedIsInitialized;
331          if (isInitialized != -1) return isInitialized == 1;
332    
333          memoizedIsInitialized = 1;
334          return true;
335        }
336    
337        public void writeTo(com.google.protobuf.CodedOutputStream output)
338                            throws java.io.IOException {
339          getSerializedSize();
340          for (int i = 0; i < string_.size(); i++) {
341            output.writeBytes(1, string_.getByteString(i));
342          }
343        }
344    
345        private int memoizedSerializedSize = -1;
346        public int getSerializedSize() {
347          int size = memoizedSerializedSize;
348          if (size != -1) return size;
349    
350          size = 0;
351          {
352            int dataSize = 0;
353            for (int i = 0; i < string_.size(); i++) {
354              dataSize += com.google.protobuf.CodedOutputStream
355                .computeBytesSizeNoTag(string_.getByteString(i));
356            }
357            size += dataSize;
358            size += 1 * getStringList().size();
359          }
360          memoizedSerializedSize = size;
361          return size;
362        }
363    
364        private static final long serialVersionUID = 0L;
365        @java.lang.Override
366        protected java.lang.Object writeReplace()
367            throws java.io.ObjectStreamException {
368          return super.writeReplace();
369        }
370    
371        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
372            com.google.protobuf.ByteString data)
373            throws com.google.protobuf.InvalidProtocolBufferException {
374          return PARSER.parseFrom(data);
375        }
376        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
377            com.google.protobuf.ByteString data,
378            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
379            throws com.google.protobuf.InvalidProtocolBufferException {
380          return PARSER.parseFrom(data, extensionRegistry);
381        }
382        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(byte[] data)
383            throws com.google.protobuf.InvalidProtocolBufferException {
384          return PARSER.parseFrom(data);
385        }
386        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
387            byte[] data,
388            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
389            throws com.google.protobuf.InvalidProtocolBufferException {
390          return PARSER.parseFrom(data, extensionRegistry);
391        }
392        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(java.io.InputStream input)
393            throws java.io.IOException {
394          return PARSER.parseFrom(input);
395        }
396        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
397            java.io.InputStream input,
398            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
399            throws java.io.IOException {
400          return PARSER.parseFrom(input, extensionRegistry);
401        }
402        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseDelimitedFrom(java.io.InputStream input)
403            throws java.io.IOException {
404          return PARSER.parseDelimitedFrom(input);
405        }
406        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseDelimitedFrom(
407            java.io.InputStream input,
408            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
409            throws java.io.IOException {
410          return PARSER.parseDelimitedFrom(input, extensionRegistry);
411        }
412        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
413            com.google.protobuf.CodedInputStream input)
414            throws java.io.IOException {
415          return PARSER.parseFrom(input);
416        }
417        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
418            com.google.protobuf.CodedInputStream input,
419            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
420            throws java.io.IOException {
421          return PARSER.parseFrom(input, extensionRegistry);
422        }
423    
424        public static Builder newBuilder() { return Builder.create(); }
425        public Builder newBuilderForType() { return newBuilder(); }
426        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.StringTable prototype) {
427          return newBuilder().mergeFrom(prototype);
428        }
429        public Builder toBuilder() { return newBuilder(this); }
430    
431        /**
432         * Protobuf type {@code org.jetbrains.kotlin.serialization.StringTable}
433         */
434        public static final class Builder extends
435            com.google.protobuf.GeneratedMessageLite.Builder<
436              org.jetbrains.kotlin.serialization.ProtoBuf.StringTable, Builder>
437            implements org.jetbrains.kotlin.serialization.ProtoBuf.StringTableOrBuilder {
438          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.newBuilder()
439          private Builder() {
440            maybeForceBuilderInitialization();
441          }
442    
443          private void maybeForceBuilderInitialization() {
444          }
445          private static Builder create() {
446            return new Builder();
447          }
448    
449          public Builder clear() {
450            super.clear();
451            string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
452            bitField0_ = (bitField0_ & ~0x00000001);
453            return this;
454          }
455    
456          public Builder clone() {
457            return create().mergeFrom(buildPartial());
458          }
459    
460          public org.jetbrains.kotlin.serialization.ProtoBuf.StringTable getDefaultInstanceForType() {
461            return org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.getDefaultInstance();
462          }
463    
464          public org.jetbrains.kotlin.serialization.ProtoBuf.StringTable build() {
465            org.jetbrains.kotlin.serialization.ProtoBuf.StringTable result = buildPartial();
466            if (!result.isInitialized()) {
467              throw newUninitializedMessageException(result);
468            }
469            return result;
470          }
471    
472          public org.jetbrains.kotlin.serialization.ProtoBuf.StringTable buildPartial() {
473            org.jetbrains.kotlin.serialization.ProtoBuf.StringTable result = new org.jetbrains.kotlin.serialization.ProtoBuf.StringTable(this);
474            int from_bitField0_ = bitField0_;
475            if (((bitField0_ & 0x00000001) == 0x00000001)) {
476              string_ = new com.google.protobuf.UnmodifiableLazyStringList(
477                  string_);
478              bitField0_ = (bitField0_ & ~0x00000001);
479            }
480            result.string_ = string_;
481            return result;
482          }
483    
484          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.StringTable other) {
485            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.getDefaultInstance()) return this;
486            if (!other.string_.isEmpty()) {
487              if (string_.isEmpty()) {
488                string_ = other.string_;
489                bitField0_ = (bitField0_ & ~0x00000001);
490              } else {
491                ensureStringIsMutable();
492                string_.addAll(other.string_);
493              }
494              
495            }
496            return this;
497          }
498    
499          public final boolean isInitialized() {
500            return true;
501          }
502    
503          public Builder mergeFrom(
504              com.google.protobuf.CodedInputStream input,
505              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
506              throws java.io.IOException {
507            org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parsedMessage = null;
508            try {
509              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
510            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
511              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.StringTable) e.getUnfinishedMessage();
512              throw e;
513            } finally {
514              if (parsedMessage != null) {
515                mergeFrom(parsedMessage);
516              }
517            }
518            return this;
519          }
520          private int bitField0_;
521    
522          // repeated string string = 1;
523          private com.google.protobuf.LazyStringList string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
524          private void ensureStringIsMutable() {
525            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
526              string_ = new com.google.protobuf.LazyStringArrayList(string_);
527              bitField0_ |= 0x00000001;
528             }
529          }
530          /**
531           * <code>repeated string string = 1;</code>
532           */
533          public java.util.List<java.lang.String>
534              getStringList() {
535            return java.util.Collections.unmodifiableList(string_);
536          }
537          /**
538           * <code>repeated string string = 1;</code>
539           */
540          public int getStringCount() {
541            return string_.size();
542          }
543          /**
544           * <code>repeated string string = 1;</code>
545           */
546          public java.lang.String getString(int index) {
547            return string_.get(index);
548          }
549          /**
550           * <code>repeated string string = 1;</code>
551           */
552          public com.google.protobuf.ByteString
553              getStringBytes(int index) {
554            return string_.getByteString(index);
555          }
556          /**
557           * <code>repeated string string = 1;</code>
558           */
559          public Builder setString(
560              int index, java.lang.String value) {
561            if (value == null) {
562        throw new NullPointerException();
563      }
564      ensureStringIsMutable();
565            string_.set(index, value);
566            
567            return this;
568          }
569          /**
570           * <code>repeated string string = 1;</code>
571           */
572          public Builder addString(
573              java.lang.String value) {
574            if (value == null) {
575        throw new NullPointerException();
576      }
577      ensureStringIsMutable();
578            string_.add(value);
579            
580            return this;
581          }
582          /**
583           * <code>repeated string string = 1;</code>
584           */
585          public Builder addAllString(
586              java.lang.Iterable<java.lang.String> values) {
587            ensureStringIsMutable();
588            super.addAll(values, string_);
589            
590            return this;
591          }
592          /**
593           * <code>repeated string string = 1;</code>
594           */
595          public Builder clearString() {
596            string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
597            bitField0_ = (bitField0_ & ~0x00000001);
598            
599            return this;
600          }
601          /**
602           * <code>repeated string string = 1;</code>
603           */
604          public Builder addStringBytes(
605              com.google.protobuf.ByteString value) {
606            if (value == null) {
607        throw new NullPointerException();
608      }
609      ensureStringIsMutable();
610            string_.add(value);
611            
612            return this;
613          }
614    
615          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.StringTable)
616        }
617    
618        static {
619          defaultInstance = new StringTable(true);
620          defaultInstance.initFields();
621        }
622    
623        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.StringTable)
624      }
625    
626      public interface QualifiedNameTableOrBuilder
627          extends com.google.protobuf.MessageLiteOrBuilder {
628    
629        // repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;
630        /**
631         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
632         */
633        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> 
634            getQualifiedNameList();
635        /**
636         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
637         */
638        org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index);
639        /**
640         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
641         */
642        int getQualifiedNameCount();
643      }
644      /**
645       * Protobuf type {@code org.jetbrains.kotlin.serialization.QualifiedNameTable}
646       */
647      public static final class QualifiedNameTable extends
648          com.google.protobuf.GeneratedMessageLite
649          implements QualifiedNameTableOrBuilder {
650        // Use QualifiedNameTable.newBuilder() to construct.
651        private QualifiedNameTable(com.google.protobuf.GeneratedMessageLite.Builder builder) {
652          super(builder);
653    
654        }
655        private QualifiedNameTable(boolean noInit) {}
656    
657        private static final QualifiedNameTable defaultInstance;
658        public static QualifiedNameTable getDefaultInstance() {
659          return defaultInstance;
660        }
661    
662        public QualifiedNameTable getDefaultInstanceForType() {
663          return defaultInstance;
664        }
665    
666        private QualifiedNameTable(
667            com.google.protobuf.CodedInputStream input,
668            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
669            throws com.google.protobuf.InvalidProtocolBufferException {
670          initFields();
671          int mutable_bitField0_ = 0;
672          try {
673            boolean done = false;
674            while (!done) {
675              int tag = input.readTag();
676              switch (tag) {
677                case 0:
678                  done = true;
679                  break;
680                default: {
681                  if (!parseUnknownField(input,
682                                         extensionRegistry, tag)) {
683                    done = true;
684                  }
685                  break;
686                }
687                case 10: {
688                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
689                    qualifiedName_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName>();
690                    mutable_bitField0_ |= 0x00000001;
691                  }
692                  qualifiedName_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.PARSER, extensionRegistry));
693                  break;
694                }
695              }
696            }
697          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
698            throw e.setUnfinishedMessage(this);
699          } catch (java.io.IOException e) {
700            throw new com.google.protobuf.InvalidProtocolBufferException(
701                e.getMessage()).setUnfinishedMessage(this);
702          } finally {
703            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
704              qualifiedName_ = java.util.Collections.unmodifiableList(qualifiedName_);
705            }
706            makeExtensionsImmutable();
707          }
708        }
709        public static com.google.protobuf.Parser<QualifiedNameTable> PARSER =
710            new com.google.protobuf.AbstractParser<QualifiedNameTable>() {
711          public QualifiedNameTable parsePartialFrom(
712              com.google.protobuf.CodedInputStream input,
713              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
714              throws com.google.protobuf.InvalidProtocolBufferException {
715            return new QualifiedNameTable(input, extensionRegistry);
716          }
717        };
718    
719        @java.lang.Override
720        public com.google.protobuf.Parser<QualifiedNameTable> getParserForType() {
721          return PARSER;
722        }
723    
724        public interface QualifiedNameOrBuilder
725            extends com.google.protobuf.MessageLiteOrBuilder {
726    
727          // optional int32 parent_qualified_name = 1 [default = -1];
728          /**
729           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
730           */
731          boolean hasParentQualifiedName();
732          /**
733           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
734           */
735          int getParentQualifiedName();
736    
737          // required int32 short_name = 2;
738          /**
739           * <code>required int32 short_name = 2;</code>
740           *
741           * <pre>
742           * Id in the StringTable
743           * </pre>
744           */
745          boolean hasShortName();
746          /**
747           * <code>required int32 short_name = 2;</code>
748           *
749           * <pre>
750           * Id in the StringTable
751           * </pre>
752           */
753          int getShortName();
754    
755          // optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];
756          /**
757           * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
758           */
759          boolean hasKind();
760          /**
761           * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
762           */
763          org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind();
764        }
765        /**
766         * Protobuf type {@code org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName}
767         */
768        public static final class QualifiedName extends
769            com.google.protobuf.GeneratedMessageLite
770            implements QualifiedNameOrBuilder {
771          // Use QualifiedName.newBuilder() to construct.
772          private QualifiedName(com.google.protobuf.GeneratedMessageLite.Builder builder) {
773            super(builder);
774    
775          }
776          private QualifiedName(boolean noInit) {}
777    
778          private static final QualifiedName defaultInstance;
779          public static QualifiedName getDefaultInstance() {
780            return defaultInstance;
781          }
782    
783          public QualifiedName getDefaultInstanceForType() {
784            return defaultInstance;
785          }
786    
787          private QualifiedName(
788              com.google.protobuf.CodedInputStream input,
789              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
790              throws com.google.protobuf.InvalidProtocolBufferException {
791            initFields();
792            int mutable_bitField0_ = 0;
793            try {
794              boolean done = false;
795              while (!done) {
796                int tag = input.readTag();
797                switch (tag) {
798                  case 0:
799                    done = true;
800                    break;
801                  default: {
802                    if (!parseUnknownField(input,
803                                           extensionRegistry, tag)) {
804                      done = true;
805                    }
806                    break;
807                  }
808                  case 8: {
809                    bitField0_ |= 0x00000001;
810                    parentQualifiedName_ = input.readInt32();
811                    break;
812                  }
813                  case 16: {
814                    bitField0_ |= 0x00000002;
815                    shortName_ = input.readInt32();
816                    break;
817                  }
818                  case 24: {
819                    int rawValue = input.readEnum();
820                    org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind value = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.valueOf(rawValue);
821                    if (value != null) {
822                      bitField0_ |= 0x00000004;
823                      kind_ = value;
824                    }
825                    break;
826                  }
827                }
828              }
829            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
830              throw e.setUnfinishedMessage(this);
831            } catch (java.io.IOException e) {
832              throw new com.google.protobuf.InvalidProtocolBufferException(
833                  e.getMessage()).setUnfinishedMessage(this);
834            } finally {
835              makeExtensionsImmutable();
836            }
837          }
838          public static com.google.protobuf.Parser<QualifiedName> PARSER =
839              new com.google.protobuf.AbstractParser<QualifiedName>() {
840            public QualifiedName parsePartialFrom(
841                com.google.protobuf.CodedInputStream input,
842                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
843                throws com.google.protobuf.InvalidProtocolBufferException {
844              return new QualifiedName(input, extensionRegistry);
845            }
846          };
847    
848          @java.lang.Override
849          public com.google.protobuf.Parser<QualifiedName> getParserForType() {
850            return PARSER;
851          }
852    
853          /**
854           * Protobuf enum {@code org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind}
855           */
856          public enum Kind
857              implements com.google.protobuf.Internal.EnumLite {
858            /**
859             * <code>CLASS = 0;</code>
860             */
861            CLASS(0, 0),
862            /**
863             * <code>PACKAGE = 1;</code>
864             */
865            PACKAGE(1, 1),
866            ;
867    
868            /**
869             * <code>CLASS = 0;</code>
870             */
871            public static final int CLASS_VALUE = 0;
872            /**
873             * <code>PACKAGE = 1;</code>
874             */
875            public static final int PACKAGE_VALUE = 1;
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                default: return null;
885              }
886            }
887    
888            public static com.google.protobuf.Internal.EnumLiteMap<Kind>
889                internalGetValueMap() {
890              return internalValueMap;
891            }
892            private static com.google.protobuf.Internal.EnumLiteMap<Kind>
893                internalValueMap =
894                  new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
895                    public Kind findValueByNumber(int number) {
896                      return Kind.valueOf(number);
897                    }
898                  };
899    
900            private final int value;
901    
902            private Kind(int index, int value) {
903              this.value = value;
904            }
905    
906            // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind)
907          }
908    
909          private int bitField0_;
910          // optional int32 parent_qualified_name = 1 [default = -1];
911          public static final int PARENT_QUALIFIED_NAME_FIELD_NUMBER = 1;
912          private int parentQualifiedName_;
913          /**
914           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
915           */
916          public boolean hasParentQualifiedName() {
917            return ((bitField0_ & 0x00000001) == 0x00000001);
918          }
919          /**
920           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
921           */
922          public int getParentQualifiedName() {
923            return parentQualifiedName_;
924          }
925    
926          // required int32 short_name = 2;
927          public static final int SHORT_NAME_FIELD_NUMBER = 2;
928          private int shortName_;
929          /**
930           * <code>required int32 short_name = 2;</code>
931           *
932           * <pre>
933           * Id in the StringTable
934           * </pre>
935           */
936          public boolean hasShortName() {
937            return ((bitField0_ & 0x00000002) == 0x00000002);
938          }
939          /**
940           * <code>required int32 short_name = 2;</code>
941           *
942           * <pre>
943           * Id in the StringTable
944           * </pre>
945           */
946          public int getShortName() {
947            return shortName_;
948          }
949    
950          // optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];
951          public static final int KIND_FIELD_NUMBER = 3;
952          private org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind kind_;
953          /**
954           * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
955           */
956          public boolean hasKind() {
957            return ((bitField0_ & 0x00000004) == 0x00000004);
958          }
959          /**
960           * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
961           */
962          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind() {
963            return kind_;
964          }
965    
966          private void initFields() {
967            parentQualifiedName_ = -1;
968            shortName_ = 0;
969            kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
970          }
971          private byte memoizedIsInitialized = -1;
972          public final boolean isInitialized() {
973            byte isInitialized = memoizedIsInitialized;
974            if (isInitialized != -1) return isInitialized == 1;
975    
976            if (!hasShortName()) {
977              memoizedIsInitialized = 0;
978              return false;
979            }
980            memoizedIsInitialized = 1;
981            return true;
982          }
983    
984          public void writeTo(com.google.protobuf.CodedOutputStream output)
985                              throws java.io.IOException {
986            getSerializedSize();
987            if (((bitField0_ & 0x00000001) == 0x00000001)) {
988              output.writeInt32(1, parentQualifiedName_);
989            }
990            if (((bitField0_ & 0x00000002) == 0x00000002)) {
991              output.writeInt32(2, shortName_);
992            }
993            if (((bitField0_ & 0x00000004) == 0x00000004)) {
994              output.writeEnum(3, kind_.getNumber());
995            }
996          }
997    
998          private int memoizedSerializedSize = -1;
999          public int getSerializedSize() {
1000            int size = memoizedSerializedSize;
1001            if (size != -1) return size;
1002    
1003            size = 0;
1004            if (((bitField0_ & 0x00000001) == 0x00000001)) {
1005              size += com.google.protobuf.CodedOutputStream
1006                .computeInt32Size(1, parentQualifiedName_);
1007            }
1008            if (((bitField0_ & 0x00000002) == 0x00000002)) {
1009              size += com.google.protobuf.CodedOutputStream
1010                .computeInt32Size(2, shortName_);
1011            }
1012            if (((bitField0_ & 0x00000004) == 0x00000004)) {
1013              size += com.google.protobuf.CodedOutputStream
1014                .computeEnumSize(3, kind_.getNumber());
1015            }
1016            memoizedSerializedSize = size;
1017            return size;
1018          }
1019    
1020          private static final long serialVersionUID = 0L;
1021          @java.lang.Override
1022          protected java.lang.Object writeReplace()
1023              throws java.io.ObjectStreamException {
1024            return super.writeReplace();
1025          }
1026    
1027          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1028              com.google.protobuf.ByteString data)
1029              throws com.google.protobuf.InvalidProtocolBufferException {
1030            return PARSER.parseFrom(data);
1031          }
1032          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1033              com.google.protobuf.ByteString data,
1034              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1035              throws com.google.protobuf.InvalidProtocolBufferException {
1036            return PARSER.parseFrom(data, extensionRegistry);
1037          }
1038          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(byte[] data)
1039              throws com.google.protobuf.InvalidProtocolBufferException {
1040            return PARSER.parseFrom(data);
1041          }
1042          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1043              byte[] data,
1044              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1045              throws com.google.protobuf.InvalidProtocolBufferException {
1046            return PARSER.parseFrom(data, extensionRegistry);
1047          }
1048          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(java.io.InputStream input)
1049              throws java.io.IOException {
1050            return PARSER.parseFrom(input);
1051          }
1052          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1053              java.io.InputStream input,
1054              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1055              throws java.io.IOException {
1056            return PARSER.parseFrom(input, extensionRegistry);
1057          }
1058          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseDelimitedFrom(java.io.InputStream input)
1059              throws java.io.IOException {
1060            return PARSER.parseDelimitedFrom(input);
1061          }
1062          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseDelimitedFrom(
1063              java.io.InputStream input,
1064              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1065              throws java.io.IOException {
1066            return PARSER.parseDelimitedFrom(input, extensionRegistry);
1067          }
1068          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1069              com.google.protobuf.CodedInputStream input)
1070              throws java.io.IOException {
1071            return PARSER.parseFrom(input);
1072          }
1073          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1074              com.google.protobuf.CodedInputStream input,
1075              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1076              throws java.io.IOException {
1077            return PARSER.parseFrom(input, extensionRegistry);
1078          }
1079    
1080          public static Builder newBuilder() { return Builder.create(); }
1081          public Builder newBuilderForType() { return newBuilder(); }
1082          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName prototype) {
1083            return newBuilder().mergeFrom(prototype);
1084          }
1085          public Builder toBuilder() { return newBuilder(this); }
1086    
1087          /**
1088           * Protobuf type {@code org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName}
1089           */
1090          public static final class Builder extends
1091              com.google.protobuf.GeneratedMessageLite.Builder<
1092                org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName, Builder>
1093              implements org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder {
1094            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.newBuilder()
1095            private Builder() {
1096              maybeForceBuilderInitialization();
1097            }
1098    
1099            private void maybeForceBuilderInitialization() {
1100            }
1101            private static Builder create() {
1102              return new Builder();
1103            }
1104    
1105            public Builder clear() {
1106              super.clear();
1107              parentQualifiedName_ = -1;
1108              bitField0_ = (bitField0_ & ~0x00000001);
1109              shortName_ = 0;
1110              bitField0_ = (bitField0_ & ~0x00000002);
1111              kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1112              bitField0_ = (bitField0_ & ~0x00000004);
1113              return this;
1114            }
1115    
1116            public Builder clone() {
1117              return create().mergeFrom(buildPartial());
1118            }
1119    
1120            public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getDefaultInstanceForType() {
1121              return org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.getDefaultInstance();
1122            }
1123    
1124            public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName build() {
1125              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName result = buildPartial();
1126              if (!result.isInitialized()) {
1127                throw newUninitializedMessageException(result);
1128              }
1129              return result;
1130            }
1131    
1132            public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName buildPartial() {
1133              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName result = new org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName(this);
1134              int from_bitField0_ = bitField0_;
1135              int to_bitField0_ = 0;
1136              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
1137                to_bitField0_ |= 0x00000001;
1138              }
1139              result.parentQualifiedName_ = parentQualifiedName_;
1140              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
1141                to_bitField0_ |= 0x00000002;
1142              }
1143              result.shortName_ = shortName_;
1144              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
1145                to_bitField0_ |= 0x00000004;
1146              }
1147              result.kind_ = kind_;
1148              result.bitField0_ = to_bitField0_;
1149              return result;
1150            }
1151    
1152            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName other) {
1153              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.getDefaultInstance()) return this;
1154              if (other.hasParentQualifiedName()) {
1155                setParentQualifiedName(other.getParentQualifiedName());
1156              }
1157              if (other.hasShortName()) {
1158                setShortName(other.getShortName());
1159              }
1160              if (other.hasKind()) {
1161                setKind(other.getKind());
1162              }
1163              return this;
1164            }
1165    
1166            public final boolean isInitialized() {
1167              if (!hasShortName()) {
1168                
1169                return false;
1170              }
1171              return true;
1172            }
1173    
1174            public Builder mergeFrom(
1175                com.google.protobuf.CodedInputStream input,
1176                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1177                throws java.io.IOException {
1178              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parsedMessage = null;
1179              try {
1180                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1181              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1182                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName) e.getUnfinishedMessage();
1183                throw e;
1184              } finally {
1185                if (parsedMessage != null) {
1186                  mergeFrom(parsedMessage);
1187                }
1188              }
1189              return this;
1190            }
1191            private int bitField0_;
1192    
1193            // optional int32 parent_qualified_name = 1 [default = -1];
1194            private int parentQualifiedName_ = -1;
1195            /**
1196             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1197             */
1198            public boolean hasParentQualifiedName() {
1199              return ((bitField0_ & 0x00000001) == 0x00000001);
1200            }
1201            /**
1202             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1203             */
1204            public int getParentQualifiedName() {
1205              return parentQualifiedName_;
1206            }
1207            /**
1208             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1209             */
1210            public Builder setParentQualifiedName(int value) {
1211              bitField0_ |= 0x00000001;
1212              parentQualifiedName_ = value;
1213              
1214              return this;
1215            }
1216            /**
1217             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1218             */
1219            public Builder clearParentQualifiedName() {
1220              bitField0_ = (bitField0_ & ~0x00000001);
1221              parentQualifiedName_ = -1;
1222              
1223              return this;
1224            }
1225    
1226            // required int32 short_name = 2;
1227            private int shortName_ ;
1228            /**
1229             * <code>required int32 short_name = 2;</code>
1230             *
1231             * <pre>
1232             * Id in the StringTable
1233             * </pre>
1234             */
1235            public boolean hasShortName() {
1236              return ((bitField0_ & 0x00000002) == 0x00000002);
1237            }
1238            /**
1239             * <code>required int32 short_name = 2;</code>
1240             *
1241             * <pre>
1242             * Id in the StringTable
1243             * </pre>
1244             */
1245            public int getShortName() {
1246              return shortName_;
1247            }
1248            /**
1249             * <code>required int32 short_name = 2;</code>
1250             *
1251             * <pre>
1252             * Id in the StringTable
1253             * </pre>
1254             */
1255            public Builder setShortName(int value) {
1256              bitField0_ |= 0x00000002;
1257              shortName_ = value;
1258              
1259              return this;
1260            }
1261            /**
1262             * <code>required int32 short_name = 2;</code>
1263             *
1264             * <pre>
1265             * Id in the StringTable
1266             * </pre>
1267             */
1268            public Builder clearShortName() {
1269              bitField0_ = (bitField0_ & ~0x00000002);
1270              shortName_ = 0;
1271              
1272              return this;
1273            }
1274    
1275            // optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];
1276            private org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1277            /**
1278             * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1279             */
1280            public boolean hasKind() {
1281              return ((bitField0_ & 0x00000004) == 0x00000004);
1282            }
1283            /**
1284             * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1285             */
1286            public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind() {
1287              return kind_;
1288            }
1289            /**
1290             * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1291             */
1292            public Builder setKind(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind value) {
1293              if (value == null) {
1294                throw new NullPointerException();
1295              }
1296              bitField0_ |= 0x00000004;
1297              kind_ = value;
1298              
1299              return this;
1300            }
1301            /**
1302             * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1303             */
1304            public Builder clearKind() {
1305              bitField0_ = (bitField0_ & ~0x00000004);
1306              kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1307              
1308              return this;
1309            }
1310    
1311            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName)
1312          }
1313    
1314          static {
1315            defaultInstance = new QualifiedName(true);
1316            defaultInstance.initFields();
1317          }
1318    
1319          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName)
1320        }
1321    
1322        // repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;
1323        public static final int QUALIFIED_NAME_FIELD_NUMBER = 1;
1324        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> qualifiedName_;
1325        /**
1326         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1327         */
1328        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> getQualifiedNameList() {
1329          return qualifiedName_;
1330        }
1331        /**
1332         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1333         */
1334        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder> 
1335            getQualifiedNameOrBuilderList() {
1336          return qualifiedName_;
1337        }
1338        /**
1339         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1340         */
1341        public int getQualifiedNameCount() {
1342          return qualifiedName_.size();
1343        }
1344        /**
1345         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1346         */
1347        public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index) {
1348          return qualifiedName_.get(index);
1349        }
1350        /**
1351         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1352         */
1353        public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder getQualifiedNameOrBuilder(
1354            int index) {
1355          return qualifiedName_.get(index);
1356        }
1357    
1358        private void initFields() {
1359          qualifiedName_ = java.util.Collections.emptyList();
1360        }
1361        private byte memoizedIsInitialized = -1;
1362        public final boolean isInitialized() {
1363          byte isInitialized = memoizedIsInitialized;
1364          if (isInitialized != -1) return isInitialized == 1;
1365    
1366          for (int i = 0; i < getQualifiedNameCount(); i++) {
1367            if (!getQualifiedName(i).isInitialized()) {
1368              memoizedIsInitialized = 0;
1369              return false;
1370            }
1371          }
1372          memoizedIsInitialized = 1;
1373          return true;
1374        }
1375    
1376        public void writeTo(com.google.protobuf.CodedOutputStream output)
1377                            throws java.io.IOException {
1378          getSerializedSize();
1379          for (int i = 0; i < qualifiedName_.size(); i++) {
1380            output.writeMessage(1, qualifiedName_.get(i));
1381          }
1382        }
1383    
1384        private int memoizedSerializedSize = -1;
1385        public int getSerializedSize() {
1386          int size = memoizedSerializedSize;
1387          if (size != -1) return size;
1388    
1389          size = 0;
1390          for (int i = 0; i < qualifiedName_.size(); i++) {
1391            size += com.google.protobuf.CodedOutputStream
1392              .computeMessageSize(1, qualifiedName_.get(i));
1393          }
1394          memoizedSerializedSize = size;
1395          return size;
1396        }
1397    
1398        private static final long serialVersionUID = 0L;
1399        @java.lang.Override
1400        protected java.lang.Object writeReplace()
1401            throws java.io.ObjectStreamException {
1402          return super.writeReplace();
1403        }
1404    
1405        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1406            com.google.protobuf.ByteString data)
1407            throws com.google.protobuf.InvalidProtocolBufferException {
1408          return PARSER.parseFrom(data);
1409        }
1410        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1411            com.google.protobuf.ByteString data,
1412            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1413            throws com.google.protobuf.InvalidProtocolBufferException {
1414          return PARSER.parseFrom(data, extensionRegistry);
1415        }
1416        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(byte[] data)
1417            throws com.google.protobuf.InvalidProtocolBufferException {
1418          return PARSER.parseFrom(data);
1419        }
1420        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1421            byte[] data,
1422            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1423            throws com.google.protobuf.InvalidProtocolBufferException {
1424          return PARSER.parseFrom(data, extensionRegistry);
1425        }
1426        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(java.io.InputStream input)
1427            throws java.io.IOException {
1428          return PARSER.parseFrom(input);
1429        }
1430        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1431            java.io.InputStream input,
1432            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1433            throws java.io.IOException {
1434          return PARSER.parseFrom(input, extensionRegistry);
1435        }
1436        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseDelimitedFrom(java.io.InputStream input)
1437            throws java.io.IOException {
1438          return PARSER.parseDelimitedFrom(input);
1439        }
1440        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseDelimitedFrom(
1441            java.io.InputStream input,
1442            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1443            throws java.io.IOException {
1444          return PARSER.parseDelimitedFrom(input, extensionRegistry);
1445        }
1446        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1447            com.google.protobuf.CodedInputStream input)
1448            throws java.io.IOException {
1449          return PARSER.parseFrom(input);
1450        }
1451        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1452            com.google.protobuf.CodedInputStream input,
1453            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1454            throws java.io.IOException {
1455          return PARSER.parseFrom(input, extensionRegistry);
1456        }
1457    
1458        public static Builder newBuilder() { return Builder.create(); }
1459        public Builder newBuilderForType() { return newBuilder(); }
1460        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable prototype) {
1461          return newBuilder().mergeFrom(prototype);
1462        }
1463        public Builder toBuilder() { return newBuilder(this); }
1464    
1465        /**
1466         * Protobuf type {@code org.jetbrains.kotlin.serialization.QualifiedNameTable}
1467         */
1468        public static final class Builder extends
1469            com.google.protobuf.GeneratedMessageLite.Builder<
1470              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable, Builder>
1471            implements org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTableOrBuilder {
1472          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.newBuilder()
1473          private Builder() {
1474            maybeForceBuilderInitialization();
1475          }
1476    
1477          private void maybeForceBuilderInitialization() {
1478          }
1479          private static Builder create() {
1480            return new Builder();
1481          }
1482    
1483          public Builder clear() {
1484            super.clear();
1485            qualifiedName_ = java.util.Collections.emptyList();
1486            bitField0_ = (bitField0_ & ~0x00000001);
1487            return this;
1488          }
1489    
1490          public Builder clone() {
1491            return create().mergeFrom(buildPartial());
1492          }
1493    
1494          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable getDefaultInstanceForType() {
1495            return org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance();
1496          }
1497    
1498          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable build() {
1499            org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable result = buildPartial();
1500            if (!result.isInitialized()) {
1501              throw newUninitializedMessageException(result);
1502            }
1503            return result;
1504          }
1505    
1506          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable buildPartial() {
1507            org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable result = new org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable(this);
1508            int from_bitField0_ = bitField0_;
1509            if (((bitField0_ & 0x00000001) == 0x00000001)) {
1510              qualifiedName_ = java.util.Collections.unmodifiableList(qualifiedName_);
1511              bitField0_ = (bitField0_ & ~0x00000001);
1512            }
1513            result.qualifiedName_ = qualifiedName_;
1514            return result;
1515          }
1516    
1517          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable other) {
1518            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance()) return this;
1519            if (!other.qualifiedName_.isEmpty()) {
1520              if (qualifiedName_.isEmpty()) {
1521                qualifiedName_ = other.qualifiedName_;
1522                bitField0_ = (bitField0_ & ~0x00000001);
1523              } else {
1524                ensureQualifiedNameIsMutable();
1525                qualifiedName_.addAll(other.qualifiedName_);
1526              }
1527              
1528            }
1529            return this;
1530          }
1531    
1532          public final boolean isInitialized() {
1533            for (int i = 0; i < getQualifiedNameCount(); i++) {
1534              if (!getQualifiedName(i).isInitialized()) {
1535                
1536                return false;
1537              }
1538            }
1539            return true;
1540          }
1541    
1542          public Builder mergeFrom(
1543              com.google.protobuf.CodedInputStream input,
1544              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1545              throws java.io.IOException {
1546            org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parsedMessage = null;
1547            try {
1548              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1549            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1550              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable) e.getUnfinishedMessage();
1551              throw e;
1552            } finally {
1553              if (parsedMessage != null) {
1554                mergeFrom(parsedMessage);
1555              }
1556            }
1557            return this;
1558          }
1559          private int bitField0_;
1560    
1561          // repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;
1562          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> qualifiedName_ =
1563            java.util.Collections.emptyList();
1564          private void ensureQualifiedNameIsMutable() {
1565            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
1566              qualifiedName_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName>(qualifiedName_);
1567              bitField0_ |= 0x00000001;
1568             }
1569          }
1570    
1571          /**
1572           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1573           */
1574          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> getQualifiedNameList() {
1575            return java.util.Collections.unmodifiableList(qualifiedName_);
1576          }
1577          /**
1578           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1579           */
1580          public int getQualifiedNameCount() {
1581            return qualifiedName_.size();
1582          }
1583          /**
1584           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1585           */
1586          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index) {
1587            return qualifiedName_.get(index);
1588          }
1589          /**
1590           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1591           */
1592          public Builder setQualifiedName(
1593              int index, org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1594            if (value == null) {
1595              throw new NullPointerException();
1596            }
1597            ensureQualifiedNameIsMutable();
1598            qualifiedName_.set(index, value);
1599    
1600            return this;
1601          }
1602          /**
1603           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1604           */
1605          public Builder setQualifiedName(
1606              int index, org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1607            ensureQualifiedNameIsMutable();
1608            qualifiedName_.set(index, builderForValue.build());
1609    
1610            return this;
1611          }
1612          /**
1613           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1614           */
1615          public Builder addQualifiedName(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1616            if (value == null) {
1617              throw new NullPointerException();
1618            }
1619            ensureQualifiedNameIsMutable();
1620            qualifiedName_.add(value);
1621    
1622            return this;
1623          }
1624          /**
1625           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1626           */
1627          public Builder addQualifiedName(
1628              int index, org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1629            if (value == null) {
1630              throw new NullPointerException();
1631            }
1632            ensureQualifiedNameIsMutable();
1633            qualifiedName_.add(index, value);
1634    
1635            return this;
1636          }
1637          /**
1638           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1639           */
1640          public Builder addQualifiedName(
1641              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1642            ensureQualifiedNameIsMutable();
1643            qualifiedName_.add(builderForValue.build());
1644    
1645            return this;
1646          }
1647          /**
1648           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1649           */
1650          public Builder addQualifiedName(
1651              int index, org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1652            ensureQualifiedNameIsMutable();
1653            qualifiedName_.add(index, builderForValue.build());
1654    
1655            return this;
1656          }
1657          /**
1658           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1659           */
1660          public Builder addAllQualifiedName(
1661              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> values) {
1662            ensureQualifiedNameIsMutable();
1663            super.addAll(values, qualifiedName_);
1664    
1665            return this;
1666          }
1667          /**
1668           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1669           */
1670          public Builder clearQualifiedName() {
1671            qualifiedName_ = java.util.Collections.emptyList();
1672            bitField0_ = (bitField0_ & ~0x00000001);
1673    
1674            return this;
1675          }
1676          /**
1677           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1678           */
1679          public Builder removeQualifiedName(int index) {
1680            ensureQualifiedNameIsMutable();
1681            qualifiedName_.remove(index);
1682    
1683            return this;
1684          }
1685    
1686          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable)
1687        }
1688    
1689        static {
1690          defaultInstance = new QualifiedNameTable(true);
1691          defaultInstance.initFields();
1692        }
1693    
1694        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable)
1695      }
1696    
1697      public interface AnnotationOrBuilder
1698          extends com.google.protobuf.MessageLiteOrBuilder {
1699    
1700        // required int32 id = 1;
1701        /**
1702         * <code>required int32 id = 1;</code>
1703         *
1704         * <pre>
1705         * Class FQ name id
1706         * </pre>
1707         */
1708        boolean hasId();
1709        /**
1710         * <code>required int32 id = 1;</code>
1711         *
1712         * <pre>
1713         * Class FQ name id
1714         * </pre>
1715         */
1716        int getId();
1717    
1718        // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;
1719        /**
1720         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
1721         */
1722        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> 
1723            getArgumentList();
1724        /**
1725         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
1726         */
1727        org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument getArgument(int index);
1728        /**
1729         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
1730         */
1731        int getArgumentCount();
1732      }
1733      /**
1734       * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation}
1735       */
1736      public static final class Annotation extends
1737          com.google.protobuf.GeneratedMessageLite
1738          implements AnnotationOrBuilder {
1739        // Use Annotation.newBuilder() to construct.
1740        private Annotation(com.google.protobuf.GeneratedMessageLite.Builder builder) {
1741          super(builder);
1742    
1743        }
1744        private Annotation(boolean noInit) {}
1745    
1746        private static final Annotation defaultInstance;
1747        public static Annotation getDefaultInstance() {
1748          return defaultInstance;
1749        }
1750    
1751        public Annotation getDefaultInstanceForType() {
1752          return defaultInstance;
1753        }
1754    
1755        private Annotation(
1756            com.google.protobuf.CodedInputStream input,
1757            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1758            throws com.google.protobuf.InvalidProtocolBufferException {
1759          initFields();
1760          int mutable_bitField0_ = 0;
1761          try {
1762            boolean done = false;
1763            while (!done) {
1764              int tag = input.readTag();
1765              switch (tag) {
1766                case 0:
1767                  done = true;
1768                  break;
1769                default: {
1770                  if (!parseUnknownField(input,
1771                                         extensionRegistry, tag)) {
1772                    done = true;
1773                  }
1774                  break;
1775                }
1776                case 8: {
1777                  bitField0_ |= 0x00000001;
1778                  id_ = input.readInt32();
1779                  break;
1780                }
1781                case 18: {
1782                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
1783                    argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument>();
1784                    mutable_bitField0_ |= 0x00000002;
1785                  }
1786                  argument_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.PARSER, extensionRegistry));
1787                  break;
1788                }
1789              }
1790            }
1791          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1792            throw e.setUnfinishedMessage(this);
1793          } catch (java.io.IOException e) {
1794            throw new com.google.protobuf.InvalidProtocolBufferException(
1795                e.getMessage()).setUnfinishedMessage(this);
1796          } finally {
1797            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
1798              argument_ = java.util.Collections.unmodifiableList(argument_);
1799            }
1800            makeExtensionsImmutable();
1801          }
1802        }
1803        public static com.google.protobuf.Parser<Annotation> PARSER =
1804            new com.google.protobuf.AbstractParser<Annotation>() {
1805          public Annotation parsePartialFrom(
1806              com.google.protobuf.CodedInputStream input,
1807              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1808              throws com.google.protobuf.InvalidProtocolBufferException {
1809            return new Annotation(input, extensionRegistry);
1810          }
1811        };
1812    
1813        @java.lang.Override
1814        public com.google.protobuf.Parser<Annotation> getParserForType() {
1815          return PARSER;
1816        }
1817    
1818        public interface ArgumentOrBuilder
1819            extends com.google.protobuf.MessageLiteOrBuilder {
1820    
1821          // required int32 name_id = 1;
1822          /**
1823           * <code>required int32 name_id = 1;</code>
1824           *
1825           * <pre>
1826           * id in StringTable
1827           * </pre>
1828           */
1829          boolean hasNameId();
1830          /**
1831           * <code>required int32 name_id = 1;</code>
1832           *
1833           * <pre>
1834           * id in StringTable
1835           * </pre>
1836           */
1837          int getNameId();
1838    
1839          // required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;
1840          /**
1841           * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
1842           */
1843          boolean hasValue();
1844          /**
1845           * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
1846           */
1847          org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getValue();
1848        }
1849        /**
1850         * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation.Argument}
1851         */
1852        public static final class Argument extends
1853            com.google.protobuf.GeneratedMessageLite
1854            implements ArgumentOrBuilder {
1855          // Use Argument.newBuilder() to construct.
1856          private Argument(com.google.protobuf.GeneratedMessageLite.Builder builder) {
1857            super(builder);
1858    
1859          }
1860          private Argument(boolean noInit) {}
1861    
1862          private static final Argument defaultInstance;
1863          public static Argument getDefaultInstance() {
1864            return defaultInstance;
1865          }
1866    
1867          public Argument getDefaultInstanceForType() {
1868            return defaultInstance;
1869          }
1870    
1871          private Argument(
1872              com.google.protobuf.CodedInputStream input,
1873              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1874              throws com.google.protobuf.InvalidProtocolBufferException {
1875            initFields();
1876            int mutable_bitField0_ = 0;
1877            try {
1878              boolean done = false;
1879              while (!done) {
1880                int tag = input.readTag();
1881                switch (tag) {
1882                  case 0:
1883                    done = true;
1884                    break;
1885                  default: {
1886                    if (!parseUnknownField(input,
1887                                           extensionRegistry, tag)) {
1888                      done = true;
1889                    }
1890                    break;
1891                  }
1892                  case 8: {
1893                    bitField0_ |= 0x00000001;
1894                    nameId_ = input.readInt32();
1895                    break;
1896                  }
1897                  case 18: {
1898                    org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder subBuilder = null;
1899                    if (((bitField0_ & 0x00000002) == 0x00000002)) {
1900                      subBuilder = value_.toBuilder();
1901                    }
1902                    value_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.PARSER, extensionRegistry);
1903                    if (subBuilder != null) {
1904                      subBuilder.mergeFrom(value_);
1905                      value_ = subBuilder.buildPartial();
1906                    }
1907                    bitField0_ |= 0x00000002;
1908                    break;
1909                  }
1910                }
1911              }
1912            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1913              throw e.setUnfinishedMessage(this);
1914            } catch (java.io.IOException e) {
1915              throw new com.google.protobuf.InvalidProtocolBufferException(
1916                  e.getMessage()).setUnfinishedMessage(this);
1917            } finally {
1918              makeExtensionsImmutable();
1919            }
1920          }
1921          public static com.google.protobuf.Parser<Argument> PARSER =
1922              new com.google.protobuf.AbstractParser<Argument>() {
1923            public Argument parsePartialFrom(
1924                com.google.protobuf.CodedInputStream input,
1925                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1926                throws com.google.protobuf.InvalidProtocolBufferException {
1927              return new Argument(input, extensionRegistry);
1928            }
1929          };
1930    
1931          @java.lang.Override
1932          public com.google.protobuf.Parser<Argument> getParserForType() {
1933            return PARSER;
1934          }
1935    
1936          public interface ValueOrBuilder
1937              extends com.google.protobuf.MessageLiteOrBuilder {
1938    
1939            // optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;
1940            /**
1941             * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
1942             *
1943             * <pre>
1944             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
1945             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
1946             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
1947             * </pre>
1948             */
1949            boolean hasType();
1950            /**
1951             * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
1952             *
1953             * <pre>
1954             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
1955             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
1956             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
1957             * </pre>
1958             */
1959            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type getType();
1960    
1961            // optional sint64 int_value = 2;
1962            /**
1963             * <code>optional sint64 int_value = 2;</code>
1964             */
1965            boolean hasIntValue();
1966            /**
1967             * <code>optional sint64 int_value = 2;</code>
1968             */
1969            long getIntValue();
1970    
1971            // optional float float_value = 3;
1972            /**
1973             * <code>optional float float_value = 3;</code>
1974             */
1975            boolean hasFloatValue();
1976            /**
1977             * <code>optional float float_value = 3;</code>
1978             */
1979            float getFloatValue();
1980    
1981            // optional double double_value = 4;
1982            /**
1983             * <code>optional double double_value = 4;</code>
1984             */
1985            boolean hasDoubleValue();
1986            /**
1987             * <code>optional double double_value = 4;</code>
1988             */
1989            double getDoubleValue();
1990    
1991            // optional int32 string_value = 5;
1992            /**
1993             * <code>optional int32 string_value = 5;</code>
1994             *
1995             * <pre>
1996             * id in StringTable
1997             * </pre>
1998             */
1999            boolean hasStringValue();
2000            /**
2001             * <code>optional int32 string_value = 5;</code>
2002             *
2003             * <pre>
2004             * id in StringTable
2005             * </pre>
2006             */
2007            int getStringValue();
2008    
2009            // optional int32 class_id = 6;
2010            /**
2011             * <code>optional int32 class_id = 6;</code>
2012             *
2013             * <pre>
2014             * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
2015             * </pre>
2016             */
2017            boolean hasClassId();
2018            /**
2019             * <code>optional int32 class_id = 6;</code>
2020             *
2021             * <pre>
2022             * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
2023             * </pre>
2024             */
2025            int getClassId();
2026    
2027            // optional int32 enum_value_id = 7;
2028            /**
2029             * <code>optional int32 enum_value_id = 7;</code>
2030             *
2031             * <pre>
2032             * id in StringTable
2033             * </pre>
2034             */
2035            boolean hasEnumValueId();
2036            /**
2037             * <code>optional int32 enum_value_id = 7;</code>
2038             *
2039             * <pre>
2040             * id in StringTable
2041             * </pre>
2042             */
2043            int getEnumValueId();
2044    
2045            // optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;
2046            /**
2047             * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
2048             */
2049            boolean hasAnnotation();
2050            /**
2051             * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
2052             */
2053            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getAnnotation();
2054    
2055            // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;
2056            /**
2057             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2058             */
2059            java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> 
2060                getArrayElementList();
2061            /**
2062             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2063             */
2064            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getArrayElement(int index);
2065            /**
2066             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2067             */
2068            int getArrayElementCount();
2069          }
2070          /**
2071           * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation.Argument.Value}
2072           */
2073          public static final class Value extends
2074              com.google.protobuf.GeneratedMessageLite
2075              implements ValueOrBuilder {
2076            // Use Value.newBuilder() to construct.
2077            private Value(com.google.protobuf.GeneratedMessageLite.Builder builder) {
2078              super(builder);
2079    
2080            }
2081            private Value(boolean noInit) {}
2082    
2083            private static final Value defaultInstance;
2084            public static Value getDefaultInstance() {
2085              return defaultInstance;
2086            }
2087    
2088            public Value getDefaultInstanceForType() {
2089              return defaultInstance;
2090            }
2091    
2092            private Value(
2093                com.google.protobuf.CodedInputStream input,
2094                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2095                throws com.google.protobuf.InvalidProtocolBufferException {
2096              initFields();
2097              int mutable_bitField0_ = 0;
2098              try {
2099                boolean done = false;
2100                while (!done) {
2101                  int tag = input.readTag();
2102                  switch (tag) {
2103                    case 0:
2104                      done = true;
2105                      break;
2106                    default: {
2107                      if (!parseUnknownField(input,
2108                                             extensionRegistry, tag)) {
2109                        done = true;
2110                      }
2111                      break;
2112                    }
2113                    case 8: {
2114                      int rawValue = input.readEnum();
2115                      org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type value = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.valueOf(rawValue);
2116                      if (value != null) {
2117                        bitField0_ |= 0x00000001;
2118                        type_ = value;
2119                      }
2120                      break;
2121                    }
2122                    case 16: {
2123                      bitField0_ |= 0x00000002;
2124                      intValue_ = input.readSInt64();
2125                      break;
2126                    }
2127                    case 29: {
2128                      bitField0_ |= 0x00000004;
2129                      floatValue_ = input.readFloat();
2130                      break;
2131                    }
2132                    case 33: {
2133                      bitField0_ |= 0x00000008;
2134                      doubleValue_ = input.readDouble();
2135                      break;
2136                    }
2137                    case 40: {
2138                      bitField0_ |= 0x00000010;
2139                      stringValue_ = input.readInt32();
2140                      break;
2141                    }
2142                    case 48: {
2143                      bitField0_ |= 0x00000020;
2144                      classId_ = input.readInt32();
2145                      break;
2146                    }
2147                    case 56: {
2148                      bitField0_ |= 0x00000040;
2149                      enumValueId_ = input.readInt32();
2150                      break;
2151                    }
2152                    case 66: {
2153                      org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Builder subBuilder = null;
2154                      if (((bitField0_ & 0x00000080) == 0x00000080)) {
2155                        subBuilder = annotation_.toBuilder();
2156                      }
2157                      annotation_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.PARSER, extensionRegistry);
2158                      if (subBuilder != null) {
2159                        subBuilder.mergeFrom(annotation_);
2160                        annotation_ = subBuilder.buildPartial();
2161                      }
2162                      bitField0_ |= 0x00000080;
2163                      break;
2164                    }
2165                    case 74: {
2166                      if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
2167                        arrayElement_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value>();
2168                        mutable_bitField0_ |= 0x00000100;
2169                      }
2170                      arrayElement_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.PARSER, extensionRegistry));
2171                      break;
2172                    }
2173                  }
2174                }
2175              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2176                throw e.setUnfinishedMessage(this);
2177              } catch (java.io.IOException e) {
2178                throw new com.google.protobuf.InvalidProtocolBufferException(
2179                    e.getMessage()).setUnfinishedMessage(this);
2180              } finally {
2181                if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
2182                  arrayElement_ = java.util.Collections.unmodifiableList(arrayElement_);
2183                }
2184                makeExtensionsImmutable();
2185              }
2186            }
2187            public static com.google.protobuf.Parser<Value> PARSER =
2188                new com.google.protobuf.AbstractParser<Value>() {
2189              public Value parsePartialFrom(
2190                  com.google.protobuf.CodedInputStream input,
2191                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2192                  throws com.google.protobuf.InvalidProtocolBufferException {
2193                return new Value(input, extensionRegistry);
2194              }
2195            };
2196    
2197            @java.lang.Override
2198            public com.google.protobuf.Parser<Value> getParserForType() {
2199              return PARSER;
2200            }
2201    
2202            /**
2203             * Protobuf enum {@code org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type}
2204             */
2205            public enum Type
2206                implements com.google.protobuf.Internal.EnumLite {
2207              /**
2208               * <code>BYTE = 0;</code>
2209               */
2210              BYTE(0, 0),
2211              /**
2212               * <code>CHAR = 1;</code>
2213               */
2214              CHAR(1, 1),
2215              /**
2216               * <code>SHORT = 2;</code>
2217               */
2218              SHORT(2, 2),
2219              /**
2220               * <code>INT = 3;</code>
2221               */
2222              INT(3, 3),
2223              /**
2224               * <code>LONG = 4;</code>
2225               */
2226              LONG(4, 4),
2227              /**
2228               * <code>FLOAT = 5;</code>
2229               */
2230              FLOAT(5, 5),
2231              /**
2232               * <code>DOUBLE = 6;</code>
2233               */
2234              DOUBLE(6, 6),
2235              /**
2236               * <code>BOOLEAN = 7;</code>
2237               */
2238              BOOLEAN(7, 7),
2239              /**
2240               * <code>STRING = 8;</code>
2241               */
2242              STRING(8, 8),
2243              /**
2244               * <code>CLASS = 9;</code>
2245               */
2246              CLASS(9, 9),
2247              /**
2248               * <code>ENUM = 10;</code>
2249               */
2250              ENUM(10, 10),
2251              /**
2252               * <code>ANNOTATION = 11;</code>
2253               */
2254              ANNOTATION(11, 11),
2255              /**
2256               * <code>ARRAY = 12;</code>
2257               */
2258              ARRAY(12, 12),
2259              ;
2260    
2261              /**
2262               * <code>BYTE = 0;</code>
2263               */
2264              public static final int BYTE_VALUE = 0;
2265              /**
2266               * <code>CHAR = 1;</code>
2267               */
2268              public static final int CHAR_VALUE = 1;
2269              /**
2270               * <code>SHORT = 2;</code>
2271               */
2272              public static final int SHORT_VALUE = 2;
2273              /**
2274               * <code>INT = 3;</code>
2275               */
2276              public static final int INT_VALUE = 3;
2277              /**
2278               * <code>LONG = 4;</code>
2279               */
2280              public static final int LONG_VALUE = 4;
2281              /**
2282               * <code>FLOAT = 5;</code>
2283               */
2284              public static final int FLOAT_VALUE = 5;
2285              /**
2286               * <code>DOUBLE = 6;</code>
2287               */
2288              public static final int DOUBLE_VALUE = 6;
2289              /**
2290               * <code>BOOLEAN = 7;</code>
2291               */
2292              public static final int BOOLEAN_VALUE = 7;
2293              /**
2294               * <code>STRING = 8;</code>
2295               */
2296              public static final int STRING_VALUE = 8;
2297              /**
2298               * <code>CLASS = 9;</code>
2299               */
2300              public static final int CLASS_VALUE = 9;
2301              /**
2302               * <code>ENUM = 10;</code>
2303               */
2304              public static final int ENUM_VALUE = 10;
2305              /**
2306               * <code>ANNOTATION = 11;</code>
2307               */
2308              public static final int ANNOTATION_VALUE = 11;
2309              /**
2310               * <code>ARRAY = 12;</code>
2311               */
2312              public static final int ARRAY_VALUE = 12;
2313    
2314    
2315              public final int getNumber() { return value; }
2316    
2317              public static Type valueOf(int value) {
2318                switch (value) {
2319                  case 0: return BYTE;
2320                  case 1: return CHAR;
2321                  case 2: return SHORT;
2322                  case 3: return INT;
2323                  case 4: return LONG;
2324                  case 5: return FLOAT;
2325                  case 6: return DOUBLE;
2326                  case 7: return BOOLEAN;
2327                  case 8: return STRING;
2328                  case 9: return CLASS;
2329                  case 10: return ENUM;
2330                  case 11: return ANNOTATION;
2331                  case 12: return ARRAY;
2332                  default: return null;
2333                }
2334              }
2335    
2336              public static com.google.protobuf.Internal.EnumLiteMap<Type>
2337                  internalGetValueMap() {
2338                return internalValueMap;
2339              }
2340              private static com.google.protobuf.Internal.EnumLiteMap<Type>
2341                  internalValueMap =
2342                    new com.google.protobuf.Internal.EnumLiteMap<Type>() {
2343                      public Type findValueByNumber(int number) {
2344                        return Type.valueOf(number);
2345                      }
2346                    };
2347    
2348              private final int value;
2349    
2350              private Type(int index, int value) {
2351                this.value = value;
2352              }
2353    
2354              // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type)
2355            }
2356    
2357            private int bitField0_;
2358            // optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;
2359            public static final int TYPE_FIELD_NUMBER = 1;
2360            private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type type_;
2361            /**
2362             * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2363             *
2364             * <pre>
2365             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2366             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2367             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2368             * </pre>
2369             */
2370            public boolean hasType() {
2371              return ((bitField0_ & 0x00000001) == 0x00000001);
2372            }
2373            /**
2374             * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2375             *
2376             * <pre>
2377             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2378             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2379             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2380             * </pre>
2381             */
2382            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type getType() {
2383              return type_;
2384            }
2385    
2386            // optional sint64 int_value = 2;
2387            public static final int INT_VALUE_FIELD_NUMBER = 2;
2388            private long intValue_;
2389            /**
2390             * <code>optional sint64 int_value = 2;</code>
2391             */
2392            public boolean hasIntValue() {
2393              return ((bitField0_ & 0x00000002) == 0x00000002);
2394            }
2395            /**
2396             * <code>optional sint64 int_value = 2;</code>
2397             */
2398            public long getIntValue() {
2399              return intValue_;
2400            }
2401    
2402            // optional float float_value = 3;
2403            public static final int FLOAT_VALUE_FIELD_NUMBER = 3;
2404            private float floatValue_;
2405            /**
2406             * <code>optional float float_value = 3;</code>
2407             */
2408            public boolean hasFloatValue() {
2409              return ((bitField0_ & 0x00000004) == 0x00000004);
2410            }
2411            /**
2412             * <code>optional float float_value = 3;</code>
2413             */
2414            public float getFloatValue() {
2415              return floatValue_;
2416            }
2417    
2418            // optional double double_value = 4;
2419            public static final int DOUBLE_VALUE_FIELD_NUMBER = 4;
2420            private double doubleValue_;
2421            /**
2422             * <code>optional double double_value = 4;</code>
2423             */
2424            public boolean hasDoubleValue() {
2425              return ((bitField0_ & 0x00000008) == 0x00000008);
2426            }
2427            /**
2428             * <code>optional double double_value = 4;</code>
2429             */
2430            public double getDoubleValue() {
2431              return doubleValue_;
2432            }
2433    
2434            // optional int32 string_value = 5;
2435            public static final int STRING_VALUE_FIELD_NUMBER = 5;
2436            private int stringValue_;
2437            /**
2438             * <code>optional int32 string_value = 5;</code>
2439             *
2440             * <pre>
2441             * id in StringTable
2442             * </pre>
2443             */
2444            public boolean hasStringValue() {
2445              return ((bitField0_ & 0x00000010) == 0x00000010);
2446            }
2447            /**
2448             * <code>optional int32 string_value = 5;</code>
2449             *
2450             * <pre>
2451             * id in StringTable
2452             * </pre>
2453             */
2454            public int getStringValue() {
2455              return stringValue_;
2456            }
2457    
2458            // optional int32 class_id = 6;
2459            public static final int CLASS_ID_FIELD_NUMBER = 6;
2460            private int classId_;
2461            /**
2462             * <code>optional int32 class_id = 6;</code>
2463             *
2464             * <pre>
2465             * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
2466             * </pre>
2467             */
2468            public boolean hasClassId() {
2469              return ((bitField0_ & 0x00000020) == 0x00000020);
2470            }
2471            /**
2472             * <code>optional int32 class_id = 6;</code>
2473             *
2474             * <pre>
2475             * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
2476             * </pre>
2477             */
2478            public int getClassId() {
2479              return classId_;
2480            }
2481    
2482            // optional int32 enum_value_id = 7;
2483            public static final int ENUM_VALUE_ID_FIELD_NUMBER = 7;
2484            private int enumValueId_;
2485            /**
2486             * <code>optional int32 enum_value_id = 7;</code>
2487             *
2488             * <pre>
2489             * id in StringTable
2490             * </pre>
2491             */
2492            public boolean hasEnumValueId() {
2493              return ((bitField0_ & 0x00000040) == 0x00000040);
2494            }
2495            /**
2496             * <code>optional int32 enum_value_id = 7;</code>
2497             *
2498             * <pre>
2499             * id in StringTable
2500             * </pre>
2501             */
2502            public int getEnumValueId() {
2503              return enumValueId_;
2504            }
2505    
2506            // optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;
2507            public static final int ANNOTATION_FIELD_NUMBER = 8;
2508            private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation annotation_;
2509            /**
2510             * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
2511             */
2512            public boolean hasAnnotation() {
2513              return ((bitField0_ & 0x00000080) == 0x00000080);
2514            }
2515            /**
2516             * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
2517             */
2518            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getAnnotation() {
2519              return annotation_;
2520            }
2521    
2522            // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;
2523            public static final int ARRAY_ELEMENT_FIELD_NUMBER = 9;
2524            private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> arrayElement_;
2525            /**
2526             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2527             */
2528            public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> getArrayElementList() {
2529              return arrayElement_;
2530            }
2531            /**
2532             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2533             */
2534            public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.ValueOrBuilder> 
2535                getArrayElementOrBuilderList() {
2536              return arrayElement_;
2537            }
2538            /**
2539             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2540             */
2541            public int getArrayElementCount() {
2542              return arrayElement_.size();
2543            }
2544            /**
2545             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2546             */
2547            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getArrayElement(int index) {
2548              return arrayElement_.get(index);
2549            }
2550            /**
2551             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2552             */
2553            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.ValueOrBuilder getArrayElementOrBuilder(
2554                int index) {
2555              return arrayElement_.get(index);
2556            }
2557    
2558            private void initFields() {
2559              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
2560              intValue_ = 0L;
2561              floatValue_ = 0F;
2562              doubleValue_ = 0D;
2563              stringValue_ = 0;
2564              classId_ = 0;
2565              enumValueId_ = 0;
2566              annotation_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
2567              arrayElement_ = java.util.Collections.emptyList();
2568            }
2569            private byte memoizedIsInitialized = -1;
2570            public final boolean isInitialized() {
2571              byte isInitialized = memoizedIsInitialized;
2572              if (isInitialized != -1) return isInitialized == 1;
2573    
2574              if (hasAnnotation()) {
2575                if (!getAnnotation().isInitialized()) {
2576                  memoizedIsInitialized = 0;
2577                  return false;
2578                }
2579              }
2580              for (int i = 0; i < getArrayElementCount(); i++) {
2581                if (!getArrayElement(i).isInitialized()) {
2582                  memoizedIsInitialized = 0;
2583                  return false;
2584                }
2585              }
2586              memoizedIsInitialized = 1;
2587              return true;
2588            }
2589    
2590            public void writeTo(com.google.protobuf.CodedOutputStream output)
2591                                throws java.io.IOException {
2592              getSerializedSize();
2593              if (((bitField0_ & 0x00000001) == 0x00000001)) {
2594                output.writeEnum(1, type_.getNumber());
2595              }
2596              if (((bitField0_ & 0x00000002) == 0x00000002)) {
2597                output.writeSInt64(2, intValue_);
2598              }
2599              if (((bitField0_ & 0x00000004) == 0x00000004)) {
2600                output.writeFloat(3, floatValue_);
2601              }
2602              if (((bitField0_ & 0x00000008) == 0x00000008)) {
2603                output.writeDouble(4, doubleValue_);
2604              }
2605              if (((bitField0_ & 0x00000010) == 0x00000010)) {
2606                output.writeInt32(5, stringValue_);
2607              }
2608              if (((bitField0_ & 0x00000020) == 0x00000020)) {
2609                output.writeInt32(6, classId_);
2610              }
2611              if (((bitField0_ & 0x00000040) == 0x00000040)) {
2612                output.writeInt32(7, enumValueId_);
2613              }
2614              if (((bitField0_ & 0x00000080) == 0x00000080)) {
2615                output.writeMessage(8, annotation_);
2616              }
2617              for (int i = 0; i < arrayElement_.size(); i++) {
2618                output.writeMessage(9, arrayElement_.get(i));
2619              }
2620            }
2621    
2622            private int memoizedSerializedSize = -1;
2623            public int getSerializedSize() {
2624              int size = memoizedSerializedSize;
2625              if (size != -1) return size;
2626    
2627              size = 0;
2628              if (((bitField0_ & 0x00000001) == 0x00000001)) {
2629                size += com.google.protobuf.CodedOutputStream
2630                  .computeEnumSize(1, type_.getNumber());
2631              }
2632              if (((bitField0_ & 0x00000002) == 0x00000002)) {
2633                size += com.google.protobuf.CodedOutputStream
2634                  .computeSInt64Size(2, intValue_);
2635              }
2636              if (((bitField0_ & 0x00000004) == 0x00000004)) {
2637                size += com.google.protobuf.CodedOutputStream
2638                  .computeFloatSize(3, floatValue_);
2639              }
2640              if (((bitField0_ & 0x00000008) == 0x00000008)) {
2641                size += com.google.protobuf.CodedOutputStream
2642                  .computeDoubleSize(4, doubleValue_);
2643              }
2644              if (((bitField0_ & 0x00000010) == 0x00000010)) {
2645                size += com.google.protobuf.CodedOutputStream
2646                  .computeInt32Size(5, stringValue_);
2647              }
2648              if (((bitField0_ & 0x00000020) == 0x00000020)) {
2649                size += com.google.protobuf.CodedOutputStream
2650                  .computeInt32Size(6, classId_);
2651              }
2652              if (((bitField0_ & 0x00000040) == 0x00000040)) {
2653                size += com.google.protobuf.CodedOutputStream
2654                  .computeInt32Size(7, enumValueId_);
2655              }
2656              if (((bitField0_ & 0x00000080) == 0x00000080)) {
2657                size += com.google.protobuf.CodedOutputStream
2658                  .computeMessageSize(8, annotation_);
2659              }
2660              for (int i = 0; i < arrayElement_.size(); i++) {
2661                size += com.google.protobuf.CodedOutputStream
2662                  .computeMessageSize(9, arrayElement_.get(i));
2663              }
2664              memoizedSerializedSize = size;
2665              return size;
2666            }
2667    
2668            private static final long serialVersionUID = 0L;
2669            @java.lang.Override
2670            protected java.lang.Object writeReplace()
2671                throws java.io.ObjectStreamException {
2672              return super.writeReplace();
2673            }
2674    
2675            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2676                com.google.protobuf.ByteString data)
2677                throws com.google.protobuf.InvalidProtocolBufferException {
2678              return PARSER.parseFrom(data);
2679            }
2680            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2681                com.google.protobuf.ByteString data,
2682                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2683                throws com.google.protobuf.InvalidProtocolBufferException {
2684              return PARSER.parseFrom(data, extensionRegistry);
2685            }
2686            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(byte[] data)
2687                throws com.google.protobuf.InvalidProtocolBufferException {
2688              return PARSER.parseFrom(data);
2689            }
2690            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2691                byte[] data,
2692                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2693                throws com.google.protobuf.InvalidProtocolBufferException {
2694              return PARSER.parseFrom(data, extensionRegistry);
2695            }
2696            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(java.io.InputStream input)
2697                throws java.io.IOException {
2698              return PARSER.parseFrom(input);
2699            }
2700            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2701                java.io.InputStream input,
2702                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2703                throws java.io.IOException {
2704              return PARSER.parseFrom(input, extensionRegistry);
2705            }
2706            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseDelimitedFrom(java.io.InputStream input)
2707                throws java.io.IOException {
2708              return PARSER.parseDelimitedFrom(input);
2709            }
2710            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseDelimitedFrom(
2711                java.io.InputStream input,
2712                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2713                throws java.io.IOException {
2714              return PARSER.parseDelimitedFrom(input, extensionRegistry);
2715            }
2716            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2717                com.google.protobuf.CodedInputStream input)
2718                throws java.io.IOException {
2719              return PARSER.parseFrom(input);
2720            }
2721            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2722                com.google.protobuf.CodedInputStream input,
2723                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2724                throws java.io.IOException {
2725              return PARSER.parseFrom(input, extensionRegistry);
2726            }
2727    
2728            public static Builder newBuilder() { return Builder.create(); }
2729            public Builder newBuilderForType() { return newBuilder(); }
2730            public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value prototype) {
2731              return newBuilder().mergeFrom(prototype);
2732            }
2733            public Builder toBuilder() { return newBuilder(this); }
2734    
2735            /**
2736             * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation.Argument.Value}
2737             */
2738            public static final class Builder extends
2739                com.google.protobuf.GeneratedMessageLite.Builder<
2740                  org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value, Builder>
2741                implements org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.ValueOrBuilder {
2742              // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.newBuilder()
2743              private Builder() {
2744                maybeForceBuilderInitialization();
2745              }
2746    
2747              private void maybeForceBuilderInitialization() {
2748              }
2749              private static Builder create() {
2750                return new Builder();
2751              }
2752    
2753              public Builder clear() {
2754                super.clear();
2755                type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
2756                bitField0_ = (bitField0_ & ~0x00000001);
2757                intValue_ = 0L;
2758                bitField0_ = (bitField0_ & ~0x00000002);
2759                floatValue_ = 0F;
2760                bitField0_ = (bitField0_ & ~0x00000004);
2761                doubleValue_ = 0D;
2762                bitField0_ = (bitField0_ & ~0x00000008);
2763                stringValue_ = 0;
2764                bitField0_ = (bitField0_ & ~0x00000010);
2765                classId_ = 0;
2766                bitField0_ = (bitField0_ & ~0x00000020);
2767                enumValueId_ = 0;
2768                bitField0_ = (bitField0_ & ~0x00000040);
2769                annotation_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
2770                bitField0_ = (bitField0_ & ~0x00000080);
2771                arrayElement_ = java.util.Collections.emptyList();
2772                bitField0_ = (bitField0_ & ~0x00000100);
2773                return this;
2774              }
2775    
2776              public Builder clone() {
2777                return create().mergeFrom(buildPartial());
2778              }
2779    
2780              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getDefaultInstanceForType() {
2781                return org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
2782              }
2783    
2784              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value build() {
2785                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value result = buildPartial();
2786                if (!result.isInitialized()) {
2787                  throw newUninitializedMessageException(result);
2788                }
2789                return result;
2790              }
2791    
2792              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value buildPartial() {
2793                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value result = new org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value(this);
2794                int from_bitField0_ = bitField0_;
2795                int to_bitField0_ = 0;
2796                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
2797                  to_bitField0_ |= 0x00000001;
2798                }
2799                result.type_ = type_;
2800                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
2801                  to_bitField0_ |= 0x00000002;
2802                }
2803                result.intValue_ = intValue_;
2804                if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
2805                  to_bitField0_ |= 0x00000004;
2806                }
2807                result.floatValue_ = floatValue_;
2808                if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
2809                  to_bitField0_ |= 0x00000008;
2810                }
2811                result.doubleValue_ = doubleValue_;
2812                if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
2813                  to_bitField0_ |= 0x00000010;
2814                }
2815                result.stringValue_ = stringValue_;
2816                if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
2817                  to_bitField0_ |= 0x00000020;
2818                }
2819                result.classId_ = classId_;
2820                if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
2821                  to_bitField0_ |= 0x00000040;
2822                }
2823                result.enumValueId_ = enumValueId_;
2824                if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
2825                  to_bitField0_ |= 0x00000080;
2826                }
2827                result.annotation_ = annotation_;
2828                if (((bitField0_ & 0x00000100) == 0x00000100)) {
2829                  arrayElement_ = java.util.Collections.unmodifiableList(arrayElement_);
2830                  bitField0_ = (bitField0_ & ~0x00000100);
2831                }
2832                result.arrayElement_ = arrayElement_;
2833                result.bitField0_ = to_bitField0_;
2834                return result;
2835              }
2836    
2837              public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value other) {
2838                if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance()) return this;
2839                if (other.hasType()) {
2840                  setType(other.getType());
2841                }
2842                if (other.hasIntValue()) {
2843                  setIntValue(other.getIntValue());
2844                }
2845                if (other.hasFloatValue()) {
2846                  setFloatValue(other.getFloatValue());
2847                }
2848                if (other.hasDoubleValue()) {
2849                  setDoubleValue(other.getDoubleValue());
2850                }
2851                if (other.hasStringValue()) {
2852                  setStringValue(other.getStringValue());
2853                }
2854                if (other.hasClassId()) {
2855                  setClassId(other.getClassId());
2856                }
2857                if (other.hasEnumValueId()) {
2858                  setEnumValueId(other.getEnumValueId());
2859                }
2860                if (other.hasAnnotation()) {
2861                  mergeAnnotation(other.getAnnotation());
2862                }
2863                if (!other.arrayElement_.isEmpty()) {
2864                  if (arrayElement_.isEmpty()) {
2865                    arrayElement_ = other.arrayElement_;
2866                    bitField0_ = (bitField0_ & ~0x00000100);
2867                  } else {
2868                    ensureArrayElementIsMutable();
2869                    arrayElement_.addAll(other.arrayElement_);
2870                  }
2871                  
2872                }
2873                return this;
2874              }
2875    
2876              public final boolean isInitialized() {
2877                if (hasAnnotation()) {
2878                  if (!getAnnotation().isInitialized()) {
2879                    
2880                    return false;
2881                  }
2882                }
2883                for (int i = 0; i < getArrayElementCount(); i++) {
2884                  if (!getArrayElement(i).isInitialized()) {
2885                    
2886                    return false;
2887                  }
2888                }
2889                return true;
2890              }
2891    
2892              public Builder mergeFrom(
2893                  com.google.protobuf.CodedInputStream input,
2894                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2895                  throws java.io.IOException {
2896                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parsedMessage = null;
2897                try {
2898                  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
2899                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2900                  parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value) e.getUnfinishedMessage();
2901                  throw e;
2902                } finally {
2903                  if (parsedMessage != null) {
2904                    mergeFrom(parsedMessage);
2905                  }
2906                }
2907                return this;
2908              }
2909              private int bitField0_;
2910    
2911              // optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;
2912              private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
2913              /**
2914               * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2915               *
2916               * <pre>
2917               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2918               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2919               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2920               * </pre>
2921               */
2922              public boolean hasType() {
2923                return ((bitField0_ & 0x00000001) == 0x00000001);
2924              }
2925              /**
2926               * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2927               *
2928               * <pre>
2929               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2930               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2931               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2932               * </pre>
2933               */
2934              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type getType() {
2935                return type_;
2936              }
2937              /**
2938               * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2939               *
2940               * <pre>
2941               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2942               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2943               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2944               * </pre>
2945               */
2946              public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type value) {
2947                if (value == null) {
2948                  throw new NullPointerException();
2949                }
2950                bitField0_ |= 0x00000001;
2951                type_ = value;
2952                
2953                return this;
2954              }
2955              /**
2956               * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2957               *
2958               * <pre>
2959               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2960               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2961               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2962               * </pre>
2963               */
2964              public Builder clearType() {
2965                bitField0_ = (bitField0_ & ~0x00000001);
2966                type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
2967                
2968                return this;
2969              }
2970    
2971              // optional sint64 int_value = 2;
2972              private long intValue_ ;
2973              /**
2974               * <code>optional sint64 int_value = 2;</code>
2975               */
2976              public boolean hasIntValue() {
2977                return ((bitField0_ & 0x00000002) == 0x00000002);
2978              }
2979              /**
2980               * <code>optional sint64 int_value = 2;</code>
2981               */
2982              public long getIntValue() {
2983                return intValue_;
2984              }
2985              /**
2986               * <code>optional sint64 int_value = 2;</code>
2987               */
2988              public Builder setIntValue(long value) {
2989                bitField0_ |= 0x00000002;
2990                intValue_ = value;
2991                
2992                return this;
2993              }
2994              /**
2995               * <code>optional sint64 int_value = 2;</code>
2996               */
2997              public Builder clearIntValue() {
2998                bitField0_ = (bitField0_ & ~0x00000002);
2999                intValue_ = 0L;
3000                
3001                return this;
3002              }
3003    
3004              // optional float float_value = 3;
3005              private float floatValue_ ;
3006              /**
3007               * <code>optional float float_value = 3;</code>
3008               */
3009              public boolean hasFloatValue() {
3010                return ((bitField0_ & 0x00000004) == 0x00000004);
3011              }
3012              /**
3013               * <code>optional float float_value = 3;</code>
3014               */
3015              public float getFloatValue() {
3016                return floatValue_;
3017              }
3018              /**
3019               * <code>optional float float_value = 3;</code>
3020               */
3021              public Builder setFloatValue(float value) {
3022                bitField0_ |= 0x00000004;
3023                floatValue_ = value;
3024                
3025                return this;
3026              }
3027              /**
3028               * <code>optional float float_value = 3;</code>
3029               */
3030              public Builder clearFloatValue() {
3031                bitField0_ = (bitField0_ & ~0x00000004);
3032                floatValue_ = 0F;
3033                
3034                return this;
3035              }
3036    
3037              // optional double double_value = 4;
3038              private double doubleValue_ ;
3039              /**
3040               * <code>optional double double_value = 4;</code>
3041               */
3042              public boolean hasDoubleValue() {
3043                return ((bitField0_ & 0x00000008) == 0x00000008);
3044              }
3045              /**
3046               * <code>optional double double_value = 4;</code>
3047               */
3048              public double getDoubleValue() {
3049                return doubleValue_;
3050              }
3051              /**
3052               * <code>optional double double_value = 4;</code>
3053               */
3054              public Builder setDoubleValue(double value) {
3055                bitField0_ |= 0x00000008;
3056                doubleValue_ = value;
3057                
3058                return this;
3059              }
3060              /**
3061               * <code>optional double double_value = 4;</code>
3062               */
3063              public Builder clearDoubleValue() {
3064                bitField0_ = (bitField0_ & ~0x00000008);
3065                doubleValue_ = 0D;
3066                
3067                return this;
3068              }
3069    
3070              // optional int32 string_value = 5;
3071              private int stringValue_ ;
3072              /**
3073               * <code>optional int32 string_value = 5;</code>
3074               *
3075               * <pre>
3076               * id in StringTable
3077               * </pre>
3078               */
3079              public boolean hasStringValue() {
3080                return ((bitField0_ & 0x00000010) == 0x00000010);
3081              }
3082              /**
3083               * <code>optional int32 string_value = 5;</code>
3084               *
3085               * <pre>
3086               * id in StringTable
3087               * </pre>
3088               */
3089              public int getStringValue() {
3090                return stringValue_;
3091              }
3092              /**
3093               * <code>optional int32 string_value = 5;</code>
3094               *
3095               * <pre>
3096               * id in StringTable
3097               * </pre>
3098               */
3099              public Builder setStringValue(int value) {
3100                bitField0_ |= 0x00000010;
3101                stringValue_ = value;
3102                
3103                return this;
3104              }
3105              /**
3106               * <code>optional int32 string_value = 5;</code>
3107               *
3108               * <pre>
3109               * id in StringTable
3110               * </pre>
3111               */
3112              public Builder clearStringValue() {
3113                bitField0_ = (bitField0_ & ~0x00000010);
3114                stringValue_ = 0;
3115                
3116                return this;
3117              }
3118    
3119              // optional int32 class_id = 6;
3120              private int classId_ ;
3121              /**
3122               * <code>optional int32 class_id = 6;</code>
3123               *
3124               * <pre>
3125               * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
3126               * </pre>
3127               */
3128              public boolean hasClassId() {
3129                return ((bitField0_ & 0x00000020) == 0x00000020);
3130              }
3131              /**
3132               * <code>optional int32 class_id = 6;</code>
3133               *
3134               * <pre>
3135               * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
3136               * </pre>
3137               */
3138              public int getClassId() {
3139                return classId_;
3140              }
3141              /**
3142               * <code>optional int32 class_id = 6;</code>
3143               *
3144               * <pre>
3145               * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
3146               * </pre>
3147               */
3148              public Builder setClassId(int value) {
3149                bitField0_ |= 0x00000020;
3150                classId_ = value;
3151                
3152                return this;
3153              }
3154              /**
3155               * <code>optional int32 class_id = 6;</code>
3156               *
3157               * <pre>
3158               * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
3159               * </pre>
3160               */
3161              public Builder clearClassId() {
3162                bitField0_ = (bitField0_ & ~0x00000020);
3163                classId_ = 0;
3164                
3165                return this;
3166              }
3167    
3168              // optional int32 enum_value_id = 7;
3169              private int enumValueId_ ;
3170              /**
3171               * <code>optional int32 enum_value_id = 7;</code>
3172               *
3173               * <pre>
3174               * id in StringTable
3175               * </pre>
3176               */
3177              public boolean hasEnumValueId() {
3178                return ((bitField0_ & 0x00000040) == 0x00000040);
3179              }
3180              /**
3181               * <code>optional int32 enum_value_id = 7;</code>
3182               *
3183               * <pre>
3184               * id in StringTable
3185               * </pre>
3186               */
3187              public int getEnumValueId() {
3188                return enumValueId_;
3189              }
3190              /**
3191               * <code>optional int32 enum_value_id = 7;</code>
3192               *
3193               * <pre>
3194               * id in StringTable
3195               * </pre>
3196               */
3197              public Builder setEnumValueId(int value) {
3198                bitField0_ |= 0x00000040;
3199                enumValueId_ = value;
3200                
3201                return this;
3202              }
3203              /**
3204               * <code>optional int32 enum_value_id = 7;</code>
3205               *
3206               * <pre>
3207               * id in StringTable
3208               * </pre>
3209               */
3210              public Builder clearEnumValueId() {
3211                bitField0_ = (bitField0_ & ~0x00000040);
3212                enumValueId_ = 0;
3213                
3214                return this;
3215              }
3216    
3217              // optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;
3218              private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation annotation_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
3219              /**
3220               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3221               */
3222              public boolean hasAnnotation() {
3223                return ((bitField0_ & 0x00000080) == 0x00000080);
3224              }
3225              /**
3226               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3227               */
3228              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getAnnotation() {
3229                return annotation_;
3230              }
3231              /**
3232               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3233               */
3234              public Builder setAnnotation(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation value) {
3235                if (value == null) {
3236                  throw new NullPointerException();
3237                }
3238                annotation_ = value;
3239    
3240                bitField0_ |= 0x00000080;
3241                return this;
3242              }
3243              /**
3244               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3245               */
3246              public Builder setAnnotation(
3247                  org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Builder builderForValue) {
3248                annotation_ = builderForValue.build();
3249    
3250                bitField0_ |= 0x00000080;
3251                return this;
3252              }
3253              /**
3254               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3255               */
3256              public Builder mergeAnnotation(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation value) {
3257                if (((bitField0_ & 0x00000080) == 0x00000080) &&
3258                    annotation_ != org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance()) {
3259                  annotation_ =
3260                    org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.newBuilder(annotation_).mergeFrom(value).buildPartial();
3261                } else {
3262                  annotation_ = value;
3263                }
3264    
3265                bitField0_ |= 0x00000080;
3266                return this;
3267              }
3268              /**
3269               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3270               */
3271              public Builder clearAnnotation() {
3272                annotation_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
3273    
3274                bitField0_ = (bitField0_ & ~0x00000080);
3275                return this;
3276              }
3277    
3278              // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;
3279              private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> arrayElement_ =
3280                java.util.Collections.emptyList();
3281              private void ensureArrayElementIsMutable() {
3282                if (!((bitField0_ & 0x00000100) == 0x00000100)) {
3283                  arrayElement_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value>(arrayElement_);
3284                  bitField0_ |= 0x00000100;
3285                 }
3286              }
3287    
3288              /**
3289               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3290               */
3291              public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> getArrayElementList() {
3292                return java.util.Collections.unmodifiableList(arrayElement_);
3293              }
3294              /**
3295               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3296               */
3297              public int getArrayElementCount() {
3298                return arrayElement_.size();
3299              }
3300              /**
3301               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3302               */
3303              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getArrayElement(int index) {
3304                return arrayElement_.get(index);
3305              }
3306              /**
3307               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3308               */
3309              public Builder setArrayElement(
3310                  int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3311                if (value == null) {
3312                  throw new NullPointerException();
3313                }
3314                ensureArrayElementIsMutable();
3315                arrayElement_.set(index, value);
3316    
3317                return this;
3318              }
3319              /**
3320               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3321               */
3322              public Builder setArrayElement(
3323                  int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3324                ensureArrayElementIsMutable();
3325                arrayElement_.set(index, builderForValue.build());
3326    
3327                return this;
3328              }
3329              /**
3330               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3331               */
3332              public Builder addArrayElement(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3333                if (value == null) {
3334                  throw new NullPointerException();
3335                }
3336                ensureArrayElementIsMutable();
3337                arrayElement_.add(value);
3338    
3339                return this;
3340              }
3341              /**
3342               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3343               */
3344              public Builder addArrayElement(
3345                  int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3346                if (value == null) {
3347                  throw new NullPointerException();
3348                }
3349                ensureArrayElementIsMutable();
3350                arrayElement_.add(index, value);
3351    
3352                return this;
3353              }
3354              /**
3355               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3356               */
3357              public Builder addArrayElement(
3358                  org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3359                ensureArrayElementIsMutable();
3360                arrayElement_.add(builderForValue.build());
3361    
3362                return this;
3363              }
3364              /**
3365               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3366               */
3367              public Builder addArrayElement(
3368                  int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3369                ensureArrayElementIsMutable();
3370                arrayElement_.add(index, builderForValue.build());
3371    
3372                return this;
3373              }
3374              /**
3375               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3376               */
3377              public Builder addAllArrayElement(
3378                  java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> values) {
3379                ensureArrayElementIsMutable();
3380                super.addAll(values, arrayElement_);
3381    
3382                return this;
3383              }
3384              /**
3385               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3386               */
3387              public Builder clearArrayElement() {
3388                arrayElement_ = java.util.Collections.emptyList();
3389                bitField0_ = (bitField0_ & ~0x00000100);
3390    
3391                return this;
3392              }
3393              /**
3394               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3395               */
3396              public Builder removeArrayElement(int index) {
3397                ensureArrayElementIsMutable();
3398                arrayElement_.remove(index);
3399    
3400                return this;
3401              }
3402    
3403              // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Annotation.Argument.Value)
3404            }
3405    
3406            static {
3407              defaultInstance = new Value(true);
3408              defaultInstance.initFields();
3409            }
3410    
3411            // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Annotation.Argument.Value)
3412          }
3413    
3414          private int bitField0_;
3415          // required int32 name_id = 1;
3416          public static final int NAME_ID_FIELD_NUMBER = 1;
3417          private int nameId_;
3418          /**
3419           * <code>required int32 name_id = 1;</code>
3420           *
3421           * <pre>
3422           * id in StringTable
3423           * </pre>
3424           */
3425          public boolean hasNameId() {
3426            return ((bitField0_ & 0x00000001) == 0x00000001);
3427          }
3428          /**
3429           * <code>required int32 name_id = 1;</code>
3430           *
3431           * <pre>
3432           * id in StringTable
3433           * </pre>
3434           */
3435          public int getNameId() {
3436            return nameId_;
3437          }
3438    
3439          // required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;
3440          public static final int VALUE_FIELD_NUMBER = 2;
3441          private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value_;
3442          /**
3443           * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3444           */
3445          public boolean hasValue() {
3446            return ((bitField0_ & 0x00000002) == 0x00000002);
3447          }
3448          /**
3449           * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3450           */
3451          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getValue() {
3452            return value_;
3453          }
3454    
3455          private void initFields() {
3456            nameId_ = 0;
3457            value_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3458          }
3459          private byte memoizedIsInitialized = -1;
3460          public final boolean isInitialized() {
3461            byte isInitialized = memoizedIsInitialized;
3462            if (isInitialized != -1) return isInitialized == 1;
3463    
3464            if (!hasNameId()) {
3465              memoizedIsInitialized = 0;
3466              return false;
3467            }
3468            if (!hasValue()) {
3469              memoizedIsInitialized = 0;
3470              return false;
3471            }
3472            if (!getValue().isInitialized()) {
3473              memoizedIsInitialized = 0;
3474              return false;
3475            }
3476            memoizedIsInitialized = 1;
3477            return true;
3478          }
3479    
3480          public void writeTo(com.google.protobuf.CodedOutputStream output)
3481                              throws java.io.IOException {
3482            getSerializedSize();
3483            if (((bitField0_ & 0x00000001) == 0x00000001)) {
3484              output.writeInt32(1, nameId_);
3485            }
3486            if (((bitField0_ & 0x00000002) == 0x00000002)) {
3487              output.writeMessage(2, value_);
3488            }
3489          }
3490    
3491          private int memoizedSerializedSize = -1;
3492          public int getSerializedSize() {
3493            int size = memoizedSerializedSize;
3494            if (size != -1) return size;
3495    
3496            size = 0;
3497            if (((bitField0_ & 0x00000001) == 0x00000001)) {
3498              size += com.google.protobuf.CodedOutputStream
3499                .computeInt32Size(1, nameId_);
3500            }
3501            if (((bitField0_ & 0x00000002) == 0x00000002)) {
3502              size += com.google.protobuf.CodedOutputStream
3503                .computeMessageSize(2, value_);
3504            }
3505            memoizedSerializedSize = size;
3506            return size;
3507          }
3508    
3509          private static final long serialVersionUID = 0L;
3510          @java.lang.Override
3511          protected java.lang.Object writeReplace()
3512              throws java.io.ObjectStreamException {
3513            return super.writeReplace();
3514          }
3515    
3516          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3517              com.google.protobuf.ByteString data)
3518              throws com.google.protobuf.InvalidProtocolBufferException {
3519            return PARSER.parseFrom(data);
3520          }
3521          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3522              com.google.protobuf.ByteString data,
3523              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3524              throws com.google.protobuf.InvalidProtocolBufferException {
3525            return PARSER.parseFrom(data, extensionRegistry);
3526          }
3527          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(byte[] data)
3528              throws com.google.protobuf.InvalidProtocolBufferException {
3529            return PARSER.parseFrom(data);
3530          }
3531          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3532              byte[] data,
3533              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3534              throws com.google.protobuf.InvalidProtocolBufferException {
3535            return PARSER.parseFrom(data, extensionRegistry);
3536          }
3537          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(java.io.InputStream input)
3538              throws java.io.IOException {
3539            return PARSER.parseFrom(input);
3540          }
3541          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3542              java.io.InputStream input,
3543              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3544              throws java.io.IOException {
3545            return PARSER.parseFrom(input, extensionRegistry);
3546          }
3547          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseDelimitedFrom(java.io.InputStream input)
3548              throws java.io.IOException {
3549            return PARSER.parseDelimitedFrom(input);
3550          }
3551          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseDelimitedFrom(
3552              java.io.InputStream input,
3553              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3554              throws java.io.IOException {
3555            return PARSER.parseDelimitedFrom(input, extensionRegistry);
3556          }
3557          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3558              com.google.protobuf.CodedInputStream input)
3559              throws java.io.IOException {
3560            return PARSER.parseFrom(input);
3561          }
3562          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3563              com.google.protobuf.CodedInputStream input,
3564              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3565              throws java.io.IOException {
3566            return PARSER.parseFrom(input, extensionRegistry);
3567          }
3568    
3569          public static Builder newBuilder() { return Builder.create(); }
3570          public Builder newBuilderForType() { return newBuilder(); }
3571          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument prototype) {
3572            return newBuilder().mergeFrom(prototype);
3573          }
3574          public Builder toBuilder() { return newBuilder(this); }
3575    
3576          /**
3577           * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation.Argument}
3578           */
3579          public static final class Builder extends
3580              com.google.protobuf.GeneratedMessageLite.Builder<
3581                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument, Builder>
3582              implements org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.ArgumentOrBuilder {
3583            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.newBuilder()
3584            private Builder() {
3585              maybeForceBuilderInitialization();
3586            }
3587    
3588            private void maybeForceBuilderInitialization() {
3589            }
3590            private static Builder create() {
3591              return new Builder();
3592            }
3593    
3594            public Builder clear() {
3595              super.clear();
3596              nameId_ = 0;
3597              bitField0_ = (bitField0_ & ~0x00000001);
3598              value_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3599              bitField0_ = (bitField0_ & ~0x00000002);
3600              return this;
3601            }
3602    
3603            public Builder clone() {
3604              return create().mergeFrom(buildPartial());
3605            }
3606    
3607            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument getDefaultInstanceForType() {
3608              return org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.getDefaultInstance();
3609            }
3610    
3611            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument build() {
3612              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument result = buildPartial();
3613              if (!result.isInitialized()) {
3614                throw newUninitializedMessageException(result);
3615              }
3616              return result;
3617            }
3618    
3619            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument buildPartial() {
3620              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument result = new org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument(this);
3621              int from_bitField0_ = bitField0_;
3622              int to_bitField0_ = 0;
3623              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
3624                to_bitField0_ |= 0x00000001;
3625              }
3626              result.nameId_ = nameId_;
3627              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
3628                to_bitField0_ |= 0x00000002;
3629              }
3630              result.value_ = value_;
3631              result.bitField0_ = to_bitField0_;
3632              return result;
3633            }
3634    
3635            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument other) {
3636              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.getDefaultInstance()) return this;
3637              if (other.hasNameId()) {
3638                setNameId(other.getNameId());
3639              }
3640              if (other.hasValue()) {
3641                mergeValue(other.getValue());
3642              }
3643              return this;
3644            }
3645    
3646            public final boolean isInitialized() {
3647              if (!hasNameId()) {
3648                
3649                return false;
3650              }
3651              if (!hasValue()) {
3652                
3653                return false;
3654              }
3655              if (!getValue().isInitialized()) {
3656                
3657                return false;
3658              }
3659              return true;
3660            }
3661    
3662            public Builder mergeFrom(
3663                com.google.protobuf.CodedInputStream input,
3664                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3665                throws java.io.IOException {
3666              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parsedMessage = null;
3667              try {
3668                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
3669              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3670                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument) e.getUnfinishedMessage();
3671                throw e;
3672              } finally {
3673                if (parsedMessage != null) {
3674                  mergeFrom(parsedMessage);
3675                }
3676              }
3677              return this;
3678            }
3679            private int bitField0_;
3680    
3681            // required int32 name_id = 1;
3682            private int nameId_ ;
3683            /**
3684             * <code>required int32 name_id = 1;</code>
3685             *
3686             * <pre>
3687             * id in StringTable
3688             * </pre>
3689             */
3690            public boolean hasNameId() {
3691              return ((bitField0_ & 0x00000001) == 0x00000001);
3692            }
3693            /**
3694             * <code>required int32 name_id = 1;</code>
3695             *
3696             * <pre>
3697             * id in StringTable
3698             * </pre>
3699             */
3700            public int getNameId() {
3701              return nameId_;
3702            }
3703            /**
3704             * <code>required int32 name_id = 1;</code>
3705             *
3706             * <pre>
3707             * id in StringTable
3708             * </pre>
3709             */
3710            public Builder setNameId(int value) {
3711              bitField0_ |= 0x00000001;
3712              nameId_ = value;
3713              
3714              return this;
3715            }
3716            /**
3717             * <code>required int32 name_id = 1;</code>
3718             *
3719             * <pre>
3720             * id in StringTable
3721             * </pre>
3722             */
3723            public Builder clearNameId() {
3724              bitField0_ = (bitField0_ & ~0x00000001);
3725              nameId_ = 0;
3726              
3727              return this;
3728            }
3729    
3730            // required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;
3731            private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3732            /**
3733             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3734             */
3735            public boolean hasValue() {
3736              return ((bitField0_ & 0x00000002) == 0x00000002);
3737            }
3738            /**
3739             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3740             */
3741            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getValue() {
3742              return value_;
3743            }
3744            /**
3745             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3746             */
3747            public Builder setValue(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3748              if (value == null) {
3749                throw new NullPointerException();
3750              }
3751              value_ = value;
3752    
3753              bitField0_ |= 0x00000002;
3754              return this;
3755            }
3756            /**
3757             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3758             */
3759            public Builder setValue(
3760                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3761              value_ = builderForValue.build();
3762    
3763              bitField0_ |= 0x00000002;
3764              return this;
3765            }
3766            /**
3767             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3768             */
3769            public Builder mergeValue(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3770              if (((bitField0_ & 0x00000002) == 0x00000002) &&
3771                  value_ != org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance()) {
3772                value_ =
3773                  org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.newBuilder(value_).mergeFrom(value).buildPartial();
3774              } else {
3775                value_ = value;
3776              }
3777    
3778              bitField0_ |= 0x00000002;
3779              return this;
3780            }
3781            /**
3782             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3783             */
3784            public Builder clearValue() {
3785              value_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3786    
3787              bitField0_ = (bitField0_ & ~0x00000002);
3788              return this;
3789            }
3790    
3791            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Annotation.Argument)
3792          }
3793    
3794          static {
3795            defaultInstance = new Argument(true);
3796            defaultInstance.initFields();
3797          }
3798    
3799          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Annotation.Argument)
3800        }
3801    
3802        private int bitField0_;
3803        // required int32 id = 1;
3804        public static final int ID_FIELD_NUMBER = 1;
3805        private int id_;
3806        /**
3807         * <code>required int32 id = 1;</code>
3808         *
3809         * <pre>
3810         * Class FQ name id
3811         * </pre>
3812         */
3813        public boolean hasId() {
3814          return ((bitField0_ & 0x00000001) == 0x00000001);
3815        }
3816        /**
3817         * <code>required int32 id = 1;</code>
3818         *
3819         * <pre>
3820         * Class FQ name id
3821         * </pre>
3822         */
3823        public int getId() {
3824          return id_;
3825        }
3826    
3827        // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;
3828        public static final int ARGUMENT_FIELD_NUMBER = 2;
3829        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> argument_;
3830        /**
3831         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3832         */
3833        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> getArgumentList() {
3834          return argument_;
3835        }
3836        /**
3837         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3838         */
3839        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.ArgumentOrBuilder> 
3840            getArgumentOrBuilderList() {
3841          return argument_;
3842        }
3843        /**
3844         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3845         */
3846        public int getArgumentCount() {
3847          return argument_.size();
3848        }
3849        /**
3850         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3851         */
3852        public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument getArgument(int index) {
3853          return argument_.get(index);
3854        }
3855        /**
3856         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3857         */
3858        public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.ArgumentOrBuilder getArgumentOrBuilder(
3859            int index) {
3860          return argument_.get(index);
3861        }
3862    
3863        private void initFields() {
3864          id_ = 0;
3865          argument_ = java.util.Collections.emptyList();
3866        }
3867        private byte memoizedIsInitialized = -1;
3868        public final boolean isInitialized() {
3869          byte isInitialized = memoizedIsInitialized;
3870          if (isInitialized != -1) return isInitialized == 1;
3871    
3872          if (!hasId()) {
3873            memoizedIsInitialized = 0;
3874            return false;
3875          }
3876          for (int i = 0; i < getArgumentCount(); i++) {
3877            if (!getArgument(i).isInitialized()) {
3878              memoizedIsInitialized = 0;
3879              return false;
3880            }
3881          }
3882          memoizedIsInitialized = 1;
3883          return true;
3884        }
3885    
3886        public void writeTo(com.google.protobuf.CodedOutputStream output)
3887                            throws java.io.IOException {
3888          getSerializedSize();
3889          if (((bitField0_ & 0x00000001) == 0x00000001)) {
3890            output.writeInt32(1, id_);
3891          }
3892          for (int i = 0; i < argument_.size(); i++) {
3893            output.writeMessage(2, argument_.get(i));
3894          }
3895        }
3896    
3897        private int memoizedSerializedSize = -1;
3898        public int getSerializedSize() {
3899          int size = memoizedSerializedSize;
3900          if (size != -1) return size;
3901    
3902          size = 0;
3903          if (((bitField0_ & 0x00000001) == 0x00000001)) {
3904            size += com.google.protobuf.CodedOutputStream
3905              .computeInt32Size(1, id_);
3906          }
3907          for (int i = 0; i < argument_.size(); i++) {
3908            size += com.google.protobuf.CodedOutputStream
3909              .computeMessageSize(2, argument_.get(i));
3910          }
3911          memoizedSerializedSize = size;
3912          return size;
3913        }
3914    
3915        private static final long serialVersionUID = 0L;
3916        @java.lang.Override
3917        protected java.lang.Object writeReplace()
3918            throws java.io.ObjectStreamException {
3919          return super.writeReplace();
3920        }
3921    
3922        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3923            com.google.protobuf.ByteString data)
3924            throws com.google.protobuf.InvalidProtocolBufferException {
3925          return PARSER.parseFrom(data);
3926        }
3927        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3928            com.google.protobuf.ByteString data,
3929            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3930            throws com.google.protobuf.InvalidProtocolBufferException {
3931          return PARSER.parseFrom(data, extensionRegistry);
3932        }
3933        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(byte[] data)
3934            throws com.google.protobuf.InvalidProtocolBufferException {
3935          return PARSER.parseFrom(data);
3936        }
3937        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3938            byte[] data,
3939            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3940            throws com.google.protobuf.InvalidProtocolBufferException {
3941          return PARSER.parseFrom(data, extensionRegistry);
3942        }
3943        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(java.io.InputStream input)
3944            throws java.io.IOException {
3945          return PARSER.parseFrom(input);
3946        }
3947        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3948            java.io.InputStream input,
3949            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3950            throws java.io.IOException {
3951          return PARSER.parseFrom(input, extensionRegistry);
3952        }
3953        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseDelimitedFrom(java.io.InputStream input)
3954            throws java.io.IOException {
3955          return PARSER.parseDelimitedFrom(input);
3956        }
3957        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseDelimitedFrom(
3958            java.io.InputStream input,
3959            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3960            throws java.io.IOException {
3961          return PARSER.parseDelimitedFrom(input, extensionRegistry);
3962        }
3963        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3964            com.google.protobuf.CodedInputStream input)
3965            throws java.io.IOException {
3966          return PARSER.parseFrom(input);
3967        }
3968        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3969            com.google.protobuf.CodedInputStream input,
3970            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3971            throws java.io.IOException {
3972          return PARSER.parseFrom(input, extensionRegistry);
3973        }
3974    
3975        public static Builder newBuilder() { return Builder.create(); }
3976        public Builder newBuilderForType() { return newBuilder(); }
3977        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation prototype) {
3978          return newBuilder().mergeFrom(prototype);
3979        }
3980        public Builder toBuilder() { return newBuilder(this); }
3981    
3982        /**
3983         * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation}
3984         */
3985        public static final class Builder extends
3986            com.google.protobuf.GeneratedMessageLite.Builder<
3987              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation, Builder>
3988            implements org.jetbrains.kotlin.serialization.ProtoBuf.AnnotationOrBuilder {
3989          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.newBuilder()
3990          private Builder() {
3991            maybeForceBuilderInitialization();
3992          }
3993    
3994          private void maybeForceBuilderInitialization() {
3995          }
3996          private static Builder create() {
3997            return new Builder();
3998          }
3999    
4000          public Builder clear() {
4001            super.clear();
4002            id_ = 0;
4003            bitField0_ = (bitField0_ & ~0x00000001);
4004            argument_ = java.util.Collections.emptyList();
4005            bitField0_ = (bitField0_ & ~0x00000002);
4006            return this;
4007          }
4008    
4009          public Builder clone() {
4010            return create().mergeFrom(buildPartial());
4011          }
4012    
4013          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getDefaultInstanceForType() {
4014            return org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
4015          }
4016    
4017          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation build() {
4018            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation result = buildPartial();
4019            if (!result.isInitialized()) {
4020              throw newUninitializedMessageException(result);
4021            }
4022            return result;
4023          }
4024    
4025          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation buildPartial() {
4026            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation result = new org.jetbrains.kotlin.serialization.ProtoBuf.Annotation(this);
4027            int from_bitField0_ = bitField0_;
4028            int to_bitField0_ = 0;
4029            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
4030              to_bitField0_ |= 0x00000001;
4031            }
4032            result.id_ = id_;
4033            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4034              argument_ = java.util.Collections.unmodifiableList(argument_);
4035              bitField0_ = (bitField0_ & ~0x00000002);
4036            }
4037            result.argument_ = argument_;
4038            result.bitField0_ = to_bitField0_;
4039            return result;
4040          }
4041    
4042          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation other) {
4043            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance()) return this;
4044            if (other.hasId()) {
4045              setId(other.getId());
4046            }
4047            if (!other.argument_.isEmpty()) {
4048              if (argument_.isEmpty()) {
4049                argument_ = other.argument_;
4050                bitField0_ = (bitField0_ & ~0x00000002);
4051              } else {
4052                ensureArgumentIsMutable();
4053                argument_.addAll(other.argument_);
4054              }
4055              
4056            }
4057            return this;
4058          }
4059    
4060          public final boolean isInitialized() {
4061            if (!hasId()) {
4062              
4063              return false;
4064            }
4065            for (int i = 0; i < getArgumentCount(); i++) {
4066              if (!getArgument(i).isInitialized()) {
4067                
4068                return false;
4069              }
4070            }
4071            return true;
4072          }
4073    
4074          public Builder mergeFrom(
4075              com.google.protobuf.CodedInputStream input,
4076              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4077              throws java.io.IOException {
4078            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parsedMessage = null;
4079            try {
4080              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
4081            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4082              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Annotation) e.getUnfinishedMessage();
4083              throw e;
4084            } finally {
4085              if (parsedMessage != null) {
4086                mergeFrom(parsedMessage);
4087              }
4088            }
4089            return this;
4090          }
4091          private int bitField0_;
4092    
4093          // required int32 id = 1;
4094          private int id_ ;
4095          /**
4096           * <code>required int32 id = 1;</code>
4097           *
4098           * <pre>
4099           * Class FQ name id
4100           * </pre>
4101           */
4102          public boolean hasId() {
4103            return ((bitField0_ & 0x00000001) == 0x00000001);
4104          }
4105          /**
4106           * <code>required int32 id = 1;</code>
4107           *
4108           * <pre>
4109           * Class FQ name id
4110           * </pre>
4111           */
4112          public int getId() {
4113            return id_;
4114          }
4115          /**
4116           * <code>required int32 id = 1;</code>
4117           *
4118           * <pre>
4119           * Class FQ name id
4120           * </pre>
4121           */
4122          public Builder setId(int value) {
4123            bitField0_ |= 0x00000001;
4124            id_ = value;
4125            
4126            return this;
4127          }
4128          /**
4129           * <code>required int32 id = 1;</code>
4130           *
4131           * <pre>
4132           * Class FQ name id
4133           * </pre>
4134           */
4135          public Builder clearId() {
4136            bitField0_ = (bitField0_ & ~0x00000001);
4137            id_ = 0;
4138            
4139            return this;
4140          }
4141    
4142          // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;
4143          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> argument_ =
4144            java.util.Collections.emptyList();
4145          private void ensureArgumentIsMutable() {
4146            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
4147              argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument>(argument_);
4148              bitField0_ |= 0x00000002;
4149             }
4150          }
4151    
4152          /**
4153           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4154           */
4155          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> getArgumentList() {
4156            return java.util.Collections.unmodifiableList(argument_);
4157          }
4158          /**
4159           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4160           */
4161          public int getArgumentCount() {
4162            return argument_.size();
4163          }
4164          /**
4165           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4166           */
4167          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument getArgument(int index) {
4168            return argument_.get(index);
4169          }
4170          /**
4171           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4172           */
4173          public Builder setArgument(
4174              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument value) {
4175            if (value == null) {
4176              throw new NullPointerException();
4177            }
4178            ensureArgumentIsMutable();
4179            argument_.set(index, value);
4180    
4181            return this;
4182          }
4183          /**
4184           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4185           */
4186          public Builder setArgument(
4187              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Builder builderForValue) {
4188            ensureArgumentIsMutable();
4189            argument_.set(index, builderForValue.build());
4190    
4191            return this;
4192          }
4193          /**
4194           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4195           */
4196          public Builder addArgument(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument value) {
4197            if (value == null) {
4198              throw new NullPointerException();
4199            }
4200            ensureArgumentIsMutable();
4201            argument_.add(value);
4202    
4203            return this;
4204          }
4205          /**
4206           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4207           */
4208          public Builder addArgument(
4209              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument value) {
4210            if (value == null) {
4211              throw new NullPointerException();
4212            }
4213            ensureArgumentIsMutable();
4214            argument_.add(index, value);
4215    
4216            return this;
4217          }
4218          /**
4219           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4220           */
4221          public Builder addArgument(
4222              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Builder builderForValue) {
4223            ensureArgumentIsMutable();
4224            argument_.add(builderForValue.build());
4225    
4226            return this;
4227          }
4228          /**
4229           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4230           */
4231          public Builder addArgument(
4232              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Builder builderForValue) {
4233            ensureArgumentIsMutable();
4234            argument_.add(index, builderForValue.build());
4235    
4236            return this;
4237          }
4238          /**
4239           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4240           */
4241          public Builder addAllArgument(
4242              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> values) {
4243            ensureArgumentIsMutable();
4244            super.addAll(values, argument_);
4245    
4246            return this;
4247          }
4248          /**
4249           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4250           */
4251          public Builder clearArgument() {
4252            argument_ = java.util.Collections.emptyList();
4253            bitField0_ = (bitField0_ & ~0x00000002);
4254    
4255            return this;
4256          }
4257          /**
4258           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4259           */
4260          public Builder removeArgument(int index) {
4261            ensureArgumentIsMutable();
4262            argument_.remove(index);
4263    
4264            return this;
4265          }
4266    
4267          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Annotation)
4268        }
4269    
4270        static {
4271          defaultInstance = new Annotation(true);
4272          defaultInstance.initFields();
4273        }
4274    
4275        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Annotation)
4276      }
4277    
4278      public interface TypeOrBuilder
4279          extends com.google.protobuf.MessageLiteOrBuilder {
4280    
4281        // required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;
4282        /**
4283         * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
4284         */
4285        boolean hasConstructor();
4286        /**
4287         * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
4288         */
4289        org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor getConstructor();
4290    
4291        // repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;
4292        /**
4293         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
4294         */
4295        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> 
4296            getArgumentList();
4297        /**
4298         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
4299         */
4300        org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index);
4301        /**
4302         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
4303         */
4304        int getArgumentCount();
4305    
4306        // optional bool nullable = 3 [default = false];
4307        /**
4308         * <code>optional bool nullable = 3 [default = false];</code>
4309         */
4310        boolean hasNullable();
4311        /**
4312         * <code>optional bool nullable = 3 [default = false];</code>
4313         */
4314        boolean getNullable();
4315    
4316        // optional int32 flexible_type_capabilities_id = 4;
4317        /**
4318         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
4319         *
4320         * <pre>
4321         * Id in the StringTable
4322         * If this field is set, the type is flexible.
4323         * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
4324         * </pre>
4325         */
4326        boolean hasFlexibleTypeCapabilitiesId();
4327        /**
4328         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
4329         *
4330         * <pre>
4331         * Id in the StringTable
4332         * If this field is set, the type is flexible.
4333         * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
4334         * </pre>
4335         */
4336        int getFlexibleTypeCapabilitiesId();
4337    
4338        // optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;
4339        /**
4340         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
4341         *
4342         * <pre>
4343         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
4344         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
4345         * to represent flexible types is too many wasted bytes.
4346         * </pre>
4347         */
4348        boolean hasFlexibleUpperBound();
4349        /**
4350         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
4351         *
4352         * <pre>
4353         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
4354         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
4355         * to represent flexible types is too many wasted bytes.
4356         * </pre>
4357         */
4358        org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound();
4359      }
4360      /**
4361       * Protobuf type {@code org.jetbrains.kotlin.serialization.Type}
4362       */
4363      public static final class Type extends
4364          com.google.protobuf.GeneratedMessageLite
4365          implements TypeOrBuilder {
4366        // Use Type.newBuilder() to construct.
4367        private Type(com.google.protobuf.GeneratedMessageLite.Builder builder) {
4368          super(builder);
4369    
4370        }
4371        private Type(boolean noInit) {}
4372    
4373        private static final Type defaultInstance;
4374        public static Type getDefaultInstance() {
4375          return defaultInstance;
4376        }
4377    
4378        public Type getDefaultInstanceForType() {
4379          return defaultInstance;
4380        }
4381    
4382        private Type(
4383            com.google.protobuf.CodedInputStream input,
4384            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4385            throws com.google.protobuf.InvalidProtocolBufferException {
4386          initFields();
4387          int mutable_bitField0_ = 0;
4388          try {
4389            boolean done = false;
4390            while (!done) {
4391              int tag = input.readTag();
4392              switch (tag) {
4393                case 0:
4394                  done = true;
4395                  break;
4396                default: {
4397                  if (!parseUnknownField(input,
4398                                         extensionRegistry, tag)) {
4399                    done = true;
4400                  }
4401                  break;
4402                }
4403                case 10: {
4404                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Builder subBuilder = null;
4405                  if (((bitField0_ & 0x00000001) == 0x00000001)) {
4406                    subBuilder = constructor_.toBuilder();
4407                  }
4408                  constructor_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.PARSER, extensionRegistry);
4409                  if (subBuilder != null) {
4410                    subBuilder.mergeFrom(constructor_);
4411                    constructor_ = subBuilder.buildPartial();
4412                  }
4413                  bitField0_ |= 0x00000001;
4414                  break;
4415                }
4416                case 18: {
4417                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
4418                    argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument>();
4419                    mutable_bitField0_ |= 0x00000002;
4420                  }
4421                  argument_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.PARSER, extensionRegistry));
4422                  break;
4423                }
4424                case 24: {
4425                  bitField0_ |= 0x00000002;
4426                  nullable_ = input.readBool();
4427                  break;
4428                }
4429                case 32: {
4430                  bitField0_ |= 0x00000004;
4431                  flexibleTypeCapabilitiesId_ = input.readInt32();
4432                  break;
4433                }
4434                case 42: {
4435                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
4436                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
4437                    subBuilder = flexibleUpperBound_.toBuilder();
4438                  }
4439                  flexibleUpperBound_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
4440                  if (subBuilder != null) {
4441                    subBuilder.mergeFrom(flexibleUpperBound_);
4442                    flexibleUpperBound_ = subBuilder.buildPartial();
4443                  }
4444                  bitField0_ |= 0x00000008;
4445                  break;
4446                }
4447              }
4448            }
4449          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4450            throw e.setUnfinishedMessage(this);
4451          } catch (java.io.IOException e) {
4452            throw new com.google.protobuf.InvalidProtocolBufferException(
4453                e.getMessage()).setUnfinishedMessage(this);
4454          } finally {
4455            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
4456              argument_ = java.util.Collections.unmodifiableList(argument_);
4457            }
4458            makeExtensionsImmutable();
4459          }
4460        }
4461        public static com.google.protobuf.Parser<Type> PARSER =
4462            new com.google.protobuf.AbstractParser<Type>() {
4463          public Type parsePartialFrom(
4464              com.google.protobuf.CodedInputStream input,
4465              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4466              throws com.google.protobuf.InvalidProtocolBufferException {
4467            return new Type(input, extensionRegistry);
4468          }
4469        };
4470    
4471        @java.lang.Override
4472        public com.google.protobuf.Parser<Type> getParserForType() {
4473          return PARSER;
4474        }
4475    
4476        public interface ConstructorOrBuilder
4477            extends com.google.protobuf.MessageLiteOrBuilder {
4478    
4479          // optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];
4480          /**
4481           * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4482           */
4483          boolean hasKind();
4484          /**
4485           * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4486           */
4487          org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind getKind();
4488    
4489          // required int32 id = 2;
4490          /**
4491           * <code>required int32 id = 2;</code>
4492           *
4493           * <pre>
4494           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4495           * </pre>
4496           */
4497          boolean hasId();
4498          /**
4499           * <code>required int32 id = 2;</code>
4500           *
4501           * <pre>
4502           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4503           * </pre>
4504           */
4505          int getId();
4506        }
4507        /**
4508         * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Constructor}
4509         */
4510        public static final class Constructor extends
4511            com.google.protobuf.GeneratedMessageLite
4512            implements ConstructorOrBuilder {
4513          // Use Constructor.newBuilder() to construct.
4514          private Constructor(com.google.protobuf.GeneratedMessageLite.Builder builder) {
4515            super(builder);
4516    
4517          }
4518          private Constructor(boolean noInit) {}
4519    
4520          private static final Constructor defaultInstance;
4521          public static Constructor getDefaultInstance() {
4522            return defaultInstance;
4523          }
4524    
4525          public Constructor getDefaultInstanceForType() {
4526            return defaultInstance;
4527          }
4528    
4529          private Constructor(
4530              com.google.protobuf.CodedInputStream input,
4531              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4532              throws com.google.protobuf.InvalidProtocolBufferException {
4533            initFields();
4534            int mutable_bitField0_ = 0;
4535            try {
4536              boolean done = false;
4537              while (!done) {
4538                int tag = input.readTag();
4539                switch (tag) {
4540                  case 0:
4541                    done = true;
4542                    break;
4543                  default: {
4544                    if (!parseUnknownField(input,
4545                                           extensionRegistry, tag)) {
4546                      done = true;
4547                    }
4548                    break;
4549                  }
4550                  case 8: {
4551                    int rawValue = input.readEnum();
4552                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind value = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind.valueOf(rawValue);
4553                    if (value != null) {
4554                      bitField0_ |= 0x00000001;
4555                      kind_ = value;
4556                    }
4557                    break;
4558                  }
4559                  case 16: {
4560                    bitField0_ |= 0x00000002;
4561                    id_ = input.readInt32();
4562                    break;
4563                  }
4564                }
4565              }
4566            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4567              throw e.setUnfinishedMessage(this);
4568            } catch (java.io.IOException e) {
4569              throw new com.google.protobuf.InvalidProtocolBufferException(
4570                  e.getMessage()).setUnfinishedMessage(this);
4571            } finally {
4572              makeExtensionsImmutable();
4573            }
4574          }
4575          public static com.google.protobuf.Parser<Constructor> PARSER =
4576              new com.google.protobuf.AbstractParser<Constructor>() {
4577            public Constructor parsePartialFrom(
4578                com.google.protobuf.CodedInputStream input,
4579                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4580                throws com.google.protobuf.InvalidProtocolBufferException {
4581              return new Constructor(input, extensionRegistry);
4582            }
4583          };
4584    
4585          @java.lang.Override
4586          public com.google.protobuf.Parser<Constructor> getParserForType() {
4587            return PARSER;
4588          }
4589    
4590          /**
4591           * Protobuf enum {@code org.jetbrains.kotlin.serialization.Type.Constructor.Kind}
4592           */
4593          public enum Kind
4594              implements com.google.protobuf.Internal.EnumLite {
4595            /**
4596             * <code>CLASS = 0;</code>
4597             */
4598            CLASS(0, 0),
4599            /**
4600             * <code>TYPE_PARAMETER = 1;</code>
4601             */
4602            TYPE_PARAMETER(1, 1),
4603            ;
4604    
4605            /**
4606             * <code>CLASS = 0;</code>
4607             */
4608            public static final int CLASS_VALUE = 0;
4609            /**
4610             * <code>TYPE_PARAMETER = 1;</code>
4611             */
4612            public static final int TYPE_PARAMETER_VALUE = 1;
4613    
4614    
4615            public final int getNumber() { return value; }
4616    
4617            public static Kind valueOf(int value) {
4618              switch (value) {
4619                case 0: return CLASS;
4620                case 1: return TYPE_PARAMETER;
4621                default: return null;
4622              }
4623            }
4624    
4625            public static com.google.protobuf.Internal.EnumLiteMap<Kind>
4626                internalGetValueMap() {
4627              return internalValueMap;
4628            }
4629            private static com.google.protobuf.Internal.EnumLiteMap<Kind>
4630                internalValueMap =
4631                  new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
4632                    public Kind findValueByNumber(int number) {
4633                      return Kind.valueOf(number);
4634                    }
4635                  };
4636    
4637            private final int value;
4638    
4639            private Kind(int index, int value) {
4640              this.value = value;
4641            }
4642    
4643            // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Type.Constructor.Kind)
4644          }
4645    
4646          private int bitField0_;
4647          // optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];
4648          public static final int KIND_FIELD_NUMBER = 1;
4649          private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind kind_;
4650          /**
4651           * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4652           */
4653          public boolean hasKind() {
4654            return ((bitField0_ & 0x00000001) == 0x00000001);
4655          }
4656          /**
4657           * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4658           */
4659          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind getKind() {
4660            return kind_;
4661          }
4662    
4663          // required int32 id = 2;
4664          public static final int ID_FIELD_NUMBER = 2;
4665          private int id_;
4666          /**
4667           * <code>required int32 id = 2;</code>
4668           *
4669           * <pre>
4670           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4671           * </pre>
4672           */
4673          public boolean hasId() {
4674            return ((bitField0_ & 0x00000002) == 0x00000002);
4675          }
4676          /**
4677           * <code>required int32 id = 2;</code>
4678           *
4679           * <pre>
4680           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4681           * </pre>
4682           */
4683          public int getId() {
4684            return id_;
4685          }
4686    
4687          private void initFields() {
4688            kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
4689            id_ = 0;
4690          }
4691          private byte memoizedIsInitialized = -1;
4692          public final boolean isInitialized() {
4693            byte isInitialized = memoizedIsInitialized;
4694            if (isInitialized != -1) return isInitialized == 1;
4695    
4696            if (!hasId()) {
4697              memoizedIsInitialized = 0;
4698              return false;
4699            }
4700            memoizedIsInitialized = 1;
4701            return true;
4702          }
4703    
4704          public void writeTo(com.google.protobuf.CodedOutputStream output)
4705                              throws java.io.IOException {
4706            getSerializedSize();
4707            if (((bitField0_ & 0x00000001) == 0x00000001)) {
4708              output.writeEnum(1, kind_.getNumber());
4709            }
4710            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4711              output.writeInt32(2, id_);
4712            }
4713          }
4714    
4715          private int memoizedSerializedSize = -1;
4716          public int getSerializedSize() {
4717            int size = memoizedSerializedSize;
4718            if (size != -1) return size;
4719    
4720            size = 0;
4721            if (((bitField0_ & 0x00000001) == 0x00000001)) {
4722              size += com.google.protobuf.CodedOutputStream
4723                .computeEnumSize(1, kind_.getNumber());
4724            }
4725            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4726              size += com.google.protobuf.CodedOutputStream
4727                .computeInt32Size(2, id_);
4728            }
4729            memoizedSerializedSize = size;
4730            return size;
4731          }
4732    
4733          private static final long serialVersionUID = 0L;
4734          @java.lang.Override
4735          protected java.lang.Object writeReplace()
4736              throws java.io.ObjectStreamException {
4737            return super.writeReplace();
4738          }
4739    
4740          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4741              com.google.protobuf.ByteString data)
4742              throws com.google.protobuf.InvalidProtocolBufferException {
4743            return PARSER.parseFrom(data);
4744          }
4745          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4746              com.google.protobuf.ByteString data,
4747              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4748              throws com.google.protobuf.InvalidProtocolBufferException {
4749            return PARSER.parseFrom(data, extensionRegistry);
4750          }
4751          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(byte[] data)
4752              throws com.google.protobuf.InvalidProtocolBufferException {
4753            return PARSER.parseFrom(data);
4754          }
4755          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4756              byte[] data,
4757              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4758              throws com.google.protobuf.InvalidProtocolBufferException {
4759            return PARSER.parseFrom(data, extensionRegistry);
4760          }
4761          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(java.io.InputStream input)
4762              throws java.io.IOException {
4763            return PARSER.parseFrom(input);
4764          }
4765          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4766              java.io.InputStream input,
4767              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4768              throws java.io.IOException {
4769            return PARSER.parseFrom(input, extensionRegistry);
4770          }
4771          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseDelimitedFrom(java.io.InputStream input)
4772              throws java.io.IOException {
4773            return PARSER.parseDelimitedFrom(input);
4774          }
4775          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseDelimitedFrom(
4776              java.io.InputStream input,
4777              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4778              throws java.io.IOException {
4779            return PARSER.parseDelimitedFrom(input, extensionRegistry);
4780          }
4781          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4782              com.google.protobuf.CodedInputStream input)
4783              throws java.io.IOException {
4784            return PARSER.parseFrom(input);
4785          }
4786          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4787              com.google.protobuf.CodedInputStream input,
4788              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4789              throws java.io.IOException {
4790            return PARSER.parseFrom(input, extensionRegistry);
4791          }
4792    
4793          public static Builder newBuilder() { return Builder.create(); }
4794          public Builder newBuilderForType() { return newBuilder(); }
4795          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor prototype) {
4796            return newBuilder().mergeFrom(prototype);
4797          }
4798          public Builder toBuilder() { return newBuilder(this); }
4799    
4800          /**
4801           * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Constructor}
4802           */
4803          public static final class Builder extends
4804              com.google.protobuf.GeneratedMessageLite.Builder<
4805                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor, Builder>
4806              implements org.jetbrains.kotlin.serialization.ProtoBuf.Type.ConstructorOrBuilder {
4807            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.newBuilder()
4808            private Builder() {
4809              maybeForceBuilderInitialization();
4810            }
4811    
4812            private void maybeForceBuilderInitialization() {
4813            }
4814            private static Builder create() {
4815              return new Builder();
4816            }
4817    
4818            public Builder clear() {
4819              super.clear();
4820              kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
4821              bitField0_ = (bitField0_ & ~0x00000001);
4822              id_ = 0;
4823              bitField0_ = (bitField0_ & ~0x00000002);
4824              return this;
4825            }
4826    
4827            public Builder clone() {
4828              return create().mergeFrom(buildPartial());
4829            }
4830    
4831            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor getDefaultInstanceForType() {
4832              return org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
4833            }
4834    
4835            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor build() {
4836              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor result = buildPartial();
4837              if (!result.isInitialized()) {
4838                throw newUninitializedMessageException(result);
4839              }
4840              return result;
4841            }
4842    
4843            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor buildPartial() {
4844              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor result = new org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor(this);
4845              int from_bitField0_ = bitField0_;
4846              int to_bitField0_ = 0;
4847              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
4848                to_bitField0_ |= 0x00000001;
4849              }
4850              result.kind_ = kind_;
4851              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
4852                to_bitField0_ |= 0x00000002;
4853              }
4854              result.id_ = id_;
4855              result.bitField0_ = to_bitField0_;
4856              return result;
4857            }
4858    
4859            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor other) {
4860              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance()) return this;
4861              if (other.hasKind()) {
4862                setKind(other.getKind());
4863              }
4864              if (other.hasId()) {
4865                setId(other.getId());
4866              }
4867              return this;
4868            }
4869    
4870            public final boolean isInitialized() {
4871              if (!hasId()) {
4872                
4873                return false;
4874              }
4875              return true;
4876            }
4877    
4878            public Builder mergeFrom(
4879                com.google.protobuf.CodedInputStream input,
4880                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4881                throws java.io.IOException {
4882              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parsedMessage = null;
4883              try {
4884                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
4885              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4886                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor) e.getUnfinishedMessage();
4887                throw e;
4888              } finally {
4889                if (parsedMessage != null) {
4890                  mergeFrom(parsedMessage);
4891                }
4892              }
4893              return this;
4894            }
4895            private int bitField0_;
4896    
4897            // optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];
4898            private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
4899            /**
4900             * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4901             */
4902            public boolean hasKind() {
4903              return ((bitField0_ & 0x00000001) == 0x00000001);
4904            }
4905            /**
4906             * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4907             */
4908            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind getKind() {
4909              return kind_;
4910            }
4911            /**
4912             * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4913             */
4914            public Builder setKind(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind value) {
4915              if (value == null) {
4916                throw new NullPointerException();
4917              }
4918              bitField0_ |= 0x00000001;
4919              kind_ = value;
4920              
4921              return this;
4922            }
4923            /**
4924             * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4925             */
4926            public Builder clearKind() {
4927              bitField0_ = (bitField0_ & ~0x00000001);
4928              kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
4929              
4930              return this;
4931            }
4932    
4933            // required int32 id = 2;
4934            private int id_ ;
4935            /**
4936             * <code>required int32 id = 2;</code>
4937             *
4938             * <pre>
4939             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4940             * </pre>
4941             */
4942            public boolean hasId() {
4943              return ((bitField0_ & 0x00000002) == 0x00000002);
4944            }
4945            /**
4946             * <code>required int32 id = 2;</code>
4947             *
4948             * <pre>
4949             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4950             * </pre>
4951             */
4952            public int getId() {
4953              return id_;
4954            }
4955            /**
4956             * <code>required int32 id = 2;</code>
4957             *
4958             * <pre>
4959             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4960             * </pre>
4961             */
4962            public Builder setId(int value) {
4963              bitField0_ |= 0x00000002;
4964              id_ = value;
4965              
4966              return this;
4967            }
4968            /**
4969             * <code>required int32 id = 2;</code>
4970             *
4971             * <pre>
4972             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4973             * </pre>
4974             */
4975            public Builder clearId() {
4976              bitField0_ = (bitField0_ & ~0x00000002);
4977              id_ = 0;
4978              
4979              return this;
4980            }
4981    
4982            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Type.Constructor)
4983          }
4984    
4985          static {
4986            defaultInstance = new Constructor(true);
4987            defaultInstance.initFields();
4988          }
4989    
4990          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Type.Constructor)
4991        }
4992    
4993        public interface ArgumentOrBuilder
4994            extends com.google.protobuf.MessageLiteOrBuilder {
4995    
4996          // optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];
4997          /**
4998           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
4999           */
5000          boolean hasProjection();
5001          /**
5002           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5003           */
5004          org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection();
5005    
5006          // required .org.jetbrains.kotlin.serialization.Type type = 2;
5007          /**
5008           * <code>required .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5009           */
5010          boolean hasType();
5011          /**
5012           * <code>required .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5013           */
5014          org.jetbrains.kotlin.serialization.ProtoBuf.Type getType();
5015        }
5016        /**
5017         * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Argument}
5018         */
5019        public static final class Argument extends
5020            com.google.protobuf.GeneratedMessageLite
5021            implements ArgumentOrBuilder {
5022          // Use Argument.newBuilder() to construct.
5023          private Argument(com.google.protobuf.GeneratedMessageLite.Builder builder) {
5024            super(builder);
5025    
5026          }
5027          private Argument(boolean noInit) {}
5028    
5029          private static final Argument defaultInstance;
5030          public static Argument getDefaultInstance() {
5031            return defaultInstance;
5032          }
5033    
5034          public Argument getDefaultInstanceForType() {
5035            return defaultInstance;
5036          }
5037    
5038          private Argument(
5039              com.google.protobuf.CodedInputStream input,
5040              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5041              throws com.google.protobuf.InvalidProtocolBufferException {
5042            initFields();
5043            int mutable_bitField0_ = 0;
5044            try {
5045              boolean done = false;
5046              while (!done) {
5047                int tag = input.readTag();
5048                switch (tag) {
5049                  case 0:
5050                    done = true;
5051                    break;
5052                  default: {
5053                    if (!parseUnknownField(input,
5054                                           extensionRegistry, tag)) {
5055                      done = true;
5056                    }
5057                    break;
5058                  }
5059                  case 8: {
5060                    int rawValue = input.readEnum();
5061                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection value = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.valueOf(rawValue);
5062                    if (value != null) {
5063                      bitField0_ |= 0x00000001;
5064                      projection_ = value;
5065                    }
5066                    break;
5067                  }
5068                  case 18: {
5069                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
5070                    if (((bitField0_ & 0x00000002) == 0x00000002)) {
5071                      subBuilder = type_.toBuilder();
5072                    }
5073                    type_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
5074                    if (subBuilder != null) {
5075                      subBuilder.mergeFrom(type_);
5076                      type_ = subBuilder.buildPartial();
5077                    }
5078                    bitField0_ |= 0x00000002;
5079                    break;
5080                  }
5081                }
5082              }
5083            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5084              throw e.setUnfinishedMessage(this);
5085            } catch (java.io.IOException e) {
5086              throw new com.google.protobuf.InvalidProtocolBufferException(
5087                  e.getMessage()).setUnfinishedMessage(this);
5088            } finally {
5089              makeExtensionsImmutable();
5090            }
5091          }
5092          public static com.google.protobuf.Parser<Argument> PARSER =
5093              new com.google.protobuf.AbstractParser<Argument>() {
5094            public Argument parsePartialFrom(
5095                com.google.protobuf.CodedInputStream input,
5096                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5097                throws com.google.protobuf.InvalidProtocolBufferException {
5098              return new Argument(input, extensionRegistry);
5099            }
5100          };
5101    
5102          @java.lang.Override
5103          public com.google.protobuf.Parser<Argument> getParserForType() {
5104            return PARSER;
5105          }
5106    
5107          /**
5108           * Protobuf enum {@code org.jetbrains.kotlin.serialization.Type.Argument.Projection}
5109           */
5110          public enum Projection
5111              implements com.google.protobuf.Internal.EnumLite {
5112            /**
5113             * <code>IN = 0;</code>
5114             */
5115            IN(0, 0),
5116            /**
5117             * <code>OUT = 1;</code>
5118             */
5119            OUT(1, 1),
5120            /**
5121             * <code>INV = 2;</code>
5122             */
5123            INV(2, 2),
5124            /**
5125             * <code>STAR = 3;</code>
5126             */
5127            STAR(3, 3),
5128            ;
5129    
5130            /**
5131             * <code>IN = 0;</code>
5132             */
5133            public static final int IN_VALUE = 0;
5134            /**
5135             * <code>OUT = 1;</code>
5136             */
5137            public static final int OUT_VALUE = 1;
5138            /**
5139             * <code>INV = 2;</code>
5140             */
5141            public static final int INV_VALUE = 2;
5142            /**
5143             * <code>STAR = 3;</code>
5144             */
5145            public static final int STAR_VALUE = 3;
5146    
5147    
5148            public final int getNumber() { return value; }
5149    
5150            public static Projection valueOf(int value) {
5151              switch (value) {
5152                case 0: return IN;
5153                case 1: return OUT;
5154                case 2: return INV;
5155                case 3: return STAR;
5156                default: return null;
5157              }
5158            }
5159    
5160            public static com.google.protobuf.Internal.EnumLiteMap<Projection>
5161                internalGetValueMap() {
5162              return internalValueMap;
5163            }
5164            private static com.google.protobuf.Internal.EnumLiteMap<Projection>
5165                internalValueMap =
5166                  new com.google.protobuf.Internal.EnumLiteMap<Projection>() {
5167                    public Projection findValueByNumber(int number) {
5168                      return Projection.valueOf(number);
5169                    }
5170                  };
5171    
5172            private final int value;
5173    
5174            private Projection(int index, int value) {
5175              this.value = value;
5176            }
5177    
5178            // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Type.Argument.Projection)
5179          }
5180    
5181          private int bitField0_;
5182          // optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];
5183          public static final int PROJECTION_FIELD_NUMBER = 1;
5184          private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection projection_;
5185          /**
5186           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5187           */
5188          public boolean hasProjection() {
5189            return ((bitField0_ & 0x00000001) == 0x00000001);
5190          }
5191          /**
5192           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5193           */
5194          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
5195            return projection_;
5196          }
5197    
5198          // required .org.jetbrains.kotlin.serialization.Type type = 2;
5199          public static final int TYPE_FIELD_NUMBER = 2;
5200          private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_;
5201          /**
5202           * <code>required .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5203           */
5204          public boolean hasType() {
5205            return ((bitField0_ & 0x00000002) == 0x00000002);
5206          }
5207          /**
5208           * <code>required .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5209           */
5210          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
5211            return type_;
5212          }
5213    
5214          private void initFields() {
5215            projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5216            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5217          }
5218          private byte memoizedIsInitialized = -1;
5219          public final boolean isInitialized() {
5220            byte isInitialized = memoizedIsInitialized;
5221            if (isInitialized != -1) return isInitialized == 1;
5222    
5223            if (!hasType()) {
5224              memoizedIsInitialized = 0;
5225              return false;
5226            }
5227            if (!getType().isInitialized()) {
5228              memoizedIsInitialized = 0;
5229              return false;
5230            }
5231            memoizedIsInitialized = 1;
5232            return true;
5233          }
5234    
5235          public void writeTo(com.google.protobuf.CodedOutputStream output)
5236                              throws java.io.IOException {
5237            getSerializedSize();
5238            if (((bitField0_ & 0x00000001) == 0x00000001)) {
5239              output.writeEnum(1, projection_.getNumber());
5240            }
5241            if (((bitField0_ & 0x00000002) == 0x00000002)) {
5242              output.writeMessage(2, type_);
5243            }
5244          }
5245    
5246          private int memoizedSerializedSize = -1;
5247          public int getSerializedSize() {
5248            int size = memoizedSerializedSize;
5249            if (size != -1) return size;
5250    
5251            size = 0;
5252            if (((bitField0_ & 0x00000001) == 0x00000001)) {
5253              size += com.google.protobuf.CodedOutputStream
5254                .computeEnumSize(1, projection_.getNumber());
5255            }
5256            if (((bitField0_ & 0x00000002) == 0x00000002)) {
5257              size += com.google.protobuf.CodedOutputStream
5258                .computeMessageSize(2, type_);
5259            }
5260            memoizedSerializedSize = size;
5261            return size;
5262          }
5263    
5264          private static final long serialVersionUID = 0L;
5265          @java.lang.Override
5266          protected java.lang.Object writeReplace()
5267              throws java.io.ObjectStreamException {
5268            return super.writeReplace();
5269          }
5270    
5271          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5272              com.google.protobuf.ByteString data)
5273              throws com.google.protobuf.InvalidProtocolBufferException {
5274            return PARSER.parseFrom(data);
5275          }
5276          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5277              com.google.protobuf.ByteString data,
5278              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5279              throws com.google.protobuf.InvalidProtocolBufferException {
5280            return PARSER.parseFrom(data, extensionRegistry);
5281          }
5282          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(byte[] data)
5283              throws com.google.protobuf.InvalidProtocolBufferException {
5284            return PARSER.parseFrom(data);
5285          }
5286          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5287              byte[] data,
5288              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5289              throws com.google.protobuf.InvalidProtocolBufferException {
5290            return PARSER.parseFrom(data, extensionRegistry);
5291          }
5292          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(java.io.InputStream input)
5293              throws java.io.IOException {
5294            return PARSER.parseFrom(input);
5295          }
5296          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5297              java.io.InputStream input,
5298              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5299              throws java.io.IOException {
5300            return PARSER.parseFrom(input, extensionRegistry);
5301          }
5302          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(java.io.InputStream input)
5303              throws java.io.IOException {
5304            return PARSER.parseDelimitedFrom(input);
5305          }
5306          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(
5307              java.io.InputStream input,
5308              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5309              throws java.io.IOException {
5310            return PARSER.parseDelimitedFrom(input, extensionRegistry);
5311          }
5312          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5313              com.google.protobuf.CodedInputStream input)
5314              throws java.io.IOException {
5315            return PARSER.parseFrom(input);
5316          }
5317          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5318              com.google.protobuf.CodedInputStream input,
5319              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5320              throws java.io.IOException {
5321            return PARSER.parseFrom(input, extensionRegistry);
5322          }
5323    
5324          public static Builder newBuilder() { return Builder.create(); }
5325          public Builder newBuilderForType() { return newBuilder(); }
5326          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument prototype) {
5327            return newBuilder().mergeFrom(prototype);
5328          }
5329          public Builder toBuilder() { return newBuilder(this); }
5330    
5331          /**
5332           * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Argument}
5333           */
5334          public static final class Builder extends
5335              com.google.protobuf.GeneratedMessageLite.Builder<
5336                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument, Builder>
5337              implements org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder {
5338            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.newBuilder()
5339            private Builder() {
5340              maybeForceBuilderInitialization();
5341            }
5342    
5343            private void maybeForceBuilderInitialization() {
5344            }
5345            private static Builder create() {
5346              return new Builder();
5347            }
5348    
5349            public Builder clear() {
5350              super.clear();
5351              projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5352              bitField0_ = (bitField0_ & ~0x00000001);
5353              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5354              bitField0_ = (bitField0_ & ~0x00000002);
5355              return this;
5356            }
5357    
5358            public Builder clone() {
5359              return create().mergeFrom(buildPartial());
5360            }
5361    
5362            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getDefaultInstanceForType() {
5363              return org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.getDefaultInstance();
5364            }
5365    
5366            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument build() {
5367              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument result = buildPartial();
5368              if (!result.isInitialized()) {
5369                throw newUninitializedMessageException(result);
5370              }
5371              return result;
5372            }
5373    
5374            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument buildPartial() {
5375              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument result = new org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument(this);
5376              int from_bitField0_ = bitField0_;
5377              int to_bitField0_ = 0;
5378              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
5379                to_bitField0_ |= 0x00000001;
5380              }
5381              result.projection_ = projection_;
5382              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
5383                to_bitField0_ |= 0x00000002;
5384              }
5385              result.type_ = type_;
5386              result.bitField0_ = to_bitField0_;
5387              return result;
5388            }
5389    
5390            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument other) {
5391              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.getDefaultInstance()) return this;
5392              if (other.hasProjection()) {
5393                setProjection(other.getProjection());
5394              }
5395              if (other.hasType()) {
5396                mergeType(other.getType());
5397              }
5398              return this;
5399            }
5400    
5401            public final boolean isInitialized() {
5402              if (!hasType()) {
5403                
5404                return false;
5405              }
5406              if (!getType().isInitialized()) {
5407                
5408                return false;
5409              }
5410              return true;
5411            }
5412    
5413            public Builder mergeFrom(
5414                com.google.protobuf.CodedInputStream input,
5415                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5416                throws java.io.IOException {
5417              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parsedMessage = null;
5418              try {
5419                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
5420              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5421                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument) e.getUnfinishedMessage();
5422                throw e;
5423              } finally {
5424                if (parsedMessage != null) {
5425                  mergeFrom(parsedMessage);
5426                }
5427              }
5428              return this;
5429            }
5430            private int bitField0_;
5431    
5432            // optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];
5433            private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5434            /**
5435             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5436             */
5437            public boolean hasProjection() {
5438              return ((bitField0_ & 0x00000001) == 0x00000001);
5439            }
5440            /**
5441             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5442             */
5443            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
5444              return projection_;
5445            }
5446            /**
5447             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5448             */
5449            public Builder setProjection(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection value) {
5450              if (value == null) {
5451                throw new NullPointerException();
5452              }
5453              bitField0_ |= 0x00000001;
5454              projection_ = value;
5455              
5456              return this;
5457            }
5458            /**
5459             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5460             */
5461            public Builder clearProjection() {
5462              bitField0_ = (bitField0_ & ~0x00000001);
5463              projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5464              
5465              return this;
5466            }
5467    
5468            // required .org.jetbrains.kotlin.serialization.Type type = 2;
5469            private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5470            /**
5471             * <code>required .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5472             */
5473            public boolean hasType() {
5474              return ((bitField0_ & 0x00000002) == 0x00000002);
5475            }
5476            /**
5477             * <code>required .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5478             */
5479            public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
5480              return type_;
5481            }
5482            /**
5483             * <code>required .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5484             */
5485            public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
5486              if (value == null) {
5487                throw new NullPointerException();
5488              }
5489              type_ = value;
5490    
5491              bitField0_ |= 0x00000002;
5492              return this;
5493            }
5494            /**
5495             * <code>required .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5496             */
5497            public Builder setType(
5498                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
5499              type_ = builderForValue.build();
5500    
5501              bitField0_ |= 0x00000002;
5502              return this;
5503            }
5504            /**
5505             * <code>required .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5506             */
5507            public Builder mergeType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
5508              if (((bitField0_ & 0x00000002) == 0x00000002) &&
5509                  type_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
5510                type_ =
5511                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
5512              } else {
5513                type_ = value;
5514              }
5515    
5516              bitField0_ |= 0x00000002;
5517              return this;
5518            }
5519            /**
5520             * <code>required .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5521             */
5522            public Builder clearType() {
5523              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5524    
5525              bitField0_ = (bitField0_ & ~0x00000002);
5526              return this;
5527            }
5528    
5529            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Type.Argument)
5530          }
5531    
5532          static {
5533            defaultInstance = new Argument(true);
5534            defaultInstance.initFields();
5535          }
5536    
5537          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Type.Argument)
5538        }
5539    
5540        private int bitField0_;
5541        // required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;
5542        public static final int CONSTRUCTOR_FIELD_NUMBER = 1;
5543        private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor constructor_;
5544        /**
5545         * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
5546         */
5547        public boolean hasConstructor() {
5548          return ((bitField0_ & 0x00000001) == 0x00000001);
5549        }
5550        /**
5551         * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
5552         */
5553        public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor getConstructor() {
5554          return constructor_;
5555        }
5556    
5557        // repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;
5558        public static final int ARGUMENT_FIELD_NUMBER = 2;
5559        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> argument_;
5560        /**
5561         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5562         */
5563        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> getArgumentList() {
5564          return argument_;
5565        }
5566        /**
5567         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5568         */
5569        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder> 
5570            getArgumentOrBuilderList() {
5571          return argument_;
5572        }
5573        /**
5574         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5575         */
5576        public int getArgumentCount() {
5577          return argument_.size();
5578        }
5579        /**
5580         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5581         */
5582        public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index) {
5583          return argument_.get(index);
5584        }
5585        /**
5586         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5587         */
5588        public org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder getArgumentOrBuilder(
5589            int index) {
5590          return argument_.get(index);
5591        }
5592    
5593        // optional bool nullable = 3 [default = false];
5594        public static final int NULLABLE_FIELD_NUMBER = 3;
5595        private boolean nullable_;
5596        /**
5597         * <code>optional bool nullable = 3 [default = false];</code>
5598         */
5599        public boolean hasNullable() {
5600          return ((bitField0_ & 0x00000002) == 0x00000002);
5601        }
5602        /**
5603         * <code>optional bool nullable = 3 [default = false];</code>
5604         */
5605        public boolean getNullable() {
5606          return nullable_;
5607        }
5608    
5609        // optional int32 flexible_type_capabilities_id = 4;
5610        public static final int FLEXIBLE_TYPE_CAPABILITIES_ID_FIELD_NUMBER = 4;
5611        private int flexibleTypeCapabilitiesId_;
5612        /**
5613         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5614         *
5615         * <pre>
5616         * Id in the StringTable
5617         * If this field is set, the type is flexible.
5618         * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5619         * </pre>
5620         */
5621        public boolean hasFlexibleTypeCapabilitiesId() {
5622          return ((bitField0_ & 0x00000004) == 0x00000004);
5623        }
5624        /**
5625         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5626         *
5627         * <pre>
5628         * Id in the StringTable
5629         * If this field is set, the type is flexible.
5630         * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5631         * </pre>
5632         */
5633        public int getFlexibleTypeCapabilitiesId() {
5634          return flexibleTypeCapabilitiesId_;
5635        }
5636    
5637        // optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;
5638        public static final int FLEXIBLE_UPPER_BOUND_FIELD_NUMBER = 5;
5639        private org.jetbrains.kotlin.serialization.ProtoBuf.Type flexibleUpperBound_;
5640        /**
5641         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5642         *
5643         * <pre>
5644         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
5645         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
5646         * to represent flexible types is too many wasted bytes.
5647         * </pre>
5648         */
5649        public boolean hasFlexibleUpperBound() {
5650          return ((bitField0_ & 0x00000008) == 0x00000008);
5651        }
5652        /**
5653         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5654         *
5655         * <pre>
5656         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
5657         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
5658         * to represent flexible types is too many wasted bytes.
5659         * </pre>
5660         */
5661        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound() {
5662          return flexibleUpperBound_;
5663        }
5664    
5665        private void initFields() {
5666          constructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
5667          argument_ = java.util.Collections.emptyList();
5668          nullable_ = false;
5669          flexibleTypeCapabilitiesId_ = 0;
5670          flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5671        }
5672        private byte memoizedIsInitialized = -1;
5673        public final boolean isInitialized() {
5674          byte isInitialized = memoizedIsInitialized;
5675          if (isInitialized != -1) return isInitialized == 1;
5676    
5677          if (!hasConstructor()) {
5678            memoizedIsInitialized = 0;
5679            return false;
5680          }
5681          if (!getConstructor().isInitialized()) {
5682            memoizedIsInitialized = 0;
5683            return false;
5684          }
5685          for (int i = 0; i < getArgumentCount(); i++) {
5686            if (!getArgument(i).isInitialized()) {
5687              memoizedIsInitialized = 0;
5688              return false;
5689            }
5690          }
5691          if (hasFlexibleUpperBound()) {
5692            if (!getFlexibleUpperBound().isInitialized()) {
5693              memoizedIsInitialized = 0;
5694              return false;
5695            }
5696          }
5697          memoizedIsInitialized = 1;
5698          return true;
5699        }
5700    
5701        public void writeTo(com.google.protobuf.CodedOutputStream output)
5702                            throws java.io.IOException {
5703          getSerializedSize();
5704          if (((bitField0_ & 0x00000001) == 0x00000001)) {
5705            output.writeMessage(1, constructor_);
5706          }
5707          for (int i = 0; i < argument_.size(); i++) {
5708            output.writeMessage(2, argument_.get(i));
5709          }
5710          if (((bitField0_ & 0x00000002) == 0x00000002)) {
5711            output.writeBool(3, nullable_);
5712          }
5713          if (((bitField0_ & 0x00000004) == 0x00000004)) {
5714            output.writeInt32(4, flexibleTypeCapabilitiesId_);
5715          }
5716          if (((bitField0_ & 0x00000008) == 0x00000008)) {
5717            output.writeMessage(5, flexibleUpperBound_);
5718          }
5719        }
5720    
5721        private int memoizedSerializedSize = -1;
5722        public int getSerializedSize() {
5723          int size = memoizedSerializedSize;
5724          if (size != -1) return size;
5725    
5726          size = 0;
5727          if (((bitField0_ & 0x00000001) == 0x00000001)) {
5728            size += com.google.protobuf.CodedOutputStream
5729              .computeMessageSize(1, constructor_);
5730          }
5731          for (int i = 0; i < argument_.size(); i++) {
5732            size += com.google.protobuf.CodedOutputStream
5733              .computeMessageSize(2, argument_.get(i));
5734          }
5735          if (((bitField0_ & 0x00000002) == 0x00000002)) {
5736            size += com.google.protobuf.CodedOutputStream
5737              .computeBoolSize(3, nullable_);
5738          }
5739          if (((bitField0_ & 0x00000004) == 0x00000004)) {
5740            size += com.google.protobuf.CodedOutputStream
5741              .computeInt32Size(4, flexibleTypeCapabilitiesId_);
5742          }
5743          if (((bitField0_ & 0x00000008) == 0x00000008)) {
5744            size += com.google.protobuf.CodedOutputStream
5745              .computeMessageSize(5, flexibleUpperBound_);
5746          }
5747          memoizedSerializedSize = size;
5748          return size;
5749        }
5750    
5751        private static final long serialVersionUID = 0L;
5752        @java.lang.Override
5753        protected java.lang.Object writeReplace()
5754            throws java.io.ObjectStreamException {
5755          return super.writeReplace();
5756        }
5757    
5758        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5759            com.google.protobuf.ByteString data)
5760            throws com.google.protobuf.InvalidProtocolBufferException {
5761          return PARSER.parseFrom(data);
5762        }
5763        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5764            com.google.protobuf.ByteString data,
5765            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5766            throws com.google.protobuf.InvalidProtocolBufferException {
5767          return PARSER.parseFrom(data, extensionRegistry);
5768        }
5769        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(byte[] data)
5770            throws com.google.protobuf.InvalidProtocolBufferException {
5771          return PARSER.parseFrom(data);
5772        }
5773        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5774            byte[] data,
5775            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5776            throws com.google.protobuf.InvalidProtocolBufferException {
5777          return PARSER.parseFrom(data, extensionRegistry);
5778        }
5779        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(java.io.InputStream input)
5780            throws java.io.IOException {
5781          return PARSER.parseFrom(input);
5782        }
5783        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5784            java.io.InputStream input,
5785            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5786            throws java.io.IOException {
5787          return PARSER.parseFrom(input, extensionRegistry);
5788        }
5789        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseDelimitedFrom(java.io.InputStream input)
5790            throws java.io.IOException {
5791          return PARSER.parseDelimitedFrom(input);
5792        }
5793        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseDelimitedFrom(
5794            java.io.InputStream input,
5795            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5796            throws java.io.IOException {
5797          return PARSER.parseDelimitedFrom(input, extensionRegistry);
5798        }
5799        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5800            com.google.protobuf.CodedInputStream input)
5801            throws java.io.IOException {
5802          return PARSER.parseFrom(input);
5803        }
5804        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5805            com.google.protobuf.CodedInputStream input,
5806            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5807            throws java.io.IOException {
5808          return PARSER.parseFrom(input, extensionRegistry);
5809        }
5810    
5811        public static Builder newBuilder() { return Builder.create(); }
5812        public Builder newBuilderForType() { return newBuilder(); }
5813        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Type prototype) {
5814          return newBuilder().mergeFrom(prototype);
5815        }
5816        public Builder toBuilder() { return newBuilder(this); }
5817    
5818        /**
5819         * Protobuf type {@code org.jetbrains.kotlin.serialization.Type}
5820         */
5821        public static final class Builder extends
5822            com.google.protobuf.GeneratedMessageLite.Builder<
5823              org.jetbrains.kotlin.serialization.ProtoBuf.Type, Builder>
5824            implements org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder {
5825          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder()
5826          private Builder() {
5827            maybeForceBuilderInitialization();
5828          }
5829    
5830          private void maybeForceBuilderInitialization() {
5831          }
5832          private static Builder create() {
5833            return new Builder();
5834          }
5835    
5836          public Builder clear() {
5837            super.clear();
5838            constructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
5839            bitField0_ = (bitField0_ & ~0x00000001);
5840            argument_ = java.util.Collections.emptyList();
5841            bitField0_ = (bitField0_ & ~0x00000002);
5842            nullable_ = false;
5843            bitField0_ = (bitField0_ & ~0x00000004);
5844            flexibleTypeCapabilitiesId_ = 0;
5845            bitField0_ = (bitField0_ & ~0x00000008);
5846            flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5847            bitField0_ = (bitField0_ & ~0x00000010);
5848            return this;
5849          }
5850    
5851          public Builder clone() {
5852            return create().mergeFrom(buildPartial());
5853          }
5854    
5855          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getDefaultInstanceForType() {
5856            return org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5857          }
5858    
5859          public org.jetbrains.kotlin.serialization.ProtoBuf.Type build() {
5860            org.jetbrains.kotlin.serialization.ProtoBuf.Type result = buildPartial();
5861            if (!result.isInitialized()) {
5862              throw newUninitializedMessageException(result);
5863            }
5864            return result;
5865          }
5866    
5867          public org.jetbrains.kotlin.serialization.ProtoBuf.Type buildPartial() {
5868            org.jetbrains.kotlin.serialization.ProtoBuf.Type result = new org.jetbrains.kotlin.serialization.ProtoBuf.Type(this);
5869            int from_bitField0_ = bitField0_;
5870            int to_bitField0_ = 0;
5871            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
5872              to_bitField0_ |= 0x00000001;
5873            }
5874            result.constructor_ = constructor_;
5875            if (((bitField0_ & 0x00000002) == 0x00000002)) {
5876              argument_ = java.util.Collections.unmodifiableList(argument_);
5877              bitField0_ = (bitField0_ & ~0x00000002);
5878            }
5879            result.argument_ = argument_;
5880            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
5881              to_bitField0_ |= 0x00000002;
5882            }
5883            result.nullable_ = nullable_;
5884            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
5885              to_bitField0_ |= 0x00000004;
5886            }
5887            result.flexibleTypeCapabilitiesId_ = flexibleTypeCapabilitiesId_;
5888            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
5889              to_bitField0_ |= 0x00000008;
5890            }
5891            result.flexibleUpperBound_ = flexibleUpperBound_;
5892            result.bitField0_ = to_bitField0_;
5893            return result;
5894          }
5895    
5896          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Type other) {
5897            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) return this;
5898            if (other.hasConstructor()) {
5899              mergeConstructor(other.getConstructor());
5900            }
5901            if (!other.argument_.isEmpty()) {
5902              if (argument_.isEmpty()) {
5903                argument_ = other.argument_;
5904                bitField0_ = (bitField0_ & ~0x00000002);
5905              } else {
5906                ensureArgumentIsMutable();
5907                argument_.addAll(other.argument_);
5908              }
5909              
5910            }
5911            if (other.hasNullable()) {
5912              setNullable(other.getNullable());
5913            }
5914            if (other.hasFlexibleTypeCapabilitiesId()) {
5915              setFlexibleTypeCapabilitiesId(other.getFlexibleTypeCapabilitiesId());
5916            }
5917            if (other.hasFlexibleUpperBound()) {
5918              mergeFlexibleUpperBound(other.getFlexibleUpperBound());
5919            }
5920            return this;
5921          }
5922    
5923          public final boolean isInitialized() {
5924            if (!hasConstructor()) {
5925              
5926              return false;
5927            }
5928            if (!getConstructor().isInitialized()) {
5929              
5930              return false;
5931            }
5932            for (int i = 0; i < getArgumentCount(); i++) {
5933              if (!getArgument(i).isInitialized()) {
5934                
5935                return false;
5936              }
5937            }
5938            if (hasFlexibleUpperBound()) {
5939              if (!getFlexibleUpperBound().isInitialized()) {
5940                
5941                return false;
5942              }
5943            }
5944            return true;
5945          }
5946    
5947          public Builder mergeFrom(
5948              com.google.protobuf.CodedInputStream input,
5949              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5950              throws java.io.IOException {
5951            org.jetbrains.kotlin.serialization.ProtoBuf.Type parsedMessage = null;
5952            try {
5953              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
5954            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5955              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Type) e.getUnfinishedMessage();
5956              throw e;
5957            } finally {
5958              if (parsedMessage != null) {
5959                mergeFrom(parsedMessage);
5960              }
5961            }
5962            return this;
5963          }
5964          private int bitField0_;
5965    
5966          // required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;
5967          private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor constructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
5968          /**
5969           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
5970           */
5971          public boolean hasConstructor() {
5972            return ((bitField0_ & 0x00000001) == 0x00000001);
5973          }
5974          /**
5975           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
5976           */
5977          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor getConstructor() {
5978            return constructor_;
5979          }
5980          /**
5981           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
5982           */
5983          public Builder setConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor value) {
5984            if (value == null) {
5985              throw new NullPointerException();
5986            }
5987            constructor_ = value;
5988    
5989            bitField0_ |= 0x00000001;
5990            return this;
5991          }
5992          /**
5993           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
5994           */
5995          public Builder setConstructor(
5996              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Builder builderForValue) {
5997            constructor_ = builderForValue.build();
5998    
5999            bitField0_ |= 0x00000001;
6000            return this;
6001          }
6002          /**
6003           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
6004           */
6005          public Builder mergeConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor value) {
6006            if (((bitField0_ & 0x00000001) == 0x00000001) &&
6007                constructor_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance()) {
6008              constructor_ =
6009                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.newBuilder(constructor_).mergeFrom(value).buildPartial();
6010            } else {
6011              constructor_ = value;
6012            }
6013    
6014            bitField0_ |= 0x00000001;
6015            return this;
6016          }
6017          /**
6018           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
6019           */
6020          public Builder clearConstructor() {
6021            constructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
6022    
6023            bitField0_ = (bitField0_ & ~0x00000001);
6024            return this;
6025          }
6026    
6027          // repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;
6028          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> argument_ =
6029            java.util.Collections.emptyList();
6030          private void ensureArgumentIsMutable() {
6031            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
6032              argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument>(argument_);
6033              bitField0_ |= 0x00000002;
6034             }
6035          }
6036    
6037          /**
6038           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6039           */
6040          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> getArgumentList() {
6041            return java.util.Collections.unmodifiableList(argument_);
6042          }
6043          /**
6044           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6045           */
6046          public int getArgumentCount() {
6047            return argument_.size();
6048          }
6049          /**
6050           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6051           */
6052          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index) {
6053            return argument_.get(index);
6054          }
6055          /**
6056           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6057           */
6058          public Builder setArgument(
6059              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
6060            if (value == null) {
6061              throw new NullPointerException();
6062            }
6063            ensureArgumentIsMutable();
6064            argument_.set(index, value);
6065    
6066            return this;
6067          }
6068          /**
6069           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6070           */
6071          public Builder setArgument(
6072              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
6073            ensureArgumentIsMutable();
6074            argument_.set(index, builderForValue.build());
6075    
6076            return this;
6077          }
6078          /**
6079           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6080           */
6081          public Builder addArgument(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
6082            if (value == null) {
6083              throw new NullPointerException();
6084            }
6085            ensureArgumentIsMutable();
6086            argument_.add(value);
6087    
6088            return this;
6089          }
6090          /**
6091           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6092           */
6093          public Builder addArgument(
6094              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
6095            if (value == null) {
6096              throw new NullPointerException();
6097            }
6098            ensureArgumentIsMutable();
6099            argument_.add(index, value);
6100    
6101            return this;
6102          }
6103          /**
6104           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6105           */
6106          public Builder addArgument(
6107              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
6108            ensureArgumentIsMutable();
6109            argument_.add(builderForValue.build());
6110    
6111            return this;
6112          }
6113          /**
6114           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6115           */
6116          public Builder addArgument(
6117              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
6118            ensureArgumentIsMutable();
6119            argument_.add(index, builderForValue.build());
6120    
6121            return this;
6122          }
6123          /**
6124           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6125           */
6126          public Builder addAllArgument(
6127              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> values) {
6128            ensureArgumentIsMutable();
6129            super.addAll(values, argument_);
6130    
6131            return this;
6132          }
6133          /**
6134           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6135           */
6136          public Builder clearArgument() {
6137            argument_ = java.util.Collections.emptyList();
6138            bitField0_ = (bitField0_ & ~0x00000002);
6139    
6140            return this;
6141          }
6142          /**
6143           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6144           */
6145          public Builder removeArgument(int index) {
6146            ensureArgumentIsMutable();
6147            argument_.remove(index);
6148    
6149            return this;
6150          }
6151    
6152          // optional bool nullable = 3 [default = false];
6153          private boolean nullable_ ;
6154          /**
6155           * <code>optional bool nullable = 3 [default = false];</code>
6156           */
6157          public boolean hasNullable() {
6158            return ((bitField0_ & 0x00000004) == 0x00000004);
6159          }
6160          /**
6161           * <code>optional bool nullable = 3 [default = false];</code>
6162           */
6163          public boolean getNullable() {
6164            return nullable_;
6165          }
6166          /**
6167           * <code>optional bool nullable = 3 [default = false];</code>
6168           */
6169          public Builder setNullable(boolean value) {
6170            bitField0_ |= 0x00000004;
6171            nullable_ = value;
6172            
6173            return this;
6174          }
6175          /**
6176           * <code>optional bool nullable = 3 [default = false];</code>
6177           */
6178          public Builder clearNullable() {
6179            bitField0_ = (bitField0_ & ~0x00000004);
6180            nullable_ = false;
6181            
6182            return this;
6183          }
6184    
6185          // optional int32 flexible_type_capabilities_id = 4;
6186          private int flexibleTypeCapabilitiesId_ ;
6187          /**
6188           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6189           *
6190           * <pre>
6191           * Id in the StringTable
6192           * If this field is set, the type is flexible.
6193           * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6194           * </pre>
6195           */
6196          public boolean hasFlexibleTypeCapabilitiesId() {
6197            return ((bitField0_ & 0x00000008) == 0x00000008);
6198          }
6199          /**
6200           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6201           *
6202           * <pre>
6203           * Id in the StringTable
6204           * If this field is set, the type is flexible.
6205           * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6206           * </pre>
6207           */
6208          public int getFlexibleTypeCapabilitiesId() {
6209            return flexibleTypeCapabilitiesId_;
6210          }
6211          /**
6212           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6213           *
6214           * <pre>
6215           * Id in the StringTable
6216           * If this field is set, the type is flexible.
6217           * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6218           * </pre>
6219           */
6220          public Builder setFlexibleTypeCapabilitiesId(int value) {
6221            bitField0_ |= 0x00000008;
6222            flexibleTypeCapabilitiesId_ = value;
6223            
6224            return this;
6225          }
6226          /**
6227           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6228           *
6229           * <pre>
6230           * Id in the StringTable
6231           * If this field is set, the type is flexible.
6232           * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6233           * </pre>
6234           */
6235          public Builder clearFlexibleTypeCapabilitiesId() {
6236            bitField0_ = (bitField0_ & ~0x00000008);
6237            flexibleTypeCapabilitiesId_ = 0;
6238            
6239            return this;
6240          }
6241    
6242          // optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;
6243          private org.jetbrains.kotlin.serialization.ProtoBuf.Type flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6244          /**
6245           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6246           *
6247           * <pre>
6248           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6249           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6250           * to represent flexible types is too many wasted bytes.
6251           * </pre>
6252           */
6253          public boolean hasFlexibleUpperBound() {
6254            return ((bitField0_ & 0x00000010) == 0x00000010);
6255          }
6256          /**
6257           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6258           *
6259           * <pre>
6260           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6261           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6262           * to represent flexible types is too many wasted bytes.
6263           * </pre>
6264           */
6265          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound() {
6266            return flexibleUpperBound_;
6267          }
6268          /**
6269           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6270           *
6271           * <pre>
6272           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6273           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6274           * to represent flexible types is too many wasted bytes.
6275           * </pre>
6276           */
6277          public Builder setFlexibleUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6278            if (value == null) {
6279              throw new NullPointerException();
6280            }
6281            flexibleUpperBound_ = value;
6282    
6283            bitField0_ |= 0x00000010;
6284            return this;
6285          }
6286          /**
6287           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6288           *
6289           * <pre>
6290           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6291           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6292           * to represent flexible types is too many wasted bytes.
6293           * </pre>
6294           */
6295          public Builder setFlexibleUpperBound(
6296              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
6297            flexibleUpperBound_ = builderForValue.build();
6298    
6299            bitField0_ |= 0x00000010;
6300            return this;
6301          }
6302          /**
6303           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6304           *
6305           * <pre>
6306           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6307           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6308           * to represent flexible types is too many wasted bytes.
6309           * </pre>
6310           */
6311          public Builder mergeFlexibleUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6312            if (((bitField0_ & 0x00000010) == 0x00000010) &&
6313                flexibleUpperBound_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
6314              flexibleUpperBound_ =
6315                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(flexibleUpperBound_).mergeFrom(value).buildPartial();
6316            } else {
6317              flexibleUpperBound_ = value;
6318            }
6319    
6320            bitField0_ |= 0x00000010;
6321            return this;
6322          }
6323          /**
6324           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6325           *
6326           * <pre>
6327           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6328           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6329           * to represent flexible types is too many wasted bytes.
6330           * </pre>
6331           */
6332          public Builder clearFlexibleUpperBound() {
6333            flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6334    
6335            bitField0_ = (bitField0_ & ~0x00000010);
6336            return this;
6337          }
6338    
6339          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Type)
6340        }
6341    
6342        static {
6343          defaultInstance = new Type(true);
6344          defaultInstance.initFields();
6345        }
6346    
6347        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Type)
6348      }
6349    
6350      public interface TypeParameterOrBuilder
6351          extends com.google.protobuf.MessageLiteOrBuilder {
6352    
6353        // required int32 id = 1;
6354        /**
6355         * <code>required int32 id = 1;</code>
6356         */
6357        boolean hasId();
6358        /**
6359         * <code>required int32 id = 1;</code>
6360         */
6361        int getId();
6362    
6363        // required int32 name = 2;
6364        /**
6365         * <code>required int32 name = 2;</code>
6366         *
6367         * <pre>
6368         * Id in the StringTable
6369         * </pre>
6370         */
6371        boolean hasName();
6372        /**
6373         * <code>required int32 name = 2;</code>
6374         *
6375         * <pre>
6376         * Id in the StringTable
6377         * </pre>
6378         */
6379        int getName();
6380    
6381        // optional bool reified = 3 [default = false];
6382        /**
6383         * <code>optional bool reified = 3 [default = false];</code>
6384         */
6385        boolean hasReified();
6386        /**
6387         * <code>optional bool reified = 3 [default = false];</code>
6388         */
6389        boolean getReified();
6390    
6391        // optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];
6392        /**
6393         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6394         */
6395        boolean hasVariance();
6396        /**
6397         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6398         */
6399        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance();
6400    
6401        // repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;
6402        /**
6403         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6404         */
6405        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> 
6406            getUpperBoundList();
6407        /**
6408         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6409         */
6410        org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index);
6411        /**
6412         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6413         */
6414        int getUpperBoundCount();
6415      }
6416      /**
6417       * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeParameter}
6418       */
6419      public static final class TypeParameter extends
6420          com.google.protobuf.GeneratedMessageLite
6421          implements TypeParameterOrBuilder {
6422        // Use TypeParameter.newBuilder() to construct.
6423        private TypeParameter(com.google.protobuf.GeneratedMessageLite.Builder builder) {
6424          super(builder);
6425    
6426        }
6427        private TypeParameter(boolean noInit) {}
6428    
6429        private static final TypeParameter defaultInstance;
6430        public static TypeParameter getDefaultInstance() {
6431          return defaultInstance;
6432        }
6433    
6434        public TypeParameter getDefaultInstanceForType() {
6435          return defaultInstance;
6436        }
6437    
6438        private TypeParameter(
6439            com.google.protobuf.CodedInputStream input,
6440            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6441            throws com.google.protobuf.InvalidProtocolBufferException {
6442          initFields();
6443          int mutable_bitField0_ = 0;
6444          try {
6445            boolean done = false;
6446            while (!done) {
6447              int tag = input.readTag();
6448              switch (tag) {
6449                case 0:
6450                  done = true;
6451                  break;
6452                default: {
6453                  if (!parseUnknownField(input,
6454                                         extensionRegistry, tag)) {
6455                    done = true;
6456                  }
6457                  break;
6458                }
6459                case 8: {
6460                  bitField0_ |= 0x00000001;
6461                  id_ = input.readInt32();
6462                  break;
6463                }
6464                case 16: {
6465                  bitField0_ |= 0x00000002;
6466                  name_ = input.readInt32();
6467                  break;
6468                }
6469                case 24: {
6470                  bitField0_ |= 0x00000004;
6471                  reified_ = input.readBool();
6472                  break;
6473                }
6474                case 32: {
6475                  int rawValue = input.readEnum();
6476                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance value = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.valueOf(rawValue);
6477                  if (value != null) {
6478                    bitField0_ |= 0x00000008;
6479                    variance_ = value;
6480                  }
6481                  break;
6482                }
6483                case 42: {
6484                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
6485                    upperBound_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
6486                    mutable_bitField0_ |= 0x00000010;
6487                  }
6488                  upperBound_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
6489                  break;
6490                }
6491              }
6492            }
6493          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6494            throw e.setUnfinishedMessage(this);
6495          } catch (java.io.IOException e) {
6496            throw new com.google.protobuf.InvalidProtocolBufferException(
6497                e.getMessage()).setUnfinishedMessage(this);
6498          } finally {
6499            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
6500              upperBound_ = java.util.Collections.unmodifiableList(upperBound_);
6501            }
6502            makeExtensionsImmutable();
6503          }
6504        }
6505        public static com.google.protobuf.Parser<TypeParameter> PARSER =
6506            new com.google.protobuf.AbstractParser<TypeParameter>() {
6507          public TypeParameter parsePartialFrom(
6508              com.google.protobuf.CodedInputStream input,
6509              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6510              throws com.google.protobuf.InvalidProtocolBufferException {
6511            return new TypeParameter(input, extensionRegistry);
6512          }
6513        };
6514    
6515        @java.lang.Override
6516        public com.google.protobuf.Parser<TypeParameter> getParserForType() {
6517          return PARSER;
6518        }
6519    
6520        /**
6521         * Protobuf enum {@code org.jetbrains.kotlin.serialization.TypeParameter.Variance}
6522         */
6523        public enum Variance
6524            implements com.google.protobuf.Internal.EnumLite {
6525          /**
6526           * <code>IN = 0;</code>
6527           */
6528          IN(0, 0),
6529          /**
6530           * <code>OUT = 1;</code>
6531           */
6532          OUT(1, 1),
6533          /**
6534           * <code>INV = 2;</code>
6535           */
6536          INV(2, 2),
6537          ;
6538    
6539          /**
6540           * <code>IN = 0;</code>
6541           */
6542          public static final int IN_VALUE = 0;
6543          /**
6544           * <code>OUT = 1;</code>
6545           */
6546          public static final int OUT_VALUE = 1;
6547          /**
6548           * <code>INV = 2;</code>
6549           */
6550          public static final int INV_VALUE = 2;
6551    
6552    
6553          public final int getNumber() { return value; }
6554    
6555          public static Variance valueOf(int value) {
6556            switch (value) {
6557              case 0: return IN;
6558              case 1: return OUT;
6559              case 2: return INV;
6560              default: return null;
6561            }
6562          }
6563    
6564          public static com.google.protobuf.Internal.EnumLiteMap<Variance>
6565              internalGetValueMap() {
6566            return internalValueMap;
6567          }
6568          private static com.google.protobuf.Internal.EnumLiteMap<Variance>
6569              internalValueMap =
6570                new com.google.protobuf.Internal.EnumLiteMap<Variance>() {
6571                  public Variance findValueByNumber(int number) {
6572                    return Variance.valueOf(number);
6573                  }
6574                };
6575    
6576          private final int value;
6577    
6578          private Variance(int index, int value) {
6579            this.value = value;
6580          }
6581    
6582          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.TypeParameter.Variance)
6583        }
6584    
6585        private int bitField0_;
6586        // required int32 id = 1;
6587        public static final int ID_FIELD_NUMBER = 1;
6588        private int id_;
6589        /**
6590         * <code>required int32 id = 1;</code>
6591         */
6592        public boolean hasId() {
6593          return ((bitField0_ & 0x00000001) == 0x00000001);
6594        }
6595        /**
6596         * <code>required int32 id = 1;</code>
6597         */
6598        public int getId() {
6599          return id_;
6600        }
6601    
6602        // required int32 name = 2;
6603        public static final int NAME_FIELD_NUMBER = 2;
6604        private int name_;
6605        /**
6606         * <code>required int32 name = 2;</code>
6607         *
6608         * <pre>
6609         * Id in the StringTable
6610         * </pre>
6611         */
6612        public boolean hasName() {
6613          return ((bitField0_ & 0x00000002) == 0x00000002);
6614        }
6615        /**
6616         * <code>required int32 name = 2;</code>
6617         *
6618         * <pre>
6619         * Id in the StringTable
6620         * </pre>
6621         */
6622        public int getName() {
6623          return name_;
6624        }
6625    
6626        // optional bool reified = 3 [default = false];
6627        public static final int REIFIED_FIELD_NUMBER = 3;
6628        private boolean reified_;
6629        /**
6630         * <code>optional bool reified = 3 [default = false];</code>
6631         */
6632        public boolean hasReified() {
6633          return ((bitField0_ & 0x00000004) == 0x00000004);
6634        }
6635        /**
6636         * <code>optional bool reified = 3 [default = false];</code>
6637         */
6638        public boolean getReified() {
6639          return reified_;
6640        }
6641    
6642        // optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];
6643        public static final int VARIANCE_FIELD_NUMBER = 4;
6644        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance variance_;
6645        /**
6646         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6647         */
6648        public boolean hasVariance() {
6649          return ((bitField0_ & 0x00000008) == 0x00000008);
6650        }
6651        /**
6652         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6653         */
6654        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
6655          return variance_;
6656        }
6657    
6658        // repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;
6659        public static final int UPPER_BOUND_FIELD_NUMBER = 5;
6660        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> upperBound_;
6661        /**
6662         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6663         */
6664        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getUpperBoundList() {
6665          return upperBound_;
6666        }
6667        /**
6668         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6669         */
6670        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
6671            getUpperBoundOrBuilderList() {
6672          return upperBound_;
6673        }
6674        /**
6675         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6676         */
6677        public int getUpperBoundCount() {
6678          return upperBound_.size();
6679        }
6680        /**
6681         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6682         */
6683        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index) {
6684          return upperBound_.get(index);
6685        }
6686        /**
6687         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6688         */
6689        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getUpperBoundOrBuilder(
6690            int index) {
6691          return upperBound_.get(index);
6692        }
6693    
6694        private void initFields() {
6695          id_ = 0;
6696          name_ = 0;
6697          reified_ = false;
6698          variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
6699          upperBound_ = java.util.Collections.emptyList();
6700        }
6701        private byte memoizedIsInitialized = -1;
6702        public final boolean isInitialized() {
6703          byte isInitialized = memoizedIsInitialized;
6704          if (isInitialized != -1) return isInitialized == 1;
6705    
6706          if (!hasId()) {
6707            memoizedIsInitialized = 0;
6708            return false;
6709          }
6710          if (!hasName()) {
6711            memoizedIsInitialized = 0;
6712            return false;
6713          }
6714          for (int i = 0; i < getUpperBoundCount(); i++) {
6715            if (!getUpperBound(i).isInitialized()) {
6716              memoizedIsInitialized = 0;
6717              return false;
6718            }
6719          }
6720          memoizedIsInitialized = 1;
6721          return true;
6722        }
6723    
6724        public void writeTo(com.google.protobuf.CodedOutputStream output)
6725                            throws java.io.IOException {
6726          getSerializedSize();
6727          if (((bitField0_ & 0x00000001) == 0x00000001)) {
6728            output.writeInt32(1, id_);
6729          }
6730          if (((bitField0_ & 0x00000002) == 0x00000002)) {
6731            output.writeInt32(2, name_);
6732          }
6733          if (((bitField0_ & 0x00000004) == 0x00000004)) {
6734            output.writeBool(3, reified_);
6735          }
6736          if (((bitField0_ & 0x00000008) == 0x00000008)) {
6737            output.writeEnum(4, variance_.getNumber());
6738          }
6739          for (int i = 0; i < upperBound_.size(); i++) {
6740            output.writeMessage(5, upperBound_.get(i));
6741          }
6742        }
6743    
6744        private int memoizedSerializedSize = -1;
6745        public int getSerializedSize() {
6746          int size = memoizedSerializedSize;
6747          if (size != -1) return size;
6748    
6749          size = 0;
6750          if (((bitField0_ & 0x00000001) == 0x00000001)) {
6751            size += com.google.protobuf.CodedOutputStream
6752              .computeInt32Size(1, id_);
6753          }
6754          if (((bitField0_ & 0x00000002) == 0x00000002)) {
6755            size += com.google.protobuf.CodedOutputStream
6756              .computeInt32Size(2, name_);
6757          }
6758          if (((bitField0_ & 0x00000004) == 0x00000004)) {
6759            size += com.google.protobuf.CodedOutputStream
6760              .computeBoolSize(3, reified_);
6761          }
6762          if (((bitField0_ & 0x00000008) == 0x00000008)) {
6763            size += com.google.protobuf.CodedOutputStream
6764              .computeEnumSize(4, variance_.getNumber());
6765          }
6766          for (int i = 0; i < upperBound_.size(); i++) {
6767            size += com.google.protobuf.CodedOutputStream
6768              .computeMessageSize(5, upperBound_.get(i));
6769          }
6770          memoizedSerializedSize = size;
6771          return size;
6772        }
6773    
6774        private static final long serialVersionUID = 0L;
6775        @java.lang.Override
6776        protected java.lang.Object writeReplace()
6777            throws java.io.ObjectStreamException {
6778          return super.writeReplace();
6779        }
6780    
6781        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6782            com.google.protobuf.ByteString data)
6783            throws com.google.protobuf.InvalidProtocolBufferException {
6784          return PARSER.parseFrom(data);
6785        }
6786        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6787            com.google.protobuf.ByteString data,
6788            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6789            throws com.google.protobuf.InvalidProtocolBufferException {
6790          return PARSER.parseFrom(data, extensionRegistry);
6791        }
6792        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(byte[] data)
6793            throws com.google.protobuf.InvalidProtocolBufferException {
6794          return PARSER.parseFrom(data);
6795        }
6796        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6797            byte[] data,
6798            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6799            throws com.google.protobuf.InvalidProtocolBufferException {
6800          return PARSER.parseFrom(data, extensionRegistry);
6801        }
6802        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(java.io.InputStream input)
6803            throws java.io.IOException {
6804          return PARSER.parseFrom(input);
6805        }
6806        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6807            java.io.InputStream input,
6808            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6809            throws java.io.IOException {
6810          return PARSER.parseFrom(input, extensionRegistry);
6811        }
6812        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(java.io.InputStream input)
6813            throws java.io.IOException {
6814          return PARSER.parseDelimitedFrom(input);
6815        }
6816        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(
6817            java.io.InputStream input,
6818            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6819            throws java.io.IOException {
6820          return PARSER.parseDelimitedFrom(input, extensionRegistry);
6821        }
6822        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6823            com.google.protobuf.CodedInputStream input)
6824            throws java.io.IOException {
6825          return PARSER.parseFrom(input);
6826        }
6827        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6828            com.google.protobuf.CodedInputStream input,
6829            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6830            throws java.io.IOException {
6831          return PARSER.parseFrom(input, extensionRegistry);
6832        }
6833    
6834        public static Builder newBuilder() { return Builder.create(); }
6835        public Builder newBuilderForType() { return newBuilder(); }
6836        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter prototype) {
6837          return newBuilder().mergeFrom(prototype);
6838        }
6839        public Builder toBuilder() { return newBuilder(this); }
6840    
6841        /**
6842         * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeParameter}
6843         */
6844        public static final class Builder extends
6845            com.google.protobuf.GeneratedMessageLite.Builder<
6846              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter, Builder>
6847            implements org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder {
6848          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.newBuilder()
6849          private Builder() {
6850            maybeForceBuilderInitialization();
6851          }
6852    
6853          private void maybeForceBuilderInitialization() {
6854          }
6855          private static Builder create() {
6856            return new Builder();
6857          }
6858    
6859          public Builder clear() {
6860            super.clear();
6861            id_ = 0;
6862            bitField0_ = (bitField0_ & ~0x00000001);
6863            name_ = 0;
6864            bitField0_ = (bitField0_ & ~0x00000002);
6865            reified_ = false;
6866            bitField0_ = (bitField0_ & ~0x00000004);
6867            variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
6868            bitField0_ = (bitField0_ & ~0x00000008);
6869            upperBound_ = java.util.Collections.emptyList();
6870            bitField0_ = (bitField0_ & ~0x00000010);
6871            return this;
6872          }
6873    
6874          public Builder clone() {
6875            return create().mergeFrom(buildPartial());
6876          }
6877    
6878          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getDefaultInstanceForType() {
6879            return org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.getDefaultInstance();
6880          }
6881    
6882          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter build() {
6883            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter result = buildPartial();
6884            if (!result.isInitialized()) {
6885              throw newUninitializedMessageException(result);
6886            }
6887            return result;
6888          }
6889    
6890          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter buildPartial() {
6891            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter result = new org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter(this);
6892            int from_bitField0_ = bitField0_;
6893            int to_bitField0_ = 0;
6894            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
6895              to_bitField0_ |= 0x00000001;
6896            }
6897            result.id_ = id_;
6898            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
6899              to_bitField0_ |= 0x00000002;
6900            }
6901            result.name_ = name_;
6902            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
6903              to_bitField0_ |= 0x00000004;
6904            }
6905            result.reified_ = reified_;
6906            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
6907              to_bitField0_ |= 0x00000008;
6908            }
6909            result.variance_ = variance_;
6910            if (((bitField0_ & 0x00000010) == 0x00000010)) {
6911              upperBound_ = java.util.Collections.unmodifiableList(upperBound_);
6912              bitField0_ = (bitField0_ & ~0x00000010);
6913            }
6914            result.upperBound_ = upperBound_;
6915            result.bitField0_ = to_bitField0_;
6916            return result;
6917          }
6918    
6919          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter other) {
6920            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.getDefaultInstance()) return this;
6921            if (other.hasId()) {
6922              setId(other.getId());
6923            }
6924            if (other.hasName()) {
6925              setName(other.getName());
6926            }
6927            if (other.hasReified()) {
6928              setReified(other.getReified());
6929            }
6930            if (other.hasVariance()) {
6931              setVariance(other.getVariance());
6932            }
6933            if (!other.upperBound_.isEmpty()) {
6934              if (upperBound_.isEmpty()) {
6935                upperBound_ = other.upperBound_;
6936                bitField0_ = (bitField0_ & ~0x00000010);
6937              } else {
6938                ensureUpperBoundIsMutable();
6939                upperBound_.addAll(other.upperBound_);
6940              }
6941              
6942            }
6943            return this;
6944          }
6945    
6946          public final boolean isInitialized() {
6947            if (!hasId()) {
6948              
6949              return false;
6950            }
6951            if (!hasName()) {
6952              
6953              return false;
6954            }
6955            for (int i = 0; i < getUpperBoundCount(); i++) {
6956              if (!getUpperBound(i).isInitialized()) {
6957                
6958                return false;
6959              }
6960            }
6961            return true;
6962          }
6963    
6964          public Builder mergeFrom(
6965              com.google.protobuf.CodedInputStream input,
6966              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6967              throws java.io.IOException {
6968            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parsedMessage = null;
6969            try {
6970              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
6971            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6972              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter) e.getUnfinishedMessage();
6973              throw e;
6974            } finally {
6975              if (parsedMessage != null) {
6976                mergeFrom(parsedMessage);
6977              }
6978            }
6979            return this;
6980          }
6981          private int bitField0_;
6982    
6983          // required int32 id = 1;
6984          private int id_ ;
6985          /**
6986           * <code>required int32 id = 1;</code>
6987           */
6988          public boolean hasId() {
6989            return ((bitField0_ & 0x00000001) == 0x00000001);
6990          }
6991          /**
6992           * <code>required int32 id = 1;</code>
6993           */
6994          public int getId() {
6995            return id_;
6996          }
6997          /**
6998           * <code>required int32 id = 1;</code>
6999           */
7000          public Builder setId(int value) {
7001            bitField0_ |= 0x00000001;
7002            id_ = value;
7003            
7004            return this;
7005          }
7006          /**
7007           * <code>required int32 id = 1;</code>
7008           */
7009          public Builder clearId() {
7010            bitField0_ = (bitField0_ & ~0x00000001);
7011            id_ = 0;
7012            
7013            return this;
7014          }
7015    
7016          // required int32 name = 2;
7017          private int name_ ;
7018          /**
7019           * <code>required int32 name = 2;</code>
7020           *
7021           * <pre>
7022           * Id in the StringTable
7023           * </pre>
7024           */
7025          public boolean hasName() {
7026            return ((bitField0_ & 0x00000002) == 0x00000002);
7027          }
7028          /**
7029           * <code>required int32 name = 2;</code>
7030           *
7031           * <pre>
7032           * Id in the StringTable
7033           * </pre>
7034           */
7035          public int getName() {
7036            return name_;
7037          }
7038          /**
7039           * <code>required int32 name = 2;</code>
7040           *
7041           * <pre>
7042           * Id in the StringTable
7043           * </pre>
7044           */
7045          public Builder setName(int value) {
7046            bitField0_ |= 0x00000002;
7047            name_ = value;
7048            
7049            return this;
7050          }
7051          /**
7052           * <code>required int32 name = 2;</code>
7053           *
7054           * <pre>
7055           * Id in the StringTable
7056           * </pre>
7057           */
7058          public Builder clearName() {
7059            bitField0_ = (bitField0_ & ~0x00000002);
7060            name_ = 0;
7061            
7062            return this;
7063          }
7064    
7065          // optional bool reified = 3 [default = false];
7066          private boolean reified_ ;
7067          /**
7068           * <code>optional bool reified = 3 [default = false];</code>
7069           */
7070          public boolean hasReified() {
7071            return ((bitField0_ & 0x00000004) == 0x00000004);
7072          }
7073          /**
7074           * <code>optional bool reified = 3 [default = false];</code>
7075           */
7076          public boolean getReified() {
7077            return reified_;
7078          }
7079          /**
7080           * <code>optional bool reified = 3 [default = false];</code>
7081           */
7082          public Builder setReified(boolean value) {
7083            bitField0_ |= 0x00000004;
7084            reified_ = value;
7085            
7086            return this;
7087          }
7088          /**
7089           * <code>optional bool reified = 3 [default = false];</code>
7090           */
7091          public Builder clearReified() {
7092            bitField0_ = (bitField0_ & ~0x00000004);
7093            reified_ = false;
7094            
7095            return this;
7096          }
7097    
7098          // optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];
7099          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
7100          /**
7101           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7102           */
7103          public boolean hasVariance() {
7104            return ((bitField0_ & 0x00000008) == 0x00000008);
7105          }
7106          /**
7107           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7108           */
7109          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
7110            return variance_;
7111          }
7112          /**
7113           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7114           */
7115          public Builder setVariance(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance value) {
7116            if (value == null) {
7117              throw new NullPointerException();
7118            }
7119            bitField0_ |= 0x00000008;
7120            variance_ = value;
7121            
7122            return this;
7123          }
7124          /**
7125           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7126           */
7127          public Builder clearVariance() {
7128            bitField0_ = (bitField0_ & ~0x00000008);
7129            variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
7130            
7131            return this;
7132          }
7133    
7134          // repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;
7135          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> upperBound_ =
7136            java.util.Collections.emptyList();
7137          private void ensureUpperBoundIsMutable() {
7138            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
7139              upperBound_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(upperBound_);
7140              bitField0_ |= 0x00000010;
7141             }
7142          }
7143    
7144          /**
7145           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7146           */
7147          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getUpperBoundList() {
7148            return java.util.Collections.unmodifiableList(upperBound_);
7149          }
7150          /**
7151           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7152           */
7153          public int getUpperBoundCount() {
7154            return upperBound_.size();
7155          }
7156          /**
7157           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7158           */
7159          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index) {
7160            return upperBound_.get(index);
7161          }
7162          /**
7163           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7164           */
7165          public Builder setUpperBound(
7166              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7167            if (value == null) {
7168              throw new NullPointerException();
7169            }
7170            ensureUpperBoundIsMutable();
7171            upperBound_.set(index, value);
7172    
7173            return this;
7174          }
7175          /**
7176           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7177           */
7178          public Builder setUpperBound(
7179              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7180            ensureUpperBoundIsMutable();
7181            upperBound_.set(index, builderForValue.build());
7182    
7183            return this;
7184          }
7185          /**
7186           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7187           */
7188          public Builder addUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7189            if (value == null) {
7190              throw new NullPointerException();
7191            }
7192            ensureUpperBoundIsMutable();
7193            upperBound_.add(value);
7194    
7195            return this;
7196          }
7197          /**
7198           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7199           */
7200          public Builder addUpperBound(
7201              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7202            if (value == null) {
7203              throw new NullPointerException();
7204            }
7205            ensureUpperBoundIsMutable();
7206            upperBound_.add(index, value);
7207    
7208            return this;
7209          }
7210          /**
7211           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7212           */
7213          public Builder addUpperBound(
7214              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7215            ensureUpperBoundIsMutable();
7216            upperBound_.add(builderForValue.build());
7217    
7218            return this;
7219          }
7220          /**
7221           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7222           */
7223          public Builder addUpperBound(
7224              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7225            ensureUpperBoundIsMutable();
7226            upperBound_.add(index, builderForValue.build());
7227    
7228            return this;
7229          }
7230          /**
7231           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7232           */
7233          public Builder addAllUpperBound(
7234              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
7235            ensureUpperBoundIsMutable();
7236            super.addAll(values, upperBound_);
7237    
7238            return this;
7239          }
7240          /**
7241           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7242           */
7243          public Builder clearUpperBound() {
7244            upperBound_ = java.util.Collections.emptyList();
7245            bitField0_ = (bitField0_ & ~0x00000010);
7246    
7247            return this;
7248          }
7249          /**
7250           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7251           */
7252          public Builder removeUpperBound(int index) {
7253            ensureUpperBoundIsMutable();
7254            upperBound_.remove(index);
7255    
7256            return this;
7257          }
7258    
7259          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.TypeParameter)
7260        }
7261    
7262        static {
7263          defaultInstance = new TypeParameter(true);
7264          defaultInstance.initFields();
7265        }
7266    
7267        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.TypeParameter)
7268      }
7269    
7270      public interface ClassOrBuilder extends 
7271           com.google.protobuf.GeneratedMessageLite.
7272                ExtendableMessageOrBuilder<Class> {
7273    
7274        // optional int32 flags = 1 [default = 0];
7275        /**
7276         * <code>optional int32 flags = 1 [default = 0];</code>
7277         *
7278         * <pre>
7279         *
7280         *Visibility
7281         *Modality
7282         *has_annotation
7283         *ClassKind
7284         *is_inner
7285         * </pre>
7286         */
7287        boolean hasFlags();
7288        /**
7289         * <code>optional int32 flags = 1 [default = 0];</code>
7290         *
7291         * <pre>
7292         *
7293         *Visibility
7294         *Modality
7295         *has_annotation
7296         *ClassKind
7297         *is_inner
7298         * </pre>
7299         */
7300        int getFlags();
7301    
7302        // optional string extra_visibility = 2;
7303        /**
7304         * <code>optional string extra_visibility = 2;</code>
7305         *
7306         * <pre>
7307         * for things like java-specific visibilities
7308         * </pre>
7309         */
7310        boolean hasExtraVisibility();
7311        /**
7312         * <code>optional string extra_visibility = 2;</code>
7313         *
7314         * <pre>
7315         * for things like java-specific visibilities
7316         * </pre>
7317         */
7318        java.lang.String getExtraVisibility();
7319        /**
7320         * <code>optional string extra_visibility = 2;</code>
7321         *
7322         * <pre>
7323         * for things like java-specific visibilities
7324         * </pre>
7325         */
7326        com.google.protobuf.ByteString
7327            getExtraVisibilityBytes();
7328    
7329        // required int32 fq_name = 3;
7330        /**
7331         * <code>required int32 fq_name = 3;</code>
7332         */
7333        boolean hasFqName();
7334        /**
7335         * <code>required int32 fq_name = 3;</code>
7336         */
7337        int getFqName();
7338    
7339        // optional .org.jetbrains.kotlin.serialization.Class.ClassObject class_object = 4;
7340        /**
7341         * <code>optional .org.jetbrains.kotlin.serialization.Class.ClassObject class_object = 4;</code>
7342         *
7343         * <pre>
7344         * This field is present if and only if the class has a class object. Its proto should be found either here or in the separate file
7345         * </pre>
7346         */
7347        boolean hasClassObject();
7348        /**
7349         * <code>optional .org.jetbrains.kotlin.serialization.Class.ClassObject class_object = 4;</code>
7350         *
7351         * <pre>
7352         * This field is present if and only if the class has a class object. Its proto should be found either here or in the separate file
7353         * </pre>
7354         */
7355        org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject getClassObject();
7356    
7357        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;
7358        /**
7359         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7360         */
7361        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
7362            getTypeParameterList();
7363        /**
7364         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7365         */
7366        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
7367        /**
7368         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7369         */
7370        int getTypeParameterCount();
7371    
7372        // repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;
7373        /**
7374         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7375         */
7376        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> 
7377            getSupertypeList();
7378        /**
7379         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7380         */
7381        org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index);
7382        /**
7383         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7384         */
7385        int getSupertypeCount();
7386    
7387        // repeated int32 nested_class_name = 7;
7388        /**
7389         * <code>repeated int32 nested_class_name = 7;</code>
7390         *
7391         * <pre>
7392         * we store only names, because the actual information must reside in the corresponding .class files,
7393         * to be obtainable through reflection at runtime
7394         * </pre>
7395         */
7396        java.util.List<java.lang.Integer> getNestedClassNameList();
7397        /**
7398         * <code>repeated int32 nested_class_name = 7;</code>
7399         *
7400         * <pre>
7401         * we store only names, because the actual information must reside in the corresponding .class files,
7402         * to be obtainable through reflection at runtime
7403         * </pre>
7404         */
7405        int getNestedClassNameCount();
7406        /**
7407         * <code>repeated int32 nested_class_name = 7;</code>
7408         *
7409         * <pre>
7410         * we store only names, because the actual information must reside in the corresponding .class files,
7411         * to be obtainable through reflection at runtime
7412         * </pre>
7413         */
7414        int getNestedClassName(int index);
7415    
7416        // repeated .org.jetbrains.kotlin.serialization.Callable member = 11;
7417        /**
7418         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
7419         */
7420        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> 
7421            getMemberList();
7422        /**
7423         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
7424         */
7425        org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index);
7426        /**
7427         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
7428         */
7429        int getMemberCount();
7430    
7431        // repeated int32 enum_entry = 12;
7432        /**
7433         * <code>repeated int32 enum_entry = 12;</code>
7434         */
7435        java.util.List<java.lang.Integer> getEnumEntryList();
7436        /**
7437         * <code>repeated int32 enum_entry = 12;</code>
7438         */
7439        int getEnumEntryCount();
7440        /**
7441         * <code>repeated int32 enum_entry = 12;</code>
7442         */
7443        int getEnumEntry(int index);
7444    
7445        // optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;
7446        /**
7447         * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
7448         *
7449         * <pre>
7450         * This field is present if and only if the class has a primary constructor
7451         * </pre>
7452         */
7453        boolean hasPrimaryConstructor();
7454        /**
7455         * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
7456         *
7457         * <pre>
7458         * This field is present if and only if the class has a primary constructor
7459         * </pre>
7460         */
7461        org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor getPrimaryConstructor();
7462      }
7463      /**
7464       * Protobuf type {@code org.jetbrains.kotlin.serialization.Class}
7465       */
7466      public static final class Class extends
7467          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
7468            Class> implements ClassOrBuilder {
7469        // Use Class.newBuilder() to construct.
7470        private Class(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Class, ?> builder) {
7471          super(builder);
7472    
7473        }
7474        private Class(boolean noInit) {}
7475    
7476        private static final Class defaultInstance;
7477        public static Class getDefaultInstance() {
7478          return defaultInstance;
7479        }
7480    
7481        public Class getDefaultInstanceForType() {
7482          return defaultInstance;
7483        }
7484    
7485        private Class(
7486            com.google.protobuf.CodedInputStream input,
7487            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7488            throws com.google.protobuf.InvalidProtocolBufferException {
7489          initFields();
7490          int mutable_bitField0_ = 0;
7491          try {
7492            boolean done = false;
7493            while (!done) {
7494              int tag = input.readTag();
7495              switch (tag) {
7496                case 0:
7497                  done = true;
7498                  break;
7499                default: {
7500                  if (!parseUnknownField(input,
7501                                         extensionRegistry, tag)) {
7502                    done = true;
7503                  }
7504                  break;
7505                }
7506                case 8: {
7507                  bitField0_ |= 0x00000001;
7508                  flags_ = input.readInt32();
7509                  break;
7510                }
7511                case 18: {
7512                  bitField0_ |= 0x00000002;
7513                  extraVisibility_ = input.readBytes();
7514                  break;
7515                }
7516                case 24: {
7517                  bitField0_ |= 0x00000004;
7518                  fqName_ = input.readInt32();
7519                  break;
7520                }
7521                case 34: {
7522                  org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject.Builder subBuilder = null;
7523                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
7524                    subBuilder = classObject_.toBuilder();
7525                  }
7526                  classObject_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject.PARSER, extensionRegistry);
7527                  if (subBuilder != null) {
7528                    subBuilder.mergeFrom(classObject_);
7529                    classObject_ = subBuilder.buildPartial();
7530                  }
7531                  bitField0_ |= 0x00000008;
7532                  break;
7533                }
7534                case 42: {
7535                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7536                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
7537                    mutable_bitField0_ |= 0x00000010;
7538                  }
7539                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
7540                  break;
7541                }
7542                case 50: {
7543                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
7544                    supertype_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
7545                    mutable_bitField0_ |= 0x00000020;
7546                  }
7547                  supertype_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
7548                  break;
7549                }
7550                case 56: {
7551                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
7552                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
7553                    mutable_bitField0_ |= 0x00000040;
7554                  }
7555                  nestedClassName_.add(input.readInt32());
7556                  break;
7557                }
7558                case 58: {
7559                  int length = input.readRawVarint32();
7560                  int limit = input.pushLimit(length);
7561                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) {
7562                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
7563                    mutable_bitField0_ |= 0x00000040;
7564                  }
7565                  while (input.getBytesUntilLimit() > 0) {
7566                    nestedClassName_.add(input.readInt32());
7567                  }
7568                  input.popLimit(limit);
7569                  break;
7570                }
7571                case 90: {
7572                  if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
7573                    member_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>();
7574                    mutable_bitField0_ |= 0x00000080;
7575                  }
7576                  member_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.PARSER, extensionRegistry));
7577                  break;
7578                }
7579                case 96: {
7580                  if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
7581                    enumEntry_ = new java.util.ArrayList<java.lang.Integer>();
7582                    mutable_bitField0_ |= 0x00000100;
7583                  }
7584                  enumEntry_.add(input.readInt32());
7585                  break;
7586                }
7587                case 98: {
7588                  int length = input.readRawVarint32();
7589                  int limit = input.pushLimit(length);
7590                  if (!((mutable_bitField0_ & 0x00000100) == 0x00000100) && input.getBytesUntilLimit() > 0) {
7591                    enumEntry_ = new java.util.ArrayList<java.lang.Integer>();
7592                    mutable_bitField0_ |= 0x00000100;
7593                  }
7594                  while (input.getBytesUntilLimit() > 0) {
7595                    enumEntry_.add(input.readInt32());
7596                  }
7597                  input.popLimit(limit);
7598                  break;
7599                }
7600                case 106: {
7601                  org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.Builder subBuilder = null;
7602                  if (((bitField0_ & 0x00000010) == 0x00000010)) {
7603                    subBuilder = primaryConstructor_.toBuilder();
7604                  }
7605                  primaryConstructor_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.PARSER, extensionRegistry);
7606                  if (subBuilder != null) {
7607                    subBuilder.mergeFrom(primaryConstructor_);
7608                    primaryConstructor_ = subBuilder.buildPartial();
7609                  }
7610                  bitField0_ |= 0x00000010;
7611                  break;
7612                }
7613              }
7614            }
7615          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7616            throw e.setUnfinishedMessage(this);
7617          } catch (java.io.IOException e) {
7618            throw new com.google.protobuf.InvalidProtocolBufferException(
7619                e.getMessage()).setUnfinishedMessage(this);
7620          } finally {
7621            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7622              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
7623            }
7624            if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
7625              supertype_ = java.util.Collections.unmodifiableList(supertype_);
7626            }
7627            if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
7628              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
7629            }
7630            if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
7631              member_ = java.util.Collections.unmodifiableList(member_);
7632            }
7633            if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
7634              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
7635            }
7636            makeExtensionsImmutable();
7637          }
7638        }
7639        public static com.google.protobuf.Parser<Class> PARSER =
7640            new com.google.protobuf.AbstractParser<Class>() {
7641          public Class parsePartialFrom(
7642              com.google.protobuf.CodedInputStream input,
7643              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7644              throws com.google.protobuf.InvalidProtocolBufferException {
7645            return new Class(input, extensionRegistry);
7646          }
7647        };
7648    
7649        @java.lang.Override
7650        public com.google.protobuf.Parser<Class> getParserForType() {
7651          return PARSER;
7652        }
7653    
7654        /**
7655         * Protobuf enum {@code org.jetbrains.kotlin.serialization.Class.Kind}
7656         */
7657        public enum Kind
7658            implements com.google.protobuf.Internal.EnumLite {
7659          /**
7660           * <code>CLASS = 0;</code>
7661           *
7662           * <pre>
7663           * 3 bits
7664           * </pre>
7665           */
7666          CLASS(0, 0),
7667          /**
7668           * <code>TRAIT = 1;</code>
7669           */
7670          TRAIT(1, 1),
7671          /**
7672           * <code>ENUM_CLASS = 2;</code>
7673           */
7674          ENUM_CLASS(2, 2),
7675          /**
7676           * <code>ENUM_ENTRY = 3;</code>
7677           */
7678          ENUM_ENTRY(3, 3),
7679          /**
7680           * <code>ANNOTATION_CLASS = 4;</code>
7681           */
7682          ANNOTATION_CLASS(4, 4),
7683          /**
7684           * <code>OBJECT = 5;</code>
7685           */
7686          OBJECT(5, 5),
7687          /**
7688           * <code>CLASS_OBJECT = 6;</code>
7689           */
7690          CLASS_OBJECT(6, 6),
7691          ;
7692    
7693          /**
7694           * <code>CLASS = 0;</code>
7695           *
7696           * <pre>
7697           * 3 bits
7698           * </pre>
7699           */
7700          public static final int CLASS_VALUE = 0;
7701          /**
7702           * <code>TRAIT = 1;</code>
7703           */
7704          public static final int TRAIT_VALUE = 1;
7705          /**
7706           * <code>ENUM_CLASS = 2;</code>
7707           */
7708          public static final int ENUM_CLASS_VALUE = 2;
7709          /**
7710           * <code>ENUM_ENTRY = 3;</code>
7711           */
7712          public static final int ENUM_ENTRY_VALUE = 3;
7713          /**
7714           * <code>ANNOTATION_CLASS = 4;</code>
7715           */
7716          public static final int ANNOTATION_CLASS_VALUE = 4;
7717          /**
7718           * <code>OBJECT = 5;</code>
7719           */
7720          public static final int OBJECT_VALUE = 5;
7721          /**
7722           * <code>CLASS_OBJECT = 6;</code>
7723           */
7724          public static final int CLASS_OBJECT_VALUE = 6;
7725    
7726    
7727          public final int getNumber() { return value; }
7728    
7729          public static Kind valueOf(int value) {
7730            switch (value) {
7731              case 0: return CLASS;
7732              case 1: return TRAIT;
7733              case 2: return ENUM_CLASS;
7734              case 3: return ENUM_ENTRY;
7735              case 4: return ANNOTATION_CLASS;
7736              case 5: return OBJECT;
7737              case 6: return CLASS_OBJECT;
7738              default: return null;
7739            }
7740          }
7741    
7742          public static com.google.protobuf.Internal.EnumLiteMap<Kind>
7743              internalGetValueMap() {
7744            return internalValueMap;
7745          }
7746          private static com.google.protobuf.Internal.EnumLiteMap<Kind>
7747              internalValueMap =
7748                new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
7749                  public Kind findValueByNumber(int number) {
7750                    return Kind.valueOf(number);
7751                  }
7752                };
7753    
7754          private final int value;
7755    
7756          private Kind(int index, int value) {
7757            this.value = value;
7758          }
7759    
7760          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Class.Kind)
7761        }
7762    
7763        public interface ClassObjectOrBuilder
7764            extends com.google.protobuf.MessageLiteOrBuilder {
7765    
7766          // optional .org.jetbrains.kotlin.serialization.Class data = 1;
7767          /**
7768           * <code>optional .org.jetbrains.kotlin.serialization.Class data = 1;</code>
7769           *
7770           * <pre>
7771           * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
7772           * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
7773           * </pre>
7774           */
7775          boolean hasData();
7776          /**
7777           * <code>optional .org.jetbrains.kotlin.serialization.Class data = 1;</code>
7778           *
7779           * <pre>
7780           * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
7781           * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
7782           * </pre>
7783           */
7784          org.jetbrains.kotlin.serialization.ProtoBuf.Class getData();
7785        }
7786        /**
7787         * Protobuf type {@code org.jetbrains.kotlin.serialization.Class.ClassObject}
7788         */
7789        public static final class ClassObject extends
7790            com.google.protobuf.GeneratedMessageLite
7791            implements ClassObjectOrBuilder {
7792          // Use ClassObject.newBuilder() to construct.
7793          private ClassObject(com.google.protobuf.GeneratedMessageLite.Builder builder) {
7794            super(builder);
7795    
7796          }
7797          private ClassObject(boolean noInit) {}
7798    
7799          private static final ClassObject defaultInstance;
7800          public static ClassObject getDefaultInstance() {
7801            return defaultInstance;
7802          }
7803    
7804          public ClassObject getDefaultInstanceForType() {
7805            return defaultInstance;
7806          }
7807    
7808          private ClassObject(
7809              com.google.protobuf.CodedInputStream input,
7810              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7811              throws com.google.protobuf.InvalidProtocolBufferException {
7812            initFields();
7813            int mutable_bitField0_ = 0;
7814            try {
7815              boolean done = false;
7816              while (!done) {
7817                int tag = input.readTag();
7818                switch (tag) {
7819                  case 0:
7820                    done = true;
7821                    break;
7822                  default: {
7823                    if (!parseUnknownField(input,
7824                                           extensionRegistry, tag)) {
7825                      done = true;
7826                    }
7827                    break;
7828                  }
7829                  case 10: {
7830                    org.jetbrains.kotlin.serialization.ProtoBuf.Class.Builder subBuilder = null;
7831                    if (((bitField0_ & 0x00000001) == 0x00000001)) {
7832                      subBuilder = data_.toBuilder();
7833                    }
7834                    data_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PARSER, extensionRegistry);
7835                    if (subBuilder != null) {
7836                      subBuilder.mergeFrom(data_);
7837                      data_ = subBuilder.buildPartial();
7838                    }
7839                    bitField0_ |= 0x00000001;
7840                    break;
7841                  }
7842                }
7843              }
7844            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7845              throw e.setUnfinishedMessage(this);
7846            } catch (java.io.IOException e) {
7847              throw new com.google.protobuf.InvalidProtocolBufferException(
7848                  e.getMessage()).setUnfinishedMessage(this);
7849            } finally {
7850              makeExtensionsImmutable();
7851            }
7852          }
7853          public static com.google.protobuf.Parser<ClassObject> PARSER =
7854              new com.google.protobuf.AbstractParser<ClassObject>() {
7855            public ClassObject parsePartialFrom(
7856                com.google.protobuf.CodedInputStream input,
7857                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7858                throws com.google.protobuf.InvalidProtocolBufferException {
7859              return new ClassObject(input, extensionRegistry);
7860            }
7861          };
7862    
7863          @java.lang.Override
7864          public com.google.protobuf.Parser<ClassObject> getParserForType() {
7865            return PARSER;
7866          }
7867    
7868          private int bitField0_;
7869          // optional .org.jetbrains.kotlin.serialization.Class data = 1;
7870          public static final int DATA_FIELD_NUMBER = 1;
7871          private org.jetbrains.kotlin.serialization.ProtoBuf.Class data_;
7872          /**
7873           * <code>optional .org.jetbrains.kotlin.serialization.Class data = 1;</code>
7874           *
7875           * <pre>
7876           * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
7877           * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
7878           * </pre>
7879           */
7880          public boolean hasData() {
7881            return ((bitField0_ & 0x00000001) == 0x00000001);
7882          }
7883          /**
7884           * <code>optional .org.jetbrains.kotlin.serialization.Class data = 1;</code>
7885           *
7886           * <pre>
7887           * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
7888           * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
7889           * </pre>
7890           */
7891          public org.jetbrains.kotlin.serialization.ProtoBuf.Class getData() {
7892            return data_;
7893          }
7894    
7895          private void initFields() {
7896            data_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance();
7897          }
7898          private byte memoizedIsInitialized = -1;
7899          public final boolean isInitialized() {
7900            byte isInitialized = memoizedIsInitialized;
7901            if (isInitialized != -1) return isInitialized == 1;
7902    
7903            if (hasData()) {
7904              if (!getData().isInitialized()) {
7905                memoizedIsInitialized = 0;
7906                return false;
7907              }
7908            }
7909            memoizedIsInitialized = 1;
7910            return true;
7911          }
7912    
7913          public void writeTo(com.google.protobuf.CodedOutputStream output)
7914                              throws java.io.IOException {
7915            getSerializedSize();
7916            if (((bitField0_ & 0x00000001) == 0x00000001)) {
7917              output.writeMessage(1, data_);
7918            }
7919          }
7920    
7921          private int memoizedSerializedSize = -1;
7922          public int getSerializedSize() {
7923            int size = memoizedSerializedSize;
7924            if (size != -1) return size;
7925    
7926            size = 0;
7927            if (((bitField0_ & 0x00000001) == 0x00000001)) {
7928              size += com.google.protobuf.CodedOutputStream
7929                .computeMessageSize(1, data_);
7930            }
7931            memoizedSerializedSize = size;
7932            return size;
7933          }
7934    
7935          private static final long serialVersionUID = 0L;
7936          @java.lang.Override
7937          protected java.lang.Object writeReplace()
7938              throws java.io.ObjectStreamException {
7939            return super.writeReplace();
7940          }
7941    
7942          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject parseFrom(
7943              com.google.protobuf.ByteString data)
7944              throws com.google.protobuf.InvalidProtocolBufferException {
7945            return PARSER.parseFrom(data);
7946          }
7947          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject parseFrom(
7948              com.google.protobuf.ByteString data,
7949              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7950              throws com.google.protobuf.InvalidProtocolBufferException {
7951            return PARSER.parseFrom(data, extensionRegistry);
7952          }
7953          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject parseFrom(byte[] data)
7954              throws com.google.protobuf.InvalidProtocolBufferException {
7955            return PARSER.parseFrom(data);
7956          }
7957          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject parseFrom(
7958              byte[] data,
7959              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7960              throws com.google.protobuf.InvalidProtocolBufferException {
7961            return PARSER.parseFrom(data, extensionRegistry);
7962          }
7963          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject parseFrom(java.io.InputStream input)
7964              throws java.io.IOException {
7965            return PARSER.parseFrom(input);
7966          }
7967          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject parseFrom(
7968              java.io.InputStream input,
7969              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7970              throws java.io.IOException {
7971            return PARSER.parseFrom(input, extensionRegistry);
7972          }
7973          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject parseDelimitedFrom(java.io.InputStream input)
7974              throws java.io.IOException {
7975            return PARSER.parseDelimitedFrom(input);
7976          }
7977          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject parseDelimitedFrom(
7978              java.io.InputStream input,
7979              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7980              throws java.io.IOException {
7981            return PARSER.parseDelimitedFrom(input, extensionRegistry);
7982          }
7983          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject parseFrom(
7984              com.google.protobuf.CodedInputStream input)
7985              throws java.io.IOException {
7986            return PARSER.parseFrom(input);
7987          }
7988          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject parseFrom(
7989              com.google.protobuf.CodedInputStream input,
7990              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7991              throws java.io.IOException {
7992            return PARSER.parseFrom(input, extensionRegistry);
7993          }
7994    
7995          public static Builder newBuilder() { return Builder.create(); }
7996          public Builder newBuilderForType() { return newBuilder(); }
7997          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject prototype) {
7998            return newBuilder().mergeFrom(prototype);
7999          }
8000          public Builder toBuilder() { return newBuilder(this); }
8001    
8002          /**
8003           * Protobuf type {@code org.jetbrains.kotlin.serialization.Class.ClassObject}
8004           */
8005          public static final class Builder extends
8006              com.google.protobuf.GeneratedMessageLite.Builder<
8007                org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject, Builder>
8008              implements org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObjectOrBuilder {
8009            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject.newBuilder()
8010            private Builder() {
8011              maybeForceBuilderInitialization();
8012            }
8013    
8014            private void maybeForceBuilderInitialization() {
8015            }
8016            private static Builder create() {
8017              return new Builder();
8018            }
8019    
8020            public Builder clear() {
8021              super.clear();
8022              data_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance();
8023              bitField0_ = (bitField0_ & ~0x00000001);
8024              return this;
8025            }
8026    
8027            public Builder clone() {
8028              return create().mergeFrom(buildPartial());
8029            }
8030    
8031            public org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject getDefaultInstanceForType() {
8032              return org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject.getDefaultInstance();
8033            }
8034    
8035            public org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject build() {
8036              org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject result = buildPartial();
8037              if (!result.isInitialized()) {
8038                throw newUninitializedMessageException(result);
8039              }
8040              return result;
8041            }
8042    
8043            public org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject buildPartial() {
8044              org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject result = new org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject(this);
8045              int from_bitField0_ = bitField0_;
8046              int to_bitField0_ = 0;
8047              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
8048                to_bitField0_ |= 0x00000001;
8049              }
8050              result.data_ = data_;
8051              result.bitField0_ = to_bitField0_;
8052              return result;
8053            }
8054    
8055            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject other) {
8056              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject.getDefaultInstance()) return this;
8057              if (other.hasData()) {
8058                mergeData(other.getData());
8059              }
8060              return this;
8061            }
8062    
8063            public final boolean isInitialized() {
8064              if (hasData()) {
8065                if (!getData().isInitialized()) {
8066                  
8067                  return false;
8068                }
8069              }
8070              return true;
8071            }
8072    
8073            public Builder mergeFrom(
8074                com.google.protobuf.CodedInputStream input,
8075                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8076                throws java.io.IOException {
8077              org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject parsedMessage = null;
8078              try {
8079                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
8080              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8081                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject) e.getUnfinishedMessage();
8082                throw e;
8083              } finally {
8084                if (parsedMessage != null) {
8085                  mergeFrom(parsedMessage);
8086                }
8087              }
8088              return this;
8089            }
8090            private int bitField0_;
8091    
8092            // optional .org.jetbrains.kotlin.serialization.Class data = 1;
8093            private org.jetbrains.kotlin.serialization.ProtoBuf.Class data_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance();
8094            /**
8095             * <code>optional .org.jetbrains.kotlin.serialization.Class data = 1;</code>
8096             *
8097             * <pre>
8098             * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
8099             * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
8100             * </pre>
8101             */
8102            public boolean hasData() {
8103              return ((bitField0_ & 0x00000001) == 0x00000001);
8104            }
8105            /**
8106             * <code>optional .org.jetbrains.kotlin.serialization.Class data = 1;</code>
8107             *
8108             * <pre>
8109             * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
8110             * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
8111             * </pre>
8112             */
8113            public org.jetbrains.kotlin.serialization.ProtoBuf.Class getData() {
8114              return data_;
8115            }
8116            /**
8117             * <code>optional .org.jetbrains.kotlin.serialization.Class data = 1;</code>
8118             *
8119             * <pre>
8120             * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
8121             * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
8122             * </pre>
8123             */
8124            public Builder setData(org.jetbrains.kotlin.serialization.ProtoBuf.Class value) {
8125              if (value == null) {
8126                throw new NullPointerException();
8127              }
8128              data_ = value;
8129    
8130              bitField0_ |= 0x00000001;
8131              return this;
8132            }
8133            /**
8134             * <code>optional .org.jetbrains.kotlin.serialization.Class data = 1;</code>
8135             *
8136             * <pre>
8137             * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
8138             * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
8139             * </pre>
8140             */
8141            public Builder setData(
8142                org.jetbrains.kotlin.serialization.ProtoBuf.Class.Builder builderForValue) {
8143              data_ = builderForValue.build();
8144    
8145              bitField0_ |= 0x00000001;
8146              return this;
8147            }
8148            /**
8149             * <code>optional .org.jetbrains.kotlin.serialization.Class data = 1;</code>
8150             *
8151             * <pre>
8152             * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
8153             * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
8154             * </pre>
8155             */
8156            public Builder mergeData(org.jetbrains.kotlin.serialization.ProtoBuf.Class value) {
8157              if (((bitField0_ & 0x00000001) == 0x00000001) &&
8158                  data_ != org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance()) {
8159                data_ =
8160                  org.jetbrains.kotlin.serialization.ProtoBuf.Class.newBuilder(data_).mergeFrom(value).buildPartial();
8161              } else {
8162                data_ = value;
8163              }
8164    
8165              bitField0_ |= 0x00000001;
8166              return this;
8167            }
8168            /**
8169             * <code>optional .org.jetbrains.kotlin.serialization.Class data = 1;</code>
8170             *
8171             * <pre>
8172             * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
8173             * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
8174             * </pre>
8175             */
8176            public Builder clearData() {
8177              data_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance();
8178    
8179              bitField0_ = (bitField0_ & ~0x00000001);
8180              return this;
8181            }
8182    
8183            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Class.ClassObject)
8184          }
8185    
8186          static {
8187            defaultInstance = new ClassObject(true);
8188            defaultInstance.initFields();
8189          }
8190    
8191          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Class.ClassObject)
8192        }
8193    
8194        public interface PrimaryConstructorOrBuilder
8195            extends com.google.protobuf.MessageLiteOrBuilder {
8196    
8197          // optional .org.jetbrains.kotlin.serialization.Callable data = 1;
8198          /**
8199           * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8200           *
8201           * <pre>
8202           * If this field is present, it contains serialized data for the primary constructor.
8203           * Otherwise it's default and can be created manually upon deserialization
8204           * </pre>
8205           */
8206          boolean hasData();
8207          /**
8208           * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8209           *
8210           * <pre>
8211           * If this field is present, it contains serialized data for the primary constructor.
8212           * Otherwise it's default and can be created manually upon deserialization
8213           * </pre>
8214           */
8215          org.jetbrains.kotlin.serialization.ProtoBuf.Callable getData();
8216        }
8217        /**
8218         * Protobuf type {@code org.jetbrains.kotlin.serialization.Class.PrimaryConstructor}
8219         */
8220        public static final class PrimaryConstructor extends
8221            com.google.protobuf.GeneratedMessageLite
8222            implements PrimaryConstructorOrBuilder {
8223          // Use PrimaryConstructor.newBuilder() to construct.
8224          private PrimaryConstructor(com.google.protobuf.GeneratedMessageLite.Builder builder) {
8225            super(builder);
8226    
8227          }
8228          private PrimaryConstructor(boolean noInit) {}
8229    
8230          private static final PrimaryConstructor defaultInstance;
8231          public static PrimaryConstructor getDefaultInstance() {
8232            return defaultInstance;
8233          }
8234    
8235          public PrimaryConstructor getDefaultInstanceForType() {
8236            return defaultInstance;
8237          }
8238    
8239          private PrimaryConstructor(
8240              com.google.protobuf.CodedInputStream input,
8241              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8242              throws com.google.protobuf.InvalidProtocolBufferException {
8243            initFields();
8244            int mutable_bitField0_ = 0;
8245            try {
8246              boolean done = false;
8247              while (!done) {
8248                int tag = input.readTag();
8249                switch (tag) {
8250                  case 0:
8251                    done = true;
8252                    break;
8253                  default: {
8254                    if (!parseUnknownField(input,
8255                                           extensionRegistry, tag)) {
8256                      done = true;
8257                    }
8258                    break;
8259                  }
8260                  case 10: {
8261                    org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder subBuilder = null;
8262                    if (((bitField0_ & 0x00000001) == 0x00000001)) {
8263                      subBuilder = data_.toBuilder();
8264                    }
8265                    data_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.PARSER, extensionRegistry);
8266                    if (subBuilder != null) {
8267                      subBuilder.mergeFrom(data_);
8268                      data_ = subBuilder.buildPartial();
8269                    }
8270                    bitField0_ |= 0x00000001;
8271                    break;
8272                  }
8273                }
8274              }
8275            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8276              throw e.setUnfinishedMessage(this);
8277            } catch (java.io.IOException e) {
8278              throw new com.google.protobuf.InvalidProtocolBufferException(
8279                  e.getMessage()).setUnfinishedMessage(this);
8280            } finally {
8281              makeExtensionsImmutable();
8282            }
8283          }
8284          public static com.google.protobuf.Parser<PrimaryConstructor> PARSER =
8285              new com.google.protobuf.AbstractParser<PrimaryConstructor>() {
8286            public PrimaryConstructor parsePartialFrom(
8287                com.google.protobuf.CodedInputStream input,
8288                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8289                throws com.google.protobuf.InvalidProtocolBufferException {
8290              return new PrimaryConstructor(input, extensionRegistry);
8291            }
8292          };
8293    
8294          @java.lang.Override
8295          public com.google.protobuf.Parser<PrimaryConstructor> getParserForType() {
8296            return PARSER;
8297          }
8298    
8299          private int bitField0_;
8300          // optional .org.jetbrains.kotlin.serialization.Callable data = 1;
8301          public static final int DATA_FIELD_NUMBER = 1;
8302          private org.jetbrains.kotlin.serialization.ProtoBuf.Callable data_;
8303          /**
8304           * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8305           *
8306           * <pre>
8307           * If this field is present, it contains serialized data for the primary constructor.
8308           * Otherwise it's default and can be created manually upon deserialization
8309           * </pre>
8310           */
8311          public boolean hasData() {
8312            return ((bitField0_ & 0x00000001) == 0x00000001);
8313          }
8314          /**
8315           * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8316           *
8317           * <pre>
8318           * If this field is present, it contains serialized data for the primary constructor.
8319           * Otherwise it's default and can be created manually upon deserialization
8320           * </pre>
8321           */
8322          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getData() {
8323            return data_;
8324          }
8325    
8326          private void initFields() {
8327            data_ = org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance();
8328          }
8329          private byte memoizedIsInitialized = -1;
8330          public final boolean isInitialized() {
8331            byte isInitialized = memoizedIsInitialized;
8332            if (isInitialized != -1) return isInitialized == 1;
8333    
8334            if (hasData()) {
8335              if (!getData().isInitialized()) {
8336                memoizedIsInitialized = 0;
8337                return false;
8338              }
8339            }
8340            memoizedIsInitialized = 1;
8341            return true;
8342          }
8343    
8344          public void writeTo(com.google.protobuf.CodedOutputStream output)
8345                              throws java.io.IOException {
8346            getSerializedSize();
8347            if (((bitField0_ & 0x00000001) == 0x00000001)) {
8348              output.writeMessage(1, data_);
8349            }
8350          }
8351    
8352          private int memoizedSerializedSize = -1;
8353          public int getSerializedSize() {
8354            int size = memoizedSerializedSize;
8355            if (size != -1) return size;
8356    
8357            size = 0;
8358            if (((bitField0_ & 0x00000001) == 0x00000001)) {
8359              size += com.google.protobuf.CodedOutputStream
8360                .computeMessageSize(1, data_);
8361            }
8362            memoizedSerializedSize = size;
8363            return size;
8364          }
8365    
8366          private static final long serialVersionUID = 0L;
8367          @java.lang.Override
8368          protected java.lang.Object writeReplace()
8369              throws java.io.ObjectStreamException {
8370            return super.writeReplace();
8371          }
8372    
8373          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
8374              com.google.protobuf.ByteString data)
8375              throws com.google.protobuf.InvalidProtocolBufferException {
8376            return PARSER.parseFrom(data);
8377          }
8378          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
8379              com.google.protobuf.ByteString data,
8380              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8381              throws com.google.protobuf.InvalidProtocolBufferException {
8382            return PARSER.parseFrom(data, extensionRegistry);
8383          }
8384          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(byte[] data)
8385              throws com.google.protobuf.InvalidProtocolBufferException {
8386            return PARSER.parseFrom(data);
8387          }
8388          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
8389              byte[] data,
8390              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8391              throws com.google.protobuf.InvalidProtocolBufferException {
8392            return PARSER.parseFrom(data, extensionRegistry);
8393          }
8394          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(java.io.InputStream input)
8395              throws java.io.IOException {
8396            return PARSER.parseFrom(input);
8397          }
8398          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
8399              java.io.InputStream input,
8400              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8401              throws java.io.IOException {
8402            return PARSER.parseFrom(input, extensionRegistry);
8403          }
8404          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseDelimitedFrom(java.io.InputStream input)
8405              throws java.io.IOException {
8406            return PARSER.parseDelimitedFrom(input);
8407          }
8408          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseDelimitedFrom(
8409              java.io.InputStream input,
8410              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8411              throws java.io.IOException {
8412            return PARSER.parseDelimitedFrom(input, extensionRegistry);
8413          }
8414          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
8415              com.google.protobuf.CodedInputStream input)
8416              throws java.io.IOException {
8417            return PARSER.parseFrom(input);
8418          }
8419          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
8420              com.google.protobuf.CodedInputStream input,
8421              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8422              throws java.io.IOException {
8423            return PARSER.parseFrom(input, extensionRegistry);
8424          }
8425    
8426          public static Builder newBuilder() { return Builder.create(); }
8427          public Builder newBuilderForType() { return newBuilder(); }
8428          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor prototype) {
8429            return newBuilder().mergeFrom(prototype);
8430          }
8431          public Builder toBuilder() { return newBuilder(this); }
8432    
8433          /**
8434           * Protobuf type {@code org.jetbrains.kotlin.serialization.Class.PrimaryConstructor}
8435           */
8436          public static final class Builder extends
8437              com.google.protobuf.GeneratedMessageLite.Builder<
8438                org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor, Builder>
8439              implements org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructorOrBuilder {
8440            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.newBuilder()
8441            private Builder() {
8442              maybeForceBuilderInitialization();
8443            }
8444    
8445            private void maybeForceBuilderInitialization() {
8446            }
8447            private static Builder create() {
8448              return new Builder();
8449            }
8450    
8451            public Builder clear() {
8452              super.clear();
8453              data_ = org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance();
8454              bitField0_ = (bitField0_ & ~0x00000001);
8455              return this;
8456            }
8457    
8458            public Builder clone() {
8459              return create().mergeFrom(buildPartial());
8460            }
8461    
8462            public org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor getDefaultInstanceForType() {
8463              return org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
8464            }
8465    
8466            public org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor build() {
8467              org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor result = buildPartial();
8468              if (!result.isInitialized()) {
8469                throw newUninitializedMessageException(result);
8470              }
8471              return result;
8472            }
8473    
8474            public org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor buildPartial() {
8475              org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor result = new org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor(this);
8476              int from_bitField0_ = bitField0_;
8477              int to_bitField0_ = 0;
8478              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
8479                to_bitField0_ |= 0x00000001;
8480              }
8481              result.data_ = data_;
8482              result.bitField0_ = to_bitField0_;
8483              return result;
8484            }
8485    
8486            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor other) {
8487              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance()) return this;
8488              if (other.hasData()) {
8489                mergeData(other.getData());
8490              }
8491              return this;
8492            }
8493    
8494            public final boolean isInitialized() {
8495              if (hasData()) {
8496                if (!getData().isInitialized()) {
8497                  
8498                  return false;
8499                }
8500              }
8501              return true;
8502            }
8503    
8504            public Builder mergeFrom(
8505                com.google.protobuf.CodedInputStream input,
8506                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8507                throws java.io.IOException {
8508              org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parsedMessage = null;
8509              try {
8510                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
8511              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8512                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor) e.getUnfinishedMessage();
8513                throw e;
8514              } finally {
8515                if (parsedMessage != null) {
8516                  mergeFrom(parsedMessage);
8517                }
8518              }
8519              return this;
8520            }
8521            private int bitField0_;
8522    
8523            // optional .org.jetbrains.kotlin.serialization.Callable data = 1;
8524            private org.jetbrains.kotlin.serialization.ProtoBuf.Callable data_ = org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance();
8525            /**
8526             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8527             *
8528             * <pre>
8529             * If this field is present, it contains serialized data for the primary constructor.
8530             * Otherwise it's default and can be created manually upon deserialization
8531             * </pre>
8532             */
8533            public boolean hasData() {
8534              return ((bitField0_ & 0x00000001) == 0x00000001);
8535            }
8536            /**
8537             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8538             *
8539             * <pre>
8540             * If this field is present, it contains serialized data for the primary constructor.
8541             * Otherwise it's default and can be created manually upon deserialization
8542             * </pre>
8543             */
8544            public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getData() {
8545              return data_;
8546            }
8547            /**
8548             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8549             *
8550             * <pre>
8551             * If this field is present, it contains serialized data for the primary constructor.
8552             * Otherwise it's default and can be created manually upon deserialization
8553             * </pre>
8554             */
8555            public Builder setData(org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
8556              if (value == null) {
8557                throw new NullPointerException();
8558              }
8559              data_ = value;
8560    
8561              bitField0_ |= 0x00000001;
8562              return this;
8563            }
8564            /**
8565             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8566             *
8567             * <pre>
8568             * If this field is present, it contains serialized data for the primary constructor.
8569             * Otherwise it's default and can be created manually upon deserialization
8570             * </pre>
8571             */
8572            public Builder setData(
8573                org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
8574              data_ = builderForValue.build();
8575    
8576              bitField0_ |= 0x00000001;
8577              return this;
8578            }
8579            /**
8580             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8581             *
8582             * <pre>
8583             * If this field is present, it contains serialized data for the primary constructor.
8584             * Otherwise it's default and can be created manually upon deserialization
8585             * </pre>
8586             */
8587            public Builder mergeData(org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
8588              if (((bitField0_ & 0x00000001) == 0x00000001) &&
8589                  data_ != org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance()) {
8590                data_ =
8591                  org.jetbrains.kotlin.serialization.ProtoBuf.Callable.newBuilder(data_).mergeFrom(value).buildPartial();
8592              } else {
8593                data_ = value;
8594              }
8595    
8596              bitField0_ |= 0x00000001;
8597              return this;
8598            }
8599            /**
8600             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8601             *
8602             * <pre>
8603             * If this field is present, it contains serialized data for the primary constructor.
8604             * Otherwise it's default and can be created manually upon deserialization
8605             * </pre>
8606             */
8607            public Builder clearData() {
8608              data_ = org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance();
8609    
8610              bitField0_ = (bitField0_ & ~0x00000001);
8611              return this;
8612            }
8613    
8614            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Class.PrimaryConstructor)
8615          }
8616    
8617          static {
8618            defaultInstance = new PrimaryConstructor(true);
8619            defaultInstance.initFields();
8620          }
8621    
8622          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Class.PrimaryConstructor)
8623        }
8624    
8625        private int bitField0_;
8626        // optional int32 flags = 1 [default = 0];
8627        public static final int FLAGS_FIELD_NUMBER = 1;
8628        private int flags_;
8629        /**
8630         * <code>optional int32 flags = 1 [default = 0];</code>
8631         *
8632         * <pre>
8633         *
8634         *Visibility
8635         *Modality
8636         *has_annotation
8637         *ClassKind
8638         *is_inner
8639         * </pre>
8640         */
8641        public boolean hasFlags() {
8642          return ((bitField0_ & 0x00000001) == 0x00000001);
8643        }
8644        /**
8645         * <code>optional int32 flags = 1 [default = 0];</code>
8646         *
8647         * <pre>
8648         *
8649         *Visibility
8650         *Modality
8651         *has_annotation
8652         *ClassKind
8653         *is_inner
8654         * </pre>
8655         */
8656        public int getFlags() {
8657          return flags_;
8658        }
8659    
8660        // optional string extra_visibility = 2;
8661        public static final int EXTRA_VISIBILITY_FIELD_NUMBER = 2;
8662        private java.lang.Object extraVisibility_;
8663        /**
8664         * <code>optional string extra_visibility = 2;</code>
8665         *
8666         * <pre>
8667         * for things like java-specific visibilities
8668         * </pre>
8669         */
8670        public boolean hasExtraVisibility() {
8671          return ((bitField0_ & 0x00000002) == 0x00000002);
8672        }
8673        /**
8674         * <code>optional string extra_visibility = 2;</code>
8675         *
8676         * <pre>
8677         * for things like java-specific visibilities
8678         * </pre>
8679         */
8680        public java.lang.String getExtraVisibility() {
8681          java.lang.Object ref = extraVisibility_;
8682          if (ref instanceof java.lang.String) {
8683            return (java.lang.String) ref;
8684          } else {
8685            com.google.protobuf.ByteString bs = 
8686                (com.google.protobuf.ByteString) ref;
8687            java.lang.String s = bs.toStringUtf8();
8688            if (bs.isValidUtf8()) {
8689              extraVisibility_ = s;
8690            }
8691            return s;
8692          }
8693        }
8694        /**
8695         * <code>optional string extra_visibility = 2;</code>
8696         *
8697         * <pre>
8698         * for things like java-specific visibilities
8699         * </pre>
8700         */
8701        public com.google.protobuf.ByteString
8702            getExtraVisibilityBytes() {
8703          java.lang.Object ref = extraVisibility_;
8704          if (ref instanceof java.lang.String) {
8705            com.google.protobuf.ByteString b = 
8706                com.google.protobuf.ByteString.copyFromUtf8(
8707                    (java.lang.String) ref);
8708            extraVisibility_ = b;
8709            return b;
8710          } else {
8711            return (com.google.protobuf.ByteString) ref;
8712          }
8713        }
8714    
8715        // required int32 fq_name = 3;
8716        public static final int FQ_NAME_FIELD_NUMBER = 3;
8717        private int fqName_;
8718        /**
8719         * <code>required int32 fq_name = 3;</code>
8720         */
8721        public boolean hasFqName() {
8722          return ((bitField0_ & 0x00000004) == 0x00000004);
8723        }
8724        /**
8725         * <code>required int32 fq_name = 3;</code>
8726         */
8727        public int getFqName() {
8728          return fqName_;
8729        }
8730    
8731        // optional .org.jetbrains.kotlin.serialization.Class.ClassObject class_object = 4;
8732        public static final int CLASS_OBJECT_FIELD_NUMBER = 4;
8733        private org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject classObject_;
8734        /**
8735         * <code>optional .org.jetbrains.kotlin.serialization.Class.ClassObject class_object = 4;</code>
8736         *
8737         * <pre>
8738         * This field is present if and only if the class has a class object. Its proto should be found either here or in the separate file
8739         * </pre>
8740         */
8741        public boolean hasClassObject() {
8742          return ((bitField0_ & 0x00000008) == 0x00000008);
8743        }
8744        /**
8745         * <code>optional .org.jetbrains.kotlin.serialization.Class.ClassObject class_object = 4;</code>
8746         *
8747         * <pre>
8748         * This field is present if and only if the class has a class object. Its proto should be found either here or in the separate file
8749         * </pre>
8750         */
8751        public org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject getClassObject() {
8752          return classObject_;
8753        }
8754    
8755        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;
8756        public static final int TYPE_PARAMETER_FIELD_NUMBER = 5;
8757        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
8758        /**
8759         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8760         */
8761        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
8762          return typeParameter_;
8763        }
8764        /**
8765         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8766         */
8767        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
8768            getTypeParameterOrBuilderList() {
8769          return typeParameter_;
8770        }
8771        /**
8772         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8773         */
8774        public int getTypeParameterCount() {
8775          return typeParameter_.size();
8776        }
8777        /**
8778         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8779         */
8780        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
8781          return typeParameter_.get(index);
8782        }
8783        /**
8784         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8785         */
8786        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
8787            int index) {
8788          return typeParameter_.get(index);
8789        }
8790    
8791        // repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;
8792        public static final int SUPERTYPE_FIELD_NUMBER = 6;
8793        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> supertype_;
8794        /**
8795         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8796         */
8797        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getSupertypeList() {
8798          return supertype_;
8799        }
8800        /**
8801         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8802         */
8803        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
8804            getSupertypeOrBuilderList() {
8805          return supertype_;
8806        }
8807        /**
8808         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8809         */
8810        public int getSupertypeCount() {
8811          return supertype_.size();
8812        }
8813        /**
8814         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8815         */
8816        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index) {
8817          return supertype_.get(index);
8818        }
8819        /**
8820         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8821         */
8822        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getSupertypeOrBuilder(
8823            int index) {
8824          return supertype_.get(index);
8825        }
8826    
8827        // repeated int32 nested_class_name = 7;
8828        public static final int NESTED_CLASS_NAME_FIELD_NUMBER = 7;
8829        private java.util.List<java.lang.Integer> nestedClassName_;
8830        /**
8831         * <code>repeated int32 nested_class_name = 7;</code>
8832         *
8833         * <pre>
8834         * we store only names, because the actual information must reside in the corresponding .class files,
8835         * to be obtainable through reflection at runtime
8836         * </pre>
8837         */
8838        public java.util.List<java.lang.Integer>
8839            getNestedClassNameList() {
8840          return nestedClassName_;
8841        }
8842        /**
8843         * <code>repeated int32 nested_class_name = 7;</code>
8844         *
8845         * <pre>
8846         * we store only names, because the actual information must reside in the corresponding .class files,
8847         * to be obtainable through reflection at runtime
8848         * </pre>
8849         */
8850        public int getNestedClassNameCount() {
8851          return nestedClassName_.size();
8852        }
8853        /**
8854         * <code>repeated int32 nested_class_name = 7;</code>
8855         *
8856         * <pre>
8857         * we store only names, because the actual information must reside in the corresponding .class files,
8858         * to be obtainable through reflection at runtime
8859         * </pre>
8860         */
8861        public int getNestedClassName(int index) {
8862          return nestedClassName_.get(index);
8863        }
8864    
8865        // repeated .org.jetbrains.kotlin.serialization.Callable member = 11;
8866        public static final int MEMBER_FIELD_NUMBER = 11;
8867        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> member_;
8868        /**
8869         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
8870         */
8871        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getMemberList() {
8872          return member_;
8873        }
8874        /**
8875         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
8876         */
8877        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder> 
8878            getMemberOrBuilderList() {
8879          return member_;
8880        }
8881        /**
8882         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
8883         */
8884        public int getMemberCount() {
8885          return member_.size();
8886        }
8887        /**
8888         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
8889         */
8890        public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index) {
8891          return member_.get(index);
8892        }
8893        /**
8894         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
8895         */
8896        public org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder getMemberOrBuilder(
8897            int index) {
8898          return member_.get(index);
8899        }
8900    
8901        // repeated int32 enum_entry = 12;
8902        public static final int ENUM_ENTRY_FIELD_NUMBER = 12;
8903        private java.util.List<java.lang.Integer> enumEntry_;
8904        /**
8905         * <code>repeated int32 enum_entry = 12;</code>
8906         */
8907        public java.util.List<java.lang.Integer>
8908            getEnumEntryList() {
8909          return enumEntry_;
8910        }
8911        /**
8912         * <code>repeated int32 enum_entry = 12;</code>
8913         */
8914        public int getEnumEntryCount() {
8915          return enumEntry_.size();
8916        }
8917        /**
8918         * <code>repeated int32 enum_entry = 12;</code>
8919         */
8920        public int getEnumEntry(int index) {
8921          return enumEntry_.get(index);
8922        }
8923    
8924        // optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;
8925        public static final int PRIMARY_CONSTRUCTOR_FIELD_NUMBER = 13;
8926        private org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor primaryConstructor_;
8927        /**
8928         * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
8929         *
8930         * <pre>
8931         * This field is present if and only if the class has a primary constructor
8932         * </pre>
8933         */
8934        public boolean hasPrimaryConstructor() {
8935          return ((bitField0_ & 0x00000010) == 0x00000010);
8936        }
8937        /**
8938         * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
8939         *
8940         * <pre>
8941         * This field is present if and only if the class has a primary constructor
8942         * </pre>
8943         */
8944        public org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor getPrimaryConstructor() {
8945          return primaryConstructor_;
8946        }
8947    
8948        private void initFields() {
8949          flags_ = 0;
8950          extraVisibility_ = "";
8951          fqName_ = 0;
8952          classObject_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject.getDefaultInstance();
8953          typeParameter_ = java.util.Collections.emptyList();
8954          supertype_ = java.util.Collections.emptyList();
8955          nestedClassName_ = java.util.Collections.emptyList();
8956          member_ = java.util.Collections.emptyList();
8957          enumEntry_ = java.util.Collections.emptyList();
8958          primaryConstructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
8959        }
8960        private byte memoizedIsInitialized = -1;
8961        public final boolean isInitialized() {
8962          byte isInitialized = memoizedIsInitialized;
8963          if (isInitialized != -1) return isInitialized == 1;
8964    
8965          if (!hasFqName()) {
8966            memoizedIsInitialized = 0;
8967            return false;
8968          }
8969          if (hasClassObject()) {
8970            if (!getClassObject().isInitialized()) {
8971              memoizedIsInitialized = 0;
8972              return false;
8973            }
8974          }
8975          for (int i = 0; i < getTypeParameterCount(); i++) {
8976            if (!getTypeParameter(i).isInitialized()) {
8977              memoizedIsInitialized = 0;
8978              return false;
8979            }
8980          }
8981          for (int i = 0; i < getSupertypeCount(); i++) {
8982            if (!getSupertype(i).isInitialized()) {
8983              memoizedIsInitialized = 0;
8984              return false;
8985            }
8986          }
8987          for (int i = 0; i < getMemberCount(); i++) {
8988            if (!getMember(i).isInitialized()) {
8989              memoizedIsInitialized = 0;
8990              return false;
8991            }
8992          }
8993          if (hasPrimaryConstructor()) {
8994            if (!getPrimaryConstructor().isInitialized()) {
8995              memoizedIsInitialized = 0;
8996              return false;
8997            }
8998          }
8999          if (!extensionsAreInitialized()) {
9000            memoizedIsInitialized = 0;
9001            return false;
9002          }
9003          memoizedIsInitialized = 1;
9004          return true;
9005        }
9006    
9007        public void writeTo(com.google.protobuf.CodedOutputStream output)
9008                            throws java.io.IOException {
9009          getSerializedSize();
9010          com.google.protobuf.GeneratedMessageLite
9011            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Class>.ExtensionWriter extensionWriter =
9012              newExtensionWriter();
9013          if (((bitField0_ & 0x00000001) == 0x00000001)) {
9014            output.writeInt32(1, flags_);
9015          }
9016          if (((bitField0_ & 0x00000002) == 0x00000002)) {
9017            output.writeBytes(2, getExtraVisibilityBytes());
9018          }
9019          if (((bitField0_ & 0x00000004) == 0x00000004)) {
9020            output.writeInt32(3, fqName_);
9021          }
9022          if (((bitField0_ & 0x00000008) == 0x00000008)) {
9023            output.writeMessage(4, classObject_);
9024          }
9025          for (int i = 0; i < typeParameter_.size(); i++) {
9026            output.writeMessage(5, typeParameter_.get(i));
9027          }
9028          for (int i = 0; i < supertype_.size(); i++) {
9029            output.writeMessage(6, supertype_.get(i));
9030          }
9031          for (int i = 0; i < nestedClassName_.size(); i++) {
9032            output.writeInt32(7, nestedClassName_.get(i));
9033          }
9034          for (int i = 0; i < member_.size(); i++) {
9035            output.writeMessage(11, member_.get(i));
9036          }
9037          for (int i = 0; i < enumEntry_.size(); i++) {
9038            output.writeInt32(12, enumEntry_.get(i));
9039          }
9040          if (((bitField0_ & 0x00000010) == 0x00000010)) {
9041            output.writeMessage(13, primaryConstructor_);
9042          }
9043          extensionWriter.writeUntil(200, output);
9044        }
9045    
9046        private int memoizedSerializedSize = -1;
9047        public int getSerializedSize() {
9048          int size = memoizedSerializedSize;
9049          if (size != -1) return size;
9050    
9051          size = 0;
9052          if (((bitField0_ & 0x00000001) == 0x00000001)) {
9053            size += com.google.protobuf.CodedOutputStream
9054              .computeInt32Size(1, flags_);
9055          }
9056          if (((bitField0_ & 0x00000002) == 0x00000002)) {
9057            size += com.google.protobuf.CodedOutputStream
9058              .computeBytesSize(2, getExtraVisibilityBytes());
9059          }
9060          if (((bitField0_ & 0x00000004) == 0x00000004)) {
9061            size += com.google.protobuf.CodedOutputStream
9062              .computeInt32Size(3, fqName_);
9063          }
9064          if (((bitField0_ & 0x00000008) == 0x00000008)) {
9065            size += com.google.protobuf.CodedOutputStream
9066              .computeMessageSize(4, classObject_);
9067          }
9068          for (int i = 0; i < typeParameter_.size(); i++) {
9069            size += com.google.protobuf.CodedOutputStream
9070              .computeMessageSize(5, typeParameter_.get(i));
9071          }
9072          for (int i = 0; i < supertype_.size(); i++) {
9073            size += com.google.protobuf.CodedOutputStream
9074              .computeMessageSize(6, supertype_.get(i));
9075          }
9076          {
9077            int dataSize = 0;
9078            for (int i = 0; i < nestedClassName_.size(); i++) {
9079              dataSize += com.google.protobuf.CodedOutputStream
9080                .computeInt32SizeNoTag(nestedClassName_.get(i));
9081            }
9082            size += dataSize;
9083            size += 1 * getNestedClassNameList().size();
9084          }
9085          for (int i = 0; i < member_.size(); i++) {
9086            size += com.google.protobuf.CodedOutputStream
9087              .computeMessageSize(11, member_.get(i));
9088          }
9089          {
9090            int dataSize = 0;
9091            for (int i = 0; i < enumEntry_.size(); i++) {
9092              dataSize += com.google.protobuf.CodedOutputStream
9093                .computeInt32SizeNoTag(enumEntry_.get(i));
9094            }
9095            size += dataSize;
9096            size += 1 * getEnumEntryList().size();
9097          }
9098          if (((bitField0_ & 0x00000010) == 0x00000010)) {
9099            size += com.google.protobuf.CodedOutputStream
9100              .computeMessageSize(13, primaryConstructor_);
9101          }
9102          size += extensionsSerializedSize();
9103          memoizedSerializedSize = size;
9104          return size;
9105        }
9106    
9107        private static final long serialVersionUID = 0L;
9108        @java.lang.Override
9109        protected java.lang.Object writeReplace()
9110            throws java.io.ObjectStreamException {
9111          return super.writeReplace();
9112        }
9113    
9114        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
9115            com.google.protobuf.ByteString data)
9116            throws com.google.protobuf.InvalidProtocolBufferException {
9117          return PARSER.parseFrom(data);
9118        }
9119        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
9120            com.google.protobuf.ByteString data,
9121            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9122            throws com.google.protobuf.InvalidProtocolBufferException {
9123          return PARSER.parseFrom(data, extensionRegistry);
9124        }
9125        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(byte[] data)
9126            throws com.google.protobuf.InvalidProtocolBufferException {
9127          return PARSER.parseFrom(data);
9128        }
9129        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
9130            byte[] data,
9131            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9132            throws com.google.protobuf.InvalidProtocolBufferException {
9133          return PARSER.parseFrom(data, extensionRegistry);
9134        }
9135        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(java.io.InputStream input)
9136            throws java.io.IOException {
9137          return PARSER.parseFrom(input);
9138        }
9139        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
9140            java.io.InputStream input,
9141            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9142            throws java.io.IOException {
9143          return PARSER.parseFrom(input, extensionRegistry);
9144        }
9145        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseDelimitedFrom(java.io.InputStream input)
9146            throws java.io.IOException {
9147          return PARSER.parseDelimitedFrom(input);
9148        }
9149        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseDelimitedFrom(
9150            java.io.InputStream input,
9151            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9152            throws java.io.IOException {
9153          return PARSER.parseDelimitedFrom(input, extensionRegistry);
9154        }
9155        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
9156            com.google.protobuf.CodedInputStream input)
9157            throws java.io.IOException {
9158          return PARSER.parseFrom(input);
9159        }
9160        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
9161            com.google.protobuf.CodedInputStream input,
9162            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9163            throws java.io.IOException {
9164          return PARSER.parseFrom(input, extensionRegistry);
9165        }
9166    
9167        public static Builder newBuilder() { return Builder.create(); }
9168        public Builder newBuilderForType() { return newBuilder(); }
9169        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Class prototype) {
9170          return newBuilder().mergeFrom(prototype);
9171        }
9172        public Builder toBuilder() { return newBuilder(this); }
9173    
9174        /**
9175         * Protobuf type {@code org.jetbrains.kotlin.serialization.Class}
9176         */
9177        public static final class Builder extends
9178            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
9179              org.jetbrains.kotlin.serialization.ProtoBuf.Class, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.ClassOrBuilder {
9180          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Class.newBuilder()
9181          private Builder() {
9182            maybeForceBuilderInitialization();
9183          }
9184    
9185          private void maybeForceBuilderInitialization() {
9186          }
9187          private static Builder create() {
9188            return new Builder();
9189          }
9190    
9191          public Builder clear() {
9192            super.clear();
9193            flags_ = 0;
9194            bitField0_ = (bitField0_ & ~0x00000001);
9195            extraVisibility_ = "";
9196            bitField0_ = (bitField0_ & ~0x00000002);
9197            fqName_ = 0;
9198            bitField0_ = (bitField0_ & ~0x00000004);
9199            classObject_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject.getDefaultInstance();
9200            bitField0_ = (bitField0_ & ~0x00000008);
9201            typeParameter_ = java.util.Collections.emptyList();
9202            bitField0_ = (bitField0_ & ~0x00000010);
9203            supertype_ = java.util.Collections.emptyList();
9204            bitField0_ = (bitField0_ & ~0x00000020);
9205            nestedClassName_ = java.util.Collections.emptyList();
9206            bitField0_ = (bitField0_ & ~0x00000040);
9207            member_ = java.util.Collections.emptyList();
9208            bitField0_ = (bitField0_ & ~0x00000080);
9209            enumEntry_ = java.util.Collections.emptyList();
9210            bitField0_ = (bitField0_ & ~0x00000100);
9211            primaryConstructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
9212            bitField0_ = (bitField0_ & ~0x00000200);
9213            return this;
9214          }
9215    
9216          public Builder clone() {
9217            return create().mergeFrom(buildPartial());
9218          }
9219    
9220          public org.jetbrains.kotlin.serialization.ProtoBuf.Class getDefaultInstanceForType() {
9221            return org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance();
9222          }
9223    
9224          public org.jetbrains.kotlin.serialization.ProtoBuf.Class build() {
9225            org.jetbrains.kotlin.serialization.ProtoBuf.Class result = buildPartial();
9226            if (!result.isInitialized()) {
9227              throw newUninitializedMessageException(result);
9228            }
9229            return result;
9230          }
9231    
9232          public org.jetbrains.kotlin.serialization.ProtoBuf.Class buildPartial() {
9233            org.jetbrains.kotlin.serialization.ProtoBuf.Class result = new org.jetbrains.kotlin.serialization.ProtoBuf.Class(this);
9234            int from_bitField0_ = bitField0_;
9235            int to_bitField0_ = 0;
9236            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
9237              to_bitField0_ |= 0x00000001;
9238            }
9239            result.flags_ = flags_;
9240            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
9241              to_bitField0_ |= 0x00000002;
9242            }
9243            result.extraVisibility_ = extraVisibility_;
9244            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
9245              to_bitField0_ |= 0x00000004;
9246            }
9247            result.fqName_ = fqName_;
9248            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
9249              to_bitField0_ |= 0x00000008;
9250            }
9251            result.classObject_ = classObject_;
9252            if (((bitField0_ & 0x00000010) == 0x00000010)) {
9253              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
9254              bitField0_ = (bitField0_ & ~0x00000010);
9255            }
9256            result.typeParameter_ = typeParameter_;
9257            if (((bitField0_ & 0x00000020) == 0x00000020)) {
9258              supertype_ = java.util.Collections.unmodifiableList(supertype_);
9259              bitField0_ = (bitField0_ & ~0x00000020);
9260            }
9261            result.supertype_ = supertype_;
9262            if (((bitField0_ & 0x00000040) == 0x00000040)) {
9263              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
9264              bitField0_ = (bitField0_ & ~0x00000040);
9265            }
9266            result.nestedClassName_ = nestedClassName_;
9267            if (((bitField0_ & 0x00000080) == 0x00000080)) {
9268              member_ = java.util.Collections.unmodifiableList(member_);
9269              bitField0_ = (bitField0_ & ~0x00000080);
9270            }
9271            result.member_ = member_;
9272            if (((bitField0_ & 0x00000100) == 0x00000100)) {
9273              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
9274              bitField0_ = (bitField0_ & ~0x00000100);
9275            }
9276            result.enumEntry_ = enumEntry_;
9277            if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
9278              to_bitField0_ |= 0x00000010;
9279            }
9280            result.primaryConstructor_ = primaryConstructor_;
9281            result.bitField0_ = to_bitField0_;
9282            return result;
9283          }
9284    
9285          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Class other) {
9286            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance()) return this;
9287            if (other.hasFlags()) {
9288              setFlags(other.getFlags());
9289            }
9290            if (other.hasExtraVisibility()) {
9291              bitField0_ |= 0x00000002;
9292              extraVisibility_ = other.extraVisibility_;
9293              
9294            }
9295            if (other.hasFqName()) {
9296              setFqName(other.getFqName());
9297            }
9298            if (other.hasClassObject()) {
9299              mergeClassObject(other.getClassObject());
9300            }
9301            if (!other.typeParameter_.isEmpty()) {
9302              if (typeParameter_.isEmpty()) {
9303                typeParameter_ = other.typeParameter_;
9304                bitField0_ = (bitField0_ & ~0x00000010);
9305              } else {
9306                ensureTypeParameterIsMutable();
9307                typeParameter_.addAll(other.typeParameter_);
9308              }
9309              
9310            }
9311            if (!other.supertype_.isEmpty()) {
9312              if (supertype_.isEmpty()) {
9313                supertype_ = other.supertype_;
9314                bitField0_ = (bitField0_ & ~0x00000020);
9315              } else {
9316                ensureSupertypeIsMutable();
9317                supertype_.addAll(other.supertype_);
9318              }
9319              
9320            }
9321            if (!other.nestedClassName_.isEmpty()) {
9322              if (nestedClassName_.isEmpty()) {
9323                nestedClassName_ = other.nestedClassName_;
9324                bitField0_ = (bitField0_ & ~0x00000040);
9325              } else {
9326                ensureNestedClassNameIsMutable();
9327                nestedClassName_.addAll(other.nestedClassName_);
9328              }
9329              
9330            }
9331            if (!other.member_.isEmpty()) {
9332              if (member_.isEmpty()) {
9333                member_ = other.member_;
9334                bitField0_ = (bitField0_ & ~0x00000080);
9335              } else {
9336                ensureMemberIsMutable();
9337                member_.addAll(other.member_);
9338              }
9339              
9340            }
9341            if (!other.enumEntry_.isEmpty()) {
9342              if (enumEntry_.isEmpty()) {
9343                enumEntry_ = other.enumEntry_;
9344                bitField0_ = (bitField0_ & ~0x00000100);
9345              } else {
9346                ensureEnumEntryIsMutable();
9347                enumEntry_.addAll(other.enumEntry_);
9348              }
9349              
9350            }
9351            if (other.hasPrimaryConstructor()) {
9352              mergePrimaryConstructor(other.getPrimaryConstructor());
9353            }
9354            this.mergeExtensionFields(other);
9355            return this;
9356          }
9357    
9358          public final boolean isInitialized() {
9359            if (!hasFqName()) {
9360              
9361              return false;
9362            }
9363            if (hasClassObject()) {
9364              if (!getClassObject().isInitialized()) {
9365                
9366                return false;
9367              }
9368            }
9369            for (int i = 0; i < getTypeParameterCount(); i++) {
9370              if (!getTypeParameter(i).isInitialized()) {
9371                
9372                return false;
9373              }
9374            }
9375            for (int i = 0; i < getSupertypeCount(); i++) {
9376              if (!getSupertype(i).isInitialized()) {
9377                
9378                return false;
9379              }
9380            }
9381            for (int i = 0; i < getMemberCount(); i++) {
9382              if (!getMember(i).isInitialized()) {
9383                
9384                return false;
9385              }
9386            }
9387            if (hasPrimaryConstructor()) {
9388              if (!getPrimaryConstructor().isInitialized()) {
9389                
9390                return false;
9391              }
9392            }
9393            if (!extensionsAreInitialized()) {
9394              
9395              return false;
9396            }
9397            return true;
9398          }
9399    
9400          public Builder mergeFrom(
9401              com.google.protobuf.CodedInputStream input,
9402              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9403              throws java.io.IOException {
9404            org.jetbrains.kotlin.serialization.ProtoBuf.Class parsedMessage = null;
9405            try {
9406              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
9407            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
9408              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Class) e.getUnfinishedMessage();
9409              throw e;
9410            } finally {
9411              if (parsedMessage != null) {
9412                mergeFrom(parsedMessage);
9413              }
9414            }
9415            return this;
9416          }
9417          private int bitField0_;
9418    
9419          // optional int32 flags = 1 [default = 0];
9420          private int flags_ ;
9421          /**
9422           * <code>optional int32 flags = 1 [default = 0];</code>
9423           *
9424           * <pre>
9425           *
9426           *Visibility
9427           *Modality
9428           *has_annotation
9429           *ClassKind
9430           *is_inner
9431           * </pre>
9432           */
9433          public boolean hasFlags() {
9434            return ((bitField0_ & 0x00000001) == 0x00000001);
9435          }
9436          /**
9437           * <code>optional int32 flags = 1 [default = 0];</code>
9438           *
9439           * <pre>
9440           *
9441           *Visibility
9442           *Modality
9443           *has_annotation
9444           *ClassKind
9445           *is_inner
9446           * </pre>
9447           */
9448          public int getFlags() {
9449            return flags_;
9450          }
9451          /**
9452           * <code>optional int32 flags = 1 [default = 0];</code>
9453           *
9454           * <pre>
9455           *
9456           *Visibility
9457           *Modality
9458           *has_annotation
9459           *ClassKind
9460           *is_inner
9461           * </pre>
9462           */
9463          public Builder setFlags(int value) {
9464            bitField0_ |= 0x00000001;
9465            flags_ = value;
9466            
9467            return this;
9468          }
9469          /**
9470           * <code>optional int32 flags = 1 [default = 0];</code>
9471           *
9472           * <pre>
9473           *
9474           *Visibility
9475           *Modality
9476           *has_annotation
9477           *ClassKind
9478           *is_inner
9479           * </pre>
9480           */
9481          public Builder clearFlags() {
9482            bitField0_ = (bitField0_ & ~0x00000001);
9483            flags_ = 0;
9484            
9485            return this;
9486          }
9487    
9488          // optional string extra_visibility = 2;
9489          private java.lang.Object extraVisibility_ = "";
9490          /**
9491           * <code>optional string extra_visibility = 2;</code>
9492           *
9493           * <pre>
9494           * for things like java-specific visibilities
9495           * </pre>
9496           */
9497          public boolean hasExtraVisibility() {
9498            return ((bitField0_ & 0x00000002) == 0x00000002);
9499          }
9500          /**
9501           * <code>optional string extra_visibility = 2;</code>
9502           *
9503           * <pre>
9504           * for things like java-specific visibilities
9505           * </pre>
9506           */
9507          public java.lang.String getExtraVisibility() {
9508            java.lang.Object ref = extraVisibility_;
9509            if (!(ref instanceof java.lang.String)) {
9510              java.lang.String s = ((com.google.protobuf.ByteString) ref)
9511                  .toStringUtf8();
9512              extraVisibility_ = s;
9513              return s;
9514            } else {
9515              return (java.lang.String) ref;
9516            }
9517          }
9518          /**
9519           * <code>optional string extra_visibility = 2;</code>
9520           *
9521           * <pre>
9522           * for things like java-specific visibilities
9523           * </pre>
9524           */
9525          public com.google.protobuf.ByteString
9526              getExtraVisibilityBytes() {
9527            java.lang.Object ref = extraVisibility_;
9528            if (ref instanceof String) {
9529              com.google.protobuf.ByteString b = 
9530                  com.google.protobuf.ByteString.copyFromUtf8(
9531                      (java.lang.String) ref);
9532              extraVisibility_ = b;
9533              return b;
9534            } else {
9535              return (com.google.protobuf.ByteString) ref;
9536            }
9537          }
9538          /**
9539           * <code>optional string extra_visibility = 2;</code>
9540           *
9541           * <pre>
9542           * for things like java-specific visibilities
9543           * </pre>
9544           */
9545          public Builder setExtraVisibility(
9546              java.lang.String value) {
9547            if (value == null) {
9548        throw new NullPointerException();
9549      }
9550      bitField0_ |= 0x00000002;
9551            extraVisibility_ = value;
9552            
9553            return this;
9554          }
9555          /**
9556           * <code>optional string extra_visibility = 2;</code>
9557           *
9558           * <pre>
9559           * for things like java-specific visibilities
9560           * </pre>
9561           */
9562          public Builder clearExtraVisibility() {
9563            bitField0_ = (bitField0_ & ~0x00000002);
9564            extraVisibility_ = getDefaultInstance().getExtraVisibility();
9565            
9566            return this;
9567          }
9568          /**
9569           * <code>optional string extra_visibility = 2;</code>
9570           *
9571           * <pre>
9572           * for things like java-specific visibilities
9573           * </pre>
9574           */
9575          public Builder setExtraVisibilityBytes(
9576              com.google.protobuf.ByteString value) {
9577            if (value == null) {
9578        throw new NullPointerException();
9579      }
9580      bitField0_ |= 0x00000002;
9581            extraVisibility_ = value;
9582            
9583            return this;
9584          }
9585    
9586          // required int32 fq_name = 3;
9587          private int fqName_ ;
9588          /**
9589           * <code>required int32 fq_name = 3;</code>
9590           */
9591          public boolean hasFqName() {
9592            return ((bitField0_ & 0x00000004) == 0x00000004);
9593          }
9594          /**
9595           * <code>required int32 fq_name = 3;</code>
9596           */
9597          public int getFqName() {
9598            return fqName_;
9599          }
9600          /**
9601           * <code>required int32 fq_name = 3;</code>
9602           */
9603          public Builder setFqName(int value) {
9604            bitField0_ |= 0x00000004;
9605            fqName_ = value;
9606            
9607            return this;
9608          }
9609          /**
9610           * <code>required int32 fq_name = 3;</code>
9611           */
9612          public Builder clearFqName() {
9613            bitField0_ = (bitField0_ & ~0x00000004);
9614            fqName_ = 0;
9615            
9616            return this;
9617          }
9618    
9619          // optional .org.jetbrains.kotlin.serialization.Class.ClassObject class_object = 4;
9620          private org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject classObject_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject.getDefaultInstance();
9621          /**
9622           * <code>optional .org.jetbrains.kotlin.serialization.Class.ClassObject class_object = 4;</code>
9623           *
9624           * <pre>
9625           * This field is present if and only if the class has a class object. Its proto should be found either here or in the separate file
9626           * </pre>
9627           */
9628          public boolean hasClassObject() {
9629            return ((bitField0_ & 0x00000008) == 0x00000008);
9630          }
9631          /**
9632           * <code>optional .org.jetbrains.kotlin.serialization.Class.ClassObject class_object = 4;</code>
9633           *
9634           * <pre>
9635           * This field is present if and only if the class has a class object. Its proto should be found either here or in the separate file
9636           * </pre>
9637           */
9638          public org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject getClassObject() {
9639            return classObject_;
9640          }
9641          /**
9642           * <code>optional .org.jetbrains.kotlin.serialization.Class.ClassObject class_object = 4;</code>
9643           *
9644           * <pre>
9645           * This field is present if and only if the class has a class object. Its proto should be found either here or in the separate file
9646           * </pre>
9647           */
9648          public Builder setClassObject(org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject value) {
9649            if (value == null) {
9650              throw new NullPointerException();
9651            }
9652            classObject_ = value;
9653    
9654            bitField0_ |= 0x00000008;
9655            return this;
9656          }
9657          /**
9658           * <code>optional .org.jetbrains.kotlin.serialization.Class.ClassObject class_object = 4;</code>
9659           *
9660           * <pre>
9661           * This field is present if and only if the class has a class object. Its proto should be found either here or in the separate file
9662           * </pre>
9663           */
9664          public Builder setClassObject(
9665              org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject.Builder builderForValue) {
9666            classObject_ = builderForValue.build();
9667    
9668            bitField0_ |= 0x00000008;
9669            return this;
9670          }
9671          /**
9672           * <code>optional .org.jetbrains.kotlin.serialization.Class.ClassObject class_object = 4;</code>
9673           *
9674           * <pre>
9675           * This field is present if and only if the class has a class object. Its proto should be found either here or in the separate file
9676           * </pre>
9677           */
9678          public Builder mergeClassObject(org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject value) {
9679            if (((bitField0_ & 0x00000008) == 0x00000008) &&
9680                classObject_ != org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject.getDefaultInstance()) {
9681              classObject_ =
9682                org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject.newBuilder(classObject_).mergeFrom(value).buildPartial();
9683            } else {
9684              classObject_ = value;
9685            }
9686    
9687            bitField0_ |= 0x00000008;
9688            return this;
9689          }
9690          /**
9691           * <code>optional .org.jetbrains.kotlin.serialization.Class.ClassObject class_object = 4;</code>
9692           *
9693           * <pre>
9694           * This field is present if and only if the class has a class object. Its proto should be found either here or in the separate file
9695           * </pre>
9696           */
9697          public Builder clearClassObject() {
9698            classObject_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.ClassObject.getDefaultInstance();
9699    
9700            bitField0_ = (bitField0_ & ~0x00000008);
9701            return this;
9702          }
9703    
9704          // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;
9705          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
9706            java.util.Collections.emptyList();
9707          private void ensureTypeParameterIsMutable() {
9708            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
9709              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
9710              bitField0_ |= 0x00000010;
9711             }
9712          }
9713    
9714          /**
9715           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9716           */
9717          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
9718            return java.util.Collections.unmodifiableList(typeParameter_);
9719          }
9720          /**
9721           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9722           */
9723          public int getTypeParameterCount() {
9724            return typeParameter_.size();
9725          }
9726          /**
9727           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9728           */
9729          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
9730            return typeParameter_.get(index);
9731          }
9732          /**
9733           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9734           */
9735          public Builder setTypeParameter(
9736              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9737            if (value == null) {
9738              throw new NullPointerException();
9739            }
9740            ensureTypeParameterIsMutable();
9741            typeParameter_.set(index, value);
9742    
9743            return this;
9744          }
9745          /**
9746           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9747           */
9748          public Builder setTypeParameter(
9749              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9750            ensureTypeParameterIsMutable();
9751            typeParameter_.set(index, builderForValue.build());
9752    
9753            return this;
9754          }
9755          /**
9756           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9757           */
9758          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9759            if (value == null) {
9760              throw new NullPointerException();
9761            }
9762            ensureTypeParameterIsMutable();
9763            typeParameter_.add(value);
9764    
9765            return this;
9766          }
9767          /**
9768           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9769           */
9770          public Builder addTypeParameter(
9771              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9772            if (value == null) {
9773              throw new NullPointerException();
9774            }
9775            ensureTypeParameterIsMutable();
9776            typeParameter_.add(index, value);
9777    
9778            return this;
9779          }
9780          /**
9781           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9782           */
9783          public Builder addTypeParameter(
9784              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9785            ensureTypeParameterIsMutable();
9786            typeParameter_.add(builderForValue.build());
9787    
9788            return this;
9789          }
9790          /**
9791           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9792           */
9793          public Builder addTypeParameter(
9794              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9795            ensureTypeParameterIsMutable();
9796            typeParameter_.add(index, builderForValue.build());
9797    
9798            return this;
9799          }
9800          /**
9801           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9802           */
9803          public Builder addAllTypeParameter(
9804              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
9805            ensureTypeParameterIsMutable();
9806            super.addAll(values, typeParameter_);
9807    
9808            return this;
9809          }
9810          /**
9811           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9812           */
9813          public Builder clearTypeParameter() {
9814            typeParameter_ = java.util.Collections.emptyList();
9815            bitField0_ = (bitField0_ & ~0x00000010);
9816    
9817            return this;
9818          }
9819          /**
9820           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9821           */
9822          public Builder removeTypeParameter(int index) {
9823            ensureTypeParameterIsMutable();
9824            typeParameter_.remove(index);
9825    
9826            return this;
9827          }
9828    
9829          // repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;
9830          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> supertype_ =
9831            java.util.Collections.emptyList();
9832          private void ensureSupertypeIsMutable() {
9833            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
9834              supertype_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(supertype_);
9835              bitField0_ |= 0x00000020;
9836             }
9837          }
9838    
9839          /**
9840           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9841           */
9842          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getSupertypeList() {
9843            return java.util.Collections.unmodifiableList(supertype_);
9844          }
9845          /**
9846           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9847           */
9848          public int getSupertypeCount() {
9849            return supertype_.size();
9850          }
9851          /**
9852           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9853           */
9854          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index) {
9855            return supertype_.get(index);
9856          }
9857          /**
9858           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9859           */
9860          public Builder setSupertype(
9861              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9862            if (value == null) {
9863              throw new NullPointerException();
9864            }
9865            ensureSupertypeIsMutable();
9866            supertype_.set(index, value);
9867    
9868            return this;
9869          }
9870          /**
9871           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9872           */
9873          public Builder setSupertype(
9874              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9875            ensureSupertypeIsMutable();
9876            supertype_.set(index, builderForValue.build());
9877    
9878            return this;
9879          }
9880          /**
9881           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9882           */
9883          public Builder addSupertype(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9884            if (value == null) {
9885              throw new NullPointerException();
9886            }
9887            ensureSupertypeIsMutable();
9888            supertype_.add(value);
9889    
9890            return this;
9891          }
9892          /**
9893           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9894           */
9895          public Builder addSupertype(
9896              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9897            if (value == null) {
9898              throw new NullPointerException();
9899            }
9900            ensureSupertypeIsMutable();
9901            supertype_.add(index, value);
9902    
9903            return this;
9904          }
9905          /**
9906           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9907           */
9908          public Builder addSupertype(
9909              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9910            ensureSupertypeIsMutable();
9911            supertype_.add(builderForValue.build());
9912    
9913            return this;
9914          }
9915          /**
9916           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9917           */
9918          public Builder addSupertype(
9919              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9920            ensureSupertypeIsMutable();
9921            supertype_.add(index, builderForValue.build());
9922    
9923            return this;
9924          }
9925          /**
9926           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9927           */
9928          public Builder addAllSupertype(
9929              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
9930            ensureSupertypeIsMutable();
9931            super.addAll(values, supertype_);
9932    
9933            return this;
9934          }
9935          /**
9936           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9937           */
9938          public Builder clearSupertype() {
9939            supertype_ = java.util.Collections.emptyList();
9940            bitField0_ = (bitField0_ & ~0x00000020);
9941    
9942            return this;
9943          }
9944          /**
9945           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9946           */
9947          public Builder removeSupertype(int index) {
9948            ensureSupertypeIsMutable();
9949            supertype_.remove(index);
9950    
9951            return this;
9952          }
9953    
9954          // repeated int32 nested_class_name = 7;
9955          private java.util.List<java.lang.Integer> nestedClassName_ = java.util.Collections.emptyList();
9956          private void ensureNestedClassNameIsMutable() {
9957            if (!((bitField0_ & 0x00000040) == 0x00000040)) {
9958              nestedClassName_ = new java.util.ArrayList<java.lang.Integer>(nestedClassName_);
9959              bitField0_ |= 0x00000040;
9960             }
9961          }
9962          /**
9963           * <code>repeated int32 nested_class_name = 7;</code>
9964           *
9965           * <pre>
9966           * we store only names, because the actual information must reside in the corresponding .class files,
9967           * to be obtainable through reflection at runtime
9968           * </pre>
9969           */
9970          public java.util.List<java.lang.Integer>
9971              getNestedClassNameList() {
9972            return java.util.Collections.unmodifiableList(nestedClassName_);
9973          }
9974          /**
9975           * <code>repeated int32 nested_class_name = 7;</code>
9976           *
9977           * <pre>
9978           * we store only names, because the actual information must reside in the corresponding .class files,
9979           * to be obtainable through reflection at runtime
9980           * </pre>
9981           */
9982          public int getNestedClassNameCount() {
9983            return nestedClassName_.size();
9984          }
9985          /**
9986           * <code>repeated int32 nested_class_name = 7;</code>
9987           *
9988           * <pre>
9989           * we store only names, because the actual information must reside in the corresponding .class files,
9990           * to be obtainable through reflection at runtime
9991           * </pre>
9992           */
9993          public int getNestedClassName(int index) {
9994            return nestedClassName_.get(index);
9995          }
9996          /**
9997           * <code>repeated int32 nested_class_name = 7;</code>
9998           *
9999           * <pre>
10000           * we store only names, because the actual information must reside in the corresponding .class files,
10001           * to be obtainable through reflection at runtime
10002           * </pre>
10003           */
10004          public Builder setNestedClassName(
10005              int index, int value) {
10006            ensureNestedClassNameIsMutable();
10007            nestedClassName_.set(index, value);
10008            
10009            return this;
10010          }
10011          /**
10012           * <code>repeated int32 nested_class_name = 7;</code>
10013           *
10014           * <pre>
10015           * we store only names, because the actual information must reside in the corresponding .class files,
10016           * to be obtainable through reflection at runtime
10017           * </pre>
10018           */
10019          public Builder addNestedClassName(int value) {
10020            ensureNestedClassNameIsMutable();
10021            nestedClassName_.add(value);
10022            
10023            return this;
10024          }
10025          /**
10026           * <code>repeated int32 nested_class_name = 7;</code>
10027           *
10028           * <pre>
10029           * we store only names, because the actual information must reside in the corresponding .class files,
10030           * to be obtainable through reflection at runtime
10031           * </pre>
10032           */
10033          public Builder addAllNestedClassName(
10034              java.lang.Iterable<? extends java.lang.Integer> values) {
10035            ensureNestedClassNameIsMutable();
10036            super.addAll(values, nestedClassName_);
10037            
10038            return this;
10039          }
10040          /**
10041           * <code>repeated int32 nested_class_name = 7;</code>
10042           *
10043           * <pre>
10044           * we store only names, because the actual information must reside in the corresponding .class files,
10045           * to be obtainable through reflection at runtime
10046           * </pre>
10047           */
10048          public Builder clearNestedClassName() {
10049            nestedClassName_ = java.util.Collections.emptyList();
10050            bitField0_ = (bitField0_ & ~0x00000040);
10051            
10052            return this;
10053          }
10054    
10055          // repeated .org.jetbrains.kotlin.serialization.Callable member = 11;
10056          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> member_ =
10057            java.util.Collections.emptyList();
10058          private void ensureMemberIsMutable() {
10059            if (!((bitField0_ & 0x00000080) == 0x00000080)) {
10060              member_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>(member_);
10061              bitField0_ |= 0x00000080;
10062             }
10063          }
10064    
10065          /**
10066           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
10067           */
10068          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getMemberList() {
10069            return java.util.Collections.unmodifiableList(member_);
10070          }
10071          /**
10072           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
10073           */
10074          public int getMemberCount() {
10075            return member_.size();
10076          }
10077          /**
10078           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
10079           */
10080          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index) {
10081            return member_.get(index);
10082          }
10083          /**
10084           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
10085           */
10086          public Builder setMember(
10087              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
10088            if (value == null) {
10089              throw new NullPointerException();
10090            }
10091            ensureMemberIsMutable();
10092            member_.set(index, value);
10093    
10094            return this;
10095          }
10096          /**
10097           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
10098           */
10099          public Builder setMember(
10100              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
10101            ensureMemberIsMutable();
10102            member_.set(index, builderForValue.build());
10103    
10104            return this;
10105          }
10106          /**
10107           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
10108           */
10109          public Builder addMember(org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
10110            if (value == null) {
10111              throw new NullPointerException();
10112            }
10113            ensureMemberIsMutable();
10114            member_.add(value);
10115    
10116            return this;
10117          }
10118          /**
10119           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
10120           */
10121          public Builder addMember(
10122              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
10123            if (value == null) {
10124              throw new NullPointerException();
10125            }
10126            ensureMemberIsMutable();
10127            member_.add(index, value);
10128    
10129            return this;
10130          }
10131          /**
10132           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
10133           */
10134          public Builder addMember(
10135              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
10136            ensureMemberIsMutable();
10137            member_.add(builderForValue.build());
10138    
10139            return this;
10140          }
10141          /**
10142           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
10143           */
10144          public Builder addMember(
10145              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
10146            ensureMemberIsMutable();
10147            member_.add(index, builderForValue.build());
10148    
10149            return this;
10150          }
10151          /**
10152           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
10153           */
10154          public Builder addAllMember(
10155              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Callable> values) {
10156            ensureMemberIsMutable();
10157            super.addAll(values, member_);
10158    
10159            return this;
10160          }
10161          /**
10162           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
10163           */
10164          public Builder clearMember() {
10165            member_ = java.util.Collections.emptyList();
10166            bitField0_ = (bitField0_ & ~0x00000080);
10167    
10168            return this;
10169          }
10170          /**
10171           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
10172           */
10173          public Builder removeMember(int index) {
10174            ensureMemberIsMutable();
10175            member_.remove(index);
10176    
10177            return this;
10178          }
10179    
10180          // repeated int32 enum_entry = 12;
10181          private java.util.List<java.lang.Integer> enumEntry_ = java.util.Collections.emptyList();
10182          private void ensureEnumEntryIsMutable() {
10183            if (!((bitField0_ & 0x00000100) == 0x00000100)) {
10184              enumEntry_ = new java.util.ArrayList<java.lang.Integer>(enumEntry_);
10185              bitField0_ |= 0x00000100;
10186             }
10187          }
10188          /**
10189           * <code>repeated int32 enum_entry = 12;</code>
10190           */
10191          public java.util.List<java.lang.Integer>
10192              getEnumEntryList() {
10193            return java.util.Collections.unmodifiableList(enumEntry_);
10194          }
10195          /**
10196           * <code>repeated int32 enum_entry = 12;</code>
10197           */
10198          public int getEnumEntryCount() {
10199            return enumEntry_.size();
10200          }
10201          /**
10202           * <code>repeated int32 enum_entry = 12;</code>
10203           */
10204          public int getEnumEntry(int index) {
10205            return enumEntry_.get(index);
10206          }
10207          /**
10208           * <code>repeated int32 enum_entry = 12;</code>
10209           */
10210          public Builder setEnumEntry(
10211              int index, int value) {
10212            ensureEnumEntryIsMutable();
10213            enumEntry_.set(index, value);
10214            
10215            return this;
10216          }
10217          /**
10218           * <code>repeated int32 enum_entry = 12;</code>
10219           */
10220          public Builder addEnumEntry(int value) {
10221            ensureEnumEntryIsMutable();
10222            enumEntry_.add(value);
10223            
10224            return this;
10225          }
10226          /**
10227           * <code>repeated int32 enum_entry = 12;</code>
10228           */
10229          public Builder addAllEnumEntry(
10230              java.lang.Iterable<? extends java.lang.Integer> values) {
10231            ensureEnumEntryIsMutable();
10232            super.addAll(values, enumEntry_);
10233            
10234            return this;
10235          }
10236          /**
10237           * <code>repeated int32 enum_entry = 12;</code>
10238           */
10239          public Builder clearEnumEntry() {
10240            enumEntry_ = java.util.Collections.emptyList();
10241            bitField0_ = (bitField0_ & ~0x00000100);
10242            
10243            return this;
10244          }
10245    
10246          // optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;
10247          private org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor primaryConstructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
10248          /**
10249           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
10250           *
10251           * <pre>
10252           * This field is present if and only if the class has a primary constructor
10253           * </pre>
10254           */
10255          public boolean hasPrimaryConstructor() {
10256            return ((bitField0_ & 0x00000200) == 0x00000200);
10257          }
10258          /**
10259           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
10260           *
10261           * <pre>
10262           * This field is present if and only if the class has a primary constructor
10263           * </pre>
10264           */
10265          public org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor getPrimaryConstructor() {
10266            return primaryConstructor_;
10267          }
10268          /**
10269           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
10270           *
10271           * <pre>
10272           * This field is present if and only if the class has a primary constructor
10273           * </pre>
10274           */
10275          public Builder setPrimaryConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor value) {
10276            if (value == null) {
10277              throw new NullPointerException();
10278            }
10279            primaryConstructor_ = value;
10280    
10281            bitField0_ |= 0x00000200;
10282            return this;
10283          }
10284          /**
10285           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
10286           *
10287           * <pre>
10288           * This field is present if and only if the class has a primary constructor
10289           * </pre>
10290           */
10291          public Builder setPrimaryConstructor(
10292              org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.Builder builderForValue) {
10293            primaryConstructor_ = builderForValue.build();
10294    
10295            bitField0_ |= 0x00000200;
10296            return this;
10297          }
10298          /**
10299           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
10300           *
10301           * <pre>
10302           * This field is present if and only if the class has a primary constructor
10303           * </pre>
10304           */
10305          public Builder mergePrimaryConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor value) {
10306            if (((bitField0_ & 0x00000200) == 0x00000200) &&
10307                primaryConstructor_ != org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance()) {
10308              primaryConstructor_ =
10309                org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.newBuilder(primaryConstructor_).mergeFrom(value).buildPartial();
10310            } else {
10311              primaryConstructor_ = value;
10312            }
10313    
10314            bitField0_ |= 0x00000200;
10315            return this;
10316          }
10317          /**
10318           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
10319           *
10320           * <pre>
10321           * This field is present if and only if the class has a primary constructor
10322           * </pre>
10323           */
10324          public Builder clearPrimaryConstructor() {
10325            primaryConstructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
10326    
10327            bitField0_ = (bitField0_ & ~0x00000200);
10328            return this;
10329          }
10330    
10331          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Class)
10332        }
10333    
10334        static {
10335          defaultInstance = new Class(true);
10336          defaultInstance.initFields();
10337        }
10338    
10339        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Class)
10340      }
10341    
10342      public interface PackageOrBuilder extends 
10343           com.google.protobuf.GeneratedMessageLite.
10344                ExtendableMessageOrBuilder<Package> {
10345    
10346        // repeated .org.jetbrains.kotlin.serialization.Callable member = 1;
10347        /**
10348         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10349         */
10350        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> 
10351            getMemberList();
10352        /**
10353         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10354         */
10355        org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index);
10356        /**
10357         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10358         */
10359        int getMemberCount();
10360      }
10361      /**
10362       * Protobuf type {@code org.jetbrains.kotlin.serialization.Package}
10363       */
10364      public static final class Package extends
10365          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
10366            Package> implements PackageOrBuilder {
10367        // Use Package.newBuilder() to construct.
10368        private Package(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Package, ?> builder) {
10369          super(builder);
10370    
10371        }
10372        private Package(boolean noInit) {}
10373    
10374        private static final Package defaultInstance;
10375        public static Package getDefaultInstance() {
10376          return defaultInstance;
10377        }
10378    
10379        public Package getDefaultInstanceForType() {
10380          return defaultInstance;
10381        }
10382    
10383        private Package(
10384            com.google.protobuf.CodedInputStream input,
10385            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10386            throws com.google.protobuf.InvalidProtocolBufferException {
10387          initFields();
10388          int mutable_bitField0_ = 0;
10389          try {
10390            boolean done = false;
10391            while (!done) {
10392              int tag = input.readTag();
10393              switch (tag) {
10394                case 0:
10395                  done = true;
10396                  break;
10397                default: {
10398                  if (!parseUnknownField(input,
10399                                         extensionRegistry, tag)) {
10400                    done = true;
10401                  }
10402                  break;
10403                }
10404                case 10: {
10405                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
10406                    member_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>();
10407                    mutable_bitField0_ |= 0x00000001;
10408                  }
10409                  member_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.PARSER, extensionRegistry));
10410                  break;
10411                }
10412              }
10413            }
10414          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10415            throw e.setUnfinishedMessage(this);
10416          } catch (java.io.IOException e) {
10417            throw new com.google.protobuf.InvalidProtocolBufferException(
10418                e.getMessage()).setUnfinishedMessage(this);
10419          } finally {
10420            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
10421              member_ = java.util.Collections.unmodifiableList(member_);
10422            }
10423            makeExtensionsImmutable();
10424          }
10425        }
10426        public static com.google.protobuf.Parser<Package> PARSER =
10427            new com.google.protobuf.AbstractParser<Package>() {
10428          public Package parsePartialFrom(
10429              com.google.protobuf.CodedInputStream input,
10430              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10431              throws com.google.protobuf.InvalidProtocolBufferException {
10432            return new Package(input, extensionRegistry);
10433          }
10434        };
10435    
10436        @java.lang.Override
10437        public com.google.protobuf.Parser<Package> getParserForType() {
10438          return PARSER;
10439        }
10440    
10441        // repeated .org.jetbrains.kotlin.serialization.Callable member = 1;
10442        public static final int MEMBER_FIELD_NUMBER = 1;
10443        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> member_;
10444        /**
10445         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10446         */
10447        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getMemberList() {
10448          return member_;
10449        }
10450        /**
10451         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10452         */
10453        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder> 
10454            getMemberOrBuilderList() {
10455          return member_;
10456        }
10457        /**
10458         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10459         */
10460        public int getMemberCount() {
10461          return member_.size();
10462        }
10463        /**
10464         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10465         */
10466        public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index) {
10467          return member_.get(index);
10468        }
10469        /**
10470         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10471         */
10472        public org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder getMemberOrBuilder(
10473            int index) {
10474          return member_.get(index);
10475        }
10476    
10477        private void initFields() {
10478          member_ = java.util.Collections.emptyList();
10479        }
10480        private byte memoizedIsInitialized = -1;
10481        public final boolean isInitialized() {
10482          byte isInitialized = memoizedIsInitialized;
10483          if (isInitialized != -1) return isInitialized == 1;
10484    
10485          for (int i = 0; i < getMemberCount(); i++) {
10486            if (!getMember(i).isInitialized()) {
10487              memoizedIsInitialized = 0;
10488              return false;
10489            }
10490          }
10491          if (!extensionsAreInitialized()) {
10492            memoizedIsInitialized = 0;
10493            return false;
10494          }
10495          memoizedIsInitialized = 1;
10496          return true;
10497        }
10498    
10499        public void writeTo(com.google.protobuf.CodedOutputStream output)
10500                            throws java.io.IOException {
10501          getSerializedSize();
10502          com.google.protobuf.GeneratedMessageLite
10503            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Package>.ExtensionWriter extensionWriter =
10504              newExtensionWriter();
10505          for (int i = 0; i < member_.size(); i++) {
10506            output.writeMessage(1, member_.get(i));
10507          }
10508          extensionWriter.writeUntil(200, output);
10509        }
10510    
10511        private int memoizedSerializedSize = -1;
10512        public int getSerializedSize() {
10513          int size = memoizedSerializedSize;
10514          if (size != -1) return size;
10515    
10516          size = 0;
10517          for (int i = 0; i < member_.size(); i++) {
10518            size += com.google.protobuf.CodedOutputStream
10519              .computeMessageSize(1, member_.get(i));
10520          }
10521          size += extensionsSerializedSize();
10522          memoizedSerializedSize = size;
10523          return size;
10524        }
10525    
10526        private static final long serialVersionUID = 0L;
10527        @java.lang.Override
10528        protected java.lang.Object writeReplace()
10529            throws java.io.ObjectStreamException {
10530          return super.writeReplace();
10531        }
10532    
10533        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10534            com.google.protobuf.ByteString data)
10535            throws com.google.protobuf.InvalidProtocolBufferException {
10536          return PARSER.parseFrom(data);
10537        }
10538        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10539            com.google.protobuf.ByteString data,
10540            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10541            throws com.google.protobuf.InvalidProtocolBufferException {
10542          return PARSER.parseFrom(data, extensionRegistry);
10543        }
10544        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(byte[] data)
10545            throws com.google.protobuf.InvalidProtocolBufferException {
10546          return PARSER.parseFrom(data);
10547        }
10548        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10549            byte[] data,
10550            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10551            throws com.google.protobuf.InvalidProtocolBufferException {
10552          return PARSER.parseFrom(data, extensionRegistry);
10553        }
10554        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(java.io.InputStream input)
10555            throws java.io.IOException {
10556          return PARSER.parseFrom(input);
10557        }
10558        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10559            java.io.InputStream input,
10560            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10561            throws java.io.IOException {
10562          return PARSER.parseFrom(input, extensionRegistry);
10563        }
10564        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseDelimitedFrom(java.io.InputStream input)
10565            throws java.io.IOException {
10566          return PARSER.parseDelimitedFrom(input);
10567        }
10568        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseDelimitedFrom(
10569            java.io.InputStream input,
10570            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10571            throws java.io.IOException {
10572          return PARSER.parseDelimitedFrom(input, extensionRegistry);
10573        }
10574        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10575            com.google.protobuf.CodedInputStream input)
10576            throws java.io.IOException {
10577          return PARSER.parseFrom(input);
10578        }
10579        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10580            com.google.protobuf.CodedInputStream input,
10581            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10582            throws java.io.IOException {
10583          return PARSER.parseFrom(input, extensionRegistry);
10584        }
10585    
10586        public static Builder newBuilder() { return Builder.create(); }
10587        public Builder newBuilderForType() { return newBuilder(); }
10588        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Package prototype) {
10589          return newBuilder().mergeFrom(prototype);
10590        }
10591        public Builder toBuilder() { return newBuilder(this); }
10592    
10593        /**
10594         * Protobuf type {@code org.jetbrains.kotlin.serialization.Package}
10595         */
10596        public static final class Builder extends
10597            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
10598              org.jetbrains.kotlin.serialization.ProtoBuf.Package, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.PackageOrBuilder {
10599          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Package.newBuilder()
10600          private Builder() {
10601            maybeForceBuilderInitialization();
10602          }
10603    
10604          private void maybeForceBuilderInitialization() {
10605          }
10606          private static Builder create() {
10607            return new Builder();
10608          }
10609    
10610          public Builder clear() {
10611            super.clear();
10612            member_ = java.util.Collections.emptyList();
10613            bitField0_ = (bitField0_ & ~0x00000001);
10614            return this;
10615          }
10616    
10617          public Builder clone() {
10618            return create().mergeFrom(buildPartial());
10619          }
10620    
10621          public org.jetbrains.kotlin.serialization.ProtoBuf.Package getDefaultInstanceForType() {
10622            return org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance();
10623          }
10624    
10625          public org.jetbrains.kotlin.serialization.ProtoBuf.Package build() {
10626            org.jetbrains.kotlin.serialization.ProtoBuf.Package result = buildPartial();
10627            if (!result.isInitialized()) {
10628              throw newUninitializedMessageException(result);
10629            }
10630            return result;
10631          }
10632    
10633          public org.jetbrains.kotlin.serialization.ProtoBuf.Package buildPartial() {
10634            org.jetbrains.kotlin.serialization.ProtoBuf.Package result = new org.jetbrains.kotlin.serialization.ProtoBuf.Package(this);
10635            int from_bitField0_ = bitField0_;
10636            if (((bitField0_ & 0x00000001) == 0x00000001)) {
10637              member_ = java.util.Collections.unmodifiableList(member_);
10638              bitField0_ = (bitField0_ & ~0x00000001);
10639            }
10640            result.member_ = member_;
10641            return result;
10642          }
10643    
10644          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Package other) {
10645            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance()) return this;
10646            if (!other.member_.isEmpty()) {
10647              if (member_.isEmpty()) {
10648                member_ = other.member_;
10649                bitField0_ = (bitField0_ & ~0x00000001);
10650              } else {
10651                ensureMemberIsMutable();
10652                member_.addAll(other.member_);
10653              }
10654              
10655            }
10656            this.mergeExtensionFields(other);
10657            return this;
10658          }
10659    
10660          public final boolean isInitialized() {
10661            for (int i = 0; i < getMemberCount(); i++) {
10662              if (!getMember(i).isInitialized()) {
10663                
10664                return false;
10665              }
10666            }
10667            if (!extensionsAreInitialized()) {
10668              
10669              return false;
10670            }
10671            return true;
10672          }
10673    
10674          public Builder mergeFrom(
10675              com.google.protobuf.CodedInputStream input,
10676              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10677              throws java.io.IOException {
10678            org.jetbrains.kotlin.serialization.ProtoBuf.Package parsedMessage = null;
10679            try {
10680              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
10681            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10682              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Package) e.getUnfinishedMessage();
10683              throw e;
10684            } finally {
10685              if (parsedMessage != null) {
10686                mergeFrom(parsedMessage);
10687              }
10688            }
10689            return this;
10690          }
10691          private int bitField0_;
10692    
10693          // repeated .org.jetbrains.kotlin.serialization.Callable member = 1;
10694          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> member_ =
10695            java.util.Collections.emptyList();
10696          private void ensureMemberIsMutable() {
10697            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
10698              member_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>(member_);
10699              bitField0_ |= 0x00000001;
10700             }
10701          }
10702    
10703          /**
10704           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10705           */
10706          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getMemberList() {
10707            return java.util.Collections.unmodifiableList(member_);
10708          }
10709          /**
10710           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10711           */
10712          public int getMemberCount() {
10713            return member_.size();
10714          }
10715          /**
10716           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10717           */
10718          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index) {
10719            return member_.get(index);
10720          }
10721          /**
10722           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10723           */
10724          public Builder setMember(
10725              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
10726            if (value == null) {
10727              throw new NullPointerException();
10728            }
10729            ensureMemberIsMutable();
10730            member_.set(index, value);
10731    
10732            return this;
10733          }
10734          /**
10735           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10736           */
10737          public Builder setMember(
10738              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
10739            ensureMemberIsMutable();
10740            member_.set(index, builderForValue.build());
10741    
10742            return this;
10743          }
10744          /**
10745           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10746           */
10747          public Builder addMember(org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
10748            if (value == null) {
10749              throw new NullPointerException();
10750            }
10751            ensureMemberIsMutable();
10752            member_.add(value);
10753    
10754            return this;
10755          }
10756          /**
10757           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10758           */
10759          public Builder addMember(
10760              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
10761            if (value == null) {
10762              throw new NullPointerException();
10763            }
10764            ensureMemberIsMutable();
10765            member_.add(index, value);
10766    
10767            return this;
10768          }
10769          /**
10770           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10771           */
10772          public Builder addMember(
10773              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
10774            ensureMemberIsMutable();
10775            member_.add(builderForValue.build());
10776    
10777            return this;
10778          }
10779          /**
10780           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10781           */
10782          public Builder addMember(
10783              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
10784            ensureMemberIsMutable();
10785            member_.add(index, builderForValue.build());
10786    
10787            return this;
10788          }
10789          /**
10790           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10791           */
10792          public Builder addAllMember(
10793              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Callable> values) {
10794            ensureMemberIsMutable();
10795            super.addAll(values, member_);
10796    
10797            return this;
10798          }
10799          /**
10800           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10801           */
10802          public Builder clearMember() {
10803            member_ = java.util.Collections.emptyList();
10804            bitField0_ = (bitField0_ & ~0x00000001);
10805    
10806            return this;
10807          }
10808          /**
10809           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10810           */
10811          public Builder removeMember(int index) {
10812            ensureMemberIsMutable();
10813            member_.remove(index);
10814    
10815            return this;
10816          }
10817    
10818          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Package)
10819        }
10820    
10821        static {
10822          defaultInstance = new Package(true);
10823          defaultInstance.initFields();
10824        }
10825    
10826        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Package)
10827      }
10828    
10829      public interface CallableOrBuilder extends 
10830           com.google.protobuf.GeneratedMessageLite.
10831                ExtendableMessageOrBuilder<Callable> {
10832    
10833        // optional int32 flags = 1;
10834        /**
10835         * <code>optional int32 flags = 1;</code>
10836         *
10837         * <pre>
10838         *
10839         *Visibility
10840         *Modality
10841         *has_annotations
10842         *CallableKind
10843         *MemberKind
10844         *hasGetter
10845         *hasSetter
10846         *hasConstant
10847         * </pre>
10848         */
10849        boolean hasFlags();
10850        /**
10851         * <code>optional int32 flags = 1;</code>
10852         *
10853         * <pre>
10854         *
10855         *Visibility
10856         *Modality
10857         *has_annotations
10858         *CallableKind
10859         *MemberKind
10860         *hasGetter
10861         *hasSetter
10862         *hasConstant
10863         * </pre>
10864         */
10865        int getFlags();
10866    
10867        // optional string extra_visibility = 2;
10868        /**
10869         * <code>optional string extra_visibility = 2;</code>
10870         *
10871         * <pre>
10872         * for things like java-specific visibilities
10873         * </pre>
10874         */
10875        boolean hasExtraVisibility();
10876        /**
10877         * <code>optional string extra_visibility = 2;</code>
10878         *
10879         * <pre>
10880         * for things like java-specific visibilities
10881         * </pre>
10882         */
10883        java.lang.String getExtraVisibility();
10884        /**
10885         * <code>optional string extra_visibility = 2;</code>
10886         *
10887         * <pre>
10888         * for things like java-specific visibilities
10889         * </pre>
10890         */
10891        com.google.protobuf.ByteString
10892            getExtraVisibilityBytes();
10893    
10894        // optional int32 getter_flags = 9;
10895        /**
10896         * <code>optional int32 getter_flags = 9;</code>
10897         *
10898         * <pre>
10899         *
10900         *isNotDefault
10901         *Visibility
10902         *Modality
10903         *has_annotations
10904         * </pre>
10905         */
10906        boolean hasGetterFlags();
10907        /**
10908         * <code>optional int32 getter_flags = 9;</code>
10909         *
10910         * <pre>
10911         *
10912         *isNotDefault
10913         *Visibility
10914         *Modality
10915         *has_annotations
10916         * </pre>
10917         */
10918        int getGetterFlags();
10919    
10920        // optional int32 setter_flags = 10;
10921        /**
10922         * <code>optional int32 setter_flags = 10;</code>
10923         */
10924        boolean hasSetterFlags();
10925        /**
10926         * <code>optional int32 setter_flags = 10;</code>
10927         */
10928        int getSetterFlags();
10929    
10930        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
10931        /**
10932         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
10933         */
10934        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
10935            getTypeParameterList();
10936        /**
10937         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
10938         */
10939        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
10940        /**
10941         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
10942         */
10943        int getTypeParameterCount();
10944    
10945        // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
10946        /**
10947         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
10948         */
10949        boolean hasReceiverType();
10950        /**
10951         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
10952         */
10953        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType();
10954    
10955        // required int32 name = 6;
10956        /**
10957         * <code>required int32 name = 6;</code>
10958         *
10959         * <pre>
10960         * Id in the StringTable
10961         * </pre>
10962         */
10963        boolean hasName();
10964        /**
10965         * <code>required int32 name = 6;</code>
10966         *
10967         * <pre>
10968         * Id in the StringTable
10969         * </pre>
10970         */
10971        int getName();
10972    
10973        // repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;
10974        /**
10975         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
10976         *
10977         * <pre>
10978         * Value parameters for functions and constructors, or setter value parameter for properties
10979         * </pre>
10980         */
10981        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> 
10982            getValueParameterList();
10983        /**
10984         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
10985         *
10986         * <pre>
10987         * Value parameters for functions and constructors, or setter value parameter for properties
10988         * </pre>
10989         */
10990        org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index);
10991        /**
10992         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
10993         *
10994         * <pre>
10995         * Value parameters for functions and constructors, or setter value parameter for properties
10996         * </pre>
10997         */
10998        int getValueParameterCount();
10999    
11000        // required .org.jetbrains.kotlin.serialization.Type return_type = 8;
11001        /**
11002         * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
11003         */
11004        boolean hasReturnType();
11005        /**
11006         * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
11007         */
11008        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType();
11009      }
11010      /**
11011       * Protobuf type {@code org.jetbrains.kotlin.serialization.Callable}
11012       */
11013      public static final class Callable extends
11014          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
11015            Callable> implements CallableOrBuilder {
11016        // Use Callable.newBuilder() to construct.
11017        private Callable(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Callable, ?> builder) {
11018          super(builder);
11019    
11020        }
11021        private Callable(boolean noInit) {}
11022    
11023        private static final Callable defaultInstance;
11024        public static Callable getDefaultInstance() {
11025          return defaultInstance;
11026        }
11027    
11028        public Callable getDefaultInstanceForType() {
11029          return defaultInstance;
11030        }
11031    
11032        private Callable(
11033            com.google.protobuf.CodedInputStream input,
11034            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11035            throws com.google.protobuf.InvalidProtocolBufferException {
11036          initFields();
11037          int mutable_bitField0_ = 0;
11038          try {
11039            boolean done = false;
11040            while (!done) {
11041              int tag = input.readTag();
11042              switch (tag) {
11043                case 0:
11044                  done = true;
11045                  break;
11046                default: {
11047                  if (!parseUnknownField(input,
11048                                         extensionRegistry, tag)) {
11049                    done = true;
11050                  }
11051                  break;
11052                }
11053                case 8: {
11054                  bitField0_ |= 0x00000001;
11055                  flags_ = input.readInt32();
11056                  break;
11057                }
11058                case 18: {
11059                  bitField0_ |= 0x00000002;
11060                  extraVisibility_ = input.readBytes();
11061                  break;
11062                }
11063                case 34: {
11064                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
11065                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
11066                    mutable_bitField0_ |= 0x00000010;
11067                  }
11068                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
11069                  break;
11070                }
11071                case 42: {
11072                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
11073                  if (((bitField0_ & 0x00000010) == 0x00000010)) {
11074                    subBuilder = receiverType_.toBuilder();
11075                  }
11076                  receiverType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
11077                  if (subBuilder != null) {
11078                    subBuilder.mergeFrom(receiverType_);
11079                    receiverType_ = subBuilder.buildPartial();
11080                  }
11081                  bitField0_ |= 0x00000010;
11082                  break;
11083                }
11084                case 48: {
11085                  bitField0_ |= 0x00000020;
11086                  name_ = input.readInt32();
11087                  break;
11088                }
11089                case 58: {
11090                  if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
11091                    valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter>();
11092                    mutable_bitField0_ |= 0x00000080;
11093                  }
11094                  valueParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.PARSER, extensionRegistry));
11095                  break;
11096                }
11097                case 66: {
11098                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
11099                  if (((bitField0_ & 0x00000040) == 0x00000040)) {
11100                    subBuilder = returnType_.toBuilder();
11101                  }
11102                  returnType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
11103                  if (subBuilder != null) {
11104                    subBuilder.mergeFrom(returnType_);
11105                    returnType_ = subBuilder.buildPartial();
11106                  }
11107                  bitField0_ |= 0x00000040;
11108                  break;
11109                }
11110                case 72: {
11111                  bitField0_ |= 0x00000004;
11112                  getterFlags_ = input.readInt32();
11113                  break;
11114                }
11115                case 80: {
11116                  bitField0_ |= 0x00000008;
11117                  setterFlags_ = input.readInt32();
11118                  break;
11119                }
11120              }
11121            }
11122          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11123            throw e.setUnfinishedMessage(this);
11124          } catch (java.io.IOException e) {
11125            throw new com.google.protobuf.InvalidProtocolBufferException(
11126                e.getMessage()).setUnfinishedMessage(this);
11127          } finally {
11128            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
11129              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
11130            }
11131            if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
11132              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
11133            }
11134            makeExtensionsImmutable();
11135          }
11136        }
11137        public static com.google.protobuf.Parser<Callable> PARSER =
11138            new com.google.protobuf.AbstractParser<Callable>() {
11139          public Callable parsePartialFrom(
11140              com.google.protobuf.CodedInputStream input,
11141              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11142              throws com.google.protobuf.InvalidProtocolBufferException {
11143            return new Callable(input, extensionRegistry);
11144          }
11145        };
11146    
11147        @java.lang.Override
11148        public com.google.protobuf.Parser<Callable> getParserForType() {
11149          return PARSER;
11150        }
11151    
11152        /**
11153         * Protobuf enum {@code org.jetbrains.kotlin.serialization.Callable.MemberKind}
11154         */
11155        public enum MemberKind
11156            implements com.google.protobuf.Internal.EnumLite {
11157          /**
11158           * <code>DECLARATION = 0;</code>
11159           *
11160           * <pre>
11161           * 2 bits
11162           * </pre>
11163           */
11164          DECLARATION(0, 0),
11165          /**
11166           * <code>FAKE_OVERRIDE = 1;</code>
11167           */
11168          FAKE_OVERRIDE(1, 1),
11169          /**
11170           * <code>DELEGATION = 2;</code>
11171           */
11172          DELEGATION(2, 2),
11173          /**
11174           * <code>SYNTHESIZED = 3;</code>
11175           */
11176          SYNTHESIZED(3, 3),
11177          ;
11178    
11179          /**
11180           * <code>DECLARATION = 0;</code>
11181           *
11182           * <pre>
11183           * 2 bits
11184           * </pre>
11185           */
11186          public static final int DECLARATION_VALUE = 0;
11187          /**
11188           * <code>FAKE_OVERRIDE = 1;</code>
11189           */
11190          public static final int FAKE_OVERRIDE_VALUE = 1;
11191          /**
11192           * <code>DELEGATION = 2;</code>
11193           */
11194          public static final int DELEGATION_VALUE = 2;
11195          /**
11196           * <code>SYNTHESIZED = 3;</code>
11197           */
11198          public static final int SYNTHESIZED_VALUE = 3;
11199    
11200    
11201          public final int getNumber() { return value; }
11202    
11203          public static MemberKind valueOf(int value) {
11204            switch (value) {
11205              case 0: return DECLARATION;
11206              case 1: return FAKE_OVERRIDE;
11207              case 2: return DELEGATION;
11208              case 3: return SYNTHESIZED;
11209              default: return null;
11210            }
11211          }
11212    
11213          public static com.google.protobuf.Internal.EnumLiteMap<MemberKind>
11214              internalGetValueMap() {
11215            return internalValueMap;
11216          }
11217          private static com.google.protobuf.Internal.EnumLiteMap<MemberKind>
11218              internalValueMap =
11219                new com.google.protobuf.Internal.EnumLiteMap<MemberKind>() {
11220                  public MemberKind findValueByNumber(int number) {
11221                    return MemberKind.valueOf(number);
11222                  }
11223                };
11224    
11225          private final int value;
11226    
11227          private MemberKind(int index, int value) {
11228            this.value = value;
11229          }
11230    
11231          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Callable.MemberKind)
11232        }
11233    
11234        /**
11235         * Protobuf enum {@code org.jetbrains.kotlin.serialization.Callable.CallableKind}
11236         */
11237        public enum CallableKind
11238            implements com.google.protobuf.Internal.EnumLite {
11239          /**
11240           * <code>FUN = 0;</code>
11241           *
11242           * <pre>
11243           * 2 bits
11244           * </pre>
11245           */
11246          FUN(0, 0),
11247          /**
11248           * <code>VAL = 1;</code>
11249           */
11250          VAL(1, 1),
11251          /**
11252           * <code>VAR = 2;</code>
11253           */
11254          VAR(2, 2),
11255          /**
11256           * <code>CONSTRUCTOR = 3;</code>
11257           */
11258          CONSTRUCTOR(3, 3),
11259          ;
11260    
11261          /**
11262           * <code>FUN = 0;</code>
11263           *
11264           * <pre>
11265           * 2 bits
11266           * </pre>
11267           */
11268          public static final int FUN_VALUE = 0;
11269          /**
11270           * <code>VAL = 1;</code>
11271           */
11272          public static final int VAL_VALUE = 1;
11273          /**
11274           * <code>VAR = 2;</code>
11275           */
11276          public static final int VAR_VALUE = 2;
11277          /**
11278           * <code>CONSTRUCTOR = 3;</code>
11279           */
11280          public static final int CONSTRUCTOR_VALUE = 3;
11281    
11282    
11283          public final int getNumber() { return value; }
11284    
11285          public static CallableKind valueOf(int value) {
11286            switch (value) {
11287              case 0: return FUN;
11288              case 1: return VAL;
11289              case 2: return VAR;
11290              case 3: return CONSTRUCTOR;
11291              default: return null;
11292            }
11293          }
11294    
11295          public static com.google.protobuf.Internal.EnumLiteMap<CallableKind>
11296              internalGetValueMap() {
11297            return internalValueMap;
11298          }
11299          private static com.google.protobuf.Internal.EnumLiteMap<CallableKind>
11300              internalValueMap =
11301                new com.google.protobuf.Internal.EnumLiteMap<CallableKind>() {
11302                  public CallableKind findValueByNumber(int number) {
11303                    return CallableKind.valueOf(number);
11304                  }
11305                };
11306    
11307          private final int value;
11308    
11309          private CallableKind(int index, int value) {
11310            this.value = value;
11311          }
11312    
11313          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Callable.CallableKind)
11314        }
11315    
11316        public interface ValueParameterOrBuilder extends 
11317             com.google.protobuf.GeneratedMessageLite.
11318                  ExtendableMessageOrBuilder<ValueParameter> {
11319    
11320          // optional int32 flags = 1;
11321          /**
11322           * <code>optional int32 flags = 1;</code>
11323           *
11324           * <pre>
11325           *
11326           *declaresDefault
11327           *has_annotations
11328           * </pre>
11329           */
11330          boolean hasFlags();
11331          /**
11332           * <code>optional int32 flags = 1;</code>
11333           *
11334           * <pre>
11335           *
11336           *declaresDefault
11337           *has_annotations
11338           * </pre>
11339           */
11340          int getFlags();
11341    
11342          // required int32 name = 2;
11343          /**
11344           * <code>required int32 name = 2;</code>
11345           *
11346           * <pre>
11347           * Id in the StringTable
11348           * </pre>
11349           */
11350          boolean hasName();
11351          /**
11352           * <code>required int32 name = 2;</code>
11353           *
11354           * <pre>
11355           * Id in the StringTable
11356           * </pre>
11357           */
11358          int getName();
11359    
11360          // required .org.jetbrains.kotlin.serialization.Type type = 3;
11361          /**
11362           * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11363           */
11364          boolean hasType();
11365          /**
11366           * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11367           */
11368          org.jetbrains.kotlin.serialization.ProtoBuf.Type getType();
11369    
11370          // optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;
11371          /**
11372           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11373           */
11374          boolean hasVarargElementType();
11375          /**
11376           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11377           */
11378          org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType();
11379        }
11380        /**
11381         * Protobuf type {@code org.jetbrains.kotlin.serialization.Callable.ValueParameter}
11382         */
11383        public static final class ValueParameter extends
11384            com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
11385              ValueParameter> implements ValueParameterOrBuilder {
11386          // Use ValueParameter.newBuilder() to construct.
11387          private ValueParameter(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter, ?> builder) {
11388            super(builder);
11389    
11390          }
11391          private ValueParameter(boolean noInit) {}
11392    
11393          private static final ValueParameter defaultInstance;
11394          public static ValueParameter getDefaultInstance() {
11395            return defaultInstance;
11396          }
11397    
11398          public ValueParameter getDefaultInstanceForType() {
11399            return defaultInstance;
11400          }
11401    
11402          private ValueParameter(
11403              com.google.protobuf.CodedInputStream input,
11404              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11405              throws com.google.protobuf.InvalidProtocolBufferException {
11406            initFields();
11407            int mutable_bitField0_ = 0;
11408            try {
11409              boolean done = false;
11410              while (!done) {
11411                int tag = input.readTag();
11412                switch (tag) {
11413                  case 0:
11414                    done = true;
11415                    break;
11416                  default: {
11417                    if (!parseUnknownField(input,
11418                                           extensionRegistry, tag)) {
11419                      done = true;
11420                    }
11421                    break;
11422                  }
11423                  case 8: {
11424                    bitField0_ |= 0x00000001;
11425                    flags_ = input.readInt32();
11426                    break;
11427                  }
11428                  case 16: {
11429                    bitField0_ |= 0x00000002;
11430                    name_ = input.readInt32();
11431                    break;
11432                  }
11433                  case 26: {
11434                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
11435                    if (((bitField0_ & 0x00000004) == 0x00000004)) {
11436                      subBuilder = type_.toBuilder();
11437                    }
11438                    type_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
11439                    if (subBuilder != null) {
11440                      subBuilder.mergeFrom(type_);
11441                      type_ = subBuilder.buildPartial();
11442                    }
11443                    bitField0_ |= 0x00000004;
11444                    break;
11445                  }
11446                  case 34: {
11447                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
11448                    if (((bitField0_ & 0x00000008) == 0x00000008)) {
11449                      subBuilder = varargElementType_.toBuilder();
11450                    }
11451                    varargElementType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
11452                    if (subBuilder != null) {
11453                      subBuilder.mergeFrom(varargElementType_);
11454                      varargElementType_ = subBuilder.buildPartial();
11455                    }
11456                    bitField0_ |= 0x00000008;
11457                    break;
11458                  }
11459                }
11460              }
11461            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11462              throw e.setUnfinishedMessage(this);
11463            } catch (java.io.IOException e) {
11464              throw new com.google.protobuf.InvalidProtocolBufferException(
11465                  e.getMessage()).setUnfinishedMessage(this);
11466            } finally {
11467              makeExtensionsImmutable();
11468            }
11469          }
11470          public static com.google.protobuf.Parser<ValueParameter> PARSER =
11471              new com.google.protobuf.AbstractParser<ValueParameter>() {
11472            public ValueParameter parsePartialFrom(
11473                com.google.protobuf.CodedInputStream input,
11474                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11475                throws com.google.protobuf.InvalidProtocolBufferException {
11476              return new ValueParameter(input, extensionRegistry);
11477            }
11478          };
11479    
11480          @java.lang.Override
11481          public com.google.protobuf.Parser<ValueParameter> getParserForType() {
11482            return PARSER;
11483          }
11484    
11485          private int bitField0_;
11486          // optional int32 flags = 1;
11487          public static final int FLAGS_FIELD_NUMBER = 1;
11488          private int flags_;
11489          /**
11490           * <code>optional int32 flags = 1;</code>
11491           *
11492           * <pre>
11493           *
11494           *declaresDefault
11495           *has_annotations
11496           * </pre>
11497           */
11498          public boolean hasFlags() {
11499            return ((bitField0_ & 0x00000001) == 0x00000001);
11500          }
11501          /**
11502           * <code>optional int32 flags = 1;</code>
11503           *
11504           * <pre>
11505           *
11506           *declaresDefault
11507           *has_annotations
11508           * </pre>
11509           */
11510          public int getFlags() {
11511            return flags_;
11512          }
11513    
11514          // required int32 name = 2;
11515          public static final int NAME_FIELD_NUMBER = 2;
11516          private int name_;
11517          /**
11518           * <code>required int32 name = 2;</code>
11519           *
11520           * <pre>
11521           * Id in the StringTable
11522           * </pre>
11523           */
11524          public boolean hasName() {
11525            return ((bitField0_ & 0x00000002) == 0x00000002);
11526          }
11527          /**
11528           * <code>required int32 name = 2;</code>
11529           *
11530           * <pre>
11531           * Id in the StringTable
11532           * </pre>
11533           */
11534          public int getName() {
11535            return name_;
11536          }
11537    
11538          // required .org.jetbrains.kotlin.serialization.Type type = 3;
11539          public static final int TYPE_FIELD_NUMBER = 3;
11540          private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_;
11541          /**
11542           * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11543           */
11544          public boolean hasType() {
11545            return ((bitField0_ & 0x00000004) == 0x00000004);
11546          }
11547          /**
11548           * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11549           */
11550          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
11551            return type_;
11552          }
11553    
11554          // optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;
11555          public static final int VARARG_ELEMENT_TYPE_FIELD_NUMBER = 4;
11556          private org.jetbrains.kotlin.serialization.ProtoBuf.Type varargElementType_;
11557          /**
11558           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11559           */
11560          public boolean hasVarargElementType() {
11561            return ((bitField0_ & 0x00000008) == 0x00000008);
11562          }
11563          /**
11564           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11565           */
11566          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType() {
11567            return varargElementType_;
11568          }
11569    
11570          private void initFields() {
11571            flags_ = 0;
11572            name_ = 0;
11573            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11574            varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11575          }
11576          private byte memoizedIsInitialized = -1;
11577          public final boolean isInitialized() {
11578            byte isInitialized = memoizedIsInitialized;
11579            if (isInitialized != -1) return isInitialized == 1;
11580    
11581            if (!hasName()) {
11582              memoizedIsInitialized = 0;
11583              return false;
11584            }
11585            if (!hasType()) {
11586              memoizedIsInitialized = 0;
11587              return false;
11588            }
11589            if (!getType().isInitialized()) {
11590              memoizedIsInitialized = 0;
11591              return false;
11592            }
11593            if (hasVarargElementType()) {
11594              if (!getVarargElementType().isInitialized()) {
11595                memoizedIsInitialized = 0;
11596                return false;
11597              }
11598            }
11599            if (!extensionsAreInitialized()) {
11600              memoizedIsInitialized = 0;
11601              return false;
11602            }
11603            memoizedIsInitialized = 1;
11604            return true;
11605          }
11606    
11607          public void writeTo(com.google.protobuf.CodedOutputStream output)
11608                              throws java.io.IOException {
11609            getSerializedSize();
11610            com.google.protobuf.GeneratedMessageLite
11611              .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter>.ExtensionWriter extensionWriter =
11612                newExtensionWriter();
11613            if (((bitField0_ & 0x00000001) == 0x00000001)) {
11614              output.writeInt32(1, flags_);
11615            }
11616            if (((bitField0_ & 0x00000002) == 0x00000002)) {
11617              output.writeInt32(2, name_);
11618            }
11619            if (((bitField0_ & 0x00000004) == 0x00000004)) {
11620              output.writeMessage(3, type_);
11621            }
11622            if (((bitField0_ & 0x00000008) == 0x00000008)) {
11623              output.writeMessage(4, varargElementType_);
11624            }
11625            extensionWriter.writeUntil(200, output);
11626          }
11627    
11628          private int memoizedSerializedSize = -1;
11629          public int getSerializedSize() {
11630            int size = memoizedSerializedSize;
11631            if (size != -1) return size;
11632    
11633            size = 0;
11634            if (((bitField0_ & 0x00000001) == 0x00000001)) {
11635              size += com.google.protobuf.CodedOutputStream
11636                .computeInt32Size(1, flags_);
11637            }
11638            if (((bitField0_ & 0x00000002) == 0x00000002)) {
11639              size += com.google.protobuf.CodedOutputStream
11640                .computeInt32Size(2, name_);
11641            }
11642            if (((bitField0_ & 0x00000004) == 0x00000004)) {
11643              size += com.google.protobuf.CodedOutputStream
11644                .computeMessageSize(3, type_);
11645            }
11646            if (((bitField0_ & 0x00000008) == 0x00000008)) {
11647              size += com.google.protobuf.CodedOutputStream
11648                .computeMessageSize(4, varargElementType_);
11649            }
11650            size += extensionsSerializedSize();
11651            memoizedSerializedSize = size;
11652            return size;
11653          }
11654    
11655          private static final long serialVersionUID = 0L;
11656          @java.lang.Override
11657          protected java.lang.Object writeReplace()
11658              throws java.io.ObjectStreamException {
11659            return super.writeReplace();
11660          }
11661    
11662          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11663              com.google.protobuf.ByteString data)
11664              throws com.google.protobuf.InvalidProtocolBufferException {
11665            return PARSER.parseFrom(data);
11666          }
11667          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11668              com.google.protobuf.ByteString data,
11669              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11670              throws com.google.protobuf.InvalidProtocolBufferException {
11671            return PARSER.parseFrom(data, extensionRegistry);
11672          }
11673          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(byte[] data)
11674              throws com.google.protobuf.InvalidProtocolBufferException {
11675            return PARSER.parseFrom(data);
11676          }
11677          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11678              byte[] data,
11679              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11680              throws com.google.protobuf.InvalidProtocolBufferException {
11681            return PARSER.parseFrom(data, extensionRegistry);
11682          }
11683          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(java.io.InputStream input)
11684              throws java.io.IOException {
11685            return PARSER.parseFrom(input);
11686          }
11687          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11688              java.io.InputStream input,
11689              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11690              throws java.io.IOException {
11691            return PARSER.parseFrom(input, extensionRegistry);
11692          }
11693          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseDelimitedFrom(java.io.InputStream input)
11694              throws java.io.IOException {
11695            return PARSER.parseDelimitedFrom(input);
11696          }
11697          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseDelimitedFrom(
11698              java.io.InputStream input,
11699              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11700              throws java.io.IOException {
11701            return PARSER.parseDelimitedFrom(input, extensionRegistry);
11702          }
11703          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11704              com.google.protobuf.CodedInputStream input)
11705              throws java.io.IOException {
11706            return PARSER.parseFrom(input);
11707          }
11708          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11709              com.google.protobuf.CodedInputStream input,
11710              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11711              throws java.io.IOException {
11712            return PARSER.parseFrom(input, extensionRegistry);
11713          }
11714    
11715          public static Builder newBuilder() { return Builder.create(); }
11716          public Builder newBuilderForType() { return newBuilder(); }
11717          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter prototype) {
11718            return newBuilder().mergeFrom(prototype);
11719          }
11720          public Builder toBuilder() { return newBuilder(this); }
11721    
11722          /**
11723           * Protobuf type {@code org.jetbrains.kotlin.serialization.Callable.ValueParameter}
11724           */
11725          public static final class Builder extends
11726              com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
11727                org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameterOrBuilder {
11728            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.newBuilder()
11729            private Builder() {
11730              maybeForceBuilderInitialization();
11731            }
11732    
11733            private void maybeForceBuilderInitialization() {
11734            }
11735            private static Builder create() {
11736              return new Builder();
11737            }
11738    
11739            public Builder clear() {
11740              super.clear();
11741              flags_ = 0;
11742              bitField0_ = (bitField0_ & ~0x00000001);
11743              name_ = 0;
11744              bitField0_ = (bitField0_ & ~0x00000002);
11745              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11746              bitField0_ = (bitField0_ & ~0x00000004);
11747              varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11748              bitField0_ = (bitField0_ & ~0x00000008);
11749              return this;
11750            }
11751    
11752            public Builder clone() {
11753              return create().mergeFrom(buildPartial());
11754            }
11755    
11756            public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter getDefaultInstanceForType() {
11757              return org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.getDefaultInstance();
11758            }
11759    
11760            public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter build() {
11761              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter result = buildPartial();
11762              if (!result.isInitialized()) {
11763                throw newUninitializedMessageException(result);
11764              }
11765              return result;
11766            }
11767    
11768            public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter buildPartial() {
11769              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter result = new org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter(this);
11770              int from_bitField0_ = bitField0_;
11771              int to_bitField0_ = 0;
11772              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
11773                to_bitField0_ |= 0x00000001;
11774              }
11775              result.flags_ = flags_;
11776              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
11777                to_bitField0_ |= 0x00000002;
11778              }
11779              result.name_ = name_;
11780              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
11781                to_bitField0_ |= 0x00000004;
11782              }
11783              result.type_ = type_;
11784              if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
11785                to_bitField0_ |= 0x00000008;
11786              }
11787              result.varargElementType_ = varargElementType_;
11788              result.bitField0_ = to_bitField0_;
11789              return result;
11790            }
11791    
11792            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter other) {
11793              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.getDefaultInstance()) return this;
11794              if (other.hasFlags()) {
11795                setFlags(other.getFlags());
11796              }
11797              if (other.hasName()) {
11798                setName(other.getName());
11799              }
11800              if (other.hasType()) {
11801                mergeType(other.getType());
11802              }
11803              if (other.hasVarargElementType()) {
11804                mergeVarargElementType(other.getVarargElementType());
11805              }
11806              this.mergeExtensionFields(other);
11807              return this;
11808            }
11809    
11810            public final boolean isInitialized() {
11811              if (!hasName()) {
11812                
11813                return false;
11814              }
11815              if (!hasType()) {
11816                
11817                return false;
11818              }
11819              if (!getType().isInitialized()) {
11820                
11821                return false;
11822              }
11823              if (hasVarargElementType()) {
11824                if (!getVarargElementType().isInitialized()) {
11825                  
11826                  return false;
11827                }
11828              }
11829              if (!extensionsAreInitialized()) {
11830                
11831                return false;
11832              }
11833              return true;
11834            }
11835    
11836            public Builder mergeFrom(
11837                com.google.protobuf.CodedInputStream input,
11838                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11839                throws java.io.IOException {
11840              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parsedMessage = null;
11841              try {
11842                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
11843              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11844                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter) e.getUnfinishedMessage();
11845                throw e;
11846              } finally {
11847                if (parsedMessage != null) {
11848                  mergeFrom(parsedMessage);
11849                }
11850              }
11851              return this;
11852            }
11853            private int bitField0_;
11854    
11855            // optional int32 flags = 1;
11856            private int flags_ ;
11857            /**
11858             * <code>optional int32 flags = 1;</code>
11859             *
11860             * <pre>
11861             *
11862             *declaresDefault
11863             *has_annotations
11864             * </pre>
11865             */
11866            public boolean hasFlags() {
11867              return ((bitField0_ & 0x00000001) == 0x00000001);
11868            }
11869            /**
11870             * <code>optional int32 flags = 1;</code>
11871             *
11872             * <pre>
11873             *
11874             *declaresDefault
11875             *has_annotations
11876             * </pre>
11877             */
11878            public int getFlags() {
11879              return flags_;
11880            }
11881            /**
11882             * <code>optional int32 flags = 1;</code>
11883             *
11884             * <pre>
11885             *
11886             *declaresDefault
11887             *has_annotations
11888             * </pre>
11889             */
11890            public Builder setFlags(int value) {
11891              bitField0_ |= 0x00000001;
11892              flags_ = value;
11893              
11894              return this;
11895            }
11896            /**
11897             * <code>optional int32 flags = 1;</code>
11898             *
11899             * <pre>
11900             *
11901             *declaresDefault
11902             *has_annotations
11903             * </pre>
11904             */
11905            public Builder clearFlags() {
11906              bitField0_ = (bitField0_ & ~0x00000001);
11907              flags_ = 0;
11908              
11909              return this;
11910            }
11911    
11912            // required int32 name = 2;
11913            private int name_ ;
11914            /**
11915             * <code>required int32 name = 2;</code>
11916             *
11917             * <pre>
11918             * Id in the StringTable
11919             * </pre>
11920             */
11921            public boolean hasName() {
11922              return ((bitField0_ & 0x00000002) == 0x00000002);
11923            }
11924            /**
11925             * <code>required int32 name = 2;</code>
11926             *
11927             * <pre>
11928             * Id in the StringTable
11929             * </pre>
11930             */
11931            public int getName() {
11932              return name_;
11933            }
11934            /**
11935             * <code>required int32 name = 2;</code>
11936             *
11937             * <pre>
11938             * Id in the StringTable
11939             * </pre>
11940             */
11941            public Builder setName(int value) {
11942              bitField0_ |= 0x00000002;
11943              name_ = value;
11944              
11945              return this;
11946            }
11947            /**
11948             * <code>required int32 name = 2;</code>
11949             *
11950             * <pre>
11951             * Id in the StringTable
11952             * </pre>
11953             */
11954            public Builder clearName() {
11955              bitField0_ = (bitField0_ & ~0x00000002);
11956              name_ = 0;
11957              
11958              return this;
11959            }
11960    
11961            // required .org.jetbrains.kotlin.serialization.Type type = 3;
11962            private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11963            /**
11964             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11965             */
11966            public boolean hasType() {
11967              return ((bitField0_ & 0x00000004) == 0x00000004);
11968            }
11969            /**
11970             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11971             */
11972            public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
11973              return type_;
11974            }
11975            /**
11976             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11977             */
11978            public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11979              if (value == null) {
11980                throw new NullPointerException();
11981              }
11982              type_ = value;
11983    
11984              bitField0_ |= 0x00000004;
11985              return this;
11986            }
11987            /**
11988             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11989             */
11990            public Builder setType(
11991                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
11992              type_ = builderForValue.build();
11993    
11994              bitField0_ |= 0x00000004;
11995              return this;
11996            }
11997            /**
11998             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11999             */
12000            public Builder mergeType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
12001              if (((bitField0_ & 0x00000004) == 0x00000004) &&
12002                  type_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
12003                type_ =
12004                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
12005              } else {
12006                type_ = value;
12007              }
12008    
12009              bitField0_ |= 0x00000004;
12010              return this;
12011            }
12012            /**
12013             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
12014             */
12015            public Builder clearType() {
12016              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12017    
12018              bitField0_ = (bitField0_ & ~0x00000004);
12019              return this;
12020            }
12021    
12022            // optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;
12023            private org.jetbrains.kotlin.serialization.ProtoBuf.Type varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12024            /**
12025             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
12026             */
12027            public boolean hasVarargElementType() {
12028              return ((bitField0_ & 0x00000008) == 0x00000008);
12029            }
12030            /**
12031             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
12032             */
12033            public org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType() {
12034              return varargElementType_;
12035            }
12036            /**
12037             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
12038             */
12039            public Builder setVarargElementType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
12040              if (value == null) {
12041                throw new NullPointerException();
12042              }
12043              varargElementType_ = value;
12044    
12045              bitField0_ |= 0x00000008;
12046              return this;
12047            }
12048            /**
12049             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
12050             */
12051            public Builder setVarargElementType(
12052                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
12053              varargElementType_ = builderForValue.build();
12054    
12055              bitField0_ |= 0x00000008;
12056              return this;
12057            }
12058            /**
12059             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
12060             */
12061            public Builder mergeVarargElementType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
12062              if (((bitField0_ & 0x00000008) == 0x00000008) &&
12063                  varargElementType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
12064                varargElementType_ =
12065                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(varargElementType_).mergeFrom(value).buildPartial();
12066              } else {
12067                varargElementType_ = value;
12068              }
12069    
12070              bitField0_ |= 0x00000008;
12071              return this;
12072            }
12073            /**
12074             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
12075             */
12076            public Builder clearVarargElementType() {
12077              varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12078    
12079              bitField0_ = (bitField0_ & ~0x00000008);
12080              return this;
12081            }
12082    
12083            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Callable.ValueParameter)
12084          }
12085    
12086          static {
12087            defaultInstance = new ValueParameter(true);
12088            defaultInstance.initFields();
12089          }
12090    
12091          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Callable.ValueParameter)
12092        }
12093    
12094        private int bitField0_;
12095        // optional int32 flags = 1;
12096        public static final int FLAGS_FIELD_NUMBER = 1;
12097        private int flags_;
12098        /**
12099         * <code>optional int32 flags = 1;</code>
12100         *
12101         * <pre>
12102         *
12103         *Visibility
12104         *Modality
12105         *has_annotations
12106         *CallableKind
12107         *MemberKind
12108         *hasGetter
12109         *hasSetter
12110         *hasConstant
12111         * </pre>
12112         */
12113        public boolean hasFlags() {
12114          return ((bitField0_ & 0x00000001) == 0x00000001);
12115        }
12116        /**
12117         * <code>optional int32 flags = 1;</code>
12118         *
12119         * <pre>
12120         *
12121         *Visibility
12122         *Modality
12123         *has_annotations
12124         *CallableKind
12125         *MemberKind
12126         *hasGetter
12127         *hasSetter
12128         *hasConstant
12129         * </pre>
12130         */
12131        public int getFlags() {
12132          return flags_;
12133        }
12134    
12135        // optional string extra_visibility = 2;
12136        public static final int EXTRA_VISIBILITY_FIELD_NUMBER = 2;
12137        private java.lang.Object extraVisibility_;
12138        /**
12139         * <code>optional string extra_visibility = 2;</code>
12140         *
12141         * <pre>
12142         * for things like java-specific visibilities
12143         * </pre>
12144         */
12145        public boolean hasExtraVisibility() {
12146          return ((bitField0_ & 0x00000002) == 0x00000002);
12147        }
12148        /**
12149         * <code>optional string extra_visibility = 2;</code>
12150         *
12151         * <pre>
12152         * for things like java-specific visibilities
12153         * </pre>
12154         */
12155        public java.lang.String getExtraVisibility() {
12156          java.lang.Object ref = extraVisibility_;
12157          if (ref instanceof java.lang.String) {
12158            return (java.lang.String) ref;
12159          } else {
12160            com.google.protobuf.ByteString bs = 
12161                (com.google.protobuf.ByteString) ref;
12162            java.lang.String s = bs.toStringUtf8();
12163            if (bs.isValidUtf8()) {
12164              extraVisibility_ = s;
12165            }
12166            return s;
12167          }
12168        }
12169        /**
12170         * <code>optional string extra_visibility = 2;</code>
12171         *
12172         * <pre>
12173         * for things like java-specific visibilities
12174         * </pre>
12175         */
12176        public com.google.protobuf.ByteString
12177            getExtraVisibilityBytes() {
12178          java.lang.Object ref = extraVisibility_;
12179          if (ref instanceof java.lang.String) {
12180            com.google.protobuf.ByteString b = 
12181                com.google.protobuf.ByteString.copyFromUtf8(
12182                    (java.lang.String) ref);
12183            extraVisibility_ = b;
12184            return b;
12185          } else {
12186            return (com.google.protobuf.ByteString) ref;
12187          }
12188        }
12189    
12190        // optional int32 getter_flags = 9;
12191        public static final int GETTER_FLAGS_FIELD_NUMBER = 9;
12192        private int getterFlags_;
12193        /**
12194         * <code>optional int32 getter_flags = 9;</code>
12195         *
12196         * <pre>
12197         *
12198         *isNotDefault
12199         *Visibility
12200         *Modality
12201         *has_annotations
12202         * </pre>
12203         */
12204        public boolean hasGetterFlags() {
12205          return ((bitField0_ & 0x00000004) == 0x00000004);
12206        }
12207        /**
12208         * <code>optional int32 getter_flags = 9;</code>
12209         *
12210         * <pre>
12211         *
12212         *isNotDefault
12213         *Visibility
12214         *Modality
12215         *has_annotations
12216         * </pre>
12217         */
12218        public int getGetterFlags() {
12219          return getterFlags_;
12220        }
12221    
12222        // optional int32 setter_flags = 10;
12223        public static final int SETTER_FLAGS_FIELD_NUMBER = 10;
12224        private int setterFlags_;
12225        /**
12226         * <code>optional int32 setter_flags = 10;</code>
12227         */
12228        public boolean hasSetterFlags() {
12229          return ((bitField0_ & 0x00000008) == 0x00000008);
12230        }
12231        /**
12232         * <code>optional int32 setter_flags = 10;</code>
12233         */
12234        public int getSetterFlags() {
12235          return setterFlags_;
12236        }
12237    
12238        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
12239        public static final int TYPE_PARAMETER_FIELD_NUMBER = 4;
12240        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
12241        /**
12242         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12243         */
12244        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
12245          return typeParameter_;
12246        }
12247        /**
12248         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12249         */
12250        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
12251            getTypeParameterOrBuilderList() {
12252          return typeParameter_;
12253        }
12254        /**
12255         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12256         */
12257        public int getTypeParameterCount() {
12258          return typeParameter_.size();
12259        }
12260        /**
12261         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12262         */
12263        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
12264          return typeParameter_.get(index);
12265        }
12266        /**
12267         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12268         */
12269        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
12270            int index) {
12271          return typeParameter_.get(index);
12272        }
12273    
12274        // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
12275        public static final int RECEIVER_TYPE_FIELD_NUMBER = 5;
12276        private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_;
12277        /**
12278         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12279         */
12280        public boolean hasReceiverType() {
12281          return ((bitField0_ & 0x00000010) == 0x00000010);
12282        }
12283        /**
12284         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12285         */
12286        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
12287          return receiverType_;
12288        }
12289    
12290        // required int32 name = 6;
12291        public static final int NAME_FIELD_NUMBER = 6;
12292        private int name_;
12293        /**
12294         * <code>required int32 name = 6;</code>
12295         *
12296         * <pre>
12297         * Id in the StringTable
12298         * </pre>
12299         */
12300        public boolean hasName() {
12301          return ((bitField0_ & 0x00000020) == 0x00000020);
12302        }
12303        /**
12304         * <code>required int32 name = 6;</code>
12305         *
12306         * <pre>
12307         * Id in the StringTable
12308         * </pre>
12309         */
12310        public int getName() {
12311          return name_;
12312        }
12313    
12314        // repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;
12315        public static final int VALUE_PARAMETER_FIELD_NUMBER = 7;
12316        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> valueParameter_;
12317        /**
12318         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12319         *
12320         * <pre>
12321         * Value parameters for functions and constructors, or setter value parameter for properties
12322         * </pre>
12323         */
12324        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> getValueParameterList() {
12325          return valueParameter_;
12326        }
12327        /**
12328         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12329         *
12330         * <pre>
12331         * Value parameters for functions and constructors, or setter value parameter for properties
12332         * </pre>
12333         */
12334        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameterOrBuilder> 
12335            getValueParameterOrBuilderList() {
12336          return valueParameter_;
12337        }
12338        /**
12339         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12340         *
12341         * <pre>
12342         * Value parameters for functions and constructors, or setter value parameter for properties
12343         * </pre>
12344         */
12345        public int getValueParameterCount() {
12346          return valueParameter_.size();
12347        }
12348        /**
12349         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12350         *
12351         * <pre>
12352         * Value parameters for functions and constructors, or setter value parameter for properties
12353         * </pre>
12354         */
12355        public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index) {
12356          return valueParameter_.get(index);
12357        }
12358        /**
12359         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12360         *
12361         * <pre>
12362         * Value parameters for functions and constructors, or setter value parameter for properties
12363         * </pre>
12364         */
12365        public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameterOrBuilder getValueParameterOrBuilder(
12366            int index) {
12367          return valueParameter_.get(index);
12368        }
12369    
12370        // required .org.jetbrains.kotlin.serialization.Type return_type = 8;
12371        public static final int RETURN_TYPE_FIELD_NUMBER = 8;
12372        private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_;
12373        /**
12374         * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
12375         */
12376        public boolean hasReturnType() {
12377          return ((bitField0_ & 0x00000040) == 0x00000040);
12378        }
12379        /**
12380         * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
12381         */
12382        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
12383          return returnType_;
12384        }
12385    
12386        private void initFields() {
12387          flags_ = 0;
12388          extraVisibility_ = "";
12389          getterFlags_ = 0;
12390          setterFlags_ = 0;
12391          typeParameter_ = java.util.Collections.emptyList();
12392          receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12393          name_ = 0;
12394          valueParameter_ = java.util.Collections.emptyList();
12395          returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12396        }
12397        private byte memoizedIsInitialized = -1;
12398        public final boolean isInitialized() {
12399          byte isInitialized = memoizedIsInitialized;
12400          if (isInitialized != -1) return isInitialized == 1;
12401    
12402          if (!hasName()) {
12403            memoizedIsInitialized = 0;
12404            return false;
12405          }
12406          if (!hasReturnType()) {
12407            memoizedIsInitialized = 0;
12408            return false;
12409          }
12410          for (int i = 0; i < getTypeParameterCount(); i++) {
12411            if (!getTypeParameter(i).isInitialized()) {
12412              memoizedIsInitialized = 0;
12413              return false;
12414            }
12415          }
12416          if (hasReceiverType()) {
12417            if (!getReceiverType().isInitialized()) {
12418              memoizedIsInitialized = 0;
12419              return false;
12420            }
12421          }
12422          for (int i = 0; i < getValueParameterCount(); i++) {
12423            if (!getValueParameter(i).isInitialized()) {
12424              memoizedIsInitialized = 0;
12425              return false;
12426            }
12427          }
12428          if (!getReturnType().isInitialized()) {
12429            memoizedIsInitialized = 0;
12430            return false;
12431          }
12432          if (!extensionsAreInitialized()) {
12433            memoizedIsInitialized = 0;
12434            return false;
12435          }
12436          memoizedIsInitialized = 1;
12437          return true;
12438        }
12439    
12440        public void writeTo(com.google.protobuf.CodedOutputStream output)
12441                            throws java.io.IOException {
12442          getSerializedSize();
12443          com.google.protobuf.GeneratedMessageLite
12444            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>.ExtensionWriter extensionWriter =
12445              newExtensionWriter();
12446          if (((bitField0_ & 0x00000001) == 0x00000001)) {
12447            output.writeInt32(1, flags_);
12448          }
12449          if (((bitField0_ & 0x00000002) == 0x00000002)) {
12450            output.writeBytes(2, getExtraVisibilityBytes());
12451          }
12452          for (int i = 0; i < typeParameter_.size(); i++) {
12453            output.writeMessage(4, typeParameter_.get(i));
12454          }
12455          if (((bitField0_ & 0x00000010) == 0x00000010)) {
12456            output.writeMessage(5, receiverType_);
12457          }
12458          if (((bitField0_ & 0x00000020) == 0x00000020)) {
12459            output.writeInt32(6, name_);
12460          }
12461          for (int i = 0; i < valueParameter_.size(); i++) {
12462            output.writeMessage(7, valueParameter_.get(i));
12463          }
12464          if (((bitField0_ & 0x00000040) == 0x00000040)) {
12465            output.writeMessage(8, returnType_);
12466          }
12467          if (((bitField0_ & 0x00000004) == 0x00000004)) {
12468            output.writeInt32(9, getterFlags_);
12469          }
12470          if (((bitField0_ & 0x00000008) == 0x00000008)) {
12471            output.writeInt32(10, setterFlags_);
12472          }
12473          extensionWriter.writeUntil(200, output);
12474        }
12475    
12476        private int memoizedSerializedSize = -1;
12477        public int getSerializedSize() {
12478          int size = memoizedSerializedSize;
12479          if (size != -1) return size;
12480    
12481          size = 0;
12482          if (((bitField0_ & 0x00000001) == 0x00000001)) {
12483            size += com.google.protobuf.CodedOutputStream
12484              .computeInt32Size(1, flags_);
12485          }
12486          if (((bitField0_ & 0x00000002) == 0x00000002)) {
12487            size += com.google.protobuf.CodedOutputStream
12488              .computeBytesSize(2, getExtraVisibilityBytes());
12489          }
12490          for (int i = 0; i < typeParameter_.size(); i++) {
12491            size += com.google.protobuf.CodedOutputStream
12492              .computeMessageSize(4, typeParameter_.get(i));
12493          }
12494          if (((bitField0_ & 0x00000010) == 0x00000010)) {
12495            size += com.google.protobuf.CodedOutputStream
12496              .computeMessageSize(5, receiverType_);
12497          }
12498          if (((bitField0_ & 0x00000020) == 0x00000020)) {
12499            size += com.google.protobuf.CodedOutputStream
12500              .computeInt32Size(6, name_);
12501          }
12502          for (int i = 0; i < valueParameter_.size(); i++) {
12503            size += com.google.protobuf.CodedOutputStream
12504              .computeMessageSize(7, valueParameter_.get(i));
12505          }
12506          if (((bitField0_ & 0x00000040) == 0x00000040)) {
12507            size += com.google.protobuf.CodedOutputStream
12508              .computeMessageSize(8, returnType_);
12509          }
12510          if (((bitField0_ & 0x00000004) == 0x00000004)) {
12511            size += com.google.protobuf.CodedOutputStream
12512              .computeInt32Size(9, getterFlags_);
12513          }
12514          if (((bitField0_ & 0x00000008) == 0x00000008)) {
12515            size += com.google.protobuf.CodedOutputStream
12516              .computeInt32Size(10, setterFlags_);
12517          }
12518          size += extensionsSerializedSize();
12519          memoizedSerializedSize = size;
12520          return size;
12521        }
12522    
12523        private static final long serialVersionUID = 0L;
12524        @java.lang.Override
12525        protected java.lang.Object writeReplace()
12526            throws java.io.ObjectStreamException {
12527          return super.writeReplace();
12528        }
12529    
12530        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
12531            com.google.protobuf.ByteString data)
12532            throws com.google.protobuf.InvalidProtocolBufferException {
12533          return PARSER.parseFrom(data);
12534        }
12535        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
12536            com.google.protobuf.ByteString data,
12537            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12538            throws com.google.protobuf.InvalidProtocolBufferException {
12539          return PARSER.parseFrom(data, extensionRegistry);
12540        }
12541        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(byte[] data)
12542            throws com.google.protobuf.InvalidProtocolBufferException {
12543          return PARSER.parseFrom(data);
12544        }
12545        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
12546            byte[] data,
12547            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12548            throws com.google.protobuf.InvalidProtocolBufferException {
12549          return PARSER.parseFrom(data, extensionRegistry);
12550        }
12551        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(java.io.InputStream input)
12552            throws java.io.IOException {
12553          return PARSER.parseFrom(input);
12554        }
12555        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
12556            java.io.InputStream input,
12557            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12558            throws java.io.IOException {
12559          return PARSER.parseFrom(input, extensionRegistry);
12560        }
12561        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseDelimitedFrom(java.io.InputStream input)
12562            throws java.io.IOException {
12563          return PARSER.parseDelimitedFrom(input);
12564        }
12565        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseDelimitedFrom(
12566            java.io.InputStream input,
12567            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12568            throws java.io.IOException {
12569          return PARSER.parseDelimitedFrom(input, extensionRegistry);
12570        }
12571        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
12572            com.google.protobuf.CodedInputStream input)
12573            throws java.io.IOException {
12574          return PARSER.parseFrom(input);
12575        }
12576        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
12577            com.google.protobuf.CodedInputStream input,
12578            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12579            throws java.io.IOException {
12580          return PARSER.parseFrom(input, extensionRegistry);
12581        }
12582    
12583        public static Builder newBuilder() { return Builder.create(); }
12584        public Builder newBuilderForType() { return newBuilder(); }
12585        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Callable prototype) {
12586          return newBuilder().mergeFrom(prototype);
12587        }
12588        public Builder toBuilder() { return newBuilder(this); }
12589    
12590        /**
12591         * Protobuf type {@code org.jetbrains.kotlin.serialization.Callable}
12592         */
12593        public static final class Builder extends
12594            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
12595              org.jetbrains.kotlin.serialization.ProtoBuf.Callable, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder {
12596          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Callable.newBuilder()
12597          private Builder() {
12598            maybeForceBuilderInitialization();
12599          }
12600    
12601          private void maybeForceBuilderInitialization() {
12602          }
12603          private static Builder create() {
12604            return new Builder();
12605          }
12606    
12607          public Builder clear() {
12608            super.clear();
12609            flags_ = 0;
12610            bitField0_ = (bitField0_ & ~0x00000001);
12611            extraVisibility_ = "";
12612            bitField0_ = (bitField0_ & ~0x00000002);
12613            getterFlags_ = 0;
12614            bitField0_ = (bitField0_ & ~0x00000004);
12615            setterFlags_ = 0;
12616            bitField0_ = (bitField0_ & ~0x00000008);
12617            typeParameter_ = java.util.Collections.emptyList();
12618            bitField0_ = (bitField0_ & ~0x00000010);
12619            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12620            bitField0_ = (bitField0_ & ~0x00000020);
12621            name_ = 0;
12622            bitField0_ = (bitField0_ & ~0x00000040);
12623            valueParameter_ = java.util.Collections.emptyList();
12624            bitField0_ = (bitField0_ & ~0x00000080);
12625            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12626            bitField0_ = (bitField0_ & ~0x00000100);
12627            return this;
12628          }
12629    
12630          public Builder clone() {
12631            return create().mergeFrom(buildPartial());
12632          }
12633    
12634          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getDefaultInstanceForType() {
12635            return org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance();
12636          }
12637    
12638          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable build() {
12639            org.jetbrains.kotlin.serialization.ProtoBuf.Callable result = buildPartial();
12640            if (!result.isInitialized()) {
12641              throw newUninitializedMessageException(result);
12642            }
12643            return result;
12644          }
12645    
12646          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable buildPartial() {
12647            org.jetbrains.kotlin.serialization.ProtoBuf.Callable result = new org.jetbrains.kotlin.serialization.ProtoBuf.Callable(this);
12648            int from_bitField0_ = bitField0_;
12649            int to_bitField0_ = 0;
12650            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
12651              to_bitField0_ |= 0x00000001;
12652            }
12653            result.flags_ = flags_;
12654            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
12655              to_bitField0_ |= 0x00000002;
12656            }
12657            result.extraVisibility_ = extraVisibility_;
12658            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
12659              to_bitField0_ |= 0x00000004;
12660            }
12661            result.getterFlags_ = getterFlags_;
12662            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
12663              to_bitField0_ |= 0x00000008;
12664            }
12665            result.setterFlags_ = setterFlags_;
12666            if (((bitField0_ & 0x00000010) == 0x00000010)) {
12667              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
12668              bitField0_ = (bitField0_ & ~0x00000010);
12669            }
12670            result.typeParameter_ = typeParameter_;
12671            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
12672              to_bitField0_ |= 0x00000010;
12673            }
12674            result.receiverType_ = receiverType_;
12675            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
12676              to_bitField0_ |= 0x00000020;
12677            }
12678            result.name_ = name_;
12679            if (((bitField0_ & 0x00000080) == 0x00000080)) {
12680              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
12681              bitField0_ = (bitField0_ & ~0x00000080);
12682            }
12683            result.valueParameter_ = valueParameter_;
12684            if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
12685              to_bitField0_ |= 0x00000040;
12686            }
12687            result.returnType_ = returnType_;
12688            result.bitField0_ = to_bitField0_;
12689            return result;
12690          }
12691    
12692          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Callable other) {
12693            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance()) return this;
12694            if (other.hasFlags()) {
12695              setFlags(other.getFlags());
12696            }
12697            if (other.hasExtraVisibility()) {
12698              bitField0_ |= 0x00000002;
12699              extraVisibility_ = other.extraVisibility_;
12700              
12701            }
12702            if (other.hasGetterFlags()) {
12703              setGetterFlags(other.getGetterFlags());
12704            }
12705            if (other.hasSetterFlags()) {
12706              setSetterFlags(other.getSetterFlags());
12707            }
12708            if (!other.typeParameter_.isEmpty()) {
12709              if (typeParameter_.isEmpty()) {
12710                typeParameter_ = other.typeParameter_;
12711                bitField0_ = (bitField0_ & ~0x00000010);
12712              } else {
12713                ensureTypeParameterIsMutable();
12714                typeParameter_.addAll(other.typeParameter_);
12715              }
12716              
12717            }
12718            if (other.hasReceiverType()) {
12719              mergeReceiverType(other.getReceiverType());
12720            }
12721            if (other.hasName()) {
12722              setName(other.getName());
12723            }
12724            if (!other.valueParameter_.isEmpty()) {
12725              if (valueParameter_.isEmpty()) {
12726                valueParameter_ = other.valueParameter_;
12727                bitField0_ = (bitField0_ & ~0x00000080);
12728              } else {
12729                ensureValueParameterIsMutable();
12730                valueParameter_.addAll(other.valueParameter_);
12731              }
12732              
12733            }
12734            if (other.hasReturnType()) {
12735              mergeReturnType(other.getReturnType());
12736            }
12737            this.mergeExtensionFields(other);
12738            return this;
12739          }
12740    
12741          public final boolean isInitialized() {
12742            if (!hasName()) {
12743              
12744              return false;
12745            }
12746            if (!hasReturnType()) {
12747              
12748              return false;
12749            }
12750            for (int i = 0; i < getTypeParameterCount(); i++) {
12751              if (!getTypeParameter(i).isInitialized()) {
12752                
12753                return false;
12754              }
12755            }
12756            if (hasReceiverType()) {
12757              if (!getReceiverType().isInitialized()) {
12758                
12759                return false;
12760              }
12761            }
12762            for (int i = 0; i < getValueParameterCount(); i++) {
12763              if (!getValueParameter(i).isInitialized()) {
12764                
12765                return false;
12766              }
12767            }
12768            if (!getReturnType().isInitialized()) {
12769              
12770              return false;
12771            }
12772            if (!extensionsAreInitialized()) {
12773              
12774              return false;
12775            }
12776            return true;
12777          }
12778    
12779          public Builder mergeFrom(
12780              com.google.protobuf.CodedInputStream input,
12781              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12782              throws java.io.IOException {
12783            org.jetbrains.kotlin.serialization.ProtoBuf.Callable parsedMessage = null;
12784            try {
12785              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
12786            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
12787              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Callable) e.getUnfinishedMessage();
12788              throw e;
12789            } finally {
12790              if (parsedMessage != null) {
12791                mergeFrom(parsedMessage);
12792              }
12793            }
12794            return this;
12795          }
12796          private int bitField0_;
12797    
12798          // optional int32 flags = 1;
12799          private int flags_ ;
12800          /**
12801           * <code>optional int32 flags = 1;</code>
12802           *
12803           * <pre>
12804           *
12805           *Visibility
12806           *Modality
12807           *has_annotations
12808           *CallableKind
12809           *MemberKind
12810           *hasGetter
12811           *hasSetter
12812           *hasConstant
12813           * </pre>
12814           */
12815          public boolean hasFlags() {
12816            return ((bitField0_ & 0x00000001) == 0x00000001);
12817          }
12818          /**
12819           * <code>optional int32 flags = 1;</code>
12820           *
12821           * <pre>
12822           *
12823           *Visibility
12824           *Modality
12825           *has_annotations
12826           *CallableKind
12827           *MemberKind
12828           *hasGetter
12829           *hasSetter
12830           *hasConstant
12831           * </pre>
12832           */
12833          public int getFlags() {
12834            return flags_;
12835          }
12836          /**
12837           * <code>optional int32 flags = 1;</code>
12838           *
12839           * <pre>
12840           *
12841           *Visibility
12842           *Modality
12843           *has_annotations
12844           *CallableKind
12845           *MemberKind
12846           *hasGetter
12847           *hasSetter
12848           *hasConstant
12849           * </pre>
12850           */
12851          public Builder setFlags(int value) {
12852            bitField0_ |= 0x00000001;
12853            flags_ = value;
12854            
12855            return this;
12856          }
12857          /**
12858           * <code>optional int32 flags = 1;</code>
12859           *
12860           * <pre>
12861           *
12862           *Visibility
12863           *Modality
12864           *has_annotations
12865           *CallableKind
12866           *MemberKind
12867           *hasGetter
12868           *hasSetter
12869           *hasConstant
12870           * </pre>
12871           */
12872          public Builder clearFlags() {
12873            bitField0_ = (bitField0_ & ~0x00000001);
12874            flags_ = 0;
12875            
12876            return this;
12877          }
12878    
12879          // optional string extra_visibility = 2;
12880          private java.lang.Object extraVisibility_ = "";
12881          /**
12882           * <code>optional string extra_visibility = 2;</code>
12883           *
12884           * <pre>
12885           * for things like java-specific visibilities
12886           * </pre>
12887           */
12888          public boolean hasExtraVisibility() {
12889            return ((bitField0_ & 0x00000002) == 0x00000002);
12890          }
12891          /**
12892           * <code>optional string extra_visibility = 2;</code>
12893           *
12894           * <pre>
12895           * for things like java-specific visibilities
12896           * </pre>
12897           */
12898          public java.lang.String getExtraVisibility() {
12899            java.lang.Object ref = extraVisibility_;
12900            if (!(ref instanceof java.lang.String)) {
12901              java.lang.String s = ((com.google.protobuf.ByteString) ref)
12902                  .toStringUtf8();
12903              extraVisibility_ = s;
12904              return s;
12905            } else {
12906              return (java.lang.String) ref;
12907            }
12908          }
12909          /**
12910           * <code>optional string extra_visibility = 2;</code>
12911           *
12912           * <pre>
12913           * for things like java-specific visibilities
12914           * </pre>
12915           */
12916          public com.google.protobuf.ByteString
12917              getExtraVisibilityBytes() {
12918            java.lang.Object ref = extraVisibility_;
12919            if (ref instanceof String) {
12920              com.google.protobuf.ByteString b = 
12921                  com.google.protobuf.ByteString.copyFromUtf8(
12922                      (java.lang.String) ref);
12923              extraVisibility_ = b;
12924              return b;
12925            } else {
12926              return (com.google.protobuf.ByteString) ref;
12927            }
12928          }
12929          /**
12930           * <code>optional string extra_visibility = 2;</code>
12931           *
12932           * <pre>
12933           * for things like java-specific visibilities
12934           * </pre>
12935           */
12936          public Builder setExtraVisibility(
12937              java.lang.String value) {
12938            if (value == null) {
12939        throw new NullPointerException();
12940      }
12941      bitField0_ |= 0x00000002;
12942            extraVisibility_ = value;
12943            
12944            return this;
12945          }
12946          /**
12947           * <code>optional string extra_visibility = 2;</code>
12948           *
12949           * <pre>
12950           * for things like java-specific visibilities
12951           * </pre>
12952           */
12953          public Builder clearExtraVisibility() {
12954            bitField0_ = (bitField0_ & ~0x00000002);
12955            extraVisibility_ = getDefaultInstance().getExtraVisibility();
12956            
12957            return this;
12958          }
12959          /**
12960           * <code>optional string extra_visibility = 2;</code>
12961           *
12962           * <pre>
12963           * for things like java-specific visibilities
12964           * </pre>
12965           */
12966          public Builder setExtraVisibilityBytes(
12967              com.google.protobuf.ByteString value) {
12968            if (value == null) {
12969        throw new NullPointerException();
12970      }
12971      bitField0_ |= 0x00000002;
12972            extraVisibility_ = value;
12973            
12974            return this;
12975          }
12976    
12977          // optional int32 getter_flags = 9;
12978          private int getterFlags_ ;
12979          /**
12980           * <code>optional int32 getter_flags = 9;</code>
12981           *
12982           * <pre>
12983           *
12984           *isNotDefault
12985           *Visibility
12986           *Modality
12987           *has_annotations
12988           * </pre>
12989           */
12990          public boolean hasGetterFlags() {
12991            return ((bitField0_ & 0x00000004) == 0x00000004);
12992          }
12993          /**
12994           * <code>optional int32 getter_flags = 9;</code>
12995           *
12996           * <pre>
12997           *
12998           *isNotDefault
12999           *Visibility
13000           *Modality
13001           *has_annotations
13002           * </pre>
13003           */
13004          public int getGetterFlags() {
13005            return getterFlags_;
13006          }
13007          /**
13008           * <code>optional int32 getter_flags = 9;</code>
13009           *
13010           * <pre>
13011           *
13012           *isNotDefault
13013           *Visibility
13014           *Modality
13015           *has_annotations
13016           * </pre>
13017           */
13018          public Builder setGetterFlags(int value) {
13019            bitField0_ |= 0x00000004;
13020            getterFlags_ = value;
13021            
13022            return this;
13023          }
13024          /**
13025           * <code>optional int32 getter_flags = 9;</code>
13026           *
13027           * <pre>
13028           *
13029           *isNotDefault
13030           *Visibility
13031           *Modality
13032           *has_annotations
13033           * </pre>
13034           */
13035          public Builder clearGetterFlags() {
13036            bitField0_ = (bitField0_ & ~0x00000004);
13037            getterFlags_ = 0;
13038            
13039            return this;
13040          }
13041    
13042          // optional int32 setter_flags = 10;
13043          private int setterFlags_ ;
13044          /**
13045           * <code>optional int32 setter_flags = 10;</code>
13046           */
13047          public boolean hasSetterFlags() {
13048            return ((bitField0_ & 0x00000008) == 0x00000008);
13049          }
13050          /**
13051           * <code>optional int32 setter_flags = 10;</code>
13052           */
13053          public int getSetterFlags() {
13054            return setterFlags_;
13055          }
13056          /**
13057           * <code>optional int32 setter_flags = 10;</code>
13058           */
13059          public Builder setSetterFlags(int value) {
13060            bitField0_ |= 0x00000008;
13061            setterFlags_ = value;
13062            
13063            return this;
13064          }
13065          /**
13066           * <code>optional int32 setter_flags = 10;</code>
13067           */
13068          public Builder clearSetterFlags() {
13069            bitField0_ = (bitField0_ & ~0x00000008);
13070            setterFlags_ = 0;
13071            
13072            return this;
13073          }
13074    
13075          // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
13076          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
13077            java.util.Collections.emptyList();
13078          private void ensureTypeParameterIsMutable() {
13079            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
13080              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
13081              bitField0_ |= 0x00000010;
13082             }
13083          }
13084    
13085          /**
13086           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13087           */
13088          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
13089            return java.util.Collections.unmodifiableList(typeParameter_);
13090          }
13091          /**
13092           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13093           */
13094          public int getTypeParameterCount() {
13095            return typeParameter_.size();
13096          }
13097          /**
13098           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13099           */
13100          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
13101            return typeParameter_.get(index);
13102          }
13103          /**
13104           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13105           */
13106          public Builder setTypeParameter(
13107              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
13108            if (value == null) {
13109              throw new NullPointerException();
13110            }
13111            ensureTypeParameterIsMutable();
13112            typeParameter_.set(index, value);
13113    
13114            return this;
13115          }
13116          /**
13117           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13118           */
13119          public Builder setTypeParameter(
13120              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
13121            ensureTypeParameterIsMutable();
13122            typeParameter_.set(index, builderForValue.build());
13123    
13124            return this;
13125          }
13126          /**
13127           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13128           */
13129          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
13130            if (value == null) {
13131              throw new NullPointerException();
13132            }
13133            ensureTypeParameterIsMutable();
13134            typeParameter_.add(value);
13135    
13136            return this;
13137          }
13138          /**
13139           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13140           */
13141          public Builder addTypeParameter(
13142              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
13143            if (value == null) {
13144              throw new NullPointerException();
13145            }
13146            ensureTypeParameterIsMutable();
13147            typeParameter_.add(index, value);
13148    
13149            return this;
13150          }
13151          /**
13152           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13153           */
13154          public Builder addTypeParameter(
13155              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
13156            ensureTypeParameterIsMutable();
13157            typeParameter_.add(builderForValue.build());
13158    
13159            return this;
13160          }
13161          /**
13162           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13163           */
13164          public Builder addTypeParameter(
13165              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
13166            ensureTypeParameterIsMutable();
13167            typeParameter_.add(index, builderForValue.build());
13168    
13169            return this;
13170          }
13171          /**
13172           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13173           */
13174          public Builder addAllTypeParameter(
13175              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
13176            ensureTypeParameterIsMutable();
13177            super.addAll(values, typeParameter_);
13178    
13179            return this;
13180          }
13181          /**
13182           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13183           */
13184          public Builder clearTypeParameter() {
13185            typeParameter_ = java.util.Collections.emptyList();
13186            bitField0_ = (bitField0_ & ~0x00000010);
13187    
13188            return this;
13189          }
13190          /**
13191           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13192           */
13193          public Builder removeTypeParameter(int index) {
13194            ensureTypeParameterIsMutable();
13195            typeParameter_.remove(index);
13196    
13197            return this;
13198          }
13199    
13200          // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
13201          private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13202          /**
13203           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13204           */
13205          public boolean hasReceiverType() {
13206            return ((bitField0_ & 0x00000020) == 0x00000020);
13207          }
13208          /**
13209           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13210           */
13211          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
13212            return receiverType_;
13213          }
13214          /**
13215           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13216           */
13217          public Builder setReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
13218            if (value == null) {
13219              throw new NullPointerException();
13220            }
13221            receiverType_ = value;
13222    
13223            bitField0_ |= 0x00000020;
13224            return this;
13225          }
13226          /**
13227           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13228           */
13229          public Builder setReceiverType(
13230              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
13231            receiverType_ = builderForValue.build();
13232    
13233            bitField0_ |= 0x00000020;
13234            return this;
13235          }
13236          /**
13237           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13238           */
13239          public Builder mergeReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
13240            if (((bitField0_ & 0x00000020) == 0x00000020) &&
13241                receiverType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
13242              receiverType_ =
13243                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(receiverType_).mergeFrom(value).buildPartial();
13244            } else {
13245              receiverType_ = value;
13246            }
13247    
13248            bitField0_ |= 0x00000020;
13249            return this;
13250          }
13251          /**
13252           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13253           */
13254          public Builder clearReceiverType() {
13255            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13256    
13257            bitField0_ = (bitField0_ & ~0x00000020);
13258            return this;
13259          }
13260    
13261          // required int32 name = 6;
13262          private int name_ ;
13263          /**
13264           * <code>required int32 name = 6;</code>
13265           *
13266           * <pre>
13267           * Id in the StringTable
13268           * </pre>
13269           */
13270          public boolean hasName() {
13271            return ((bitField0_ & 0x00000040) == 0x00000040);
13272          }
13273          /**
13274           * <code>required int32 name = 6;</code>
13275           *
13276           * <pre>
13277           * Id in the StringTable
13278           * </pre>
13279           */
13280          public int getName() {
13281            return name_;
13282          }
13283          /**
13284           * <code>required int32 name = 6;</code>
13285           *
13286           * <pre>
13287           * Id in the StringTable
13288           * </pre>
13289           */
13290          public Builder setName(int value) {
13291            bitField0_ |= 0x00000040;
13292            name_ = value;
13293            
13294            return this;
13295          }
13296          /**
13297           * <code>required int32 name = 6;</code>
13298           *
13299           * <pre>
13300           * Id in the StringTable
13301           * </pre>
13302           */
13303          public Builder clearName() {
13304            bitField0_ = (bitField0_ & ~0x00000040);
13305            name_ = 0;
13306            
13307            return this;
13308          }
13309    
13310          // repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;
13311          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> valueParameter_ =
13312            java.util.Collections.emptyList();
13313          private void ensureValueParameterIsMutable() {
13314            if (!((bitField0_ & 0x00000080) == 0x00000080)) {
13315              valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter>(valueParameter_);
13316              bitField0_ |= 0x00000080;
13317             }
13318          }
13319    
13320          /**
13321           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
13322           *
13323           * <pre>
13324           * Value parameters for functions and constructors, or setter value parameter for properties
13325           * </pre>
13326           */
13327          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> getValueParameterList() {
13328            return java.util.Collections.unmodifiableList(valueParameter_);
13329          }
13330          /**
13331           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
13332           *
13333           * <pre>
13334           * Value parameters for functions and constructors, or setter value parameter for properties
13335           * </pre>
13336           */
13337          public int getValueParameterCount() {
13338            return valueParameter_.size();
13339          }
13340          /**
13341           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
13342           *
13343           * <pre>
13344           * Value parameters for functions and constructors, or setter value parameter for properties
13345           * </pre>
13346           */
13347          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index) {
13348            return valueParameter_.get(index);
13349          }
13350          /**
13351           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
13352           *
13353           * <pre>
13354           * Value parameters for functions and constructors, or setter value parameter for properties
13355           * </pre>
13356           */
13357          public Builder setValueParameter(
13358              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter value) {
13359            if (value == null) {
13360              throw new NullPointerException();
13361            }
13362            ensureValueParameterIsMutable();
13363            valueParameter_.set(index, value);
13364    
13365            return this;
13366          }
13367          /**
13368           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
13369           *
13370           * <pre>
13371           * Value parameters for functions and constructors, or setter value parameter for properties
13372           * </pre>
13373           */
13374          public Builder setValueParameter(
13375              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
13376            ensureValueParameterIsMutable();
13377            valueParameter_.set(index, builderForValue.build());
13378    
13379            return this;
13380          }
13381          /**
13382           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
13383           *
13384           * <pre>
13385           * Value parameters for functions and constructors, or setter value parameter for properties
13386           * </pre>
13387           */
13388          public Builder addValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter value) {
13389            if (value == null) {
13390              throw new NullPointerException();
13391            }
13392            ensureValueParameterIsMutable();
13393            valueParameter_.add(value);
13394    
13395            return this;
13396          }
13397          /**
13398           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
13399           *
13400           * <pre>
13401           * Value parameters for functions and constructors, or setter value parameter for properties
13402           * </pre>
13403           */
13404          public Builder addValueParameter(
13405              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter value) {
13406            if (value == null) {
13407              throw new NullPointerException();
13408            }
13409            ensureValueParameterIsMutable();
13410            valueParameter_.add(index, value);
13411    
13412            return this;
13413          }
13414          /**
13415           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
13416           *
13417           * <pre>
13418           * Value parameters for functions and constructors, or setter value parameter for properties
13419           * </pre>
13420           */
13421          public Builder addValueParameter(
13422              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
13423            ensureValueParameterIsMutable();
13424            valueParameter_.add(builderForValue.build());
13425    
13426            return this;
13427          }
13428          /**
13429           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
13430           *
13431           * <pre>
13432           * Value parameters for functions and constructors, or setter value parameter for properties
13433           * </pre>
13434           */
13435          public Builder addValueParameter(
13436              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
13437            ensureValueParameterIsMutable();
13438            valueParameter_.add(index, builderForValue.build());
13439    
13440            return this;
13441          }
13442          /**
13443           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
13444           *
13445           * <pre>
13446           * Value parameters for functions and constructors, or setter value parameter for properties
13447           * </pre>
13448           */
13449          public Builder addAllValueParameter(
13450              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> values) {
13451            ensureValueParameterIsMutable();
13452            super.addAll(values, valueParameter_);
13453    
13454            return this;
13455          }
13456          /**
13457           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
13458           *
13459           * <pre>
13460           * Value parameters for functions and constructors, or setter value parameter for properties
13461           * </pre>
13462           */
13463          public Builder clearValueParameter() {
13464            valueParameter_ = java.util.Collections.emptyList();
13465            bitField0_ = (bitField0_ & ~0x00000080);
13466    
13467            return this;
13468          }
13469          /**
13470           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
13471           *
13472           * <pre>
13473           * Value parameters for functions and constructors, or setter value parameter for properties
13474           * </pre>
13475           */
13476          public Builder removeValueParameter(int index) {
13477            ensureValueParameterIsMutable();
13478            valueParameter_.remove(index);
13479    
13480            return this;
13481          }
13482    
13483          // required .org.jetbrains.kotlin.serialization.Type return_type = 8;
13484          private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13485          /**
13486           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
13487           */
13488          public boolean hasReturnType() {
13489            return ((bitField0_ & 0x00000100) == 0x00000100);
13490          }
13491          /**
13492           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
13493           */
13494          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
13495            return returnType_;
13496          }
13497          /**
13498           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
13499           */
13500          public Builder setReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
13501            if (value == null) {
13502              throw new NullPointerException();
13503            }
13504            returnType_ = value;
13505    
13506            bitField0_ |= 0x00000100;
13507            return this;
13508          }
13509          /**
13510           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
13511           */
13512          public Builder setReturnType(
13513              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
13514            returnType_ = builderForValue.build();
13515    
13516            bitField0_ |= 0x00000100;
13517            return this;
13518          }
13519          /**
13520           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
13521           */
13522          public Builder mergeReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
13523            if (((bitField0_ & 0x00000100) == 0x00000100) &&
13524                returnType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
13525              returnType_ =
13526                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(returnType_).mergeFrom(value).buildPartial();
13527            } else {
13528              returnType_ = value;
13529            }
13530    
13531            bitField0_ |= 0x00000100;
13532            return this;
13533          }
13534          /**
13535           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
13536           */
13537          public Builder clearReturnType() {
13538            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13539    
13540            bitField0_ = (bitField0_ & ~0x00000100);
13541            return this;
13542          }
13543    
13544          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Callable)
13545        }
13546    
13547        static {
13548          defaultInstance = new Callable(true);
13549          defaultInstance.initFields();
13550        }
13551    
13552        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Callable)
13553      }
13554    
13555    
13556      static {
13557      }
13558    
13559      // @@protoc_insertion_point(outer_class_scope)
13560    }