001    // Generated by the protocol buffer compiler.  DO NOT EDIT!
002    // source: core/deserialization/src/descriptors.proto
003    
004    package org.jetbrains.kotlin.serialization;
005    
006    public final class ProtoBuf {
007      private ProtoBuf() {}
008      public static void registerAllExtensions(
009          com.google.protobuf.ExtensionRegistryLite registry) {
010      }
011      /**
012       * Protobuf enum {@code org.jetbrains.kotlin.serialization.Modality}
013       */
014      public enum Modality
015          implements com.google.protobuf.Internal.EnumLite {
016        /**
017         * <code>FINAL = 0;</code>
018         *
019         * <pre>
020         * 2 bits
021         * </pre>
022         */
023        FINAL(0, 0),
024        /**
025         * <code>OPEN = 1;</code>
026         */
027        OPEN(1, 1),
028        /**
029         * <code>ABSTRACT = 2;</code>
030         */
031        ABSTRACT(2, 2),
032        /**
033         * <code>SEALED = 3;</code>
034         */
035        SEALED(3, 3),
036        ;
037    
038        /**
039         * <code>FINAL = 0;</code>
040         *
041         * <pre>
042         * 2 bits
043         * </pre>
044         */
045        public static final int FINAL_VALUE = 0;
046        /**
047         * <code>OPEN = 1;</code>
048         */
049        public static final int OPEN_VALUE = 1;
050        /**
051         * <code>ABSTRACT = 2;</code>
052         */
053        public static final int ABSTRACT_VALUE = 2;
054        /**
055         * <code>SEALED = 3;</code>
056         */
057        public static final int SEALED_VALUE = 3;
058    
059    
060        public final int getNumber() { return value; }
061    
062        public static Modality valueOf(int value) {
063          switch (value) {
064            case 0: return FINAL;
065            case 1: return OPEN;
066            case 2: return ABSTRACT;
067            case 3: return SEALED;
068            default: return null;
069          }
070        }
071    
072        public static com.google.protobuf.Internal.EnumLiteMap<Modality>
073            internalGetValueMap() {
074          return internalValueMap;
075        }
076        private static com.google.protobuf.Internal.EnumLiteMap<Modality>
077            internalValueMap =
078              new com.google.protobuf.Internal.EnumLiteMap<Modality>() {
079                public Modality findValueByNumber(int number) {
080                  return Modality.valueOf(number);
081                }
082              };
083    
084        private final int value;
085    
086        private Modality(int index, int value) {
087          this.value = value;
088        }
089    
090        // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Modality)
091      }
092    
093      /**
094       * Protobuf enum {@code org.jetbrains.kotlin.serialization.Visibility}
095       */
096      public enum Visibility
097          implements com.google.protobuf.Internal.EnumLite {
098        /**
099         * <code>INTERNAL = 0;</code>
100         *
101         * <pre>
102         * 3 bits
103         * </pre>
104         */
105        INTERNAL(0, 0),
106        /**
107         * <code>PRIVATE = 1;</code>
108         */
109        PRIVATE(1, 1),
110        /**
111         * <code>PROTECTED = 2;</code>
112         */
113        PROTECTED(2, 2),
114        /**
115         * <code>PUBLIC = 3;</code>
116         */
117        PUBLIC(3, 3),
118        /**
119         * <code>PRIVATE_TO_THIS = 4;</code>
120         */
121        PRIVATE_TO_THIS(4, 4),
122        /**
123         * <code>LOCAL = 5;</code>
124         */
125        LOCAL(5, 5),
126        ;
127    
128        /**
129         * <code>INTERNAL = 0;</code>
130         *
131         * <pre>
132         * 3 bits
133         * </pre>
134         */
135        public static final int INTERNAL_VALUE = 0;
136        /**
137         * <code>PRIVATE = 1;</code>
138         */
139        public static final int PRIVATE_VALUE = 1;
140        /**
141         * <code>PROTECTED = 2;</code>
142         */
143        public static final int PROTECTED_VALUE = 2;
144        /**
145         * <code>PUBLIC = 3;</code>
146         */
147        public static final int PUBLIC_VALUE = 3;
148        /**
149         * <code>PRIVATE_TO_THIS = 4;</code>
150         */
151        public static final int PRIVATE_TO_THIS_VALUE = 4;
152        /**
153         * <code>LOCAL = 5;</code>
154         */
155        public static final int LOCAL_VALUE = 5;
156    
157    
158        public final int getNumber() { return value; }
159    
160        public static Visibility valueOf(int value) {
161          switch (value) {
162            case 0: return INTERNAL;
163            case 1: return PRIVATE;
164            case 2: return PROTECTED;
165            case 3: return PUBLIC;
166            case 4: return PRIVATE_TO_THIS;
167            case 5: return LOCAL;
168            default: return null;
169          }
170        }
171    
172        public static com.google.protobuf.Internal.EnumLiteMap<Visibility>
173            internalGetValueMap() {
174          return internalValueMap;
175        }
176        private static com.google.protobuf.Internal.EnumLiteMap<Visibility>
177            internalValueMap =
178              new com.google.protobuf.Internal.EnumLiteMap<Visibility>() {
179                public Visibility findValueByNumber(int number) {
180                  return Visibility.valueOf(number);
181                }
182              };
183    
184        private final int value;
185    
186        private Visibility(int index, int value) {
187          this.value = value;
188        }
189    
190        // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Visibility)
191      }
192    
193      public interface StringTableOrBuilder
194          extends com.google.protobuf.MessageLiteOrBuilder {
195    
196        // repeated string string = 1;
197        /**
198         * <code>repeated string string = 1;</code>
199         */
200        java.util.List<java.lang.String>
201        getStringList();
202        /**
203         * <code>repeated string string = 1;</code>
204         */
205        int getStringCount();
206        /**
207         * <code>repeated string string = 1;</code>
208         */
209        java.lang.String getString(int index);
210        /**
211         * <code>repeated string string = 1;</code>
212         */
213        com.google.protobuf.ByteString
214            getStringBytes(int index);
215      }
216      /**
217       * Protobuf type {@code org.jetbrains.kotlin.serialization.StringTable}
218       */
219      public static final class StringTable extends
220          com.google.protobuf.GeneratedMessageLite
221          implements StringTableOrBuilder {
222        // Use StringTable.newBuilder() to construct.
223        private StringTable(com.google.protobuf.GeneratedMessageLite.Builder builder) {
224          super(builder);
225    
226        }
227        private StringTable(boolean noInit) {}
228    
229        private static final StringTable defaultInstance;
230        public static StringTable getDefaultInstance() {
231          return defaultInstance;
232        }
233    
234        public StringTable getDefaultInstanceForType() {
235          return defaultInstance;
236        }
237    
238        private StringTable(
239            com.google.protobuf.CodedInputStream input,
240            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
241            throws com.google.protobuf.InvalidProtocolBufferException {
242          initFields();
243          int mutable_bitField0_ = 0;
244          try {
245            boolean done = false;
246            while (!done) {
247              int tag = input.readTag();
248              switch (tag) {
249                case 0:
250                  done = true;
251                  break;
252                default: {
253                  if (!parseUnknownField(input,
254                                         extensionRegistry, tag)) {
255                    done = true;
256                  }
257                  break;
258                }
259                case 10: {
260                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
261                    string_ = new com.google.protobuf.LazyStringArrayList();
262                    mutable_bitField0_ |= 0x00000001;
263                  }
264                  string_.add(input.readBytes());
265                  break;
266                }
267              }
268            }
269          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
270            throw e.setUnfinishedMessage(this);
271          } catch (java.io.IOException e) {
272            throw new com.google.protobuf.InvalidProtocolBufferException(
273                e.getMessage()).setUnfinishedMessage(this);
274          } finally {
275            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
276              string_ = new com.google.protobuf.UnmodifiableLazyStringList(string_);
277            }
278            makeExtensionsImmutable();
279          }
280        }
281        public static com.google.protobuf.Parser<StringTable> PARSER =
282            new com.google.protobuf.AbstractParser<StringTable>() {
283          public StringTable parsePartialFrom(
284              com.google.protobuf.CodedInputStream input,
285              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
286              throws com.google.protobuf.InvalidProtocolBufferException {
287            return new StringTable(input, extensionRegistry);
288          }
289        };
290    
291        @java.lang.Override
292        public com.google.protobuf.Parser<StringTable> getParserForType() {
293          return PARSER;
294        }
295    
296        // repeated string string = 1;
297        public static final int STRING_FIELD_NUMBER = 1;
298        private com.google.protobuf.LazyStringList string_;
299        /**
300         * <code>repeated string string = 1;</code>
301         */
302        public java.util.List<java.lang.String>
303            getStringList() {
304          return string_;
305        }
306        /**
307         * <code>repeated string string = 1;</code>
308         */
309        public int getStringCount() {
310          return string_.size();
311        }
312        /**
313         * <code>repeated string string = 1;</code>
314         */
315        public java.lang.String getString(int index) {
316          return string_.get(index);
317        }
318        /**
319         * <code>repeated string string = 1;</code>
320         */
321        public com.google.protobuf.ByteString
322            getStringBytes(int index) {
323          return string_.getByteString(index);
324        }
325    
326        private void initFields() {
327          string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
328        }
329        private byte memoizedIsInitialized = -1;
330        public final boolean isInitialized() {
331          byte isInitialized = memoizedIsInitialized;
332          if (isInitialized != -1) return isInitialized == 1;
333    
334          memoizedIsInitialized = 1;
335          return true;
336        }
337    
338        public void writeTo(com.google.protobuf.CodedOutputStream output)
339                            throws java.io.IOException {
340          getSerializedSize();
341          for (int i = 0; i < string_.size(); i++) {
342            output.writeBytes(1, string_.getByteString(i));
343          }
344        }
345    
346        private int memoizedSerializedSize = -1;
347        public int getSerializedSize() {
348          int size = memoizedSerializedSize;
349          if (size != -1) return size;
350    
351          size = 0;
352          {
353            int dataSize = 0;
354            for (int i = 0; i < string_.size(); i++) {
355              dataSize += com.google.protobuf.CodedOutputStream
356                .computeBytesSizeNoTag(string_.getByteString(i));
357            }
358            size += dataSize;
359            size += 1 * getStringList().size();
360          }
361          memoizedSerializedSize = size;
362          return size;
363        }
364    
365        private static final long serialVersionUID = 0L;
366        @java.lang.Override
367        protected java.lang.Object writeReplace()
368            throws java.io.ObjectStreamException {
369          return super.writeReplace();
370        }
371    
372        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
373            com.google.protobuf.ByteString data)
374            throws com.google.protobuf.InvalidProtocolBufferException {
375          return PARSER.parseFrom(data);
376        }
377        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
378            com.google.protobuf.ByteString data,
379            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
380            throws com.google.protobuf.InvalidProtocolBufferException {
381          return PARSER.parseFrom(data, extensionRegistry);
382        }
383        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(byte[] data)
384            throws com.google.protobuf.InvalidProtocolBufferException {
385          return PARSER.parseFrom(data);
386        }
387        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
388            byte[] data,
389            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
390            throws com.google.protobuf.InvalidProtocolBufferException {
391          return PARSER.parseFrom(data, extensionRegistry);
392        }
393        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(java.io.InputStream input)
394            throws java.io.IOException {
395          return PARSER.parseFrom(input);
396        }
397        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
398            java.io.InputStream input,
399            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
400            throws java.io.IOException {
401          return PARSER.parseFrom(input, extensionRegistry);
402        }
403        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseDelimitedFrom(java.io.InputStream input)
404            throws java.io.IOException {
405          return PARSER.parseDelimitedFrom(input);
406        }
407        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseDelimitedFrom(
408            java.io.InputStream input,
409            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
410            throws java.io.IOException {
411          return PARSER.parseDelimitedFrom(input, extensionRegistry);
412        }
413        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
414            com.google.protobuf.CodedInputStream input)
415            throws java.io.IOException {
416          return PARSER.parseFrom(input);
417        }
418        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
419            com.google.protobuf.CodedInputStream input,
420            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
421            throws java.io.IOException {
422          return PARSER.parseFrom(input, extensionRegistry);
423        }
424    
425        public static Builder newBuilder() { return Builder.create(); }
426        public Builder newBuilderForType() { return newBuilder(); }
427        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.StringTable prototype) {
428          return newBuilder().mergeFrom(prototype);
429        }
430        public Builder toBuilder() { return newBuilder(this); }
431    
432        /**
433         * Protobuf type {@code org.jetbrains.kotlin.serialization.StringTable}
434         */
435        public static final class Builder extends
436            com.google.protobuf.GeneratedMessageLite.Builder<
437              org.jetbrains.kotlin.serialization.ProtoBuf.StringTable, Builder>
438            implements org.jetbrains.kotlin.serialization.ProtoBuf.StringTableOrBuilder {
439          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.newBuilder()
440          private Builder() {
441            maybeForceBuilderInitialization();
442          }
443    
444          private void maybeForceBuilderInitialization() {
445          }
446          private static Builder create() {
447            return new Builder();
448          }
449    
450          public Builder clear() {
451            super.clear();
452            string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
453            bitField0_ = (bitField0_ & ~0x00000001);
454            return this;
455          }
456    
457          public Builder clone() {
458            return create().mergeFrom(buildPartial());
459          }
460    
461          public org.jetbrains.kotlin.serialization.ProtoBuf.StringTable getDefaultInstanceForType() {
462            return org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.getDefaultInstance();
463          }
464    
465          public org.jetbrains.kotlin.serialization.ProtoBuf.StringTable build() {
466            org.jetbrains.kotlin.serialization.ProtoBuf.StringTable result = buildPartial();
467            if (!result.isInitialized()) {
468              throw newUninitializedMessageException(result);
469            }
470            return result;
471          }
472    
473          public org.jetbrains.kotlin.serialization.ProtoBuf.StringTable buildPartial() {
474            org.jetbrains.kotlin.serialization.ProtoBuf.StringTable result = new org.jetbrains.kotlin.serialization.ProtoBuf.StringTable(this);
475            int from_bitField0_ = bitField0_;
476            if (((bitField0_ & 0x00000001) == 0x00000001)) {
477              string_ = new com.google.protobuf.UnmodifiableLazyStringList(
478                  string_);
479              bitField0_ = (bitField0_ & ~0x00000001);
480            }
481            result.string_ = string_;
482            return result;
483          }
484    
485          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.StringTable other) {
486            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.getDefaultInstance()) return this;
487            if (!other.string_.isEmpty()) {
488              if (string_.isEmpty()) {
489                string_ = other.string_;
490                bitField0_ = (bitField0_ & ~0x00000001);
491              } else {
492                ensureStringIsMutable();
493                string_.addAll(other.string_);
494              }
495              
496            }
497            return this;
498          }
499    
500          public final boolean isInitialized() {
501            return true;
502          }
503    
504          public Builder mergeFrom(
505              com.google.protobuf.CodedInputStream input,
506              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
507              throws java.io.IOException {
508            org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parsedMessage = null;
509            try {
510              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
511            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
512              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.StringTable) e.getUnfinishedMessage();
513              throw e;
514            } finally {
515              if (parsedMessage != null) {
516                mergeFrom(parsedMessage);
517              }
518            }
519            return this;
520          }
521          private int bitField0_;
522    
523          // repeated string string = 1;
524          private com.google.protobuf.LazyStringList string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
525          private void ensureStringIsMutable() {
526            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
527              string_ = new com.google.protobuf.LazyStringArrayList(string_);
528              bitField0_ |= 0x00000001;
529             }
530          }
531          /**
532           * <code>repeated string string = 1;</code>
533           */
534          public java.util.List<java.lang.String>
535              getStringList() {
536            return java.util.Collections.unmodifiableList(string_);
537          }
538          /**
539           * <code>repeated string string = 1;</code>
540           */
541          public int getStringCount() {
542            return string_.size();
543          }
544          /**
545           * <code>repeated string string = 1;</code>
546           */
547          public java.lang.String getString(int index) {
548            return string_.get(index);
549          }
550          /**
551           * <code>repeated string string = 1;</code>
552           */
553          public com.google.protobuf.ByteString
554              getStringBytes(int index) {
555            return string_.getByteString(index);
556          }
557          /**
558           * <code>repeated string string = 1;</code>
559           */
560          public Builder setString(
561              int index, java.lang.String value) {
562            if (value == null) {
563        throw new NullPointerException();
564      }
565      ensureStringIsMutable();
566            string_.set(index, value);
567            
568            return this;
569          }
570          /**
571           * <code>repeated string string = 1;</code>
572           */
573          public Builder addString(
574              java.lang.String value) {
575            if (value == null) {
576        throw new NullPointerException();
577      }
578      ensureStringIsMutable();
579            string_.add(value);
580            
581            return this;
582          }
583          /**
584           * <code>repeated string string = 1;</code>
585           */
586          public Builder addAllString(
587              java.lang.Iterable<java.lang.String> values) {
588            ensureStringIsMutable();
589            super.addAll(values, string_);
590            
591            return this;
592          }
593          /**
594           * <code>repeated string string = 1;</code>
595           */
596          public Builder clearString() {
597            string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
598            bitField0_ = (bitField0_ & ~0x00000001);
599            
600            return this;
601          }
602          /**
603           * <code>repeated string string = 1;</code>
604           */
605          public Builder addStringBytes(
606              com.google.protobuf.ByteString value) {
607            if (value == null) {
608        throw new NullPointerException();
609      }
610      ensureStringIsMutable();
611            string_.add(value);
612            
613            return this;
614          }
615    
616          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.StringTable)
617        }
618    
619        static {
620          defaultInstance = new StringTable(true);
621          defaultInstance.initFields();
622        }
623    
624        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.StringTable)
625      }
626    
627      public interface QualifiedNameTableOrBuilder
628          extends com.google.protobuf.MessageLiteOrBuilder {
629    
630        // repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;
631        /**
632         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
633         */
634        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> 
635            getQualifiedNameList();
636        /**
637         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
638         */
639        org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index);
640        /**
641         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
642         */
643        int getQualifiedNameCount();
644      }
645      /**
646       * Protobuf type {@code org.jetbrains.kotlin.serialization.QualifiedNameTable}
647       */
648      public static final class QualifiedNameTable extends
649          com.google.protobuf.GeneratedMessageLite
650          implements QualifiedNameTableOrBuilder {
651        // Use QualifiedNameTable.newBuilder() to construct.
652        private QualifiedNameTable(com.google.protobuf.GeneratedMessageLite.Builder builder) {
653          super(builder);
654    
655        }
656        private QualifiedNameTable(boolean noInit) {}
657    
658        private static final QualifiedNameTable defaultInstance;
659        public static QualifiedNameTable getDefaultInstance() {
660          return defaultInstance;
661        }
662    
663        public QualifiedNameTable getDefaultInstanceForType() {
664          return defaultInstance;
665        }
666    
667        private QualifiedNameTable(
668            com.google.protobuf.CodedInputStream input,
669            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
670            throws com.google.protobuf.InvalidProtocolBufferException {
671          initFields();
672          int mutable_bitField0_ = 0;
673          try {
674            boolean done = false;
675            while (!done) {
676              int tag = input.readTag();
677              switch (tag) {
678                case 0:
679                  done = true;
680                  break;
681                default: {
682                  if (!parseUnknownField(input,
683                                         extensionRegistry, tag)) {
684                    done = true;
685                  }
686                  break;
687                }
688                case 10: {
689                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
690                    qualifiedName_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName>();
691                    mutable_bitField0_ |= 0x00000001;
692                  }
693                  qualifiedName_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.PARSER, extensionRegistry));
694                  break;
695                }
696              }
697            }
698          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
699            throw e.setUnfinishedMessage(this);
700          } catch (java.io.IOException e) {
701            throw new com.google.protobuf.InvalidProtocolBufferException(
702                e.getMessage()).setUnfinishedMessage(this);
703          } finally {
704            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
705              qualifiedName_ = java.util.Collections.unmodifiableList(qualifiedName_);
706            }
707            makeExtensionsImmutable();
708          }
709        }
710        public static com.google.protobuf.Parser<QualifiedNameTable> PARSER =
711            new com.google.protobuf.AbstractParser<QualifiedNameTable>() {
712          public QualifiedNameTable parsePartialFrom(
713              com.google.protobuf.CodedInputStream input,
714              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
715              throws com.google.protobuf.InvalidProtocolBufferException {
716            return new QualifiedNameTable(input, extensionRegistry);
717          }
718        };
719    
720        @java.lang.Override
721        public com.google.protobuf.Parser<QualifiedNameTable> getParserForType() {
722          return PARSER;
723        }
724    
725        public interface QualifiedNameOrBuilder
726            extends com.google.protobuf.MessageLiteOrBuilder {
727    
728          // optional int32 parent_qualified_name = 1 [default = -1];
729          /**
730           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
731           */
732          boolean hasParentQualifiedName();
733          /**
734           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
735           */
736          int getParentQualifiedName();
737    
738          // required int32 short_name = 2;
739          /**
740           * <code>required int32 short_name = 2;</code>
741           *
742           * <pre>
743           * Id in the StringTable
744           * </pre>
745           */
746          boolean hasShortName();
747          /**
748           * <code>required int32 short_name = 2;</code>
749           *
750           * <pre>
751           * Id in the StringTable
752           * </pre>
753           */
754          int getShortName();
755    
756          // optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];
757          /**
758           * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
759           */
760          boolean hasKind();
761          /**
762           * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
763           */
764          org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind();
765        }
766        /**
767         * Protobuf type {@code org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName}
768         */
769        public static final class QualifiedName extends
770            com.google.protobuf.GeneratedMessageLite
771            implements QualifiedNameOrBuilder {
772          // Use QualifiedName.newBuilder() to construct.
773          private QualifiedName(com.google.protobuf.GeneratedMessageLite.Builder builder) {
774            super(builder);
775    
776          }
777          private QualifiedName(boolean noInit) {}
778    
779          private static final QualifiedName defaultInstance;
780          public static QualifiedName getDefaultInstance() {
781            return defaultInstance;
782          }
783    
784          public QualifiedName getDefaultInstanceForType() {
785            return defaultInstance;
786          }
787    
788          private QualifiedName(
789              com.google.protobuf.CodedInputStream input,
790              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
791              throws com.google.protobuf.InvalidProtocolBufferException {
792            initFields();
793            int mutable_bitField0_ = 0;
794            try {
795              boolean done = false;
796              while (!done) {
797                int tag = input.readTag();
798                switch (tag) {
799                  case 0:
800                    done = true;
801                    break;
802                  default: {
803                    if (!parseUnknownField(input,
804                                           extensionRegistry, tag)) {
805                      done = true;
806                    }
807                    break;
808                  }
809                  case 8: {
810                    bitField0_ |= 0x00000001;
811                    parentQualifiedName_ = input.readInt32();
812                    break;
813                  }
814                  case 16: {
815                    bitField0_ |= 0x00000002;
816                    shortName_ = input.readInt32();
817                    break;
818                  }
819                  case 24: {
820                    int rawValue = input.readEnum();
821                    org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind value = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.valueOf(rawValue);
822                    if (value != null) {
823                      bitField0_ |= 0x00000004;
824                      kind_ = value;
825                    }
826                    break;
827                  }
828                }
829              }
830            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
831              throw e.setUnfinishedMessage(this);
832            } catch (java.io.IOException e) {
833              throw new com.google.protobuf.InvalidProtocolBufferException(
834                  e.getMessage()).setUnfinishedMessage(this);
835            } finally {
836              makeExtensionsImmutable();
837            }
838          }
839          public static com.google.protobuf.Parser<QualifiedName> PARSER =
840              new com.google.protobuf.AbstractParser<QualifiedName>() {
841            public QualifiedName parsePartialFrom(
842                com.google.protobuf.CodedInputStream input,
843                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
844                throws com.google.protobuf.InvalidProtocolBufferException {
845              return new QualifiedName(input, extensionRegistry);
846            }
847          };
848    
849          @java.lang.Override
850          public com.google.protobuf.Parser<QualifiedName> getParserForType() {
851            return PARSER;
852          }
853    
854          /**
855           * Protobuf enum {@code org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind}
856           */
857          public enum Kind
858              implements com.google.protobuf.Internal.EnumLite {
859            /**
860             * <code>CLASS = 0;</code>
861             */
862            CLASS(0, 0),
863            /**
864             * <code>PACKAGE = 1;</code>
865             */
866            PACKAGE(1, 1),
867            /**
868             * <code>LOCAL = 2;</code>
869             */
870            LOCAL(2, 2),
871            ;
872    
873            /**
874             * <code>CLASS = 0;</code>
875             */
876            public static final int CLASS_VALUE = 0;
877            /**
878             * <code>PACKAGE = 1;</code>
879             */
880            public static final int PACKAGE_VALUE = 1;
881            /**
882             * <code>LOCAL = 2;</code>
883             */
884            public static final int LOCAL_VALUE = 2;
885    
886    
887            public final int getNumber() { return value; }
888    
889            public static Kind valueOf(int value) {
890              switch (value) {
891                case 0: return CLASS;
892                case 1: return PACKAGE;
893                case 2: return LOCAL;
894                default: return null;
895              }
896            }
897    
898            public static com.google.protobuf.Internal.EnumLiteMap<Kind>
899                internalGetValueMap() {
900              return internalValueMap;
901            }
902            private static com.google.protobuf.Internal.EnumLiteMap<Kind>
903                internalValueMap =
904                  new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
905                    public Kind findValueByNumber(int number) {
906                      return Kind.valueOf(number);
907                    }
908                  };
909    
910            private final int value;
911    
912            private Kind(int index, int value) {
913              this.value = value;
914            }
915    
916            // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind)
917          }
918    
919          private int bitField0_;
920          // optional int32 parent_qualified_name = 1 [default = -1];
921          public static final int PARENT_QUALIFIED_NAME_FIELD_NUMBER = 1;
922          private int parentQualifiedName_;
923          /**
924           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
925           */
926          public boolean hasParentQualifiedName() {
927            return ((bitField0_ & 0x00000001) == 0x00000001);
928          }
929          /**
930           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
931           */
932          public int getParentQualifiedName() {
933            return parentQualifiedName_;
934          }
935    
936          // required int32 short_name = 2;
937          public static final int SHORT_NAME_FIELD_NUMBER = 2;
938          private int shortName_;
939          /**
940           * <code>required int32 short_name = 2;</code>
941           *
942           * <pre>
943           * Id in the StringTable
944           * </pre>
945           */
946          public boolean hasShortName() {
947            return ((bitField0_ & 0x00000002) == 0x00000002);
948          }
949          /**
950           * <code>required int32 short_name = 2;</code>
951           *
952           * <pre>
953           * Id in the StringTable
954           * </pre>
955           */
956          public int getShortName() {
957            return shortName_;
958          }
959    
960          // optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];
961          public static final int KIND_FIELD_NUMBER = 3;
962          private org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind kind_;
963          /**
964           * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
965           */
966          public boolean hasKind() {
967            return ((bitField0_ & 0x00000004) == 0x00000004);
968          }
969          /**
970           * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
971           */
972          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind() {
973            return kind_;
974          }
975    
976          private void initFields() {
977            parentQualifiedName_ = -1;
978            shortName_ = 0;
979            kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
980          }
981          private byte memoizedIsInitialized = -1;
982          public final boolean isInitialized() {
983            byte isInitialized = memoizedIsInitialized;
984            if (isInitialized != -1) return isInitialized == 1;
985    
986            if (!hasShortName()) {
987              memoizedIsInitialized = 0;
988              return false;
989            }
990            memoizedIsInitialized = 1;
991            return true;
992          }
993    
994          public void writeTo(com.google.protobuf.CodedOutputStream output)
995                              throws java.io.IOException {
996            getSerializedSize();
997            if (((bitField0_ & 0x00000001) == 0x00000001)) {
998              output.writeInt32(1, parentQualifiedName_);
999            }
1000            if (((bitField0_ & 0x00000002) == 0x00000002)) {
1001              output.writeInt32(2, shortName_);
1002            }
1003            if (((bitField0_ & 0x00000004) == 0x00000004)) {
1004              output.writeEnum(3, kind_.getNumber());
1005            }
1006          }
1007    
1008          private int memoizedSerializedSize = -1;
1009          public int getSerializedSize() {
1010            int size = memoizedSerializedSize;
1011            if (size != -1) return size;
1012    
1013            size = 0;
1014            if (((bitField0_ & 0x00000001) == 0x00000001)) {
1015              size += com.google.protobuf.CodedOutputStream
1016                .computeInt32Size(1, parentQualifiedName_);
1017            }
1018            if (((bitField0_ & 0x00000002) == 0x00000002)) {
1019              size += com.google.protobuf.CodedOutputStream
1020                .computeInt32Size(2, shortName_);
1021            }
1022            if (((bitField0_ & 0x00000004) == 0x00000004)) {
1023              size += com.google.protobuf.CodedOutputStream
1024                .computeEnumSize(3, kind_.getNumber());
1025            }
1026            memoizedSerializedSize = size;
1027            return size;
1028          }
1029    
1030          private static final long serialVersionUID = 0L;
1031          @java.lang.Override
1032          protected java.lang.Object writeReplace()
1033              throws java.io.ObjectStreamException {
1034            return super.writeReplace();
1035          }
1036    
1037          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1038              com.google.protobuf.ByteString 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              com.google.protobuf.ByteString 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(byte[] data)
1049              throws com.google.protobuf.InvalidProtocolBufferException {
1050            return PARSER.parseFrom(data);
1051          }
1052          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1053              byte[] data,
1054              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1055              throws com.google.protobuf.InvalidProtocolBufferException {
1056            return PARSER.parseFrom(data, extensionRegistry);
1057          }
1058          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(java.io.InputStream input)
1059              throws java.io.IOException {
1060            return PARSER.parseFrom(input);
1061          }
1062          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1063              java.io.InputStream input,
1064              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1065              throws java.io.IOException {
1066            return PARSER.parseFrom(input, extensionRegistry);
1067          }
1068          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseDelimitedFrom(java.io.InputStream input)
1069              throws java.io.IOException {
1070            return PARSER.parseDelimitedFrom(input);
1071          }
1072          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseDelimitedFrom(
1073              java.io.InputStream input,
1074              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1075              throws java.io.IOException {
1076            return PARSER.parseDelimitedFrom(input, extensionRegistry);
1077          }
1078          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1079              com.google.protobuf.CodedInputStream input)
1080              throws java.io.IOException {
1081            return PARSER.parseFrom(input);
1082          }
1083          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1084              com.google.protobuf.CodedInputStream input,
1085              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1086              throws java.io.IOException {
1087            return PARSER.parseFrom(input, extensionRegistry);
1088          }
1089    
1090          public static Builder newBuilder() { return Builder.create(); }
1091          public Builder newBuilderForType() { return newBuilder(); }
1092          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName prototype) {
1093            return newBuilder().mergeFrom(prototype);
1094          }
1095          public Builder toBuilder() { return newBuilder(this); }
1096    
1097          /**
1098           * Protobuf type {@code org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName}
1099           */
1100          public static final class Builder extends
1101              com.google.protobuf.GeneratedMessageLite.Builder<
1102                org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName, Builder>
1103              implements org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder {
1104            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.newBuilder()
1105            private Builder() {
1106              maybeForceBuilderInitialization();
1107            }
1108    
1109            private void maybeForceBuilderInitialization() {
1110            }
1111            private static Builder create() {
1112              return new Builder();
1113            }
1114    
1115            public Builder clear() {
1116              super.clear();
1117              parentQualifiedName_ = -1;
1118              bitField0_ = (bitField0_ & ~0x00000001);
1119              shortName_ = 0;
1120              bitField0_ = (bitField0_ & ~0x00000002);
1121              kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1122              bitField0_ = (bitField0_ & ~0x00000004);
1123              return this;
1124            }
1125    
1126            public Builder clone() {
1127              return create().mergeFrom(buildPartial());
1128            }
1129    
1130            public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getDefaultInstanceForType() {
1131              return org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.getDefaultInstance();
1132            }
1133    
1134            public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName build() {
1135              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName result = buildPartial();
1136              if (!result.isInitialized()) {
1137                throw newUninitializedMessageException(result);
1138              }
1139              return result;
1140            }
1141    
1142            public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName buildPartial() {
1143              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName result = new org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName(this);
1144              int from_bitField0_ = bitField0_;
1145              int to_bitField0_ = 0;
1146              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
1147                to_bitField0_ |= 0x00000001;
1148              }
1149              result.parentQualifiedName_ = parentQualifiedName_;
1150              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
1151                to_bitField0_ |= 0x00000002;
1152              }
1153              result.shortName_ = shortName_;
1154              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
1155                to_bitField0_ |= 0x00000004;
1156              }
1157              result.kind_ = kind_;
1158              result.bitField0_ = to_bitField0_;
1159              return result;
1160            }
1161    
1162            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName other) {
1163              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.getDefaultInstance()) return this;
1164              if (other.hasParentQualifiedName()) {
1165                setParentQualifiedName(other.getParentQualifiedName());
1166              }
1167              if (other.hasShortName()) {
1168                setShortName(other.getShortName());
1169              }
1170              if (other.hasKind()) {
1171                setKind(other.getKind());
1172              }
1173              return this;
1174            }
1175    
1176            public final boolean isInitialized() {
1177              if (!hasShortName()) {
1178                
1179                return false;
1180              }
1181              return true;
1182            }
1183    
1184            public Builder mergeFrom(
1185                com.google.protobuf.CodedInputStream input,
1186                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1187                throws java.io.IOException {
1188              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parsedMessage = null;
1189              try {
1190                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1191              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1192                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName) e.getUnfinishedMessage();
1193                throw e;
1194              } finally {
1195                if (parsedMessage != null) {
1196                  mergeFrom(parsedMessage);
1197                }
1198              }
1199              return this;
1200            }
1201            private int bitField0_;
1202    
1203            // optional int32 parent_qualified_name = 1 [default = -1];
1204            private int parentQualifiedName_ = -1;
1205            /**
1206             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1207             */
1208            public boolean hasParentQualifiedName() {
1209              return ((bitField0_ & 0x00000001) == 0x00000001);
1210            }
1211            /**
1212             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1213             */
1214            public int getParentQualifiedName() {
1215              return parentQualifiedName_;
1216            }
1217            /**
1218             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1219             */
1220            public Builder setParentQualifiedName(int value) {
1221              bitField0_ |= 0x00000001;
1222              parentQualifiedName_ = value;
1223              
1224              return this;
1225            }
1226            /**
1227             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1228             */
1229            public Builder clearParentQualifiedName() {
1230              bitField0_ = (bitField0_ & ~0x00000001);
1231              parentQualifiedName_ = -1;
1232              
1233              return this;
1234            }
1235    
1236            // required int32 short_name = 2;
1237            private int shortName_ ;
1238            /**
1239             * <code>required int32 short_name = 2;</code>
1240             *
1241             * <pre>
1242             * Id in the StringTable
1243             * </pre>
1244             */
1245            public boolean hasShortName() {
1246              return ((bitField0_ & 0x00000002) == 0x00000002);
1247            }
1248            /**
1249             * <code>required int32 short_name = 2;</code>
1250             *
1251             * <pre>
1252             * Id in the StringTable
1253             * </pre>
1254             */
1255            public int getShortName() {
1256              return shortName_;
1257            }
1258            /**
1259             * <code>required int32 short_name = 2;</code>
1260             *
1261             * <pre>
1262             * Id in the StringTable
1263             * </pre>
1264             */
1265            public Builder setShortName(int value) {
1266              bitField0_ |= 0x00000002;
1267              shortName_ = value;
1268              
1269              return this;
1270            }
1271            /**
1272             * <code>required int32 short_name = 2;</code>
1273             *
1274             * <pre>
1275             * Id in the StringTable
1276             * </pre>
1277             */
1278            public Builder clearShortName() {
1279              bitField0_ = (bitField0_ & ~0x00000002);
1280              shortName_ = 0;
1281              
1282              return this;
1283            }
1284    
1285            // optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];
1286            private org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1287            /**
1288             * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1289             */
1290            public boolean hasKind() {
1291              return ((bitField0_ & 0x00000004) == 0x00000004);
1292            }
1293            /**
1294             * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1295             */
1296            public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind() {
1297              return kind_;
1298            }
1299            /**
1300             * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1301             */
1302            public Builder setKind(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind value) {
1303              if (value == null) {
1304                throw new NullPointerException();
1305              }
1306              bitField0_ |= 0x00000004;
1307              kind_ = value;
1308              
1309              return this;
1310            }
1311            /**
1312             * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1313             */
1314            public Builder clearKind() {
1315              bitField0_ = (bitField0_ & ~0x00000004);
1316              kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1317              
1318              return this;
1319            }
1320    
1321            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName)
1322          }
1323    
1324          static {
1325            defaultInstance = new QualifiedName(true);
1326            defaultInstance.initFields();
1327          }
1328    
1329          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName)
1330        }
1331    
1332        // repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;
1333        public static final int QUALIFIED_NAME_FIELD_NUMBER = 1;
1334        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> qualifiedName_;
1335        /**
1336         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1337         */
1338        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> getQualifiedNameList() {
1339          return qualifiedName_;
1340        }
1341        /**
1342         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1343         */
1344        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder> 
1345            getQualifiedNameOrBuilderList() {
1346          return qualifiedName_;
1347        }
1348        /**
1349         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1350         */
1351        public int getQualifiedNameCount() {
1352          return qualifiedName_.size();
1353        }
1354        /**
1355         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1356         */
1357        public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index) {
1358          return qualifiedName_.get(index);
1359        }
1360        /**
1361         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1362         */
1363        public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder getQualifiedNameOrBuilder(
1364            int index) {
1365          return qualifiedName_.get(index);
1366        }
1367    
1368        private void initFields() {
1369          qualifiedName_ = java.util.Collections.emptyList();
1370        }
1371        private byte memoizedIsInitialized = -1;
1372        public final boolean isInitialized() {
1373          byte isInitialized = memoizedIsInitialized;
1374          if (isInitialized != -1) return isInitialized == 1;
1375    
1376          for (int i = 0; i < getQualifiedNameCount(); i++) {
1377            if (!getQualifiedName(i).isInitialized()) {
1378              memoizedIsInitialized = 0;
1379              return false;
1380            }
1381          }
1382          memoizedIsInitialized = 1;
1383          return true;
1384        }
1385    
1386        public void writeTo(com.google.protobuf.CodedOutputStream output)
1387                            throws java.io.IOException {
1388          getSerializedSize();
1389          for (int i = 0; i < qualifiedName_.size(); i++) {
1390            output.writeMessage(1, qualifiedName_.get(i));
1391          }
1392        }
1393    
1394        private int memoizedSerializedSize = -1;
1395        public int getSerializedSize() {
1396          int size = memoizedSerializedSize;
1397          if (size != -1) return size;
1398    
1399          size = 0;
1400          for (int i = 0; i < qualifiedName_.size(); i++) {
1401            size += com.google.protobuf.CodedOutputStream
1402              .computeMessageSize(1, qualifiedName_.get(i));
1403          }
1404          memoizedSerializedSize = size;
1405          return size;
1406        }
1407    
1408        private static final long serialVersionUID = 0L;
1409        @java.lang.Override
1410        protected java.lang.Object writeReplace()
1411            throws java.io.ObjectStreamException {
1412          return super.writeReplace();
1413        }
1414    
1415        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1416            com.google.protobuf.ByteString data)
1417            throws com.google.protobuf.InvalidProtocolBufferException {
1418          return PARSER.parseFrom(data);
1419        }
1420        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1421            com.google.protobuf.ByteString 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(byte[] data)
1427            throws com.google.protobuf.InvalidProtocolBufferException {
1428          return PARSER.parseFrom(data);
1429        }
1430        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1431            byte[] data,
1432            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1433            throws com.google.protobuf.InvalidProtocolBufferException {
1434          return PARSER.parseFrom(data, extensionRegistry);
1435        }
1436        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(java.io.InputStream input)
1437            throws java.io.IOException {
1438          return PARSER.parseFrom(input);
1439        }
1440        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1441            java.io.InputStream input,
1442            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1443            throws java.io.IOException {
1444          return PARSER.parseFrom(input, extensionRegistry);
1445        }
1446        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseDelimitedFrom(java.io.InputStream input)
1447            throws java.io.IOException {
1448          return PARSER.parseDelimitedFrom(input);
1449        }
1450        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseDelimitedFrom(
1451            java.io.InputStream input,
1452            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1453            throws java.io.IOException {
1454          return PARSER.parseDelimitedFrom(input, extensionRegistry);
1455        }
1456        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1457            com.google.protobuf.CodedInputStream input)
1458            throws java.io.IOException {
1459          return PARSER.parseFrom(input);
1460        }
1461        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1462            com.google.protobuf.CodedInputStream input,
1463            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1464            throws java.io.IOException {
1465          return PARSER.parseFrom(input, extensionRegistry);
1466        }
1467    
1468        public static Builder newBuilder() { return Builder.create(); }
1469        public Builder newBuilderForType() { return newBuilder(); }
1470        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable prototype) {
1471          return newBuilder().mergeFrom(prototype);
1472        }
1473        public Builder toBuilder() { return newBuilder(this); }
1474    
1475        /**
1476         * Protobuf type {@code org.jetbrains.kotlin.serialization.QualifiedNameTable}
1477         */
1478        public static final class Builder extends
1479            com.google.protobuf.GeneratedMessageLite.Builder<
1480              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable, Builder>
1481            implements org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTableOrBuilder {
1482          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.newBuilder()
1483          private Builder() {
1484            maybeForceBuilderInitialization();
1485          }
1486    
1487          private void maybeForceBuilderInitialization() {
1488          }
1489          private static Builder create() {
1490            return new Builder();
1491          }
1492    
1493          public Builder clear() {
1494            super.clear();
1495            qualifiedName_ = java.util.Collections.emptyList();
1496            bitField0_ = (bitField0_ & ~0x00000001);
1497            return this;
1498          }
1499    
1500          public Builder clone() {
1501            return create().mergeFrom(buildPartial());
1502          }
1503    
1504          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable getDefaultInstanceForType() {
1505            return org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance();
1506          }
1507    
1508          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable build() {
1509            org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable result = buildPartial();
1510            if (!result.isInitialized()) {
1511              throw newUninitializedMessageException(result);
1512            }
1513            return result;
1514          }
1515    
1516          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable buildPartial() {
1517            org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable result = new org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable(this);
1518            int from_bitField0_ = bitField0_;
1519            if (((bitField0_ & 0x00000001) == 0x00000001)) {
1520              qualifiedName_ = java.util.Collections.unmodifiableList(qualifiedName_);
1521              bitField0_ = (bitField0_ & ~0x00000001);
1522            }
1523            result.qualifiedName_ = qualifiedName_;
1524            return result;
1525          }
1526    
1527          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable other) {
1528            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance()) return this;
1529            if (!other.qualifiedName_.isEmpty()) {
1530              if (qualifiedName_.isEmpty()) {
1531                qualifiedName_ = other.qualifiedName_;
1532                bitField0_ = (bitField0_ & ~0x00000001);
1533              } else {
1534                ensureQualifiedNameIsMutable();
1535                qualifiedName_.addAll(other.qualifiedName_);
1536              }
1537              
1538            }
1539            return this;
1540          }
1541    
1542          public final boolean isInitialized() {
1543            for (int i = 0; i < getQualifiedNameCount(); i++) {
1544              if (!getQualifiedName(i).isInitialized()) {
1545                
1546                return false;
1547              }
1548            }
1549            return true;
1550          }
1551    
1552          public Builder mergeFrom(
1553              com.google.protobuf.CodedInputStream input,
1554              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1555              throws java.io.IOException {
1556            org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parsedMessage = null;
1557            try {
1558              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1559            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1560              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable) e.getUnfinishedMessage();
1561              throw e;
1562            } finally {
1563              if (parsedMessage != null) {
1564                mergeFrom(parsedMessage);
1565              }
1566            }
1567            return this;
1568          }
1569          private int bitField0_;
1570    
1571          // repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;
1572          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> qualifiedName_ =
1573            java.util.Collections.emptyList();
1574          private void ensureQualifiedNameIsMutable() {
1575            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
1576              qualifiedName_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName>(qualifiedName_);
1577              bitField0_ |= 0x00000001;
1578             }
1579          }
1580    
1581          /**
1582           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1583           */
1584          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> getQualifiedNameList() {
1585            return java.util.Collections.unmodifiableList(qualifiedName_);
1586          }
1587          /**
1588           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1589           */
1590          public int getQualifiedNameCount() {
1591            return qualifiedName_.size();
1592          }
1593          /**
1594           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1595           */
1596          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index) {
1597            return qualifiedName_.get(index);
1598          }
1599          /**
1600           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1601           */
1602          public Builder setQualifiedName(
1603              int index, org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1604            if (value == null) {
1605              throw new NullPointerException();
1606            }
1607            ensureQualifiedNameIsMutable();
1608            qualifiedName_.set(index, value);
1609    
1610            return this;
1611          }
1612          /**
1613           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1614           */
1615          public Builder setQualifiedName(
1616              int index, org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1617            ensureQualifiedNameIsMutable();
1618            qualifiedName_.set(index, builderForValue.build());
1619    
1620            return this;
1621          }
1622          /**
1623           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1624           */
1625          public Builder addQualifiedName(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1626            if (value == null) {
1627              throw new NullPointerException();
1628            }
1629            ensureQualifiedNameIsMutable();
1630            qualifiedName_.add(value);
1631    
1632            return this;
1633          }
1634          /**
1635           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1636           */
1637          public Builder addQualifiedName(
1638              int index, org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1639            if (value == null) {
1640              throw new NullPointerException();
1641            }
1642            ensureQualifiedNameIsMutable();
1643            qualifiedName_.add(index, value);
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              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1652            ensureQualifiedNameIsMutable();
1653            qualifiedName_.add(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 addQualifiedName(
1661              int index, org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1662            ensureQualifiedNameIsMutable();
1663            qualifiedName_.add(index, builderForValue.build());
1664    
1665            return this;
1666          }
1667          /**
1668           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1669           */
1670          public Builder addAllQualifiedName(
1671              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> values) {
1672            ensureQualifiedNameIsMutable();
1673            super.addAll(values, qualifiedName_);
1674    
1675            return this;
1676          }
1677          /**
1678           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1679           */
1680          public Builder clearQualifiedName() {
1681            qualifiedName_ = java.util.Collections.emptyList();
1682            bitField0_ = (bitField0_ & ~0x00000001);
1683    
1684            return this;
1685          }
1686          /**
1687           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1688           */
1689          public Builder removeQualifiedName(int index) {
1690            ensureQualifiedNameIsMutable();
1691            qualifiedName_.remove(index);
1692    
1693            return this;
1694          }
1695    
1696          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable)
1697        }
1698    
1699        static {
1700          defaultInstance = new QualifiedNameTable(true);
1701          defaultInstance.initFields();
1702        }
1703    
1704        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable)
1705      }
1706    
1707      public interface AnnotationOrBuilder
1708          extends com.google.protobuf.MessageLiteOrBuilder {
1709    
1710        // required int32 id = 1;
1711        /**
1712         * <code>required int32 id = 1;</code>
1713         *
1714         * <pre>
1715         * Class FQ name id
1716         * </pre>
1717         */
1718        boolean hasId();
1719        /**
1720         * <code>required int32 id = 1;</code>
1721         *
1722         * <pre>
1723         * Class FQ name id
1724         * </pre>
1725         */
1726        int getId();
1727    
1728        // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;
1729        /**
1730         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
1731         */
1732        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> 
1733            getArgumentList();
1734        /**
1735         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
1736         */
1737        org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument getArgument(int index);
1738        /**
1739         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
1740         */
1741        int getArgumentCount();
1742      }
1743      /**
1744       * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation}
1745       */
1746      public static final class Annotation extends
1747          com.google.protobuf.GeneratedMessageLite
1748          implements AnnotationOrBuilder {
1749        // Use Annotation.newBuilder() to construct.
1750        private Annotation(com.google.protobuf.GeneratedMessageLite.Builder builder) {
1751          super(builder);
1752    
1753        }
1754        private Annotation(boolean noInit) {}
1755    
1756        private static final Annotation defaultInstance;
1757        public static Annotation getDefaultInstance() {
1758          return defaultInstance;
1759        }
1760    
1761        public Annotation getDefaultInstanceForType() {
1762          return defaultInstance;
1763        }
1764    
1765        private Annotation(
1766            com.google.protobuf.CodedInputStream input,
1767            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1768            throws com.google.protobuf.InvalidProtocolBufferException {
1769          initFields();
1770          int mutable_bitField0_ = 0;
1771          try {
1772            boolean done = false;
1773            while (!done) {
1774              int tag = input.readTag();
1775              switch (tag) {
1776                case 0:
1777                  done = true;
1778                  break;
1779                default: {
1780                  if (!parseUnknownField(input,
1781                                         extensionRegistry, tag)) {
1782                    done = true;
1783                  }
1784                  break;
1785                }
1786                case 8: {
1787                  bitField0_ |= 0x00000001;
1788                  id_ = input.readInt32();
1789                  break;
1790                }
1791                case 18: {
1792                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
1793                    argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument>();
1794                    mutable_bitField0_ |= 0x00000002;
1795                  }
1796                  argument_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.PARSER, extensionRegistry));
1797                  break;
1798                }
1799              }
1800            }
1801          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1802            throw e.setUnfinishedMessage(this);
1803          } catch (java.io.IOException e) {
1804            throw new com.google.protobuf.InvalidProtocolBufferException(
1805                e.getMessage()).setUnfinishedMessage(this);
1806          } finally {
1807            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
1808              argument_ = java.util.Collections.unmodifiableList(argument_);
1809            }
1810            makeExtensionsImmutable();
1811          }
1812        }
1813        public static com.google.protobuf.Parser<Annotation> PARSER =
1814            new com.google.protobuf.AbstractParser<Annotation>() {
1815          public Annotation parsePartialFrom(
1816              com.google.protobuf.CodedInputStream input,
1817              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1818              throws com.google.protobuf.InvalidProtocolBufferException {
1819            return new Annotation(input, extensionRegistry);
1820          }
1821        };
1822    
1823        @java.lang.Override
1824        public com.google.protobuf.Parser<Annotation> getParserForType() {
1825          return PARSER;
1826        }
1827    
1828        public interface ArgumentOrBuilder
1829            extends com.google.protobuf.MessageLiteOrBuilder {
1830    
1831          // required int32 name_id = 1;
1832          /**
1833           * <code>required int32 name_id = 1;</code>
1834           *
1835           * <pre>
1836           * id in StringTable
1837           * </pre>
1838           */
1839          boolean hasNameId();
1840          /**
1841           * <code>required int32 name_id = 1;</code>
1842           *
1843           * <pre>
1844           * id in StringTable
1845           * </pre>
1846           */
1847          int getNameId();
1848    
1849          // required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;
1850          /**
1851           * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
1852           */
1853          boolean hasValue();
1854          /**
1855           * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
1856           */
1857          org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getValue();
1858        }
1859        /**
1860         * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation.Argument}
1861         */
1862        public static final class Argument extends
1863            com.google.protobuf.GeneratedMessageLite
1864            implements ArgumentOrBuilder {
1865          // Use Argument.newBuilder() to construct.
1866          private Argument(com.google.protobuf.GeneratedMessageLite.Builder builder) {
1867            super(builder);
1868    
1869          }
1870          private Argument(boolean noInit) {}
1871    
1872          private static final Argument defaultInstance;
1873          public static Argument getDefaultInstance() {
1874            return defaultInstance;
1875          }
1876    
1877          public Argument getDefaultInstanceForType() {
1878            return defaultInstance;
1879          }
1880    
1881          private Argument(
1882              com.google.protobuf.CodedInputStream input,
1883              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1884              throws com.google.protobuf.InvalidProtocolBufferException {
1885            initFields();
1886            int mutable_bitField0_ = 0;
1887            try {
1888              boolean done = false;
1889              while (!done) {
1890                int tag = input.readTag();
1891                switch (tag) {
1892                  case 0:
1893                    done = true;
1894                    break;
1895                  default: {
1896                    if (!parseUnknownField(input,
1897                                           extensionRegistry, tag)) {
1898                      done = true;
1899                    }
1900                    break;
1901                  }
1902                  case 8: {
1903                    bitField0_ |= 0x00000001;
1904                    nameId_ = input.readInt32();
1905                    break;
1906                  }
1907                  case 18: {
1908                    org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder subBuilder = null;
1909                    if (((bitField0_ & 0x00000002) == 0x00000002)) {
1910                      subBuilder = value_.toBuilder();
1911                    }
1912                    value_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.PARSER, extensionRegistry);
1913                    if (subBuilder != null) {
1914                      subBuilder.mergeFrom(value_);
1915                      value_ = subBuilder.buildPartial();
1916                    }
1917                    bitField0_ |= 0x00000002;
1918                    break;
1919                  }
1920                }
1921              }
1922            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1923              throw e.setUnfinishedMessage(this);
1924            } catch (java.io.IOException e) {
1925              throw new com.google.protobuf.InvalidProtocolBufferException(
1926                  e.getMessage()).setUnfinishedMessage(this);
1927            } finally {
1928              makeExtensionsImmutable();
1929            }
1930          }
1931          public static com.google.protobuf.Parser<Argument> PARSER =
1932              new com.google.protobuf.AbstractParser<Argument>() {
1933            public Argument parsePartialFrom(
1934                com.google.protobuf.CodedInputStream input,
1935                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1936                throws com.google.protobuf.InvalidProtocolBufferException {
1937              return new Argument(input, extensionRegistry);
1938            }
1939          };
1940    
1941          @java.lang.Override
1942          public com.google.protobuf.Parser<Argument> getParserForType() {
1943            return PARSER;
1944          }
1945    
1946          public interface ValueOrBuilder
1947              extends com.google.protobuf.MessageLiteOrBuilder {
1948    
1949            // optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;
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            boolean hasType();
1960            /**
1961             * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
1962             *
1963             * <pre>
1964             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
1965             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
1966             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
1967             * </pre>
1968             */
1969            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type getType();
1970    
1971            // optional sint64 int_value = 2;
1972            /**
1973             * <code>optional sint64 int_value = 2;</code>
1974             */
1975            boolean hasIntValue();
1976            /**
1977             * <code>optional sint64 int_value = 2;</code>
1978             */
1979            long getIntValue();
1980    
1981            // optional float float_value = 3;
1982            /**
1983             * <code>optional float float_value = 3;</code>
1984             */
1985            boolean hasFloatValue();
1986            /**
1987             * <code>optional float float_value = 3;</code>
1988             */
1989            float getFloatValue();
1990    
1991            // optional double double_value = 4;
1992            /**
1993             * <code>optional double double_value = 4;</code>
1994             */
1995            boolean hasDoubleValue();
1996            /**
1997             * <code>optional double double_value = 4;</code>
1998             */
1999            double getDoubleValue();
2000    
2001            // optional int32 string_value = 5;
2002            /**
2003             * <code>optional int32 string_value = 5;</code>
2004             *
2005             * <pre>
2006             * id in StringTable
2007             * </pre>
2008             */
2009            boolean hasStringValue();
2010            /**
2011             * <code>optional int32 string_value = 5;</code>
2012             *
2013             * <pre>
2014             * id in StringTable
2015             * </pre>
2016             */
2017            int getStringValue();
2018    
2019            // optional int32 class_id = 6;
2020            /**
2021             * <code>optional int32 class_id = 6;</code>
2022             *
2023             * <pre>
2024             * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
2025             * </pre>
2026             */
2027            boolean hasClassId();
2028            /**
2029             * <code>optional int32 class_id = 6;</code>
2030             *
2031             * <pre>
2032             * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
2033             * </pre>
2034             */
2035            int getClassId();
2036    
2037            // optional int32 enum_value_id = 7;
2038            /**
2039             * <code>optional int32 enum_value_id = 7;</code>
2040             *
2041             * <pre>
2042             * id in StringTable
2043             * </pre>
2044             */
2045            boolean hasEnumValueId();
2046            /**
2047             * <code>optional int32 enum_value_id = 7;</code>
2048             *
2049             * <pre>
2050             * id in StringTable
2051             * </pre>
2052             */
2053            int getEnumValueId();
2054    
2055            // optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;
2056            /**
2057             * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
2058             */
2059            boolean hasAnnotation();
2060            /**
2061             * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
2062             */
2063            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getAnnotation();
2064    
2065            // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;
2066            /**
2067             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2068             */
2069            java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> 
2070                getArrayElementList();
2071            /**
2072             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2073             */
2074            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getArrayElement(int index);
2075            /**
2076             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2077             */
2078            int getArrayElementCount();
2079          }
2080          /**
2081           * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation.Argument.Value}
2082           */
2083          public static final class Value extends
2084              com.google.protobuf.GeneratedMessageLite
2085              implements ValueOrBuilder {
2086            // Use Value.newBuilder() to construct.
2087            private Value(com.google.protobuf.GeneratedMessageLite.Builder builder) {
2088              super(builder);
2089    
2090            }
2091            private Value(boolean noInit) {}
2092    
2093            private static final Value defaultInstance;
2094            public static Value getDefaultInstance() {
2095              return defaultInstance;
2096            }
2097    
2098            public Value getDefaultInstanceForType() {
2099              return defaultInstance;
2100            }
2101    
2102            private Value(
2103                com.google.protobuf.CodedInputStream input,
2104                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2105                throws com.google.protobuf.InvalidProtocolBufferException {
2106              initFields();
2107              int mutable_bitField0_ = 0;
2108              try {
2109                boolean done = false;
2110                while (!done) {
2111                  int tag = input.readTag();
2112                  switch (tag) {
2113                    case 0:
2114                      done = true;
2115                      break;
2116                    default: {
2117                      if (!parseUnknownField(input,
2118                                             extensionRegistry, tag)) {
2119                        done = true;
2120                      }
2121                      break;
2122                    }
2123                    case 8: {
2124                      int rawValue = input.readEnum();
2125                      org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type value = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.valueOf(rawValue);
2126                      if (value != null) {
2127                        bitField0_ |= 0x00000001;
2128                        type_ = value;
2129                      }
2130                      break;
2131                    }
2132                    case 16: {
2133                      bitField0_ |= 0x00000002;
2134                      intValue_ = input.readSInt64();
2135                      break;
2136                    }
2137                    case 29: {
2138                      bitField0_ |= 0x00000004;
2139                      floatValue_ = input.readFloat();
2140                      break;
2141                    }
2142                    case 33: {
2143                      bitField0_ |= 0x00000008;
2144                      doubleValue_ = input.readDouble();
2145                      break;
2146                    }
2147                    case 40: {
2148                      bitField0_ |= 0x00000010;
2149                      stringValue_ = input.readInt32();
2150                      break;
2151                    }
2152                    case 48: {
2153                      bitField0_ |= 0x00000020;
2154                      classId_ = input.readInt32();
2155                      break;
2156                    }
2157                    case 56: {
2158                      bitField0_ |= 0x00000040;
2159                      enumValueId_ = input.readInt32();
2160                      break;
2161                    }
2162                    case 66: {
2163                      org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Builder subBuilder = null;
2164                      if (((bitField0_ & 0x00000080) == 0x00000080)) {
2165                        subBuilder = annotation_.toBuilder();
2166                      }
2167                      annotation_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.PARSER, extensionRegistry);
2168                      if (subBuilder != null) {
2169                        subBuilder.mergeFrom(annotation_);
2170                        annotation_ = subBuilder.buildPartial();
2171                      }
2172                      bitField0_ |= 0x00000080;
2173                      break;
2174                    }
2175                    case 74: {
2176                      if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
2177                        arrayElement_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value>();
2178                        mutable_bitField0_ |= 0x00000100;
2179                      }
2180                      arrayElement_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.PARSER, extensionRegistry));
2181                      break;
2182                    }
2183                  }
2184                }
2185              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2186                throw e.setUnfinishedMessage(this);
2187              } catch (java.io.IOException e) {
2188                throw new com.google.protobuf.InvalidProtocolBufferException(
2189                    e.getMessage()).setUnfinishedMessage(this);
2190              } finally {
2191                if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
2192                  arrayElement_ = java.util.Collections.unmodifiableList(arrayElement_);
2193                }
2194                makeExtensionsImmutable();
2195              }
2196            }
2197            public static com.google.protobuf.Parser<Value> PARSER =
2198                new com.google.protobuf.AbstractParser<Value>() {
2199              public Value parsePartialFrom(
2200                  com.google.protobuf.CodedInputStream input,
2201                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2202                  throws com.google.protobuf.InvalidProtocolBufferException {
2203                return new Value(input, extensionRegistry);
2204              }
2205            };
2206    
2207            @java.lang.Override
2208            public com.google.protobuf.Parser<Value> getParserForType() {
2209              return PARSER;
2210            }
2211    
2212            /**
2213             * Protobuf enum {@code org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type}
2214             */
2215            public enum Type
2216                implements com.google.protobuf.Internal.EnumLite {
2217              /**
2218               * <code>BYTE = 0;</code>
2219               */
2220              BYTE(0, 0),
2221              /**
2222               * <code>CHAR = 1;</code>
2223               */
2224              CHAR(1, 1),
2225              /**
2226               * <code>SHORT = 2;</code>
2227               */
2228              SHORT(2, 2),
2229              /**
2230               * <code>INT = 3;</code>
2231               */
2232              INT(3, 3),
2233              /**
2234               * <code>LONG = 4;</code>
2235               */
2236              LONG(4, 4),
2237              /**
2238               * <code>FLOAT = 5;</code>
2239               */
2240              FLOAT(5, 5),
2241              /**
2242               * <code>DOUBLE = 6;</code>
2243               */
2244              DOUBLE(6, 6),
2245              /**
2246               * <code>BOOLEAN = 7;</code>
2247               */
2248              BOOLEAN(7, 7),
2249              /**
2250               * <code>STRING = 8;</code>
2251               */
2252              STRING(8, 8),
2253              /**
2254               * <code>CLASS = 9;</code>
2255               */
2256              CLASS(9, 9),
2257              /**
2258               * <code>ENUM = 10;</code>
2259               */
2260              ENUM(10, 10),
2261              /**
2262               * <code>ANNOTATION = 11;</code>
2263               */
2264              ANNOTATION(11, 11),
2265              /**
2266               * <code>ARRAY = 12;</code>
2267               */
2268              ARRAY(12, 12),
2269              ;
2270    
2271              /**
2272               * <code>BYTE = 0;</code>
2273               */
2274              public static final int BYTE_VALUE = 0;
2275              /**
2276               * <code>CHAR = 1;</code>
2277               */
2278              public static final int CHAR_VALUE = 1;
2279              /**
2280               * <code>SHORT = 2;</code>
2281               */
2282              public static final int SHORT_VALUE = 2;
2283              /**
2284               * <code>INT = 3;</code>
2285               */
2286              public static final int INT_VALUE = 3;
2287              /**
2288               * <code>LONG = 4;</code>
2289               */
2290              public static final int LONG_VALUE = 4;
2291              /**
2292               * <code>FLOAT = 5;</code>
2293               */
2294              public static final int FLOAT_VALUE = 5;
2295              /**
2296               * <code>DOUBLE = 6;</code>
2297               */
2298              public static final int DOUBLE_VALUE = 6;
2299              /**
2300               * <code>BOOLEAN = 7;</code>
2301               */
2302              public static final int BOOLEAN_VALUE = 7;
2303              /**
2304               * <code>STRING = 8;</code>
2305               */
2306              public static final int STRING_VALUE = 8;
2307              /**
2308               * <code>CLASS = 9;</code>
2309               */
2310              public static final int CLASS_VALUE = 9;
2311              /**
2312               * <code>ENUM = 10;</code>
2313               */
2314              public static final int ENUM_VALUE = 10;
2315              /**
2316               * <code>ANNOTATION = 11;</code>
2317               */
2318              public static final int ANNOTATION_VALUE = 11;
2319              /**
2320               * <code>ARRAY = 12;</code>
2321               */
2322              public static final int ARRAY_VALUE = 12;
2323    
2324    
2325              public final int getNumber() { return value; }
2326    
2327              public static Type valueOf(int value) {
2328                switch (value) {
2329                  case 0: return BYTE;
2330                  case 1: return CHAR;
2331                  case 2: return SHORT;
2332                  case 3: return INT;
2333                  case 4: return LONG;
2334                  case 5: return FLOAT;
2335                  case 6: return DOUBLE;
2336                  case 7: return BOOLEAN;
2337                  case 8: return STRING;
2338                  case 9: return CLASS;
2339                  case 10: return ENUM;
2340                  case 11: return ANNOTATION;
2341                  case 12: return ARRAY;
2342                  default: return null;
2343                }
2344              }
2345    
2346              public static com.google.protobuf.Internal.EnumLiteMap<Type>
2347                  internalGetValueMap() {
2348                return internalValueMap;
2349              }
2350              private static com.google.protobuf.Internal.EnumLiteMap<Type>
2351                  internalValueMap =
2352                    new com.google.protobuf.Internal.EnumLiteMap<Type>() {
2353                      public Type findValueByNumber(int number) {
2354                        return Type.valueOf(number);
2355                      }
2356                    };
2357    
2358              private final int value;
2359    
2360              private Type(int index, int value) {
2361                this.value = value;
2362              }
2363    
2364              // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type)
2365            }
2366    
2367            private int bitField0_;
2368            // optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;
2369            public static final int TYPE_FIELD_NUMBER = 1;
2370            private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type type_;
2371            /**
2372             * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2373             *
2374             * <pre>
2375             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2376             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2377             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2378             * </pre>
2379             */
2380            public boolean hasType() {
2381              return ((bitField0_ & 0x00000001) == 0x00000001);
2382            }
2383            /**
2384             * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2385             *
2386             * <pre>
2387             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2388             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2389             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2390             * </pre>
2391             */
2392            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type getType() {
2393              return type_;
2394            }
2395    
2396            // optional sint64 int_value = 2;
2397            public static final int INT_VALUE_FIELD_NUMBER = 2;
2398            private long intValue_;
2399            /**
2400             * <code>optional sint64 int_value = 2;</code>
2401             */
2402            public boolean hasIntValue() {
2403              return ((bitField0_ & 0x00000002) == 0x00000002);
2404            }
2405            /**
2406             * <code>optional sint64 int_value = 2;</code>
2407             */
2408            public long getIntValue() {
2409              return intValue_;
2410            }
2411    
2412            // optional float float_value = 3;
2413            public static final int FLOAT_VALUE_FIELD_NUMBER = 3;
2414            private float floatValue_;
2415            /**
2416             * <code>optional float float_value = 3;</code>
2417             */
2418            public boolean hasFloatValue() {
2419              return ((bitField0_ & 0x00000004) == 0x00000004);
2420            }
2421            /**
2422             * <code>optional float float_value = 3;</code>
2423             */
2424            public float getFloatValue() {
2425              return floatValue_;
2426            }
2427    
2428            // optional double double_value = 4;
2429            public static final int DOUBLE_VALUE_FIELD_NUMBER = 4;
2430            private double doubleValue_;
2431            /**
2432             * <code>optional double double_value = 4;</code>
2433             */
2434            public boolean hasDoubleValue() {
2435              return ((bitField0_ & 0x00000008) == 0x00000008);
2436            }
2437            /**
2438             * <code>optional double double_value = 4;</code>
2439             */
2440            public double getDoubleValue() {
2441              return doubleValue_;
2442            }
2443    
2444            // optional int32 string_value = 5;
2445            public static final int STRING_VALUE_FIELD_NUMBER = 5;
2446            private int stringValue_;
2447            /**
2448             * <code>optional int32 string_value = 5;</code>
2449             *
2450             * <pre>
2451             * id in StringTable
2452             * </pre>
2453             */
2454            public boolean hasStringValue() {
2455              return ((bitField0_ & 0x00000010) == 0x00000010);
2456            }
2457            /**
2458             * <code>optional int32 string_value = 5;</code>
2459             *
2460             * <pre>
2461             * id in StringTable
2462             * </pre>
2463             */
2464            public int getStringValue() {
2465              return stringValue_;
2466            }
2467    
2468            // optional int32 class_id = 6;
2469            public static final int CLASS_ID_FIELD_NUMBER = 6;
2470            private int classId_;
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 boolean hasClassId() {
2479              return ((bitField0_ & 0x00000020) == 0x00000020);
2480            }
2481            /**
2482             * <code>optional int32 class_id = 6;</code>
2483             *
2484             * <pre>
2485             * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
2486             * </pre>
2487             */
2488            public int getClassId() {
2489              return classId_;
2490            }
2491    
2492            // optional int32 enum_value_id = 7;
2493            public static final int ENUM_VALUE_ID_FIELD_NUMBER = 7;
2494            private int enumValueId_;
2495            /**
2496             * <code>optional int32 enum_value_id = 7;</code>
2497             *
2498             * <pre>
2499             * id in StringTable
2500             * </pre>
2501             */
2502            public boolean hasEnumValueId() {
2503              return ((bitField0_ & 0x00000040) == 0x00000040);
2504            }
2505            /**
2506             * <code>optional int32 enum_value_id = 7;</code>
2507             *
2508             * <pre>
2509             * id in StringTable
2510             * </pre>
2511             */
2512            public int getEnumValueId() {
2513              return enumValueId_;
2514            }
2515    
2516            // optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;
2517            public static final int ANNOTATION_FIELD_NUMBER = 8;
2518            private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation annotation_;
2519            /**
2520             * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
2521             */
2522            public boolean hasAnnotation() {
2523              return ((bitField0_ & 0x00000080) == 0x00000080);
2524            }
2525            /**
2526             * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
2527             */
2528            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getAnnotation() {
2529              return annotation_;
2530            }
2531    
2532            // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;
2533            public static final int ARRAY_ELEMENT_FIELD_NUMBER = 9;
2534            private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> arrayElement_;
2535            /**
2536             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2537             */
2538            public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> getArrayElementList() {
2539              return arrayElement_;
2540            }
2541            /**
2542             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2543             */
2544            public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.ValueOrBuilder> 
2545                getArrayElementOrBuilderList() {
2546              return arrayElement_;
2547            }
2548            /**
2549             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2550             */
2551            public int getArrayElementCount() {
2552              return arrayElement_.size();
2553            }
2554            /**
2555             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2556             */
2557            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getArrayElement(int index) {
2558              return arrayElement_.get(index);
2559            }
2560            /**
2561             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2562             */
2563            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.ValueOrBuilder getArrayElementOrBuilder(
2564                int index) {
2565              return arrayElement_.get(index);
2566            }
2567    
2568            private void initFields() {
2569              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
2570              intValue_ = 0L;
2571              floatValue_ = 0F;
2572              doubleValue_ = 0D;
2573              stringValue_ = 0;
2574              classId_ = 0;
2575              enumValueId_ = 0;
2576              annotation_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
2577              arrayElement_ = java.util.Collections.emptyList();
2578            }
2579            private byte memoizedIsInitialized = -1;
2580            public final boolean isInitialized() {
2581              byte isInitialized = memoizedIsInitialized;
2582              if (isInitialized != -1) return isInitialized == 1;
2583    
2584              if (hasAnnotation()) {
2585                if (!getAnnotation().isInitialized()) {
2586                  memoizedIsInitialized = 0;
2587                  return false;
2588                }
2589              }
2590              for (int i = 0; i < getArrayElementCount(); i++) {
2591                if (!getArrayElement(i).isInitialized()) {
2592                  memoizedIsInitialized = 0;
2593                  return false;
2594                }
2595              }
2596              memoizedIsInitialized = 1;
2597              return true;
2598            }
2599    
2600            public void writeTo(com.google.protobuf.CodedOutputStream output)
2601                                throws java.io.IOException {
2602              getSerializedSize();
2603              if (((bitField0_ & 0x00000001) == 0x00000001)) {
2604                output.writeEnum(1, type_.getNumber());
2605              }
2606              if (((bitField0_ & 0x00000002) == 0x00000002)) {
2607                output.writeSInt64(2, intValue_);
2608              }
2609              if (((bitField0_ & 0x00000004) == 0x00000004)) {
2610                output.writeFloat(3, floatValue_);
2611              }
2612              if (((bitField0_ & 0x00000008) == 0x00000008)) {
2613                output.writeDouble(4, doubleValue_);
2614              }
2615              if (((bitField0_ & 0x00000010) == 0x00000010)) {
2616                output.writeInt32(5, stringValue_);
2617              }
2618              if (((bitField0_ & 0x00000020) == 0x00000020)) {
2619                output.writeInt32(6, classId_);
2620              }
2621              if (((bitField0_ & 0x00000040) == 0x00000040)) {
2622                output.writeInt32(7, enumValueId_);
2623              }
2624              if (((bitField0_ & 0x00000080) == 0x00000080)) {
2625                output.writeMessage(8, annotation_);
2626              }
2627              for (int i = 0; i < arrayElement_.size(); i++) {
2628                output.writeMessage(9, arrayElement_.get(i));
2629              }
2630            }
2631    
2632            private int memoizedSerializedSize = -1;
2633            public int getSerializedSize() {
2634              int size = memoizedSerializedSize;
2635              if (size != -1) return size;
2636    
2637              size = 0;
2638              if (((bitField0_ & 0x00000001) == 0x00000001)) {
2639                size += com.google.protobuf.CodedOutputStream
2640                  .computeEnumSize(1, type_.getNumber());
2641              }
2642              if (((bitField0_ & 0x00000002) == 0x00000002)) {
2643                size += com.google.protobuf.CodedOutputStream
2644                  .computeSInt64Size(2, intValue_);
2645              }
2646              if (((bitField0_ & 0x00000004) == 0x00000004)) {
2647                size += com.google.protobuf.CodedOutputStream
2648                  .computeFloatSize(3, floatValue_);
2649              }
2650              if (((bitField0_ & 0x00000008) == 0x00000008)) {
2651                size += com.google.protobuf.CodedOutputStream
2652                  .computeDoubleSize(4, doubleValue_);
2653              }
2654              if (((bitField0_ & 0x00000010) == 0x00000010)) {
2655                size += com.google.protobuf.CodedOutputStream
2656                  .computeInt32Size(5, stringValue_);
2657              }
2658              if (((bitField0_ & 0x00000020) == 0x00000020)) {
2659                size += com.google.protobuf.CodedOutputStream
2660                  .computeInt32Size(6, classId_);
2661              }
2662              if (((bitField0_ & 0x00000040) == 0x00000040)) {
2663                size += com.google.protobuf.CodedOutputStream
2664                  .computeInt32Size(7, enumValueId_);
2665              }
2666              if (((bitField0_ & 0x00000080) == 0x00000080)) {
2667                size += com.google.protobuf.CodedOutputStream
2668                  .computeMessageSize(8, annotation_);
2669              }
2670              for (int i = 0; i < arrayElement_.size(); i++) {
2671                size += com.google.protobuf.CodedOutputStream
2672                  .computeMessageSize(9, arrayElement_.get(i));
2673              }
2674              memoizedSerializedSize = size;
2675              return size;
2676            }
2677    
2678            private static final long serialVersionUID = 0L;
2679            @java.lang.Override
2680            protected java.lang.Object writeReplace()
2681                throws java.io.ObjectStreamException {
2682              return super.writeReplace();
2683            }
2684    
2685            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2686                com.google.protobuf.ByteString 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                com.google.protobuf.ByteString 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(byte[] data)
2697                throws com.google.protobuf.InvalidProtocolBufferException {
2698              return PARSER.parseFrom(data);
2699            }
2700            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2701                byte[] data,
2702                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2703                throws com.google.protobuf.InvalidProtocolBufferException {
2704              return PARSER.parseFrom(data, extensionRegistry);
2705            }
2706            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(java.io.InputStream input)
2707                throws java.io.IOException {
2708              return PARSER.parseFrom(input);
2709            }
2710            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2711                java.io.InputStream input,
2712                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2713                throws java.io.IOException {
2714              return PARSER.parseFrom(input, extensionRegistry);
2715            }
2716            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseDelimitedFrom(java.io.InputStream input)
2717                throws java.io.IOException {
2718              return PARSER.parseDelimitedFrom(input);
2719            }
2720            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseDelimitedFrom(
2721                java.io.InputStream input,
2722                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2723                throws java.io.IOException {
2724              return PARSER.parseDelimitedFrom(input, extensionRegistry);
2725            }
2726            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2727                com.google.protobuf.CodedInputStream input)
2728                throws java.io.IOException {
2729              return PARSER.parseFrom(input);
2730            }
2731            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2732                com.google.protobuf.CodedInputStream input,
2733                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2734                throws java.io.IOException {
2735              return PARSER.parseFrom(input, extensionRegistry);
2736            }
2737    
2738            public static Builder newBuilder() { return Builder.create(); }
2739            public Builder newBuilderForType() { return newBuilder(); }
2740            public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value prototype) {
2741              return newBuilder().mergeFrom(prototype);
2742            }
2743            public Builder toBuilder() { return newBuilder(this); }
2744    
2745            /**
2746             * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation.Argument.Value}
2747             */
2748            public static final class Builder extends
2749                com.google.protobuf.GeneratedMessageLite.Builder<
2750                  org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value, Builder>
2751                implements org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.ValueOrBuilder {
2752              // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.newBuilder()
2753              private Builder() {
2754                maybeForceBuilderInitialization();
2755              }
2756    
2757              private void maybeForceBuilderInitialization() {
2758              }
2759              private static Builder create() {
2760                return new Builder();
2761              }
2762    
2763              public Builder clear() {
2764                super.clear();
2765                type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
2766                bitField0_ = (bitField0_ & ~0x00000001);
2767                intValue_ = 0L;
2768                bitField0_ = (bitField0_ & ~0x00000002);
2769                floatValue_ = 0F;
2770                bitField0_ = (bitField0_ & ~0x00000004);
2771                doubleValue_ = 0D;
2772                bitField0_ = (bitField0_ & ~0x00000008);
2773                stringValue_ = 0;
2774                bitField0_ = (bitField0_ & ~0x00000010);
2775                classId_ = 0;
2776                bitField0_ = (bitField0_ & ~0x00000020);
2777                enumValueId_ = 0;
2778                bitField0_ = (bitField0_ & ~0x00000040);
2779                annotation_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
2780                bitField0_ = (bitField0_ & ~0x00000080);
2781                arrayElement_ = java.util.Collections.emptyList();
2782                bitField0_ = (bitField0_ & ~0x00000100);
2783                return this;
2784              }
2785    
2786              public Builder clone() {
2787                return create().mergeFrom(buildPartial());
2788              }
2789    
2790              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getDefaultInstanceForType() {
2791                return org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
2792              }
2793    
2794              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value build() {
2795                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value result = buildPartial();
2796                if (!result.isInitialized()) {
2797                  throw newUninitializedMessageException(result);
2798                }
2799                return result;
2800              }
2801    
2802              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value buildPartial() {
2803                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value result = new org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value(this);
2804                int from_bitField0_ = bitField0_;
2805                int to_bitField0_ = 0;
2806                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
2807                  to_bitField0_ |= 0x00000001;
2808                }
2809                result.type_ = type_;
2810                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
2811                  to_bitField0_ |= 0x00000002;
2812                }
2813                result.intValue_ = intValue_;
2814                if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
2815                  to_bitField0_ |= 0x00000004;
2816                }
2817                result.floatValue_ = floatValue_;
2818                if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
2819                  to_bitField0_ |= 0x00000008;
2820                }
2821                result.doubleValue_ = doubleValue_;
2822                if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
2823                  to_bitField0_ |= 0x00000010;
2824                }
2825                result.stringValue_ = stringValue_;
2826                if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
2827                  to_bitField0_ |= 0x00000020;
2828                }
2829                result.classId_ = classId_;
2830                if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
2831                  to_bitField0_ |= 0x00000040;
2832                }
2833                result.enumValueId_ = enumValueId_;
2834                if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
2835                  to_bitField0_ |= 0x00000080;
2836                }
2837                result.annotation_ = annotation_;
2838                if (((bitField0_ & 0x00000100) == 0x00000100)) {
2839                  arrayElement_ = java.util.Collections.unmodifiableList(arrayElement_);
2840                  bitField0_ = (bitField0_ & ~0x00000100);
2841                }
2842                result.arrayElement_ = arrayElement_;
2843                result.bitField0_ = to_bitField0_;
2844                return result;
2845              }
2846    
2847              public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value other) {
2848                if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance()) return this;
2849                if (other.hasType()) {
2850                  setType(other.getType());
2851                }
2852                if (other.hasIntValue()) {
2853                  setIntValue(other.getIntValue());
2854                }
2855                if (other.hasFloatValue()) {
2856                  setFloatValue(other.getFloatValue());
2857                }
2858                if (other.hasDoubleValue()) {
2859                  setDoubleValue(other.getDoubleValue());
2860                }
2861                if (other.hasStringValue()) {
2862                  setStringValue(other.getStringValue());
2863                }
2864                if (other.hasClassId()) {
2865                  setClassId(other.getClassId());
2866                }
2867                if (other.hasEnumValueId()) {
2868                  setEnumValueId(other.getEnumValueId());
2869                }
2870                if (other.hasAnnotation()) {
2871                  mergeAnnotation(other.getAnnotation());
2872                }
2873                if (!other.arrayElement_.isEmpty()) {
2874                  if (arrayElement_.isEmpty()) {
2875                    arrayElement_ = other.arrayElement_;
2876                    bitField0_ = (bitField0_ & ~0x00000100);
2877                  } else {
2878                    ensureArrayElementIsMutable();
2879                    arrayElement_.addAll(other.arrayElement_);
2880                  }
2881                  
2882                }
2883                return this;
2884              }
2885    
2886              public final boolean isInitialized() {
2887                if (hasAnnotation()) {
2888                  if (!getAnnotation().isInitialized()) {
2889                    
2890                    return false;
2891                  }
2892                }
2893                for (int i = 0; i < getArrayElementCount(); i++) {
2894                  if (!getArrayElement(i).isInitialized()) {
2895                    
2896                    return false;
2897                  }
2898                }
2899                return true;
2900              }
2901    
2902              public Builder mergeFrom(
2903                  com.google.protobuf.CodedInputStream input,
2904                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2905                  throws java.io.IOException {
2906                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parsedMessage = null;
2907                try {
2908                  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
2909                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2910                  parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value) e.getUnfinishedMessage();
2911                  throw e;
2912                } finally {
2913                  if (parsedMessage != null) {
2914                    mergeFrom(parsedMessage);
2915                  }
2916                }
2917                return this;
2918              }
2919              private int bitField0_;
2920    
2921              // optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;
2922              private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
2923              /**
2924               * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2925               *
2926               * <pre>
2927               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2928               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2929               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2930               * </pre>
2931               */
2932              public boolean hasType() {
2933                return ((bitField0_ & 0x00000001) == 0x00000001);
2934              }
2935              /**
2936               * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2937               *
2938               * <pre>
2939               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2940               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2941               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2942               * </pre>
2943               */
2944              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type getType() {
2945                return type_;
2946              }
2947              /**
2948               * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2949               *
2950               * <pre>
2951               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2952               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2953               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2954               * </pre>
2955               */
2956              public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type value) {
2957                if (value == null) {
2958                  throw new NullPointerException();
2959                }
2960                bitField0_ |= 0x00000001;
2961                type_ = value;
2962                
2963                return this;
2964              }
2965              /**
2966               * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2967               *
2968               * <pre>
2969               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2970               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2971               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2972               * </pre>
2973               */
2974              public Builder clearType() {
2975                bitField0_ = (bitField0_ & ~0x00000001);
2976                type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
2977                
2978                return this;
2979              }
2980    
2981              // optional sint64 int_value = 2;
2982              private long intValue_ ;
2983              /**
2984               * <code>optional sint64 int_value = 2;</code>
2985               */
2986              public boolean hasIntValue() {
2987                return ((bitField0_ & 0x00000002) == 0x00000002);
2988              }
2989              /**
2990               * <code>optional sint64 int_value = 2;</code>
2991               */
2992              public long getIntValue() {
2993                return intValue_;
2994              }
2995              /**
2996               * <code>optional sint64 int_value = 2;</code>
2997               */
2998              public Builder setIntValue(long value) {
2999                bitField0_ |= 0x00000002;
3000                intValue_ = value;
3001                
3002                return this;
3003              }
3004              /**
3005               * <code>optional sint64 int_value = 2;</code>
3006               */
3007              public Builder clearIntValue() {
3008                bitField0_ = (bitField0_ & ~0x00000002);
3009                intValue_ = 0L;
3010                
3011                return this;
3012              }
3013    
3014              // optional float float_value = 3;
3015              private float floatValue_ ;
3016              /**
3017               * <code>optional float float_value = 3;</code>
3018               */
3019              public boolean hasFloatValue() {
3020                return ((bitField0_ & 0x00000004) == 0x00000004);
3021              }
3022              /**
3023               * <code>optional float float_value = 3;</code>
3024               */
3025              public float getFloatValue() {
3026                return floatValue_;
3027              }
3028              /**
3029               * <code>optional float float_value = 3;</code>
3030               */
3031              public Builder setFloatValue(float value) {
3032                bitField0_ |= 0x00000004;
3033                floatValue_ = value;
3034                
3035                return this;
3036              }
3037              /**
3038               * <code>optional float float_value = 3;</code>
3039               */
3040              public Builder clearFloatValue() {
3041                bitField0_ = (bitField0_ & ~0x00000004);
3042                floatValue_ = 0F;
3043                
3044                return this;
3045              }
3046    
3047              // optional double double_value = 4;
3048              private double doubleValue_ ;
3049              /**
3050               * <code>optional double double_value = 4;</code>
3051               */
3052              public boolean hasDoubleValue() {
3053                return ((bitField0_ & 0x00000008) == 0x00000008);
3054              }
3055              /**
3056               * <code>optional double double_value = 4;</code>
3057               */
3058              public double getDoubleValue() {
3059                return doubleValue_;
3060              }
3061              /**
3062               * <code>optional double double_value = 4;</code>
3063               */
3064              public Builder setDoubleValue(double value) {
3065                bitField0_ |= 0x00000008;
3066                doubleValue_ = value;
3067                
3068                return this;
3069              }
3070              /**
3071               * <code>optional double double_value = 4;</code>
3072               */
3073              public Builder clearDoubleValue() {
3074                bitField0_ = (bitField0_ & ~0x00000008);
3075                doubleValue_ = 0D;
3076                
3077                return this;
3078              }
3079    
3080              // optional int32 string_value = 5;
3081              private int stringValue_ ;
3082              /**
3083               * <code>optional int32 string_value = 5;</code>
3084               *
3085               * <pre>
3086               * id in StringTable
3087               * </pre>
3088               */
3089              public boolean hasStringValue() {
3090                return ((bitField0_ & 0x00000010) == 0x00000010);
3091              }
3092              /**
3093               * <code>optional int32 string_value = 5;</code>
3094               *
3095               * <pre>
3096               * id in StringTable
3097               * </pre>
3098               */
3099              public int getStringValue() {
3100                return stringValue_;
3101              }
3102              /**
3103               * <code>optional int32 string_value = 5;</code>
3104               *
3105               * <pre>
3106               * id in StringTable
3107               * </pre>
3108               */
3109              public Builder setStringValue(int value) {
3110                bitField0_ |= 0x00000010;
3111                stringValue_ = value;
3112                
3113                return this;
3114              }
3115              /**
3116               * <code>optional int32 string_value = 5;</code>
3117               *
3118               * <pre>
3119               * id in StringTable
3120               * </pre>
3121               */
3122              public Builder clearStringValue() {
3123                bitField0_ = (bitField0_ & ~0x00000010);
3124                stringValue_ = 0;
3125                
3126                return this;
3127              }
3128    
3129              // optional int32 class_id = 6;
3130              private int classId_ ;
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 boolean hasClassId() {
3139                return ((bitField0_ & 0x00000020) == 0x00000020);
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 int getClassId() {
3149                return classId_;
3150              }
3151              /**
3152               * <code>optional int32 class_id = 6;</code>
3153               *
3154               * <pre>
3155               * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
3156               * </pre>
3157               */
3158              public Builder setClassId(int value) {
3159                bitField0_ |= 0x00000020;
3160                classId_ = value;
3161                
3162                return this;
3163              }
3164              /**
3165               * <code>optional int32 class_id = 6;</code>
3166               *
3167               * <pre>
3168               * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
3169               * </pre>
3170               */
3171              public Builder clearClassId() {
3172                bitField0_ = (bitField0_ & ~0x00000020);
3173                classId_ = 0;
3174                
3175                return this;
3176              }
3177    
3178              // optional int32 enum_value_id = 7;
3179              private int enumValueId_ ;
3180              /**
3181               * <code>optional int32 enum_value_id = 7;</code>
3182               *
3183               * <pre>
3184               * id in StringTable
3185               * </pre>
3186               */
3187              public boolean hasEnumValueId() {
3188                return ((bitField0_ & 0x00000040) == 0x00000040);
3189              }
3190              /**
3191               * <code>optional int32 enum_value_id = 7;</code>
3192               *
3193               * <pre>
3194               * id in StringTable
3195               * </pre>
3196               */
3197              public int getEnumValueId() {
3198                return enumValueId_;
3199              }
3200              /**
3201               * <code>optional int32 enum_value_id = 7;</code>
3202               *
3203               * <pre>
3204               * id in StringTable
3205               * </pre>
3206               */
3207              public Builder setEnumValueId(int value) {
3208                bitField0_ |= 0x00000040;
3209                enumValueId_ = value;
3210                
3211                return this;
3212              }
3213              /**
3214               * <code>optional int32 enum_value_id = 7;</code>
3215               *
3216               * <pre>
3217               * id in StringTable
3218               * </pre>
3219               */
3220              public Builder clearEnumValueId() {
3221                bitField0_ = (bitField0_ & ~0x00000040);
3222                enumValueId_ = 0;
3223                
3224                return this;
3225              }
3226    
3227              // optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;
3228              private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation annotation_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
3229              /**
3230               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3231               */
3232              public boolean hasAnnotation() {
3233                return ((bitField0_ & 0x00000080) == 0x00000080);
3234              }
3235              /**
3236               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3237               */
3238              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getAnnotation() {
3239                return annotation_;
3240              }
3241              /**
3242               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3243               */
3244              public Builder setAnnotation(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation value) {
3245                if (value == null) {
3246                  throw new NullPointerException();
3247                }
3248                annotation_ = value;
3249    
3250                bitField0_ |= 0x00000080;
3251                return this;
3252              }
3253              /**
3254               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3255               */
3256              public Builder setAnnotation(
3257                  org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Builder builderForValue) {
3258                annotation_ = builderForValue.build();
3259    
3260                bitField0_ |= 0x00000080;
3261                return this;
3262              }
3263              /**
3264               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3265               */
3266              public Builder mergeAnnotation(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation value) {
3267                if (((bitField0_ & 0x00000080) == 0x00000080) &&
3268                    annotation_ != org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance()) {
3269                  annotation_ =
3270                    org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.newBuilder(annotation_).mergeFrom(value).buildPartial();
3271                } else {
3272                  annotation_ = value;
3273                }
3274    
3275                bitField0_ |= 0x00000080;
3276                return this;
3277              }
3278              /**
3279               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3280               */
3281              public Builder clearAnnotation() {
3282                annotation_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
3283    
3284                bitField0_ = (bitField0_ & ~0x00000080);
3285                return this;
3286              }
3287    
3288              // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;
3289              private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> arrayElement_ =
3290                java.util.Collections.emptyList();
3291              private void ensureArrayElementIsMutable() {
3292                if (!((bitField0_ & 0x00000100) == 0x00000100)) {
3293                  arrayElement_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value>(arrayElement_);
3294                  bitField0_ |= 0x00000100;
3295                 }
3296              }
3297    
3298              /**
3299               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3300               */
3301              public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> getArrayElementList() {
3302                return java.util.Collections.unmodifiableList(arrayElement_);
3303              }
3304              /**
3305               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3306               */
3307              public int getArrayElementCount() {
3308                return arrayElement_.size();
3309              }
3310              /**
3311               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3312               */
3313              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getArrayElement(int index) {
3314                return arrayElement_.get(index);
3315              }
3316              /**
3317               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3318               */
3319              public Builder setArrayElement(
3320                  int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3321                if (value == null) {
3322                  throw new NullPointerException();
3323                }
3324                ensureArrayElementIsMutable();
3325                arrayElement_.set(index, value);
3326    
3327                return this;
3328              }
3329              /**
3330               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3331               */
3332              public Builder setArrayElement(
3333                  int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3334                ensureArrayElementIsMutable();
3335                arrayElement_.set(index, builderForValue.build());
3336    
3337                return this;
3338              }
3339              /**
3340               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3341               */
3342              public Builder addArrayElement(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3343                if (value == null) {
3344                  throw new NullPointerException();
3345                }
3346                ensureArrayElementIsMutable();
3347                arrayElement_.add(value);
3348    
3349                return this;
3350              }
3351              /**
3352               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3353               */
3354              public Builder addArrayElement(
3355                  int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3356                if (value == null) {
3357                  throw new NullPointerException();
3358                }
3359                ensureArrayElementIsMutable();
3360                arrayElement_.add(index, value);
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                  org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3369                ensureArrayElementIsMutable();
3370                arrayElement_.add(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 addArrayElement(
3378                  int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3379                ensureArrayElementIsMutable();
3380                arrayElement_.add(index, builderForValue.build());
3381    
3382                return this;
3383              }
3384              /**
3385               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3386               */
3387              public Builder addAllArrayElement(
3388                  java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> values) {
3389                ensureArrayElementIsMutable();
3390                super.addAll(values, arrayElement_);
3391    
3392                return this;
3393              }
3394              /**
3395               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3396               */
3397              public Builder clearArrayElement() {
3398                arrayElement_ = java.util.Collections.emptyList();
3399                bitField0_ = (bitField0_ & ~0x00000100);
3400    
3401                return this;
3402              }
3403              /**
3404               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3405               */
3406              public Builder removeArrayElement(int index) {
3407                ensureArrayElementIsMutable();
3408                arrayElement_.remove(index);
3409    
3410                return this;
3411              }
3412    
3413              // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Annotation.Argument.Value)
3414            }
3415    
3416            static {
3417              defaultInstance = new Value(true);
3418              defaultInstance.initFields();
3419            }
3420    
3421            // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Annotation.Argument.Value)
3422          }
3423    
3424          private int bitField0_;
3425          // required int32 name_id = 1;
3426          public static final int NAME_ID_FIELD_NUMBER = 1;
3427          private int nameId_;
3428          /**
3429           * <code>required int32 name_id = 1;</code>
3430           *
3431           * <pre>
3432           * id in StringTable
3433           * </pre>
3434           */
3435          public boolean hasNameId() {
3436            return ((bitField0_ & 0x00000001) == 0x00000001);
3437          }
3438          /**
3439           * <code>required int32 name_id = 1;</code>
3440           *
3441           * <pre>
3442           * id in StringTable
3443           * </pre>
3444           */
3445          public int getNameId() {
3446            return nameId_;
3447          }
3448    
3449          // required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;
3450          public static final int VALUE_FIELD_NUMBER = 2;
3451          private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value_;
3452          /**
3453           * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3454           */
3455          public boolean hasValue() {
3456            return ((bitField0_ & 0x00000002) == 0x00000002);
3457          }
3458          /**
3459           * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3460           */
3461          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getValue() {
3462            return value_;
3463          }
3464    
3465          private void initFields() {
3466            nameId_ = 0;
3467            value_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3468          }
3469          private byte memoizedIsInitialized = -1;
3470          public final boolean isInitialized() {
3471            byte isInitialized = memoizedIsInitialized;
3472            if (isInitialized != -1) return isInitialized == 1;
3473    
3474            if (!hasNameId()) {
3475              memoizedIsInitialized = 0;
3476              return false;
3477            }
3478            if (!hasValue()) {
3479              memoizedIsInitialized = 0;
3480              return false;
3481            }
3482            if (!getValue().isInitialized()) {
3483              memoizedIsInitialized = 0;
3484              return false;
3485            }
3486            memoizedIsInitialized = 1;
3487            return true;
3488          }
3489    
3490          public void writeTo(com.google.protobuf.CodedOutputStream output)
3491                              throws java.io.IOException {
3492            getSerializedSize();
3493            if (((bitField0_ & 0x00000001) == 0x00000001)) {
3494              output.writeInt32(1, nameId_);
3495            }
3496            if (((bitField0_ & 0x00000002) == 0x00000002)) {
3497              output.writeMessage(2, value_);
3498            }
3499          }
3500    
3501          private int memoizedSerializedSize = -1;
3502          public int getSerializedSize() {
3503            int size = memoizedSerializedSize;
3504            if (size != -1) return size;
3505    
3506            size = 0;
3507            if (((bitField0_ & 0x00000001) == 0x00000001)) {
3508              size += com.google.protobuf.CodedOutputStream
3509                .computeInt32Size(1, nameId_);
3510            }
3511            if (((bitField0_ & 0x00000002) == 0x00000002)) {
3512              size += com.google.protobuf.CodedOutputStream
3513                .computeMessageSize(2, value_);
3514            }
3515            memoizedSerializedSize = size;
3516            return size;
3517          }
3518    
3519          private static final long serialVersionUID = 0L;
3520          @java.lang.Override
3521          protected java.lang.Object writeReplace()
3522              throws java.io.ObjectStreamException {
3523            return super.writeReplace();
3524          }
3525    
3526          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3527              com.google.protobuf.ByteString 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              com.google.protobuf.ByteString 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(byte[] data)
3538              throws com.google.protobuf.InvalidProtocolBufferException {
3539            return PARSER.parseFrom(data);
3540          }
3541          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3542              byte[] data,
3543              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3544              throws com.google.protobuf.InvalidProtocolBufferException {
3545            return PARSER.parseFrom(data, extensionRegistry);
3546          }
3547          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(java.io.InputStream input)
3548              throws java.io.IOException {
3549            return PARSER.parseFrom(input);
3550          }
3551          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3552              java.io.InputStream input,
3553              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3554              throws java.io.IOException {
3555            return PARSER.parseFrom(input, extensionRegistry);
3556          }
3557          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseDelimitedFrom(java.io.InputStream input)
3558              throws java.io.IOException {
3559            return PARSER.parseDelimitedFrom(input);
3560          }
3561          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseDelimitedFrom(
3562              java.io.InputStream input,
3563              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3564              throws java.io.IOException {
3565            return PARSER.parseDelimitedFrom(input, extensionRegistry);
3566          }
3567          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3568              com.google.protobuf.CodedInputStream input)
3569              throws java.io.IOException {
3570            return PARSER.parseFrom(input);
3571          }
3572          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3573              com.google.protobuf.CodedInputStream input,
3574              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3575              throws java.io.IOException {
3576            return PARSER.parseFrom(input, extensionRegistry);
3577          }
3578    
3579          public static Builder newBuilder() { return Builder.create(); }
3580          public Builder newBuilderForType() { return newBuilder(); }
3581          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument prototype) {
3582            return newBuilder().mergeFrom(prototype);
3583          }
3584          public Builder toBuilder() { return newBuilder(this); }
3585    
3586          /**
3587           * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation.Argument}
3588           */
3589          public static final class Builder extends
3590              com.google.protobuf.GeneratedMessageLite.Builder<
3591                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument, Builder>
3592              implements org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.ArgumentOrBuilder {
3593            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.newBuilder()
3594            private Builder() {
3595              maybeForceBuilderInitialization();
3596            }
3597    
3598            private void maybeForceBuilderInitialization() {
3599            }
3600            private static Builder create() {
3601              return new Builder();
3602            }
3603    
3604            public Builder clear() {
3605              super.clear();
3606              nameId_ = 0;
3607              bitField0_ = (bitField0_ & ~0x00000001);
3608              value_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3609              bitField0_ = (bitField0_ & ~0x00000002);
3610              return this;
3611            }
3612    
3613            public Builder clone() {
3614              return create().mergeFrom(buildPartial());
3615            }
3616    
3617            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument getDefaultInstanceForType() {
3618              return org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.getDefaultInstance();
3619            }
3620    
3621            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument build() {
3622              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument result = buildPartial();
3623              if (!result.isInitialized()) {
3624                throw newUninitializedMessageException(result);
3625              }
3626              return result;
3627            }
3628    
3629            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument buildPartial() {
3630              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument result = new org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument(this);
3631              int from_bitField0_ = bitField0_;
3632              int to_bitField0_ = 0;
3633              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
3634                to_bitField0_ |= 0x00000001;
3635              }
3636              result.nameId_ = nameId_;
3637              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
3638                to_bitField0_ |= 0x00000002;
3639              }
3640              result.value_ = value_;
3641              result.bitField0_ = to_bitField0_;
3642              return result;
3643            }
3644    
3645            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument other) {
3646              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.getDefaultInstance()) return this;
3647              if (other.hasNameId()) {
3648                setNameId(other.getNameId());
3649              }
3650              if (other.hasValue()) {
3651                mergeValue(other.getValue());
3652              }
3653              return this;
3654            }
3655    
3656            public final boolean isInitialized() {
3657              if (!hasNameId()) {
3658                
3659                return false;
3660              }
3661              if (!hasValue()) {
3662                
3663                return false;
3664              }
3665              if (!getValue().isInitialized()) {
3666                
3667                return false;
3668              }
3669              return true;
3670            }
3671    
3672            public Builder mergeFrom(
3673                com.google.protobuf.CodedInputStream input,
3674                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3675                throws java.io.IOException {
3676              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parsedMessage = null;
3677              try {
3678                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
3679              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3680                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument) e.getUnfinishedMessage();
3681                throw e;
3682              } finally {
3683                if (parsedMessage != null) {
3684                  mergeFrom(parsedMessage);
3685                }
3686              }
3687              return this;
3688            }
3689            private int bitField0_;
3690    
3691            // required int32 name_id = 1;
3692            private int nameId_ ;
3693            /**
3694             * <code>required int32 name_id = 1;</code>
3695             *
3696             * <pre>
3697             * id in StringTable
3698             * </pre>
3699             */
3700            public boolean hasNameId() {
3701              return ((bitField0_ & 0x00000001) == 0x00000001);
3702            }
3703            /**
3704             * <code>required int32 name_id = 1;</code>
3705             *
3706             * <pre>
3707             * id in StringTable
3708             * </pre>
3709             */
3710            public int getNameId() {
3711              return nameId_;
3712            }
3713            /**
3714             * <code>required int32 name_id = 1;</code>
3715             *
3716             * <pre>
3717             * id in StringTable
3718             * </pre>
3719             */
3720            public Builder setNameId(int value) {
3721              bitField0_ |= 0x00000001;
3722              nameId_ = value;
3723              
3724              return this;
3725            }
3726            /**
3727             * <code>required int32 name_id = 1;</code>
3728             *
3729             * <pre>
3730             * id in StringTable
3731             * </pre>
3732             */
3733            public Builder clearNameId() {
3734              bitField0_ = (bitField0_ & ~0x00000001);
3735              nameId_ = 0;
3736              
3737              return this;
3738            }
3739    
3740            // required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;
3741            private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3742            /**
3743             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3744             */
3745            public boolean hasValue() {
3746              return ((bitField0_ & 0x00000002) == 0x00000002);
3747            }
3748            /**
3749             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3750             */
3751            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getValue() {
3752              return value_;
3753            }
3754            /**
3755             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3756             */
3757            public Builder setValue(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3758              if (value == null) {
3759                throw new NullPointerException();
3760              }
3761              value_ = value;
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 setValue(
3770                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3771              value_ = builderForValue.build();
3772    
3773              bitField0_ |= 0x00000002;
3774              return this;
3775            }
3776            /**
3777             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3778             */
3779            public Builder mergeValue(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3780              if (((bitField0_ & 0x00000002) == 0x00000002) &&
3781                  value_ != org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance()) {
3782                value_ =
3783                  org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.newBuilder(value_).mergeFrom(value).buildPartial();
3784              } else {
3785                value_ = value;
3786              }
3787    
3788              bitField0_ |= 0x00000002;
3789              return this;
3790            }
3791            /**
3792             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3793             */
3794            public Builder clearValue() {
3795              value_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3796    
3797              bitField0_ = (bitField0_ & ~0x00000002);
3798              return this;
3799            }
3800    
3801            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Annotation.Argument)
3802          }
3803    
3804          static {
3805            defaultInstance = new Argument(true);
3806            defaultInstance.initFields();
3807          }
3808    
3809          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Annotation.Argument)
3810        }
3811    
3812        private int bitField0_;
3813        // required int32 id = 1;
3814        public static final int ID_FIELD_NUMBER = 1;
3815        private int id_;
3816        /**
3817         * <code>required int32 id = 1;</code>
3818         *
3819         * <pre>
3820         * Class FQ name id
3821         * </pre>
3822         */
3823        public boolean hasId() {
3824          return ((bitField0_ & 0x00000001) == 0x00000001);
3825        }
3826        /**
3827         * <code>required int32 id = 1;</code>
3828         *
3829         * <pre>
3830         * Class FQ name id
3831         * </pre>
3832         */
3833        public int getId() {
3834          return id_;
3835        }
3836    
3837        // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;
3838        public static final int ARGUMENT_FIELD_NUMBER = 2;
3839        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> argument_;
3840        /**
3841         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3842         */
3843        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> getArgumentList() {
3844          return argument_;
3845        }
3846        /**
3847         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3848         */
3849        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.ArgumentOrBuilder> 
3850            getArgumentOrBuilderList() {
3851          return argument_;
3852        }
3853        /**
3854         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3855         */
3856        public int getArgumentCount() {
3857          return argument_.size();
3858        }
3859        /**
3860         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3861         */
3862        public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument getArgument(int index) {
3863          return argument_.get(index);
3864        }
3865        /**
3866         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3867         */
3868        public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.ArgumentOrBuilder getArgumentOrBuilder(
3869            int index) {
3870          return argument_.get(index);
3871        }
3872    
3873        private void initFields() {
3874          id_ = 0;
3875          argument_ = java.util.Collections.emptyList();
3876        }
3877        private byte memoizedIsInitialized = -1;
3878        public final boolean isInitialized() {
3879          byte isInitialized = memoizedIsInitialized;
3880          if (isInitialized != -1) return isInitialized == 1;
3881    
3882          if (!hasId()) {
3883            memoizedIsInitialized = 0;
3884            return false;
3885          }
3886          for (int i = 0; i < getArgumentCount(); i++) {
3887            if (!getArgument(i).isInitialized()) {
3888              memoizedIsInitialized = 0;
3889              return false;
3890            }
3891          }
3892          memoizedIsInitialized = 1;
3893          return true;
3894        }
3895    
3896        public void writeTo(com.google.protobuf.CodedOutputStream output)
3897                            throws java.io.IOException {
3898          getSerializedSize();
3899          if (((bitField0_ & 0x00000001) == 0x00000001)) {
3900            output.writeInt32(1, id_);
3901          }
3902          for (int i = 0; i < argument_.size(); i++) {
3903            output.writeMessage(2, argument_.get(i));
3904          }
3905        }
3906    
3907        private int memoizedSerializedSize = -1;
3908        public int getSerializedSize() {
3909          int size = memoizedSerializedSize;
3910          if (size != -1) return size;
3911    
3912          size = 0;
3913          if (((bitField0_ & 0x00000001) == 0x00000001)) {
3914            size += com.google.protobuf.CodedOutputStream
3915              .computeInt32Size(1, id_);
3916          }
3917          for (int i = 0; i < argument_.size(); i++) {
3918            size += com.google.protobuf.CodedOutputStream
3919              .computeMessageSize(2, argument_.get(i));
3920          }
3921          memoizedSerializedSize = size;
3922          return size;
3923        }
3924    
3925        private static final long serialVersionUID = 0L;
3926        @java.lang.Override
3927        protected java.lang.Object writeReplace()
3928            throws java.io.ObjectStreamException {
3929          return super.writeReplace();
3930        }
3931    
3932        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3933            com.google.protobuf.ByteString data)
3934            throws com.google.protobuf.InvalidProtocolBufferException {
3935          return PARSER.parseFrom(data);
3936        }
3937        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3938            com.google.protobuf.ByteString 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(byte[] data)
3944            throws com.google.protobuf.InvalidProtocolBufferException {
3945          return PARSER.parseFrom(data);
3946        }
3947        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3948            byte[] data,
3949            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3950            throws com.google.protobuf.InvalidProtocolBufferException {
3951          return PARSER.parseFrom(data, extensionRegistry);
3952        }
3953        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(java.io.InputStream input)
3954            throws java.io.IOException {
3955          return PARSER.parseFrom(input);
3956        }
3957        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3958            java.io.InputStream input,
3959            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3960            throws java.io.IOException {
3961          return PARSER.parseFrom(input, extensionRegistry);
3962        }
3963        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseDelimitedFrom(java.io.InputStream input)
3964            throws java.io.IOException {
3965          return PARSER.parseDelimitedFrom(input);
3966        }
3967        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseDelimitedFrom(
3968            java.io.InputStream input,
3969            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3970            throws java.io.IOException {
3971          return PARSER.parseDelimitedFrom(input, extensionRegistry);
3972        }
3973        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3974            com.google.protobuf.CodedInputStream input)
3975            throws java.io.IOException {
3976          return PARSER.parseFrom(input);
3977        }
3978        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3979            com.google.protobuf.CodedInputStream input,
3980            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3981            throws java.io.IOException {
3982          return PARSER.parseFrom(input, extensionRegistry);
3983        }
3984    
3985        public static Builder newBuilder() { return Builder.create(); }
3986        public Builder newBuilderForType() { return newBuilder(); }
3987        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation prototype) {
3988          return newBuilder().mergeFrom(prototype);
3989        }
3990        public Builder toBuilder() { return newBuilder(this); }
3991    
3992        /**
3993         * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation}
3994         */
3995        public static final class Builder extends
3996            com.google.protobuf.GeneratedMessageLite.Builder<
3997              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation, Builder>
3998            implements org.jetbrains.kotlin.serialization.ProtoBuf.AnnotationOrBuilder {
3999          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.newBuilder()
4000          private Builder() {
4001            maybeForceBuilderInitialization();
4002          }
4003    
4004          private void maybeForceBuilderInitialization() {
4005          }
4006          private static Builder create() {
4007            return new Builder();
4008          }
4009    
4010          public Builder clear() {
4011            super.clear();
4012            id_ = 0;
4013            bitField0_ = (bitField0_ & ~0x00000001);
4014            argument_ = java.util.Collections.emptyList();
4015            bitField0_ = (bitField0_ & ~0x00000002);
4016            return this;
4017          }
4018    
4019          public Builder clone() {
4020            return create().mergeFrom(buildPartial());
4021          }
4022    
4023          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getDefaultInstanceForType() {
4024            return org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
4025          }
4026    
4027          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation build() {
4028            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation result = buildPartial();
4029            if (!result.isInitialized()) {
4030              throw newUninitializedMessageException(result);
4031            }
4032            return result;
4033          }
4034    
4035          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation buildPartial() {
4036            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation result = new org.jetbrains.kotlin.serialization.ProtoBuf.Annotation(this);
4037            int from_bitField0_ = bitField0_;
4038            int to_bitField0_ = 0;
4039            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
4040              to_bitField0_ |= 0x00000001;
4041            }
4042            result.id_ = id_;
4043            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4044              argument_ = java.util.Collections.unmodifiableList(argument_);
4045              bitField0_ = (bitField0_ & ~0x00000002);
4046            }
4047            result.argument_ = argument_;
4048            result.bitField0_ = to_bitField0_;
4049            return result;
4050          }
4051    
4052          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation other) {
4053            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance()) return this;
4054            if (other.hasId()) {
4055              setId(other.getId());
4056            }
4057            if (!other.argument_.isEmpty()) {
4058              if (argument_.isEmpty()) {
4059                argument_ = other.argument_;
4060                bitField0_ = (bitField0_ & ~0x00000002);
4061              } else {
4062                ensureArgumentIsMutable();
4063                argument_.addAll(other.argument_);
4064              }
4065              
4066            }
4067            return this;
4068          }
4069    
4070          public final boolean isInitialized() {
4071            if (!hasId()) {
4072              
4073              return false;
4074            }
4075            for (int i = 0; i < getArgumentCount(); i++) {
4076              if (!getArgument(i).isInitialized()) {
4077                
4078                return false;
4079              }
4080            }
4081            return true;
4082          }
4083    
4084          public Builder mergeFrom(
4085              com.google.protobuf.CodedInputStream input,
4086              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4087              throws java.io.IOException {
4088            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parsedMessage = null;
4089            try {
4090              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
4091            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4092              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Annotation) e.getUnfinishedMessage();
4093              throw e;
4094            } finally {
4095              if (parsedMessage != null) {
4096                mergeFrom(parsedMessage);
4097              }
4098            }
4099            return this;
4100          }
4101          private int bitField0_;
4102    
4103          // required int32 id = 1;
4104          private int id_ ;
4105          /**
4106           * <code>required int32 id = 1;</code>
4107           *
4108           * <pre>
4109           * Class FQ name id
4110           * </pre>
4111           */
4112          public boolean hasId() {
4113            return ((bitField0_ & 0x00000001) == 0x00000001);
4114          }
4115          /**
4116           * <code>required int32 id = 1;</code>
4117           *
4118           * <pre>
4119           * Class FQ name id
4120           * </pre>
4121           */
4122          public int getId() {
4123            return id_;
4124          }
4125          /**
4126           * <code>required int32 id = 1;</code>
4127           *
4128           * <pre>
4129           * Class FQ name id
4130           * </pre>
4131           */
4132          public Builder setId(int value) {
4133            bitField0_ |= 0x00000001;
4134            id_ = value;
4135            
4136            return this;
4137          }
4138          /**
4139           * <code>required int32 id = 1;</code>
4140           *
4141           * <pre>
4142           * Class FQ name id
4143           * </pre>
4144           */
4145          public Builder clearId() {
4146            bitField0_ = (bitField0_ & ~0x00000001);
4147            id_ = 0;
4148            
4149            return this;
4150          }
4151    
4152          // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;
4153          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> argument_ =
4154            java.util.Collections.emptyList();
4155          private void ensureArgumentIsMutable() {
4156            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
4157              argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument>(argument_);
4158              bitField0_ |= 0x00000002;
4159             }
4160          }
4161    
4162          /**
4163           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4164           */
4165          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> getArgumentList() {
4166            return java.util.Collections.unmodifiableList(argument_);
4167          }
4168          /**
4169           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4170           */
4171          public int getArgumentCount() {
4172            return argument_.size();
4173          }
4174          /**
4175           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4176           */
4177          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument getArgument(int index) {
4178            return argument_.get(index);
4179          }
4180          /**
4181           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4182           */
4183          public Builder setArgument(
4184              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument value) {
4185            if (value == null) {
4186              throw new NullPointerException();
4187            }
4188            ensureArgumentIsMutable();
4189            argument_.set(index, value);
4190    
4191            return this;
4192          }
4193          /**
4194           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4195           */
4196          public Builder setArgument(
4197              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Builder builderForValue) {
4198            ensureArgumentIsMutable();
4199            argument_.set(index, builderForValue.build());
4200    
4201            return this;
4202          }
4203          /**
4204           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4205           */
4206          public Builder addArgument(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument value) {
4207            if (value == null) {
4208              throw new NullPointerException();
4209            }
4210            ensureArgumentIsMutable();
4211            argument_.add(value);
4212    
4213            return this;
4214          }
4215          /**
4216           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4217           */
4218          public Builder addArgument(
4219              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument value) {
4220            if (value == null) {
4221              throw new NullPointerException();
4222            }
4223            ensureArgumentIsMutable();
4224            argument_.add(index, value);
4225    
4226            return this;
4227          }
4228          /**
4229           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4230           */
4231          public Builder addArgument(
4232              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Builder builderForValue) {
4233            ensureArgumentIsMutable();
4234            argument_.add(builderForValue.build());
4235    
4236            return this;
4237          }
4238          /**
4239           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4240           */
4241          public Builder addArgument(
4242              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Builder builderForValue) {
4243            ensureArgumentIsMutable();
4244            argument_.add(index, builderForValue.build());
4245    
4246            return this;
4247          }
4248          /**
4249           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4250           */
4251          public Builder addAllArgument(
4252              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> values) {
4253            ensureArgumentIsMutable();
4254            super.addAll(values, argument_);
4255    
4256            return this;
4257          }
4258          /**
4259           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4260           */
4261          public Builder clearArgument() {
4262            argument_ = java.util.Collections.emptyList();
4263            bitField0_ = (bitField0_ & ~0x00000002);
4264    
4265            return this;
4266          }
4267          /**
4268           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4269           */
4270          public Builder removeArgument(int index) {
4271            ensureArgumentIsMutable();
4272            argument_.remove(index);
4273    
4274            return this;
4275          }
4276    
4277          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Annotation)
4278        }
4279    
4280        static {
4281          defaultInstance = new Annotation(true);
4282          defaultInstance.initFields();
4283        }
4284    
4285        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Annotation)
4286      }
4287    
4288      public interface TypeOrBuilder extends 
4289           com.google.protobuf.GeneratedMessageLite.
4290                ExtendableMessageOrBuilder<Type> {
4291    
4292        // required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;
4293        /**
4294         * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
4295         */
4296        boolean hasConstructor();
4297        /**
4298         * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
4299         */
4300        org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor getConstructor();
4301    
4302        // repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;
4303        /**
4304         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
4305         */
4306        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> 
4307            getArgumentList();
4308        /**
4309         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
4310         */
4311        org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index);
4312        /**
4313         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
4314         */
4315        int getArgumentCount();
4316    
4317        // optional bool nullable = 3 [default = false];
4318        /**
4319         * <code>optional bool nullable = 3 [default = false];</code>
4320         */
4321        boolean hasNullable();
4322        /**
4323         * <code>optional bool nullable = 3 [default = false];</code>
4324         */
4325        boolean getNullable();
4326    
4327        // optional int32 flexible_type_capabilities_id = 4;
4328        /**
4329         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
4330         *
4331         * <pre>
4332         * Id in the StringTable
4333         * If this field is set, the type is flexible.
4334         * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
4335         * </pre>
4336         */
4337        boolean hasFlexibleTypeCapabilitiesId();
4338        /**
4339         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
4340         *
4341         * <pre>
4342         * Id in the StringTable
4343         * If this field is set, the type is flexible.
4344         * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
4345         * </pre>
4346         */
4347        int getFlexibleTypeCapabilitiesId();
4348    
4349        // optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;
4350        /**
4351         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
4352         *
4353         * <pre>
4354         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
4355         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
4356         * to represent flexible types is too many wasted bytes.
4357         * </pre>
4358         */
4359        boolean hasFlexibleUpperBound();
4360        /**
4361         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
4362         *
4363         * <pre>
4364         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
4365         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
4366         * to represent flexible types is too many wasted bytes.
4367         * </pre>
4368         */
4369        org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound();
4370    
4371        // optional int32 constructor_class_name = 6;
4372        /**
4373         * <code>optional int32 constructor_class_name = 6;</code>
4374         *
4375         * <pre>
4376         * fqName id
4377         * </pre>
4378         */
4379        boolean hasConstructorClassName();
4380        /**
4381         * <code>optional int32 constructor_class_name = 6;</code>
4382         *
4383         * <pre>
4384         * fqName id
4385         * </pre>
4386         */
4387        int getConstructorClassName();
4388    
4389        // optional int32 constructor_type_parameter = 7;
4390        /**
4391         * <code>optional int32 constructor_type_parameter = 7;</code>
4392         *
4393         * <pre>
4394         * type parameter id
4395         * </pre>
4396         */
4397        boolean hasConstructorTypeParameter();
4398        /**
4399         * <code>optional int32 constructor_type_parameter = 7;</code>
4400         *
4401         * <pre>
4402         * type parameter id
4403         * </pre>
4404         */
4405        int getConstructorTypeParameter();
4406      }
4407      /**
4408       * Protobuf type {@code org.jetbrains.kotlin.serialization.Type}
4409       */
4410      public static final class Type extends
4411          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
4412            Type> implements TypeOrBuilder {
4413        // Use Type.newBuilder() to construct.
4414        private Type(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Type, ?> builder) {
4415          super(builder);
4416    
4417        }
4418        private Type(boolean noInit) {}
4419    
4420        private static final Type defaultInstance;
4421        public static Type getDefaultInstance() {
4422          return defaultInstance;
4423        }
4424    
4425        public Type getDefaultInstanceForType() {
4426          return defaultInstance;
4427        }
4428    
4429        private Type(
4430            com.google.protobuf.CodedInputStream input,
4431            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4432            throws com.google.protobuf.InvalidProtocolBufferException {
4433          initFields();
4434          int mutable_bitField0_ = 0;
4435          try {
4436            boolean done = false;
4437            while (!done) {
4438              int tag = input.readTag();
4439              switch (tag) {
4440                case 0:
4441                  done = true;
4442                  break;
4443                default: {
4444                  if (!parseUnknownField(input,
4445                                         extensionRegistry, tag)) {
4446                    done = true;
4447                  }
4448                  break;
4449                }
4450                case 10: {
4451                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Builder subBuilder = null;
4452                  if (((bitField0_ & 0x00000001) == 0x00000001)) {
4453                    subBuilder = constructor_.toBuilder();
4454                  }
4455                  constructor_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.PARSER, extensionRegistry);
4456                  if (subBuilder != null) {
4457                    subBuilder.mergeFrom(constructor_);
4458                    constructor_ = subBuilder.buildPartial();
4459                  }
4460                  bitField0_ |= 0x00000001;
4461                  break;
4462                }
4463                case 18: {
4464                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
4465                    argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument>();
4466                    mutable_bitField0_ |= 0x00000002;
4467                  }
4468                  argument_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.PARSER, extensionRegistry));
4469                  break;
4470                }
4471                case 24: {
4472                  bitField0_ |= 0x00000002;
4473                  nullable_ = input.readBool();
4474                  break;
4475                }
4476                case 32: {
4477                  bitField0_ |= 0x00000004;
4478                  flexibleTypeCapabilitiesId_ = input.readInt32();
4479                  break;
4480                }
4481                case 42: {
4482                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
4483                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
4484                    subBuilder = flexibleUpperBound_.toBuilder();
4485                  }
4486                  flexibleUpperBound_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
4487                  if (subBuilder != null) {
4488                    subBuilder.mergeFrom(flexibleUpperBound_);
4489                    flexibleUpperBound_ = subBuilder.buildPartial();
4490                  }
4491                  bitField0_ |= 0x00000008;
4492                  break;
4493                }
4494                case 48: {
4495                  bitField0_ |= 0x00000010;
4496                  constructorClassName_ = input.readInt32();
4497                  break;
4498                }
4499                case 56: {
4500                  bitField0_ |= 0x00000020;
4501                  constructorTypeParameter_ = input.readInt32();
4502                  break;
4503                }
4504              }
4505            }
4506          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4507            throw e.setUnfinishedMessage(this);
4508          } catch (java.io.IOException e) {
4509            throw new com.google.protobuf.InvalidProtocolBufferException(
4510                e.getMessage()).setUnfinishedMessage(this);
4511          } finally {
4512            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
4513              argument_ = java.util.Collections.unmodifiableList(argument_);
4514            }
4515            makeExtensionsImmutable();
4516          }
4517        }
4518        public static com.google.protobuf.Parser<Type> PARSER =
4519            new com.google.protobuf.AbstractParser<Type>() {
4520          public Type parsePartialFrom(
4521              com.google.protobuf.CodedInputStream input,
4522              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4523              throws com.google.protobuf.InvalidProtocolBufferException {
4524            return new Type(input, extensionRegistry);
4525          }
4526        };
4527    
4528        @java.lang.Override
4529        public com.google.protobuf.Parser<Type> getParserForType() {
4530          return PARSER;
4531        }
4532    
4533        public interface ConstructorOrBuilder
4534            extends com.google.protobuf.MessageLiteOrBuilder {
4535    
4536          // optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];
4537          /**
4538           * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4539           */
4540          boolean hasKind();
4541          /**
4542           * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4543           */
4544          org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind getKind();
4545    
4546          // required int32 id = 2;
4547          /**
4548           * <code>required int32 id = 2;</code>
4549           *
4550           * <pre>
4551           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4552           * </pre>
4553           */
4554          boolean hasId();
4555          /**
4556           * <code>required int32 id = 2;</code>
4557           *
4558           * <pre>
4559           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4560           * </pre>
4561           */
4562          int getId();
4563        }
4564        /**
4565         * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Constructor}
4566         */
4567        public static final class Constructor extends
4568            com.google.protobuf.GeneratedMessageLite
4569            implements ConstructorOrBuilder {
4570          // Use Constructor.newBuilder() to construct.
4571          private Constructor(com.google.protobuf.GeneratedMessageLite.Builder builder) {
4572            super(builder);
4573    
4574          }
4575          private Constructor(boolean noInit) {}
4576    
4577          private static final Constructor defaultInstance;
4578          public static Constructor getDefaultInstance() {
4579            return defaultInstance;
4580          }
4581    
4582          public Constructor getDefaultInstanceForType() {
4583            return defaultInstance;
4584          }
4585    
4586          private Constructor(
4587              com.google.protobuf.CodedInputStream input,
4588              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4589              throws com.google.protobuf.InvalidProtocolBufferException {
4590            initFields();
4591            int mutable_bitField0_ = 0;
4592            try {
4593              boolean done = false;
4594              while (!done) {
4595                int tag = input.readTag();
4596                switch (tag) {
4597                  case 0:
4598                    done = true;
4599                    break;
4600                  default: {
4601                    if (!parseUnknownField(input,
4602                                           extensionRegistry, tag)) {
4603                      done = true;
4604                    }
4605                    break;
4606                  }
4607                  case 8: {
4608                    int rawValue = input.readEnum();
4609                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind value = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind.valueOf(rawValue);
4610                    if (value != null) {
4611                      bitField0_ |= 0x00000001;
4612                      kind_ = value;
4613                    }
4614                    break;
4615                  }
4616                  case 16: {
4617                    bitField0_ |= 0x00000002;
4618                    id_ = input.readInt32();
4619                    break;
4620                  }
4621                }
4622              }
4623            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4624              throw e.setUnfinishedMessage(this);
4625            } catch (java.io.IOException e) {
4626              throw new com.google.protobuf.InvalidProtocolBufferException(
4627                  e.getMessage()).setUnfinishedMessage(this);
4628            } finally {
4629              makeExtensionsImmutable();
4630            }
4631          }
4632          public static com.google.protobuf.Parser<Constructor> PARSER =
4633              new com.google.protobuf.AbstractParser<Constructor>() {
4634            public Constructor parsePartialFrom(
4635                com.google.protobuf.CodedInputStream input,
4636                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4637                throws com.google.protobuf.InvalidProtocolBufferException {
4638              return new Constructor(input, extensionRegistry);
4639            }
4640          };
4641    
4642          @java.lang.Override
4643          public com.google.protobuf.Parser<Constructor> getParserForType() {
4644            return PARSER;
4645          }
4646    
4647          /**
4648           * Protobuf enum {@code org.jetbrains.kotlin.serialization.Type.Constructor.Kind}
4649           */
4650          public enum Kind
4651              implements com.google.protobuf.Internal.EnumLite {
4652            /**
4653             * <code>CLASS = 0;</code>
4654             */
4655            CLASS(0, 0),
4656            /**
4657             * <code>TYPE_PARAMETER = 1;</code>
4658             */
4659            TYPE_PARAMETER(1, 1),
4660            ;
4661    
4662            /**
4663             * <code>CLASS = 0;</code>
4664             */
4665            public static final int CLASS_VALUE = 0;
4666            /**
4667             * <code>TYPE_PARAMETER = 1;</code>
4668             */
4669            public static final int TYPE_PARAMETER_VALUE = 1;
4670    
4671    
4672            public final int getNumber() { return value; }
4673    
4674            public static Kind valueOf(int value) {
4675              switch (value) {
4676                case 0: return CLASS;
4677                case 1: return TYPE_PARAMETER;
4678                default: return null;
4679              }
4680            }
4681    
4682            public static com.google.protobuf.Internal.EnumLiteMap<Kind>
4683                internalGetValueMap() {
4684              return internalValueMap;
4685            }
4686            private static com.google.protobuf.Internal.EnumLiteMap<Kind>
4687                internalValueMap =
4688                  new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
4689                    public Kind findValueByNumber(int number) {
4690                      return Kind.valueOf(number);
4691                    }
4692                  };
4693    
4694            private final int value;
4695    
4696            private Kind(int index, int value) {
4697              this.value = value;
4698            }
4699    
4700            // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Type.Constructor.Kind)
4701          }
4702    
4703          private int bitField0_;
4704          // optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];
4705          public static final int KIND_FIELD_NUMBER = 1;
4706          private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind kind_;
4707          /**
4708           * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4709           */
4710          public boolean hasKind() {
4711            return ((bitField0_ & 0x00000001) == 0x00000001);
4712          }
4713          /**
4714           * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4715           */
4716          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind getKind() {
4717            return kind_;
4718          }
4719    
4720          // required int32 id = 2;
4721          public static final int ID_FIELD_NUMBER = 2;
4722          private int id_;
4723          /**
4724           * <code>required int32 id = 2;</code>
4725           *
4726           * <pre>
4727           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4728           * </pre>
4729           */
4730          public boolean hasId() {
4731            return ((bitField0_ & 0x00000002) == 0x00000002);
4732          }
4733          /**
4734           * <code>required int32 id = 2;</code>
4735           *
4736           * <pre>
4737           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4738           * </pre>
4739           */
4740          public int getId() {
4741            return id_;
4742          }
4743    
4744          private void initFields() {
4745            kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
4746            id_ = 0;
4747          }
4748          private byte memoizedIsInitialized = -1;
4749          public final boolean isInitialized() {
4750            byte isInitialized = memoizedIsInitialized;
4751            if (isInitialized != -1) return isInitialized == 1;
4752    
4753            if (!hasId()) {
4754              memoizedIsInitialized = 0;
4755              return false;
4756            }
4757            memoizedIsInitialized = 1;
4758            return true;
4759          }
4760    
4761          public void writeTo(com.google.protobuf.CodedOutputStream output)
4762                              throws java.io.IOException {
4763            getSerializedSize();
4764            if (((bitField0_ & 0x00000001) == 0x00000001)) {
4765              output.writeEnum(1, kind_.getNumber());
4766            }
4767            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4768              output.writeInt32(2, id_);
4769            }
4770          }
4771    
4772          private int memoizedSerializedSize = -1;
4773          public int getSerializedSize() {
4774            int size = memoizedSerializedSize;
4775            if (size != -1) return size;
4776    
4777            size = 0;
4778            if (((bitField0_ & 0x00000001) == 0x00000001)) {
4779              size += com.google.protobuf.CodedOutputStream
4780                .computeEnumSize(1, kind_.getNumber());
4781            }
4782            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4783              size += com.google.protobuf.CodedOutputStream
4784                .computeInt32Size(2, id_);
4785            }
4786            memoizedSerializedSize = size;
4787            return size;
4788          }
4789    
4790          private static final long serialVersionUID = 0L;
4791          @java.lang.Override
4792          protected java.lang.Object writeReplace()
4793              throws java.io.ObjectStreamException {
4794            return super.writeReplace();
4795          }
4796    
4797          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4798              com.google.protobuf.ByteString data)
4799              throws com.google.protobuf.InvalidProtocolBufferException {
4800            return PARSER.parseFrom(data);
4801          }
4802          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4803              com.google.protobuf.ByteString data,
4804              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4805              throws com.google.protobuf.InvalidProtocolBufferException {
4806            return PARSER.parseFrom(data, extensionRegistry);
4807          }
4808          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(byte[] data)
4809              throws com.google.protobuf.InvalidProtocolBufferException {
4810            return PARSER.parseFrom(data);
4811          }
4812          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4813              byte[] data,
4814              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4815              throws com.google.protobuf.InvalidProtocolBufferException {
4816            return PARSER.parseFrom(data, extensionRegistry);
4817          }
4818          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(java.io.InputStream input)
4819              throws java.io.IOException {
4820            return PARSER.parseFrom(input);
4821          }
4822          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4823              java.io.InputStream input,
4824              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4825              throws java.io.IOException {
4826            return PARSER.parseFrom(input, extensionRegistry);
4827          }
4828          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseDelimitedFrom(java.io.InputStream input)
4829              throws java.io.IOException {
4830            return PARSER.parseDelimitedFrom(input);
4831          }
4832          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseDelimitedFrom(
4833              java.io.InputStream input,
4834              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4835              throws java.io.IOException {
4836            return PARSER.parseDelimitedFrom(input, extensionRegistry);
4837          }
4838          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4839              com.google.protobuf.CodedInputStream input)
4840              throws java.io.IOException {
4841            return PARSER.parseFrom(input);
4842          }
4843          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parseFrom(
4844              com.google.protobuf.CodedInputStream input,
4845              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4846              throws java.io.IOException {
4847            return PARSER.parseFrom(input, extensionRegistry);
4848          }
4849    
4850          public static Builder newBuilder() { return Builder.create(); }
4851          public Builder newBuilderForType() { return newBuilder(); }
4852          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor prototype) {
4853            return newBuilder().mergeFrom(prototype);
4854          }
4855          public Builder toBuilder() { return newBuilder(this); }
4856    
4857          /**
4858           * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Constructor}
4859           */
4860          public static final class Builder extends
4861              com.google.protobuf.GeneratedMessageLite.Builder<
4862                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor, Builder>
4863              implements org.jetbrains.kotlin.serialization.ProtoBuf.Type.ConstructorOrBuilder {
4864            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.newBuilder()
4865            private Builder() {
4866              maybeForceBuilderInitialization();
4867            }
4868    
4869            private void maybeForceBuilderInitialization() {
4870            }
4871            private static Builder create() {
4872              return new Builder();
4873            }
4874    
4875            public Builder clear() {
4876              super.clear();
4877              kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
4878              bitField0_ = (bitField0_ & ~0x00000001);
4879              id_ = 0;
4880              bitField0_ = (bitField0_ & ~0x00000002);
4881              return this;
4882            }
4883    
4884            public Builder clone() {
4885              return create().mergeFrom(buildPartial());
4886            }
4887    
4888            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor getDefaultInstanceForType() {
4889              return org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
4890            }
4891    
4892            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor build() {
4893              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor result = buildPartial();
4894              if (!result.isInitialized()) {
4895                throw newUninitializedMessageException(result);
4896              }
4897              return result;
4898            }
4899    
4900            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor buildPartial() {
4901              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor result = new org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor(this);
4902              int from_bitField0_ = bitField0_;
4903              int to_bitField0_ = 0;
4904              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
4905                to_bitField0_ |= 0x00000001;
4906              }
4907              result.kind_ = kind_;
4908              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
4909                to_bitField0_ |= 0x00000002;
4910              }
4911              result.id_ = id_;
4912              result.bitField0_ = to_bitField0_;
4913              return result;
4914            }
4915    
4916            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor other) {
4917              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance()) return this;
4918              if (other.hasKind()) {
4919                setKind(other.getKind());
4920              }
4921              if (other.hasId()) {
4922                setId(other.getId());
4923              }
4924              return this;
4925            }
4926    
4927            public final boolean isInitialized() {
4928              if (!hasId()) {
4929                
4930                return false;
4931              }
4932              return true;
4933            }
4934    
4935            public Builder mergeFrom(
4936                com.google.protobuf.CodedInputStream input,
4937                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4938                throws java.io.IOException {
4939              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor parsedMessage = null;
4940              try {
4941                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
4942              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4943                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor) e.getUnfinishedMessage();
4944                throw e;
4945              } finally {
4946                if (parsedMessage != null) {
4947                  mergeFrom(parsedMessage);
4948                }
4949              }
4950              return this;
4951            }
4952            private int bitField0_;
4953    
4954            // optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];
4955            private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
4956            /**
4957             * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4958             */
4959            public boolean hasKind() {
4960              return ((bitField0_ & 0x00000001) == 0x00000001);
4961            }
4962            /**
4963             * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4964             */
4965            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind getKind() {
4966              return kind_;
4967            }
4968            /**
4969             * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4970             */
4971            public Builder setKind(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind value) {
4972              if (value == null) {
4973                throw new NullPointerException();
4974              }
4975              bitField0_ |= 0x00000001;
4976              kind_ = value;
4977              
4978              return this;
4979            }
4980            /**
4981             * <code>optional .org.jetbrains.kotlin.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4982             */
4983            public Builder clearKind() {
4984              bitField0_ = (bitField0_ & ~0x00000001);
4985              kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
4986              
4987              return this;
4988            }
4989    
4990            // required int32 id = 2;
4991            private int id_ ;
4992            /**
4993             * <code>required int32 id = 2;</code>
4994             *
4995             * <pre>
4996             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4997             * </pre>
4998             */
4999            public boolean hasId() {
5000              return ((bitField0_ & 0x00000002) == 0x00000002);
5001            }
5002            /**
5003             * <code>required int32 id = 2;</code>
5004             *
5005             * <pre>
5006             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
5007             * </pre>
5008             */
5009            public int getId() {
5010              return id_;
5011            }
5012            /**
5013             * <code>required int32 id = 2;</code>
5014             *
5015             * <pre>
5016             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
5017             * </pre>
5018             */
5019            public Builder setId(int value) {
5020              bitField0_ |= 0x00000002;
5021              id_ = value;
5022              
5023              return this;
5024            }
5025            /**
5026             * <code>required int32 id = 2;</code>
5027             *
5028             * <pre>
5029             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
5030             * </pre>
5031             */
5032            public Builder clearId() {
5033              bitField0_ = (bitField0_ & ~0x00000002);
5034              id_ = 0;
5035              
5036              return this;
5037            }
5038    
5039            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Type.Constructor)
5040          }
5041    
5042          static {
5043            defaultInstance = new Constructor(true);
5044            defaultInstance.initFields();
5045          }
5046    
5047          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Type.Constructor)
5048        }
5049    
5050        public interface ArgumentOrBuilder
5051            extends com.google.protobuf.MessageLiteOrBuilder {
5052    
5053          // optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];
5054          /**
5055           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5056           */
5057          boolean hasProjection();
5058          /**
5059           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5060           */
5061          org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection();
5062    
5063          // optional .org.jetbrains.kotlin.serialization.Type type = 2;
5064          /**
5065           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5066           *
5067           * <pre>
5068           * when projection is STAR, no type is written, otherwise type must be specified
5069           * </pre>
5070           */
5071          boolean hasType();
5072          /**
5073           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5074           *
5075           * <pre>
5076           * when projection is STAR, no type is written, otherwise type must be specified
5077           * </pre>
5078           */
5079          org.jetbrains.kotlin.serialization.ProtoBuf.Type getType();
5080        }
5081        /**
5082         * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Argument}
5083         */
5084        public static final class Argument extends
5085            com.google.protobuf.GeneratedMessageLite
5086            implements ArgumentOrBuilder {
5087          // Use Argument.newBuilder() to construct.
5088          private Argument(com.google.protobuf.GeneratedMessageLite.Builder builder) {
5089            super(builder);
5090    
5091          }
5092          private Argument(boolean noInit) {}
5093    
5094          private static final Argument defaultInstance;
5095          public static Argument getDefaultInstance() {
5096            return defaultInstance;
5097          }
5098    
5099          public Argument getDefaultInstanceForType() {
5100            return defaultInstance;
5101          }
5102    
5103          private Argument(
5104              com.google.protobuf.CodedInputStream input,
5105              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5106              throws com.google.protobuf.InvalidProtocolBufferException {
5107            initFields();
5108            int mutable_bitField0_ = 0;
5109            try {
5110              boolean done = false;
5111              while (!done) {
5112                int tag = input.readTag();
5113                switch (tag) {
5114                  case 0:
5115                    done = true;
5116                    break;
5117                  default: {
5118                    if (!parseUnknownField(input,
5119                                           extensionRegistry, tag)) {
5120                      done = true;
5121                    }
5122                    break;
5123                  }
5124                  case 8: {
5125                    int rawValue = input.readEnum();
5126                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection value = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.valueOf(rawValue);
5127                    if (value != null) {
5128                      bitField0_ |= 0x00000001;
5129                      projection_ = value;
5130                    }
5131                    break;
5132                  }
5133                  case 18: {
5134                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
5135                    if (((bitField0_ & 0x00000002) == 0x00000002)) {
5136                      subBuilder = type_.toBuilder();
5137                    }
5138                    type_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
5139                    if (subBuilder != null) {
5140                      subBuilder.mergeFrom(type_);
5141                      type_ = subBuilder.buildPartial();
5142                    }
5143                    bitField0_ |= 0x00000002;
5144                    break;
5145                  }
5146                }
5147              }
5148            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5149              throw e.setUnfinishedMessage(this);
5150            } catch (java.io.IOException e) {
5151              throw new com.google.protobuf.InvalidProtocolBufferException(
5152                  e.getMessage()).setUnfinishedMessage(this);
5153            } finally {
5154              makeExtensionsImmutable();
5155            }
5156          }
5157          public static com.google.protobuf.Parser<Argument> PARSER =
5158              new com.google.protobuf.AbstractParser<Argument>() {
5159            public Argument parsePartialFrom(
5160                com.google.protobuf.CodedInputStream input,
5161                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5162                throws com.google.protobuf.InvalidProtocolBufferException {
5163              return new Argument(input, extensionRegistry);
5164            }
5165          };
5166    
5167          @java.lang.Override
5168          public com.google.protobuf.Parser<Argument> getParserForType() {
5169            return PARSER;
5170          }
5171    
5172          /**
5173           * Protobuf enum {@code org.jetbrains.kotlin.serialization.Type.Argument.Projection}
5174           */
5175          public enum Projection
5176              implements com.google.protobuf.Internal.EnumLite {
5177            /**
5178             * <code>IN = 0;</code>
5179             */
5180            IN(0, 0),
5181            /**
5182             * <code>OUT = 1;</code>
5183             */
5184            OUT(1, 1),
5185            /**
5186             * <code>INV = 2;</code>
5187             */
5188            INV(2, 2),
5189            /**
5190             * <code>STAR = 3;</code>
5191             */
5192            STAR(3, 3),
5193            ;
5194    
5195            /**
5196             * <code>IN = 0;</code>
5197             */
5198            public static final int IN_VALUE = 0;
5199            /**
5200             * <code>OUT = 1;</code>
5201             */
5202            public static final int OUT_VALUE = 1;
5203            /**
5204             * <code>INV = 2;</code>
5205             */
5206            public static final int INV_VALUE = 2;
5207            /**
5208             * <code>STAR = 3;</code>
5209             */
5210            public static final int STAR_VALUE = 3;
5211    
5212    
5213            public final int getNumber() { return value; }
5214    
5215            public static Projection valueOf(int value) {
5216              switch (value) {
5217                case 0: return IN;
5218                case 1: return OUT;
5219                case 2: return INV;
5220                case 3: return STAR;
5221                default: return null;
5222              }
5223            }
5224    
5225            public static com.google.protobuf.Internal.EnumLiteMap<Projection>
5226                internalGetValueMap() {
5227              return internalValueMap;
5228            }
5229            private static com.google.protobuf.Internal.EnumLiteMap<Projection>
5230                internalValueMap =
5231                  new com.google.protobuf.Internal.EnumLiteMap<Projection>() {
5232                    public Projection findValueByNumber(int number) {
5233                      return Projection.valueOf(number);
5234                    }
5235                  };
5236    
5237            private final int value;
5238    
5239            private Projection(int index, int value) {
5240              this.value = value;
5241            }
5242    
5243            // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Type.Argument.Projection)
5244          }
5245    
5246          private int bitField0_;
5247          // optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];
5248          public static final int PROJECTION_FIELD_NUMBER = 1;
5249          private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection projection_;
5250          /**
5251           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5252           */
5253          public boolean hasProjection() {
5254            return ((bitField0_ & 0x00000001) == 0x00000001);
5255          }
5256          /**
5257           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5258           */
5259          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
5260            return projection_;
5261          }
5262    
5263          // optional .org.jetbrains.kotlin.serialization.Type type = 2;
5264          public static final int TYPE_FIELD_NUMBER = 2;
5265          private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_;
5266          /**
5267           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5268           *
5269           * <pre>
5270           * when projection is STAR, no type is written, otherwise type must be specified
5271           * </pre>
5272           */
5273          public boolean hasType() {
5274            return ((bitField0_ & 0x00000002) == 0x00000002);
5275          }
5276          /**
5277           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5278           *
5279           * <pre>
5280           * when projection is STAR, no type is written, otherwise type must be specified
5281           * </pre>
5282           */
5283          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
5284            return type_;
5285          }
5286    
5287          private void initFields() {
5288            projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5289            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5290          }
5291          private byte memoizedIsInitialized = -1;
5292          public final boolean isInitialized() {
5293            byte isInitialized = memoizedIsInitialized;
5294            if (isInitialized != -1) return isInitialized == 1;
5295    
5296            if (hasType()) {
5297              if (!getType().isInitialized()) {
5298                memoizedIsInitialized = 0;
5299                return false;
5300              }
5301            }
5302            memoizedIsInitialized = 1;
5303            return true;
5304          }
5305    
5306          public void writeTo(com.google.protobuf.CodedOutputStream output)
5307                              throws java.io.IOException {
5308            getSerializedSize();
5309            if (((bitField0_ & 0x00000001) == 0x00000001)) {
5310              output.writeEnum(1, projection_.getNumber());
5311            }
5312            if (((bitField0_ & 0x00000002) == 0x00000002)) {
5313              output.writeMessage(2, type_);
5314            }
5315          }
5316    
5317          private int memoizedSerializedSize = -1;
5318          public int getSerializedSize() {
5319            int size = memoizedSerializedSize;
5320            if (size != -1) return size;
5321    
5322            size = 0;
5323            if (((bitField0_ & 0x00000001) == 0x00000001)) {
5324              size += com.google.protobuf.CodedOutputStream
5325                .computeEnumSize(1, projection_.getNumber());
5326            }
5327            if (((bitField0_ & 0x00000002) == 0x00000002)) {
5328              size += com.google.protobuf.CodedOutputStream
5329                .computeMessageSize(2, type_);
5330            }
5331            memoizedSerializedSize = size;
5332            return size;
5333          }
5334    
5335          private static final long serialVersionUID = 0L;
5336          @java.lang.Override
5337          protected java.lang.Object writeReplace()
5338              throws java.io.ObjectStreamException {
5339            return super.writeReplace();
5340          }
5341    
5342          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5343              com.google.protobuf.ByteString data)
5344              throws com.google.protobuf.InvalidProtocolBufferException {
5345            return PARSER.parseFrom(data);
5346          }
5347          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5348              com.google.protobuf.ByteString data,
5349              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5350              throws com.google.protobuf.InvalidProtocolBufferException {
5351            return PARSER.parseFrom(data, extensionRegistry);
5352          }
5353          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(byte[] data)
5354              throws com.google.protobuf.InvalidProtocolBufferException {
5355            return PARSER.parseFrom(data);
5356          }
5357          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5358              byte[] data,
5359              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5360              throws com.google.protobuf.InvalidProtocolBufferException {
5361            return PARSER.parseFrom(data, extensionRegistry);
5362          }
5363          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(java.io.InputStream input)
5364              throws java.io.IOException {
5365            return PARSER.parseFrom(input);
5366          }
5367          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5368              java.io.InputStream input,
5369              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5370              throws java.io.IOException {
5371            return PARSER.parseFrom(input, extensionRegistry);
5372          }
5373          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(java.io.InputStream input)
5374              throws java.io.IOException {
5375            return PARSER.parseDelimitedFrom(input);
5376          }
5377          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(
5378              java.io.InputStream input,
5379              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5380              throws java.io.IOException {
5381            return PARSER.parseDelimitedFrom(input, extensionRegistry);
5382          }
5383          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5384              com.google.protobuf.CodedInputStream input)
5385              throws java.io.IOException {
5386            return PARSER.parseFrom(input);
5387          }
5388          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5389              com.google.protobuf.CodedInputStream input,
5390              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5391              throws java.io.IOException {
5392            return PARSER.parseFrom(input, extensionRegistry);
5393          }
5394    
5395          public static Builder newBuilder() { return Builder.create(); }
5396          public Builder newBuilderForType() { return newBuilder(); }
5397          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument prototype) {
5398            return newBuilder().mergeFrom(prototype);
5399          }
5400          public Builder toBuilder() { return newBuilder(this); }
5401    
5402          /**
5403           * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Argument}
5404           */
5405          public static final class Builder extends
5406              com.google.protobuf.GeneratedMessageLite.Builder<
5407                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument, Builder>
5408              implements org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder {
5409            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.newBuilder()
5410            private Builder() {
5411              maybeForceBuilderInitialization();
5412            }
5413    
5414            private void maybeForceBuilderInitialization() {
5415            }
5416            private static Builder create() {
5417              return new Builder();
5418            }
5419    
5420            public Builder clear() {
5421              super.clear();
5422              projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5423              bitField0_ = (bitField0_ & ~0x00000001);
5424              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5425              bitField0_ = (bitField0_ & ~0x00000002);
5426              return this;
5427            }
5428    
5429            public Builder clone() {
5430              return create().mergeFrom(buildPartial());
5431            }
5432    
5433            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getDefaultInstanceForType() {
5434              return org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.getDefaultInstance();
5435            }
5436    
5437            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument build() {
5438              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument result = buildPartial();
5439              if (!result.isInitialized()) {
5440                throw newUninitializedMessageException(result);
5441              }
5442              return result;
5443            }
5444    
5445            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument buildPartial() {
5446              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument result = new org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument(this);
5447              int from_bitField0_ = bitField0_;
5448              int to_bitField0_ = 0;
5449              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
5450                to_bitField0_ |= 0x00000001;
5451              }
5452              result.projection_ = projection_;
5453              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
5454                to_bitField0_ |= 0x00000002;
5455              }
5456              result.type_ = type_;
5457              result.bitField0_ = to_bitField0_;
5458              return result;
5459            }
5460    
5461            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument other) {
5462              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.getDefaultInstance()) return this;
5463              if (other.hasProjection()) {
5464                setProjection(other.getProjection());
5465              }
5466              if (other.hasType()) {
5467                mergeType(other.getType());
5468              }
5469              return this;
5470            }
5471    
5472            public final boolean isInitialized() {
5473              if (hasType()) {
5474                if (!getType().isInitialized()) {
5475                  
5476                  return false;
5477                }
5478              }
5479              return true;
5480            }
5481    
5482            public Builder mergeFrom(
5483                com.google.protobuf.CodedInputStream input,
5484                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5485                throws java.io.IOException {
5486              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parsedMessage = null;
5487              try {
5488                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
5489              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5490                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument) e.getUnfinishedMessage();
5491                throw e;
5492              } finally {
5493                if (parsedMessage != null) {
5494                  mergeFrom(parsedMessage);
5495                }
5496              }
5497              return this;
5498            }
5499            private int bitField0_;
5500    
5501            // optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];
5502            private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5503            /**
5504             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5505             */
5506            public boolean hasProjection() {
5507              return ((bitField0_ & 0x00000001) == 0x00000001);
5508            }
5509            /**
5510             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5511             */
5512            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
5513              return projection_;
5514            }
5515            /**
5516             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5517             */
5518            public Builder setProjection(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection value) {
5519              if (value == null) {
5520                throw new NullPointerException();
5521              }
5522              bitField0_ |= 0x00000001;
5523              projection_ = value;
5524              
5525              return this;
5526            }
5527            /**
5528             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5529             */
5530            public Builder clearProjection() {
5531              bitField0_ = (bitField0_ & ~0x00000001);
5532              projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5533              
5534              return this;
5535            }
5536    
5537            // optional .org.jetbrains.kotlin.serialization.Type type = 2;
5538            private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5539            /**
5540             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5541             *
5542             * <pre>
5543             * when projection is STAR, no type is written, otherwise type must be specified
5544             * </pre>
5545             */
5546            public boolean hasType() {
5547              return ((bitField0_ & 0x00000002) == 0x00000002);
5548            }
5549            /**
5550             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5551             *
5552             * <pre>
5553             * when projection is STAR, no type is written, otherwise type must be specified
5554             * </pre>
5555             */
5556            public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
5557              return type_;
5558            }
5559            /**
5560             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5561             *
5562             * <pre>
5563             * when projection is STAR, no type is written, otherwise type must be specified
5564             * </pre>
5565             */
5566            public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
5567              if (value == null) {
5568                throw new NullPointerException();
5569              }
5570              type_ = value;
5571    
5572              bitField0_ |= 0x00000002;
5573              return this;
5574            }
5575            /**
5576             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5577             *
5578             * <pre>
5579             * when projection is STAR, no type is written, otherwise type must be specified
5580             * </pre>
5581             */
5582            public Builder setType(
5583                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
5584              type_ = builderForValue.build();
5585    
5586              bitField0_ |= 0x00000002;
5587              return this;
5588            }
5589            /**
5590             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5591             *
5592             * <pre>
5593             * when projection is STAR, no type is written, otherwise type must be specified
5594             * </pre>
5595             */
5596            public Builder mergeType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
5597              if (((bitField0_ & 0x00000002) == 0x00000002) &&
5598                  type_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
5599                type_ =
5600                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
5601              } else {
5602                type_ = value;
5603              }
5604    
5605              bitField0_ |= 0x00000002;
5606              return this;
5607            }
5608            /**
5609             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5610             *
5611             * <pre>
5612             * when projection is STAR, no type is written, otherwise type must be specified
5613             * </pre>
5614             */
5615            public Builder clearType() {
5616              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5617    
5618              bitField0_ = (bitField0_ & ~0x00000002);
5619              return this;
5620            }
5621    
5622            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Type.Argument)
5623          }
5624    
5625          static {
5626            defaultInstance = new Argument(true);
5627            defaultInstance.initFields();
5628          }
5629    
5630          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Type.Argument)
5631        }
5632    
5633        private int bitField0_;
5634        // required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;
5635        public static final int CONSTRUCTOR_FIELD_NUMBER = 1;
5636        private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor constructor_;
5637        /**
5638         * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
5639         */
5640        public boolean hasConstructor() {
5641          return ((bitField0_ & 0x00000001) == 0x00000001);
5642        }
5643        /**
5644         * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
5645         */
5646        public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor getConstructor() {
5647          return constructor_;
5648        }
5649    
5650        // repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;
5651        public static final int ARGUMENT_FIELD_NUMBER = 2;
5652        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> argument_;
5653        /**
5654         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5655         */
5656        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> getArgumentList() {
5657          return argument_;
5658        }
5659        /**
5660         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5661         */
5662        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder> 
5663            getArgumentOrBuilderList() {
5664          return argument_;
5665        }
5666        /**
5667         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5668         */
5669        public int getArgumentCount() {
5670          return argument_.size();
5671        }
5672        /**
5673         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5674         */
5675        public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index) {
5676          return argument_.get(index);
5677        }
5678        /**
5679         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5680         */
5681        public org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder getArgumentOrBuilder(
5682            int index) {
5683          return argument_.get(index);
5684        }
5685    
5686        // optional bool nullable = 3 [default = false];
5687        public static final int NULLABLE_FIELD_NUMBER = 3;
5688        private boolean nullable_;
5689        /**
5690         * <code>optional bool nullable = 3 [default = false];</code>
5691         */
5692        public boolean hasNullable() {
5693          return ((bitField0_ & 0x00000002) == 0x00000002);
5694        }
5695        /**
5696         * <code>optional bool nullable = 3 [default = false];</code>
5697         */
5698        public boolean getNullable() {
5699          return nullable_;
5700        }
5701    
5702        // optional int32 flexible_type_capabilities_id = 4;
5703        public static final int FLEXIBLE_TYPE_CAPABILITIES_ID_FIELD_NUMBER = 4;
5704        private int flexibleTypeCapabilitiesId_;
5705        /**
5706         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5707         *
5708         * <pre>
5709         * Id in the StringTable
5710         * If this field is set, the type is flexible.
5711         * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5712         * </pre>
5713         */
5714        public boolean hasFlexibleTypeCapabilitiesId() {
5715          return ((bitField0_ & 0x00000004) == 0x00000004);
5716        }
5717        /**
5718         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5719         *
5720         * <pre>
5721         * Id in the StringTable
5722         * If this field is set, the type is flexible.
5723         * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5724         * </pre>
5725         */
5726        public int getFlexibleTypeCapabilitiesId() {
5727          return flexibleTypeCapabilitiesId_;
5728        }
5729    
5730        // optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;
5731        public static final int FLEXIBLE_UPPER_BOUND_FIELD_NUMBER = 5;
5732        private org.jetbrains.kotlin.serialization.ProtoBuf.Type flexibleUpperBound_;
5733        /**
5734         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5735         *
5736         * <pre>
5737         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
5738         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
5739         * to represent flexible types is too many wasted bytes.
5740         * </pre>
5741         */
5742        public boolean hasFlexibleUpperBound() {
5743          return ((bitField0_ & 0x00000008) == 0x00000008);
5744        }
5745        /**
5746         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5747         *
5748         * <pre>
5749         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
5750         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
5751         * to represent flexible types is too many wasted bytes.
5752         * </pre>
5753         */
5754        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound() {
5755          return flexibleUpperBound_;
5756        }
5757    
5758        // optional int32 constructor_class_name = 6;
5759        public static final int CONSTRUCTOR_CLASS_NAME_FIELD_NUMBER = 6;
5760        private int constructorClassName_;
5761        /**
5762         * <code>optional int32 constructor_class_name = 6;</code>
5763         *
5764         * <pre>
5765         * fqName id
5766         * </pre>
5767         */
5768        public boolean hasConstructorClassName() {
5769          return ((bitField0_ & 0x00000010) == 0x00000010);
5770        }
5771        /**
5772         * <code>optional int32 constructor_class_name = 6;</code>
5773         *
5774         * <pre>
5775         * fqName id
5776         * </pre>
5777         */
5778        public int getConstructorClassName() {
5779          return constructorClassName_;
5780        }
5781    
5782        // optional int32 constructor_type_parameter = 7;
5783        public static final int CONSTRUCTOR_TYPE_PARAMETER_FIELD_NUMBER = 7;
5784        private int constructorTypeParameter_;
5785        /**
5786         * <code>optional int32 constructor_type_parameter = 7;</code>
5787         *
5788         * <pre>
5789         * type parameter id
5790         * </pre>
5791         */
5792        public boolean hasConstructorTypeParameter() {
5793          return ((bitField0_ & 0x00000020) == 0x00000020);
5794        }
5795        /**
5796         * <code>optional int32 constructor_type_parameter = 7;</code>
5797         *
5798         * <pre>
5799         * type parameter id
5800         * </pre>
5801         */
5802        public int getConstructorTypeParameter() {
5803          return constructorTypeParameter_;
5804        }
5805    
5806        private void initFields() {
5807          constructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
5808          argument_ = java.util.Collections.emptyList();
5809          nullable_ = false;
5810          flexibleTypeCapabilitiesId_ = 0;
5811          flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5812          constructorClassName_ = 0;
5813          constructorTypeParameter_ = 0;
5814        }
5815        private byte memoizedIsInitialized = -1;
5816        public final boolean isInitialized() {
5817          byte isInitialized = memoizedIsInitialized;
5818          if (isInitialized != -1) return isInitialized == 1;
5819    
5820          if (!hasConstructor()) {
5821            memoizedIsInitialized = 0;
5822            return false;
5823          }
5824          if (!getConstructor().isInitialized()) {
5825            memoizedIsInitialized = 0;
5826            return false;
5827          }
5828          for (int i = 0; i < getArgumentCount(); i++) {
5829            if (!getArgument(i).isInitialized()) {
5830              memoizedIsInitialized = 0;
5831              return false;
5832            }
5833          }
5834          if (hasFlexibleUpperBound()) {
5835            if (!getFlexibleUpperBound().isInitialized()) {
5836              memoizedIsInitialized = 0;
5837              return false;
5838            }
5839          }
5840          if (!extensionsAreInitialized()) {
5841            memoizedIsInitialized = 0;
5842            return false;
5843          }
5844          memoizedIsInitialized = 1;
5845          return true;
5846        }
5847    
5848        public void writeTo(com.google.protobuf.CodedOutputStream output)
5849                            throws java.io.IOException {
5850          getSerializedSize();
5851          com.google.protobuf.GeneratedMessageLite
5852            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Type>.ExtensionWriter extensionWriter =
5853              newExtensionWriter();
5854          if (((bitField0_ & 0x00000001) == 0x00000001)) {
5855            output.writeMessage(1, constructor_);
5856          }
5857          for (int i = 0; i < argument_.size(); i++) {
5858            output.writeMessage(2, argument_.get(i));
5859          }
5860          if (((bitField0_ & 0x00000002) == 0x00000002)) {
5861            output.writeBool(3, nullable_);
5862          }
5863          if (((bitField0_ & 0x00000004) == 0x00000004)) {
5864            output.writeInt32(4, flexibleTypeCapabilitiesId_);
5865          }
5866          if (((bitField0_ & 0x00000008) == 0x00000008)) {
5867            output.writeMessage(5, flexibleUpperBound_);
5868          }
5869          if (((bitField0_ & 0x00000010) == 0x00000010)) {
5870            output.writeInt32(6, constructorClassName_);
5871          }
5872          if (((bitField0_ & 0x00000020) == 0x00000020)) {
5873            output.writeInt32(7, constructorTypeParameter_);
5874          }
5875          extensionWriter.writeUntil(200, output);
5876        }
5877    
5878        private int memoizedSerializedSize = -1;
5879        public int getSerializedSize() {
5880          int size = memoizedSerializedSize;
5881          if (size != -1) return size;
5882    
5883          size = 0;
5884          if (((bitField0_ & 0x00000001) == 0x00000001)) {
5885            size += com.google.protobuf.CodedOutputStream
5886              .computeMessageSize(1, constructor_);
5887          }
5888          for (int i = 0; i < argument_.size(); i++) {
5889            size += com.google.protobuf.CodedOutputStream
5890              .computeMessageSize(2, argument_.get(i));
5891          }
5892          if (((bitField0_ & 0x00000002) == 0x00000002)) {
5893            size += com.google.protobuf.CodedOutputStream
5894              .computeBoolSize(3, nullable_);
5895          }
5896          if (((bitField0_ & 0x00000004) == 0x00000004)) {
5897            size += com.google.protobuf.CodedOutputStream
5898              .computeInt32Size(4, flexibleTypeCapabilitiesId_);
5899          }
5900          if (((bitField0_ & 0x00000008) == 0x00000008)) {
5901            size += com.google.protobuf.CodedOutputStream
5902              .computeMessageSize(5, flexibleUpperBound_);
5903          }
5904          if (((bitField0_ & 0x00000010) == 0x00000010)) {
5905            size += com.google.protobuf.CodedOutputStream
5906              .computeInt32Size(6, constructorClassName_);
5907          }
5908          if (((bitField0_ & 0x00000020) == 0x00000020)) {
5909            size += com.google.protobuf.CodedOutputStream
5910              .computeInt32Size(7, constructorTypeParameter_);
5911          }
5912          size += extensionsSerializedSize();
5913          memoizedSerializedSize = size;
5914          return size;
5915        }
5916    
5917        private static final long serialVersionUID = 0L;
5918        @java.lang.Override
5919        protected java.lang.Object writeReplace()
5920            throws java.io.ObjectStreamException {
5921          return super.writeReplace();
5922        }
5923    
5924        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5925            com.google.protobuf.ByteString data)
5926            throws com.google.protobuf.InvalidProtocolBufferException {
5927          return PARSER.parseFrom(data);
5928        }
5929        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5930            com.google.protobuf.ByteString data,
5931            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5932            throws com.google.protobuf.InvalidProtocolBufferException {
5933          return PARSER.parseFrom(data, extensionRegistry);
5934        }
5935        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(byte[] data)
5936            throws com.google.protobuf.InvalidProtocolBufferException {
5937          return PARSER.parseFrom(data);
5938        }
5939        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5940            byte[] data,
5941            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5942            throws com.google.protobuf.InvalidProtocolBufferException {
5943          return PARSER.parseFrom(data, extensionRegistry);
5944        }
5945        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(java.io.InputStream input)
5946            throws java.io.IOException {
5947          return PARSER.parseFrom(input);
5948        }
5949        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5950            java.io.InputStream input,
5951            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5952            throws java.io.IOException {
5953          return PARSER.parseFrom(input, extensionRegistry);
5954        }
5955        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseDelimitedFrom(java.io.InputStream input)
5956            throws java.io.IOException {
5957          return PARSER.parseDelimitedFrom(input);
5958        }
5959        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseDelimitedFrom(
5960            java.io.InputStream input,
5961            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5962            throws java.io.IOException {
5963          return PARSER.parseDelimitedFrom(input, extensionRegistry);
5964        }
5965        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5966            com.google.protobuf.CodedInputStream input)
5967            throws java.io.IOException {
5968          return PARSER.parseFrom(input);
5969        }
5970        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5971            com.google.protobuf.CodedInputStream input,
5972            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5973            throws java.io.IOException {
5974          return PARSER.parseFrom(input, extensionRegistry);
5975        }
5976    
5977        public static Builder newBuilder() { return Builder.create(); }
5978        public Builder newBuilderForType() { return newBuilder(); }
5979        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Type prototype) {
5980          return newBuilder().mergeFrom(prototype);
5981        }
5982        public Builder toBuilder() { return newBuilder(this); }
5983    
5984        /**
5985         * Protobuf type {@code org.jetbrains.kotlin.serialization.Type}
5986         */
5987        public static final class Builder extends
5988            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
5989              org.jetbrains.kotlin.serialization.ProtoBuf.Type, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder {
5990          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder()
5991          private Builder() {
5992            maybeForceBuilderInitialization();
5993          }
5994    
5995          private void maybeForceBuilderInitialization() {
5996          }
5997          private static Builder create() {
5998            return new Builder();
5999          }
6000    
6001          public Builder clear() {
6002            super.clear();
6003            constructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
6004            bitField0_ = (bitField0_ & ~0x00000001);
6005            argument_ = java.util.Collections.emptyList();
6006            bitField0_ = (bitField0_ & ~0x00000002);
6007            nullable_ = false;
6008            bitField0_ = (bitField0_ & ~0x00000004);
6009            flexibleTypeCapabilitiesId_ = 0;
6010            bitField0_ = (bitField0_ & ~0x00000008);
6011            flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6012            bitField0_ = (bitField0_ & ~0x00000010);
6013            constructorClassName_ = 0;
6014            bitField0_ = (bitField0_ & ~0x00000020);
6015            constructorTypeParameter_ = 0;
6016            bitField0_ = (bitField0_ & ~0x00000040);
6017            return this;
6018          }
6019    
6020          public Builder clone() {
6021            return create().mergeFrom(buildPartial());
6022          }
6023    
6024          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getDefaultInstanceForType() {
6025            return org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6026          }
6027    
6028          public org.jetbrains.kotlin.serialization.ProtoBuf.Type build() {
6029            org.jetbrains.kotlin.serialization.ProtoBuf.Type result = buildPartial();
6030            if (!result.isInitialized()) {
6031              throw newUninitializedMessageException(result);
6032            }
6033            return result;
6034          }
6035    
6036          public org.jetbrains.kotlin.serialization.ProtoBuf.Type buildPartial() {
6037            org.jetbrains.kotlin.serialization.ProtoBuf.Type result = new org.jetbrains.kotlin.serialization.ProtoBuf.Type(this);
6038            int from_bitField0_ = bitField0_;
6039            int to_bitField0_ = 0;
6040            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
6041              to_bitField0_ |= 0x00000001;
6042            }
6043            result.constructor_ = constructor_;
6044            if (((bitField0_ & 0x00000002) == 0x00000002)) {
6045              argument_ = java.util.Collections.unmodifiableList(argument_);
6046              bitField0_ = (bitField0_ & ~0x00000002);
6047            }
6048            result.argument_ = argument_;
6049            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
6050              to_bitField0_ |= 0x00000002;
6051            }
6052            result.nullable_ = nullable_;
6053            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
6054              to_bitField0_ |= 0x00000004;
6055            }
6056            result.flexibleTypeCapabilitiesId_ = flexibleTypeCapabilitiesId_;
6057            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
6058              to_bitField0_ |= 0x00000008;
6059            }
6060            result.flexibleUpperBound_ = flexibleUpperBound_;
6061            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
6062              to_bitField0_ |= 0x00000010;
6063            }
6064            result.constructorClassName_ = constructorClassName_;
6065            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
6066              to_bitField0_ |= 0x00000020;
6067            }
6068            result.constructorTypeParameter_ = constructorTypeParameter_;
6069            result.bitField0_ = to_bitField0_;
6070            return result;
6071          }
6072    
6073          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Type other) {
6074            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) return this;
6075            if (other.hasConstructor()) {
6076              mergeConstructor(other.getConstructor());
6077            }
6078            if (!other.argument_.isEmpty()) {
6079              if (argument_.isEmpty()) {
6080                argument_ = other.argument_;
6081                bitField0_ = (bitField0_ & ~0x00000002);
6082              } else {
6083                ensureArgumentIsMutable();
6084                argument_.addAll(other.argument_);
6085              }
6086              
6087            }
6088            if (other.hasNullable()) {
6089              setNullable(other.getNullable());
6090            }
6091            if (other.hasFlexibleTypeCapabilitiesId()) {
6092              setFlexibleTypeCapabilitiesId(other.getFlexibleTypeCapabilitiesId());
6093            }
6094            if (other.hasFlexibleUpperBound()) {
6095              mergeFlexibleUpperBound(other.getFlexibleUpperBound());
6096            }
6097            if (other.hasConstructorClassName()) {
6098              setConstructorClassName(other.getConstructorClassName());
6099            }
6100            if (other.hasConstructorTypeParameter()) {
6101              setConstructorTypeParameter(other.getConstructorTypeParameter());
6102            }
6103            this.mergeExtensionFields(other);
6104            return this;
6105          }
6106    
6107          public final boolean isInitialized() {
6108            if (!hasConstructor()) {
6109              
6110              return false;
6111            }
6112            if (!getConstructor().isInitialized()) {
6113              
6114              return false;
6115            }
6116            for (int i = 0; i < getArgumentCount(); i++) {
6117              if (!getArgument(i).isInitialized()) {
6118                
6119                return false;
6120              }
6121            }
6122            if (hasFlexibleUpperBound()) {
6123              if (!getFlexibleUpperBound().isInitialized()) {
6124                
6125                return false;
6126              }
6127            }
6128            if (!extensionsAreInitialized()) {
6129              
6130              return false;
6131            }
6132            return true;
6133          }
6134    
6135          public Builder mergeFrom(
6136              com.google.protobuf.CodedInputStream input,
6137              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6138              throws java.io.IOException {
6139            org.jetbrains.kotlin.serialization.ProtoBuf.Type parsedMessage = null;
6140            try {
6141              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
6142            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6143              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Type) e.getUnfinishedMessage();
6144              throw e;
6145            } finally {
6146              if (parsedMessage != null) {
6147                mergeFrom(parsedMessage);
6148              }
6149            }
6150            return this;
6151          }
6152          private int bitField0_;
6153    
6154          // required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;
6155          private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor constructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
6156          /**
6157           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
6158           */
6159          public boolean hasConstructor() {
6160            return ((bitField0_ & 0x00000001) == 0x00000001);
6161          }
6162          /**
6163           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
6164           */
6165          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor getConstructor() {
6166            return constructor_;
6167          }
6168          /**
6169           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
6170           */
6171          public Builder setConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor value) {
6172            if (value == null) {
6173              throw new NullPointerException();
6174            }
6175            constructor_ = value;
6176    
6177            bitField0_ |= 0x00000001;
6178            return this;
6179          }
6180          /**
6181           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
6182           */
6183          public Builder setConstructor(
6184              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.Builder builderForValue) {
6185            constructor_ = builderForValue.build();
6186    
6187            bitField0_ |= 0x00000001;
6188            return this;
6189          }
6190          /**
6191           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
6192           */
6193          public Builder mergeConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor value) {
6194            if (((bitField0_ & 0x00000001) == 0x00000001) &&
6195                constructor_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance()) {
6196              constructor_ =
6197                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.newBuilder(constructor_).mergeFrom(value).buildPartial();
6198            } else {
6199              constructor_ = value;
6200            }
6201    
6202            bitField0_ |= 0x00000001;
6203            return this;
6204          }
6205          /**
6206           * <code>required .org.jetbrains.kotlin.serialization.Type.Constructor constructor = 1;</code>
6207           */
6208          public Builder clearConstructor() {
6209            constructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
6210    
6211            bitField0_ = (bitField0_ & ~0x00000001);
6212            return this;
6213          }
6214    
6215          // repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;
6216          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> argument_ =
6217            java.util.Collections.emptyList();
6218          private void ensureArgumentIsMutable() {
6219            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
6220              argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument>(argument_);
6221              bitField0_ |= 0x00000002;
6222             }
6223          }
6224    
6225          /**
6226           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6227           */
6228          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> getArgumentList() {
6229            return java.util.Collections.unmodifiableList(argument_);
6230          }
6231          /**
6232           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6233           */
6234          public int getArgumentCount() {
6235            return argument_.size();
6236          }
6237          /**
6238           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6239           */
6240          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index) {
6241            return argument_.get(index);
6242          }
6243          /**
6244           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6245           */
6246          public Builder setArgument(
6247              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
6248            if (value == null) {
6249              throw new NullPointerException();
6250            }
6251            ensureArgumentIsMutable();
6252            argument_.set(index, value);
6253    
6254            return this;
6255          }
6256          /**
6257           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6258           */
6259          public Builder setArgument(
6260              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
6261            ensureArgumentIsMutable();
6262            argument_.set(index, builderForValue.build());
6263    
6264            return this;
6265          }
6266          /**
6267           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6268           */
6269          public Builder addArgument(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
6270            if (value == null) {
6271              throw new NullPointerException();
6272            }
6273            ensureArgumentIsMutable();
6274            argument_.add(value);
6275    
6276            return this;
6277          }
6278          /**
6279           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6280           */
6281          public Builder addArgument(
6282              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
6283            if (value == null) {
6284              throw new NullPointerException();
6285            }
6286            ensureArgumentIsMutable();
6287            argument_.add(index, value);
6288    
6289            return this;
6290          }
6291          /**
6292           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6293           */
6294          public Builder addArgument(
6295              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
6296            ensureArgumentIsMutable();
6297            argument_.add(builderForValue.build());
6298    
6299            return this;
6300          }
6301          /**
6302           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6303           */
6304          public Builder addArgument(
6305              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
6306            ensureArgumentIsMutable();
6307            argument_.add(index, builderForValue.build());
6308    
6309            return this;
6310          }
6311          /**
6312           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6313           */
6314          public Builder addAllArgument(
6315              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> values) {
6316            ensureArgumentIsMutable();
6317            super.addAll(values, argument_);
6318    
6319            return this;
6320          }
6321          /**
6322           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6323           */
6324          public Builder clearArgument() {
6325            argument_ = java.util.Collections.emptyList();
6326            bitField0_ = (bitField0_ & ~0x00000002);
6327    
6328            return this;
6329          }
6330          /**
6331           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6332           */
6333          public Builder removeArgument(int index) {
6334            ensureArgumentIsMutable();
6335            argument_.remove(index);
6336    
6337            return this;
6338          }
6339    
6340          // optional bool nullable = 3 [default = false];
6341          private boolean nullable_ ;
6342          /**
6343           * <code>optional bool nullable = 3 [default = false];</code>
6344           */
6345          public boolean hasNullable() {
6346            return ((bitField0_ & 0x00000004) == 0x00000004);
6347          }
6348          /**
6349           * <code>optional bool nullable = 3 [default = false];</code>
6350           */
6351          public boolean getNullable() {
6352            return nullable_;
6353          }
6354          /**
6355           * <code>optional bool nullable = 3 [default = false];</code>
6356           */
6357          public Builder setNullable(boolean value) {
6358            bitField0_ |= 0x00000004;
6359            nullable_ = value;
6360            
6361            return this;
6362          }
6363          /**
6364           * <code>optional bool nullable = 3 [default = false];</code>
6365           */
6366          public Builder clearNullable() {
6367            bitField0_ = (bitField0_ & ~0x00000004);
6368            nullable_ = false;
6369            
6370            return this;
6371          }
6372    
6373          // optional int32 flexible_type_capabilities_id = 4;
6374          private int flexibleTypeCapabilitiesId_ ;
6375          /**
6376           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6377           *
6378           * <pre>
6379           * Id in the StringTable
6380           * If this field is set, the type is flexible.
6381           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6382           * </pre>
6383           */
6384          public boolean hasFlexibleTypeCapabilitiesId() {
6385            return ((bitField0_ & 0x00000008) == 0x00000008);
6386          }
6387          /**
6388           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6389           *
6390           * <pre>
6391           * Id in the StringTable
6392           * If this field is set, the type is flexible.
6393           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6394           * </pre>
6395           */
6396          public int getFlexibleTypeCapabilitiesId() {
6397            return flexibleTypeCapabilitiesId_;
6398          }
6399          /**
6400           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6401           *
6402           * <pre>
6403           * Id in the StringTable
6404           * If this field is set, the type is flexible.
6405           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6406           * </pre>
6407           */
6408          public Builder setFlexibleTypeCapabilitiesId(int value) {
6409            bitField0_ |= 0x00000008;
6410            flexibleTypeCapabilitiesId_ = value;
6411            
6412            return this;
6413          }
6414          /**
6415           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6416           *
6417           * <pre>
6418           * Id in the StringTable
6419           * If this field is set, the type is flexible.
6420           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6421           * </pre>
6422           */
6423          public Builder clearFlexibleTypeCapabilitiesId() {
6424            bitField0_ = (bitField0_ & ~0x00000008);
6425            flexibleTypeCapabilitiesId_ = 0;
6426            
6427            return this;
6428          }
6429    
6430          // optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;
6431          private org.jetbrains.kotlin.serialization.ProtoBuf.Type flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6432          /**
6433           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6434           *
6435           * <pre>
6436           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6437           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6438           * to represent flexible types is too many wasted bytes.
6439           * </pre>
6440           */
6441          public boolean hasFlexibleUpperBound() {
6442            return ((bitField0_ & 0x00000010) == 0x00000010);
6443          }
6444          /**
6445           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6446           *
6447           * <pre>
6448           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6449           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6450           * to represent flexible types is too many wasted bytes.
6451           * </pre>
6452           */
6453          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound() {
6454            return flexibleUpperBound_;
6455          }
6456          /**
6457           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6458           *
6459           * <pre>
6460           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6461           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6462           * to represent flexible types is too many wasted bytes.
6463           * </pre>
6464           */
6465          public Builder setFlexibleUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6466            if (value == null) {
6467              throw new NullPointerException();
6468            }
6469            flexibleUpperBound_ = value;
6470    
6471            bitField0_ |= 0x00000010;
6472            return this;
6473          }
6474          /**
6475           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6476           *
6477           * <pre>
6478           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6479           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6480           * to represent flexible types is too many wasted bytes.
6481           * </pre>
6482           */
6483          public Builder setFlexibleUpperBound(
6484              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
6485            flexibleUpperBound_ = builderForValue.build();
6486    
6487            bitField0_ |= 0x00000010;
6488            return this;
6489          }
6490          /**
6491           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6492           *
6493           * <pre>
6494           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6495           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6496           * to represent flexible types is too many wasted bytes.
6497           * </pre>
6498           */
6499          public Builder mergeFlexibleUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6500            if (((bitField0_ & 0x00000010) == 0x00000010) &&
6501                flexibleUpperBound_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
6502              flexibleUpperBound_ =
6503                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(flexibleUpperBound_).mergeFrom(value).buildPartial();
6504            } else {
6505              flexibleUpperBound_ = value;
6506            }
6507    
6508            bitField0_ |= 0x00000010;
6509            return this;
6510          }
6511          /**
6512           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6513           *
6514           * <pre>
6515           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6516           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6517           * to represent flexible types is too many wasted bytes.
6518           * </pre>
6519           */
6520          public Builder clearFlexibleUpperBound() {
6521            flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6522    
6523            bitField0_ = (bitField0_ & ~0x00000010);
6524            return this;
6525          }
6526    
6527          // optional int32 constructor_class_name = 6;
6528          private int constructorClassName_ ;
6529          /**
6530           * <code>optional int32 constructor_class_name = 6;</code>
6531           *
6532           * <pre>
6533           * fqName id
6534           * </pre>
6535           */
6536          public boolean hasConstructorClassName() {
6537            return ((bitField0_ & 0x00000020) == 0x00000020);
6538          }
6539          /**
6540           * <code>optional int32 constructor_class_name = 6;</code>
6541           *
6542           * <pre>
6543           * fqName id
6544           * </pre>
6545           */
6546          public int getConstructorClassName() {
6547            return constructorClassName_;
6548          }
6549          /**
6550           * <code>optional int32 constructor_class_name = 6;</code>
6551           *
6552           * <pre>
6553           * fqName id
6554           * </pre>
6555           */
6556          public Builder setConstructorClassName(int value) {
6557            bitField0_ |= 0x00000020;
6558            constructorClassName_ = value;
6559            
6560            return this;
6561          }
6562          /**
6563           * <code>optional int32 constructor_class_name = 6;</code>
6564           *
6565           * <pre>
6566           * fqName id
6567           * </pre>
6568           */
6569          public Builder clearConstructorClassName() {
6570            bitField0_ = (bitField0_ & ~0x00000020);
6571            constructorClassName_ = 0;
6572            
6573            return this;
6574          }
6575    
6576          // optional int32 constructor_type_parameter = 7;
6577          private int constructorTypeParameter_ ;
6578          /**
6579           * <code>optional int32 constructor_type_parameter = 7;</code>
6580           *
6581           * <pre>
6582           * type parameter id
6583           * </pre>
6584           */
6585          public boolean hasConstructorTypeParameter() {
6586            return ((bitField0_ & 0x00000040) == 0x00000040);
6587          }
6588          /**
6589           * <code>optional int32 constructor_type_parameter = 7;</code>
6590           *
6591           * <pre>
6592           * type parameter id
6593           * </pre>
6594           */
6595          public int getConstructorTypeParameter() {
6596            return constructorTypeParameter_;
6597          }
6598          /**
6599           * <code>optional int32 constructor_type_parameter = 7;</code>
6600           *
6601           * <pre>
6602           * type parameter id
6603           * </pre>
6604           */
6605          public Builder setConstructorTypeParameter(int value) {
6606            bitField0_ |= 0x00000040;
6607            constructorTypeParameter_ = value;
6608            
6609            return this;
6610          }
6611          /**
6612           * <code>optional int32 constructor_type_parameter = 7;</code>
6613           *
6614           * <pre>
6615           * type parameter id
6616           * </pre>
6617           */
6618          public Builder clearConstructorTypeParameter() {
6619            bitField0_ = (bitField0_ & ~0x00000040);
6620            constructorTypeParameter_ = 0;
6621            
6622            return this;
6623          }
6624    
6625          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Type)
6626        }
6627    
6628        static {
6629          defaultInstance = new Type(true);
6630          defaultInstance.initFields();
6631        }
6632    
6633        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Type)
6634      }
6635    
6636      public interface TypeParameterOrBuilder
6637          extends com.google.protobuf.MessageLiteOrBuilder {
6638    
6639        // required int32 id = 1;
6640        /**
6641         * <code>required int32 id = 1;</code>
6642         */
6643        boolean hasId();
6644        /**
6645         * <code>required int32 id = 1;</code>
6646         */
6647        int getId();
6648    
6649        // required int32 name = 2;
6650        /**
6651         * <code>required int32 name = 2;</code>
6652         *
6653         * <pre>
6654         * Id in the StringTable
6655         * </pre>
6656         */
6657        boolean hasName();
6658        /**
6659         * <code>required int32 name = 2;</code>
6660         *
6661         * <pre>
6662         * Id in the StringTable
6663         * </pre>
6664         */
6665        int getName();
6666    
6667        // optional bool reified = 3 [default = false];
6668        /**
6669         * <code>optional bool reified = 3 [default = false];</code>
6670         */
6671        boolean hasReified();
6672        /**
6673         * <code>optional bool reified = 3 [default = false];</code>
6674         */
6675        boolean getReified();
6676    
6677        // optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];
6678        /**
6679         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6680         */
6681        boolean hasVariance();
6682        /**
6683         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6684         */
6685        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance();
6686    
6687        // repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;
6688        /**
6689         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6690         */
6691        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> 
6692            getUpperBoundList();
6693        /**
6694         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6695         */
6696        org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index);
6697        /**
6698         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6699         */
6700        int getUpperBoundCount();
6701      }
6702      /**
6703       * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeParameter}
6704       */
6705      public static final class TypeParameter extends
6706          com.google.protobuf.GeneratedMessageLite
6707          implements TypeParameterOrBuilder {
6708        // Use TypeParameter.newBuilder() to construct.
6709        private TypeParameter(com.google.protobuf.GeneratedMessageLite.Builder builder) {
6710          super(builder);
6711    
6712        }
6713        private TypeParameter(boolean noInit) {}
6714    
6715        private static final TypeParameter defaultInstance;
6716        public static TypeParameter getDefaultInstance() {
6717          return defaultInstance;
6718        }
6719    
6720        public TypeParameter getDefaultInstanceForType() {
6721          return defaultInstance;
6722        }
6723    
6724        private TypeParameter(
6725            com.google.protobuf.CodedInputStream input,
6726            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6727            throws com.google.protobuf.InvalidProtocolBufferException {
6728          initFields();
6729          int mutable_bitField0_ = 0;
6730          try {
6731            boolean done = false;
6732            while (!done) {
6733              int tag = input.readTag();
6734              switch (tag) {
6735                case 0:
6736                  done = true;
6737                  break;
6738                default: {
6739                  if (!parseUnknownField(input,
6740                                         extensionRegistry, tag)) {
6741                    done = true;
6742                  }
6743                  break;
6744                }
6745                case 8: {
6746                  bitField0_ |= 0x00000001;
6747                  id_ = input.readInt32();
6748                  break;
6749                }
6750                case 16: {
6751                  bitField0_ |= 0x00000002;
6752                  name_ = input.readInt32();
6753                  break;
6754                }
6755                case 24: {
6756                  bitField0_ |= 0x00000004;
6757                  reified_ = input.readBool();
6758                  break;
6759                }
6760                case 32: {
6761                  int rawValue = input.readEnum();
6762                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance value = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.valueOf(rawValue);
6763                  if (value != null) {
6764                    bitField0_ |= 0x00000008;
6765                    variance_ = value;
6766                  }
6767                  break;
6768                }
6769                case 42: {
6770                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
6771                    upperBound_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
6772                    mutable_bitField0_ |= 0x00000010;
6773                  }
6774                  upperBound_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
6775                  break;
6776                }
6777              }
6778            }
6779          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6780            throw e.setUnfinishedMessage(this);
6781          } catch (java.io.IOException e) {
6782            throw new com.google.protobuf.InvalidProtocolBufferException(
6783                e.getMessage()).setUnfinishedMessage(this);
6784          } finally {
6785            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
6786              upperBound_ = java.util.Collections.unmodifiableList(upperBound_);
6787            }
6788            makeExtensionsImmutable();
6789          }
6790        }
6791        public static com.google.protobuf.Parser<TypeParameter> PARSER =
6792            new com.google.protobuf.AbstractParser<TypeParameter>() {
6793          public TypeParameter parsePartialFrom(
6794              com.google.protobuf.CodedInputStream input,
6795              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6796              throws com.google.protobuf.InvalidProtocolBufferException {
6797            return new TypeParameter(input, extensionRegistry);
6798          }
6799        };
6800    
6801        @java.lang.Override
6802        public com.google.protobuf.Parser<TypeParameter> getParserForType() {
6803          return PARSER;
6804        }
6805    
6806        /**
6807         * Protobuf enum {@code org.jetbrains.kotlin.serialization.TypeParameter.Variance}
6808         */
6809        public enum Variance
6810            implements com.google.protobuf.Internal.EnumLite {
6811          /**
6812           * <code>IN = 0;</code>
6813           */
6814          IN(0, 0),
6815          /**
6816           * <code>OUT = 1;</code>
6817           */
6818          OUT(1, 1),
6819          /**
6820           * <code>INV = 2;</code>
6821           */
6822          INV(2, 2),
6823          ;
6824    
6825          /**
6826           * <code>IN = 0;</code>
6827           */
6828          public static final int IN_VALUE = 0;
6829          /**
6830           * <code>OUT = 1;</code>
6831           */
6832          public static final int OUT_VALUE = 1;
6833          /**
6834           * <code>INV = 2;</code>
6835           */
6836          public static final int INV_VALUE = 2;
6837    
6838    
6839          public final int getNumber() { return value; }
6840    
6841          public static Variance valueOf(int value) {
6842            switch (value) {
6843              case 0: return IN;
6844              case 1: return OUT;
6845              case 2: return INV;
6846              default: return null;
6847            }
6848          }
6849    
6850          public static com.google.protobuf.Internal.EnumLiteMap<Variance>
6851              internalGetValueMap() {
6852            return internalValueMap;
6853          }
6854          private static com.google.protobuf.Internal.EnumLiteMap<Variance>
6855              internalValueMap =
6856                new com.google.protobuf.Internal.EnumLiteMap<Variance>() {
6857                  public Variance findValueByNumber(int number) {
6858                    return Variance.valueOf(number);
6859                  }
6860                };
6861    
6862          private final int value;
6863    
6864          private Variance(int index, int value) {
6865            this.value = value;
6866          }
6867    
6868          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.TypeParameter.Variance)
6869        }
6870    
6871        private int bitField0_;
6872        // required int32 id = 1;
6873        public static final int ID_FIELD_NUMBER = 1;
6874        private int id_;
6875        /**
6876         * <code>required int32 id = 1;</code>
6877         */
6878        public boolean hasId() {
6879          return ((bitField0_ & 0x00000001) == 0x00000001);
6880        }
6881        /**
6882         * <code>required int32 id = 1;</code>
6883         */
6884        public int getId() {
6885          return id_;
6886        }
6887    
6888        // required int32 name = 2;
6889        public static final int NAME_FIELD_NUMBER = 2;
6890        private int name_;
6891        /**
6892         * <code>required int32 name = 2;</code>
6893         *
6894         * <pre>
6895         * Id in the StringTable
6896         * </pre>
6897         */
6898        public boolean hasName() {
6899          return ((bitField0_ & 0x00000002) == 0x00000002);
6900        }
6901        /**
6902         * <code>required int32 name = 2;</code>
6903         *
6904         * <pre>
6905         * Id in the StringTable
6906         * </pre>
6907         */
6908        public int getName() {
6909          return name_;
6910        }
6911    
6912        // optional bool reified = 3 [default = false];
6913        public static final int REIFIED_FIELD_NUMBER = 3;
6914        private boolean reified_;
6915        /**
6916         * <code>optional bool reified = 3 [default = false];</code>
6917         */
6918        public boolean hasReified() {
6919          return ((bitField0_ & 0x00000004) == 0x00000004);
6920        }
6921        /**
6922         * <code>optional bool reified = 3 [default = false];</code>
6923         */
6924        public boolean getReified() {
6925          return reified_;
6926        }
6927    
6928        // optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];
6929        public static final int VARIANCE_FIELD_NUMBER = 4;
6930        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance variance_;
6931        /**
6932         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6933         */
6934        public boolean hasVariance() {
6935          return ((bitField0_ & 0x00000008) == 0x00000008);
6936        }
6937        /**
6938         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6939         */
6940        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
6941          return variance_;
6942        }
6943    
6944        // repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;
6945        public static final int UPPER_BOUND_FIELD_NUMBER = 5;
6946        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> upperBound_;
6947        /**
6948         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6949         */
6950        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getUpperBoundList() {
6951          return upperBound_;
6952        }
6953        /**
6954         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6955         */
6956        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
6957            getUpperBoundOrBuilderList() {
6958          return upperBound_;
6959        }
6960        /**
6961         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6962         */
6963        public int getUpperBoundCount() {
6964          return upperBound_.size();
6965        }
6966        /**
6967         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6968         */
6969        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index) {
6970          return upperBound_.get(index);
6971        }
6972        /**
6973         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6974         */
6975        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getUpperBoundOrBuilder(
6976            int index) {
6977          return upperBound_.get(index);
6978        }
6979    
6980        private void initFields() {
6981          id_ = 0;
6982          name_ = 0;
6983          reified_ = false;
6984          variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
6985          upperBound_ = java.util.Collections.emptyList();
6986        }
6987        private byte memoizedIsInitialized = -1;
6988        public final boolean isInitialized() {
6989          byte isInitialized = memoizedIsInitialized;
6990          if (isInitialized != -1) return isInitialized == 1;
6991    
6992          if (!hasId()) {
6993            memoizedIsInitialized = 0;
6994            return false;
6995          }
6996          if (!hasName()) {
6997            memoizedIsInitialized = 0;
6998            return false;
6999          }
7000          for (int i = 0; i < getUpperBoundCount(); i++) {
7001            if (!getUpperBound(i).isInitialized()) {
7002              memoizedIsInitialized = 0;
7003              return false;
7004            }
7005          }
7006          memoizedIsInitialized = 1;
7007          return true;
7008        }
7009    
7010        public void writeTo(com.google.protobuf.CodedOutputStream output)
7011                            throws java.io.IOException {
7012          getSerializedSize();
7013          if (((bitField0_ & 0x00000001) == 0x00000001)) {
7014            output.writeInt32(1, id_);
7015          }
7016          if (((bitField0_ & 0x00000002) == 0x00000002)) {
7017            output.writeInt32(2, name_);
7018          }
7019          if (((bitField0_ & 0x00000004) == 0x00000004)) {
7020            output.writeBool(3, reified_);
7021          }
7022          if (((bitField0_ & 0x00000008) == 0x00000008)) {
7023            output.writeEnum(4, variance_.getNumber());
7024          }
7025          for (int i = 0; i < upperBound_.size(); i++) {
7026            output.writeMessage(5, upperBound_.get(i));
7027          }
7028        }
7029    
7030        private int memoizedSerializedSize = -1;
7031        public int getSerializedSize() {
7032          int size = memoizedSerializedSize;
7033          if (size != -1) return size;
7034    
7035          size = 0;
7036          if (((bitField0_ & 0x00000001) == 0x00000001)) {
7037            size += com.google.protobuf.CodedOutputStream
7038              .computeInt32Size(1, id_);
7039          }
7040          if (((bitField0_ & 0x00000002) == 0x00000002)) {
7041            size += com.google.protobuf.CodedOutputStream
7042              .computeInt32Size(2, name_);
7043          }
7044          if (((bitField0_ & 0x00000004) == 0x00000004)) {
7045            size += com.google.protobuf.CodedOutputStream
7046              .computeBoolSize(3, reified_);
7047          }
7048          if (((bitField0_ & 0x00000008) == 0x00000008)) {
7049            size += com.google.protobuf.CodedOutputStream
7050              .computeEnumSize(4, variance_.getNumber());
7051          }
7052          for (int i = 0; i < upperBound_.size(); i++) {
7053            size += com.google.protobuf.CodedOutputStream
7054              .computeMessageSize(5, upperBound_.get(i));
7055          }
7056          memoizedSerializedSize = size;
7057          return size;
7058        }
7059    
7060        private static final long serialVersionUID = 0L;
7061        @java.lang.Override
7062        protected java.lang.Object writeReplace()
7063            throws java.io.ObjectStreamException {
7064          return super.writeReplace();
7065        }
7066    
7067        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
7068            com.google.protobuf.ByteString data)
7069            throws com.google.protobuf.InvalidProtocolBufferException {
7070          return PARSER.parseFrom(data);
7071        }
7072        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
7073            com.google.protobuf.ByteString data,
7074            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7075            throws com.google.protobuf.InvalidProtocolBufferException {
7076          return PARSER.parseFrom(data, extensionRegistry);
7077        }
7078        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(byte[] data)
7079            throws com.google.protobuf.InvalidProtocolBufferException {
7080          return PARSER.parseFrom(data);
7081        }
7082        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
7083            byte[] data,
7084            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7085            throws com.google.protobuf.InvalidProtocolBufferException {
7086          return PARSER.parseFrom(data, extensionRegistry);
7087        }
7088        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(java.io.InputStream input)
7089            throws java.io.IOException {
7090          return PARSER.parseFrom(input);
7091        }
7092        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
7093            java.io.InputStream input,
7094            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7095            throws java.io.IOException {
7096          return PARSER.parseFrom(input, extensionRegistry);
7097        }
7098        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(java.io.InputStream input)
7099            throws java.io.IOException {
7100          return PARSER.parseDelimitedFrom(input);
7101        }
7102        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(
7103            java.io.InputStream input,
7104            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7105            throws java.io.IOException {
7106          return PARSER.parseDelimitedFrom(input, extensionRegistry);
7107        }
7108        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
7109            com.google.protobuf.CodedInputStream input)
7110            throws java.io.IOException {
7111          return PARSER.parseFrom(input);
7112        }
7113        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
7114            com.google.protobuf.CodedInputStream input,
7115            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7116            throws java.io.IOException {
7117          return PARSER.parseFrom(input, extensionRegistry);
7118        }
7119    
7120        public static Builder newBuilder() { return Builder.create(); }
7121        public Builder newBuilderForType() { return newBuilder(); }
7122        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter prototype) {
7123          return newBuilder().mergeFrom(prototype);
7124        }
7125        public Builder toBuilder() { return newBuilder(this); }
7126    
7127        /**
7128         * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeParameter}
7129         */
7130        public static final class Builder extends
7131            com.google.protobuf.GeneratedMessageLite.Builder<
7132              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter, Builder>
7133            implements org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder {
7134          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.newBuilder()
7135          private Builder() {
7136            maybeForceBuilderInitialization();
7137          }
7138    
7139          private void maybeForceBuilderInitialization() {
7140          }
7141          private static Builder create() {
7142            return new Builder();
7143          }
7144    
7145          public Builder clear() {
7146            super.clear();
7147            id_ = 0;
7148            bitField0_ = (bitField0_ & ~0x00000001);
7149            name_ = 0;
7150            bitField0_ = (bitField0_ & ~0x00000002);
7151            reified_ = false;
7152            bitField0_ = (bitField0_ & ~0x00000004);
7153            variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
7154            bitField0_ = (bitField0_ & ~0x00000008);
7155            upperBound_ = java.util.Collections.emptyList();
7156            bitField0_ = (bitField0_ & ~0x00000010);
7157            return this;
7158          }
7159    
7160          public Builder clone() {
7161            return create().mergeFrom(buildPartial());
7162          }
7163    
7164          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getDefaultInstanceForType() {
7165            return org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.getDefaultInstance();
7166          }
7167    
7168          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter build() {
7169            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter result = buildPartial();
7170            if (!result.isInitialized()) {
7171              throw newUninitializedMessageException(result);
7172            }
7173            return result;
7174          }
7175    
7176          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter buildPartial() {
7177            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter result = new org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter(this);
7178            int from_bitField0_ = bitField0_;
7179            int to_bitField0_ = 0;
7180            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
7181              to_bitField0_ |= 0x00000001;
7182            }
7183            result.id_ = id_;
7184            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
7185              to_bitField0_ |= 0x00000002;
7186            }
7187            result.name_ = name_;
7188            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
7189              to_bitField0_ |= 0x00000004;
7190            }
7191            result.reified_ = reified_;
7192            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
7193              to_bitField0_ |= 0x00000008;
7194            }
7195            result.variance_ = variance_;
7196            if (((bitField0_ & 0x00000010) == 0x00000010)) {
7197              upperBound_ = java.util.Collections.unmodifiableList(upperBound_);
7198              bitField0_ = (bitField0_ & ~0x00000010);
7199            }
7200            result.upperBound_ = upperBound_;
7201            result.bitField0_ = to_bitField0_;
7202            return result;
7203          }
7204    
7205          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter other) {
7206            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.getDefaultInstance()) return this;
7207            if (other.hasId()) {
7208              setId(other.getId());
7209            }
7210            if (other.hasName()) {
7211              setName(other.getName());
7212            }
7213            if (other.hasReified()) {
7214              setReified(other.getReified());
7215            }
7216            if (other.hasVariance()) {
7217              setVariance(other.getVariance());
7218            }
7219            if (!other.upperBound_.isEmpty()) {
7220              if (upperBound_.isEmpty()) {
7221                upperBound_ = other.upperBound_;
7222                bitField0_ = (bitField0_ & ~0x00000010);
7223              } else {
7224                ensureUpperBoundIsMutable();
7225                upperBound_.addAll(other.upperBound_);
7226              }
7227              
7228            }
7229            return this;
7230          }
7231    
7232          public final boolean isInitialized() {
7233            if (!hasId()) {
7234              
7235              return false;
7236            }
7237            if (!hasName()) {
7238              
7239              return false;
7240            }
7241            for (int i = 0; i < getUpperBoundCount(); i++) {
7242              if (!getUpperBound(i).isInitialized()) {
7243                
7244                return false;
7245              }
7246            }
7247            return true;
7248          }
7249    
7250          public Builder mergeFrom(
7251              com.google.protobuf.CodedInputStream input,
7252              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7253              throws java.io.IOException {
7254            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parsedMessage = null;
7255            try {
7256              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
7257            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7258              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter) e.getUnfinishedMessage();
7259              throw e;
7260            } finally {
7261              if (parsedMessage != null) {
7262                mergeFrom(parsedMessage);
7263              }
7264            }
7265            return this;
7266          }
7267          private int bitField0_;
7268    
7269          // required int32 id = 1;
7270          private int id_ ;
7271          /**
7272           * <code>required int32 id = 1;</code>
7273           */
7274          public boolean hasId() {
7275            return ((bitField0_ & 0x00000001) == 0x00000001);
7276          }
7277          /**
7278           * <code>required int32 id = 1;</code>
7279           */
7280          public int getId() {
7281            return id_;
7282          }
7283          /**
7284           * <code>required int32 id = 1;</code>
7285           */
7286          public Builder setId(int value) {
7287            bitField0_ |= 0x00000001;
7288            id_ = value;
7289            
7290            return this;
7291          }
7292          /**
7293           * <code>required int32 id = 1;</code>
7294           */
7295          public Builder clearId() {
7296            bitField0_ = (bitField0_ & ~0x00000001);
7297            id_ = 0;
7298            
7299            return this;
7300          }
7301    
7302          // required int32 name = 2;
7303          private int name_ ;
7304          /**
7305           * <code>required int32 name = 2;</code>
7306           *
7307           * <pre>
7308           * Id in the StringTable
7309           * </pre>
7310           */
7311          public boolean hasName() {
7312            return ((bitField0_ & 0x00000002) == 0x00000002);
7313          }
7314          /**
7315           * <code>required int32 name = 2;</code>
7316           *
7317           * <pre>
7318           * Id in the StringTable
7319           * </pre>
7320           */
7321          public int getName() {
7322            return name_;
7323          }
7324          /**
7325           * <code>required int32 name = 2;</code>
7326           *
7327           * <pre>
7328           * Id in the StringTable
7329           * </pre>
7330           */
7331          public Builder setName(int value) {
7332            bitField0_ |= 0x00000002;
7333            name_ = value;
7334            
7335            return this;
7336          }
7337          /**
7338           * <code>required int32 name = 2;</code>
7339           *
7340           * <pre>
7341           * Id in the StringTable
7342           * </pre>
7343           */
7344          public Builder clearName() {
7345            bitField0_ = (bitField0_ & ~0x00000002);
7346            name_ = 0;
7347            
7348            return this;
7349          }
7350    
7351          // optional bool reified = 3 [default = false];
7352          private boolean reified_ ;
7353          /**
7354           * <code>optional bool reified = 3 [default = false];</code>
7355           */
7356          public boolean hasReified() {
7357            return ((bitField0_ & 0x00000004) == 0x00000004);
7358          }
7359          /**
7360           * <code>optional bool reified = 3 [default = false];</code>
7361           */
7362          public boolean getReified() {
7363            return reified_;
7364          }
7365          /**
7366           * <code>optional bool reified = 3 [default = false];</code>
7367           */
7368          public Builder setReified(boolean value) {
7369            bitField0_ |= 0x00000004;
7370            reified_ = value;
7371            
7372            return this;
7373          }
7374          /**
7375           * <code>optional bool reified = 3 [default = false];</code>
7376           */
7377          public Builder clearReified() {
7378            bitField0_ = (bitField0_ & ~0x00000004);
7379            reified_ = false;
7380            
7381            return this;
7382          }
7383    
7384          // optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];
7385          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
7386          /**
7387           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7388           */
7389          public boolean hasVariance() {
7390            return ((bitField0_ & 0x00000008) == 0x00000008);
7391          }
7392          /**
7393           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7394           */
7395          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
7396            return variance_;
7397          }
7398          /**
7399           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7400           */
7401          public Builder setVariance(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance value) {
7402            if (value == null) {
7403              throw new NullPointerException();
7404            }
7405            bitField0_ |= 0x00000008;
7406            variance_ = value;
7407            
7408            return this;
7409          }
7410          /**
7411           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7412           */
7413          public Builder clearVariance() {
7414            bitField0_ = (bitField0_ & ~0x00000008);
7415            variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
7416            
7417            return this;
7418          }
7419    
7420          // repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;
7421          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> upperBound_ =
7422            java.util.Collections.emptyList();
7423          private void ensureUpperBoundIsMutable() {
7424            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
7425              upperBound_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(upperBound_);
7426              bitField0_ |= 0x00000010;
7427             }
7428          }
7429    
7430          /**
7431           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7432           */
7433          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getUpperBoundList() {
7434            return java.util.Collections.unmodifiableList(upperBound_);
7435          }
7436          /**
7437           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7438           */
7439          public int getUpperBoundCount() {
7440            return upperBound_.size();
7441          }
7442          /**
7443           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7444           */
7445          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index) {
7446            return upperBound_.get(index);
7447          }
7448          /**
7449           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7450           */
7451          public Builder setUpperBound(
7452              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7453            if (value == null) {
7454              throw new NullPointerException();
7455            }
7456            ensureUpperBoundIsMutable();
7457            upperBound_.set(index, value);
7458    
7459            return this;
7460          }
7461          /**
7462           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7463           */
7464          public Builder setUpperBound(
7465              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7466            ensureUpperBoundIsMutable();
7467            upperBound_.set(index, builderForValue.build());
7468    
7469            return this;
7470          }
7471          /**
7472           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7473           */
7474          public Builder addUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7475            if (value == null) {
7476              throw new NullPointerException();
7477            }
7478            ensureUpperBoundIsMutable();
7479            upperBound_.add(value);
7480    
7481            return this;
7482          }
7483          /**
7484           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7485           */
7486          public Builder addUpperBound(
7487              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7488            if (value == null) {
7489              throw new NullPointerException();
7490            }
7491            ensureUpperBoundIsMutable();
7492            upperBound_.add(index, value);
7493    
7494            return this;
7495          }
7496          /**
7497           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7498           */
7499          public Builder addUpperBound(
7500              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7501            ensureUpperBoundIsMutable();
7502            upperBound_.add(builderForValue.build());
7503    
7504            return this;
7505          }
7506          /**
7507           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7508           */
7509          public Builder addUpperBound(
7510              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7511            ensureUpperBoundIsMutable();
7512            upperBound_.add(index, builderForValue.build());
7513    
7514            return this;
7515          }
7516          /**
7517           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7518           */
7519          public Builder addAllUpperBound(
7520              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
7521            ensureUpperBoundIsMutable();
7522            super.addAll(values, upperBound_);
7523    
7524            return this;
7525          }
7526          /**
7527           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7528           */
7529          public Builder clearUpperBound() {
7530            upperBound_ = java.util.Collections.emptyList();
7531            bitField0_ = (bitField0_ & ~0x00000010);
7532    
7533            return this;
7534          }
7535          /**
7536           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7537           */
7538          public Builder removeUpperBound(int index) {
7539            ensureUpperBoundIsMutable();
7540            upperBound_.remove(index);
7541    
7542            return this;
7543          }
7544    
7545          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.TypeParameter)
7546        }
7547    
7548        static {
7549          defaultInstance = new TypeParameter(true);
7550          defaultInstance.initFields();
7551        }
7552    
7553        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.TypeParameter)
7554      }
7555    
7556      public interface ClassOrBuilder extends 
7557           com.google.protobuf.GeneratedMessageLite.
7558                ExtendableMessageOrBuilder<Class> {
7559    
7560        // optional int32 flags = 1 [default = 0];
7561        /**
7562         * <code>optional int32 flags = 1 [default = 0];</code>
7563         *
7564         * <pre>
7565         *
7566         *Visibility
7567         *Modality
7568         *has_annotation
7569         *ClassKind
7570         *is_inner
7571         * </pre>
7572         */
7573        boolean hasFlags();
7574        /**
7575         * <code>optional int32 flags = 1 [default = 0];</code>
7576         *
7577         * <pre>
7578         *
7579         *Visibility
7580         *Modality
7581         *has_annotation
7582         *ClassKind
7583         *is_inner
7584         * </pre>
7585         */
7586        int getFlags();
7587    
7588        // required int32 fq_name = 3;
7589        /**
7590         * <code>required int32 fq_name = 3;</code>
7591         */
7592        boolean hasFqName();
7593        /**
7594         * <code>required int32 fq_name = 3;</code>
7595         */
7596        int getFqName();
7597    
7598        // optional int32 companion_object_name = 4;
7599        /**
7600         * <code>optional int32 companion_object_name = 4;</code>
7601         *
7602         * <pre>
7603         * If this field is present, it contains the name of companion object.
7604         * </pre>
7605         */
7606        boolean hasCompanionObjectName();
7607        /**
7608         * <code>optional int32 companion_object_name = 4;</code>
7609         *
7610         * <pre>
7611         * If this field is present, it contains the name of companion object.
7612         * </pre>
7613         */
7614        int getCompanionObjectName();
7615    
7616        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;
7617        /**
7618         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7619         */
7620        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
7621            getTypeParameterList();
7622        /**
7623         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7624         */
7625        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
7626        /**
7627         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7628         */
7629        int getTypeParameterCount();
7630    
7631        // repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;
7632        /**
7633         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7634         */
7635        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> 
7636            getSupertypeList();
7637        /**
7638         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7639         */
7640        org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index);
7641        /**
7642         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7643         */
7644        int getSupertypeCount();
7645    
7646        // repeated int32 nested_class_name = 7 [packed = true];
7647        /**
7648         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
7649         *
7650         * <pre>
7651         * we store only names, because the actual information must reside in the corresponding .class files,
7652         * to be obtainable through reflection at runtime
7653         * </pre>
7654         */
7655        java.util.List<java.lang.Integer> getNestedClassNameList();
7656        /**
7657         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
7658         *
7659         * <pre>
7660         * we store only names, because the actual information must reside in the corresponding .class files,
7661         * to be obtainable through reflection at runtime
7662         * </pre>
7663         */
7664        int getNestedClassNameCount();
7665        /**
7666         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
7667         *
7668         * <pre>
7669         * we store only names, because the actual information must reside in the corresponding .class files,
7670         * to be obtainable through reflection at runtime
7671         * </pre>
7672         */
7673        int getNestedClassName(int index);
7674    
7675        // repeated .org.jetbrains.kotlin.serialization.Callable member = 11;
7676        /**
7677         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
7678         */
7679        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> 
7680            getMemberList();
7681        /**
7682         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
7683         */
7684        org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index);
7685        /**
7686         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
7687         */
7688        int getMemberCount();
7689    
7690        // repeated int32 enum_entry = 12 [packed = true];
7691        /**
7692         * <code>repeated int32 enum_entry = 12 [packed = true];</code>
7693         */
7694        java.util.List<java.lang.Integer> getEnumEntryList();
7695        /**
7696         * <code>repeated int32 enum_entry = 12 [packed = true];</code>
7697         */
7698        int getEnumEntryCount();
7699        /**
7700         * <code>repeated int32 enum_entry = 12 [packed = true];</code>
7701         */
7702        int getEnumEntry(int index);
7703    
7704        // optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;
7705        /**
7706         * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
7707         *
7708         * <pre>
7709         * This field is present if and only if the class has a primary constructor
7710         * </pre>
7711         */
7712        boolean hasPrimaryConstructor();
7713        /**
7714         * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
7715         *
7716         * <pre>
7717         * This field is present if and only if the class has a primary constructor
7718         * </pre>
7719         */
7720        org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor getPrimaryConstructor();
7721    
7722        // repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;
7723        /**
7724         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
7725         */
7726        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> 
7727            getSecondaryConstructorList();
7728        /**
7729         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
7730         */
7731        org.jetbrains.kotlin.serialization.ProtoBuf.Callable getSecondaryConstructor(int index);
7732        /**
7733         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
7734         */
7735        int getSecondaryConstructorCount();
7736      }
7737      /**
7738       * Protobuf type {@code org.jetbrains.kotlin.serialization.Class}
7739       */
7740      public static final class Class extends
7741          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
7742            Class> implements ClassOrBuilder {
7743        // Use Class.newBuilder() to construct.
7744        private Class(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Class, ?> builder) {
7745          super(builder);
7746    
7747        }
7748        private Class(boolean noInit) {}
7749    
7750        private static final Class defaultInstance;
7751        public static Class getDefaultInstance() {
7752          return defaultInstance;
7753        }
7754    
7755        public Class getDefaultInstanceForType() {
7756          return defaultInstance;
7757        }
7758    
7759        private Class(
7760            com.google.protobuf.CodedInputStream input,
7761            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7762            throws com.google.protobuf.InvalidProtocolBufferException {
7763          initFields();
7764          int mutable_bitField0_ = 0;
7765          try {
7766            boolean done = false;
7767            while (!done) {
7768              int tag = input.readTag();
7769              switch (tag) {
7770                case 0:
7771                  done = true;
7772                  break;
7773                default: {
7774                  if (!parseUnknownField(input,
7775                                         extensionRegistry, tag)) {
7776                    done = true;
7777                  }
7778                  break;
7779                }
7780                case 8: {
7781                  bitField0_ |= 0x00000001;
7782                  flags_ = input.readInt32();
7783                  break;
7784                }
7785                case 24: {
7786                  bitField0_ |= 0x00000002;
7787                  fqName_ = input.readInt32();
7788                  break;
7789                }
7790                case 32: {
7791                  bitField0_ |= 0x00000004;
7792                  companionObjectName_ = input.readInt32();
7793                  break;
7794                }
7795                case 42: {
7796                  if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
7797                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
7798                    mutable_bitField0_ |= 0x00000008;
7799                  }
7800                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
7801                  break;
7802                }
7803                case 50: {
7804                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7805                    supertype_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
7806                    mutable_bitField0_ |= 0x00000010;
7807                  }
7808                  supertype_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
7809                  break;
7810                }
7811                case 56: {
7812                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
7813                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
7814                    mutable_bitField0_ |= 0x00000020;
7815                  }
7816                  nestedClassName_.add(input.readInt32());
7817                  break;
7818                }
7819                case 58: {
7820                  int length = input.readRawVarint32();
7821                  int limit = input.pushLimit(length);
7822                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
7823                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
7824                    mutable_bitField0_ |= 0x00000020;
7825                  }
7826                  while (input.getBytesUntilLimit() > 0) {
7827                    nestedClassName_.add(input.readInt32());
7828                  }
7829                  input.popLimit(limit);
7830                  break;
7831                }
7832                case 90: {
7833                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
7834                    member_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>();
7835                    mutable_bitField0_ |= 0x00000040;
7836                  }
7837                  member_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.PARSER, extensionRegistry));
7838                  break;
7839                }
7840                case 96: {
7841                  if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
7842                    enumEntry_ = new java.util.ArrayList<java.lang.Integer>();
7843                    mutable_bitField0_ |= 0x00000080;
7844                  }
7845                  enumEntry_.add(input.readInt32());
7846                  break;
7847                }
7848                case 98: {
7849                  int length = input.readRawVarint32();
7850                  int limit = input.pushLimit(length);
7851                  if (!((mutable_bitField0_ & 0x00000080) == 0x00000080) && input.getBytesUntilLimit() > 0) {
7852                    enumEntry_ = new java.util.ArrayList<java.lang.Integer>();
7853                    mutable_bitField0_ |= 0x00000080;
7854                  }
7855                  while (input.getBytesUntilLimit() > 0) {
7856                    enumEntry_.add(input.readInt32());
7857                  }
7858                  input.popLimit(limit);
7859                  break;
7860                }
7861                case 106: {
7862                  org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.Builder subBuilder = null;
7863                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
7864                    subBuilder = primaryConstructor_.toBuilder();
7865                  }
7866                  primaryConstructor_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.PARSER, extensionRegistry);
7867                  if (subBuilder != null) {
7868                    subBuilder.mergeFrom(primaryConstructor_);
7869                    primaryConstructor_ = subBuilder.buildPartial();
7870                  }
7871                  bitField0_ |= 0x00000008;
7872                  break;
7873                }
7874                case 114: {
7875                  if (!((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
7876                    secondaryConstructor_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>();
7877                    mutable_bitField0_ |= 0x00000200;
7878                  }
7879                  secondaryConstructor_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.PARSER, extensionRegistry));
7880                  break;
7881                }
7882              }
7883            }
7884          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7885            throw e.setUnfinishedMessage(this);
7886          } catch (java.io.IOException e) {
7887            throw new com.google.protobuf.InvalidProtocolBufferException(
7888                e.getMessage()).setUnfinishedMessage(this);
7889          } finally {
7890            if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
7891              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
7892            }
7893            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7894              supertype_ = java.util.Collections.unmodifiableList(supertype_);
7895            }
7896            if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
7897              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
7898            }
7899            if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
7900              member_ = java.util.Collections.unmodifiableList(member_);
7901            }
7902            if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
7903              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
7904            }
7905            if (((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
7906              secondaryConstructor_ = java.util.Collections.unmodifiableList(secondaryConstructor_);
7907            }
7908            makeExtensionsImmutable();
7909          }
7910        }
7911        public static com.google.protobuf.Parser<Class> PARSER =
7912            new com.google.protobuf.AbstractParser<Class>() {
7913          public Class parsePartialFrom(
7914              com.google.protobuf.CodedInputStream input,
7915              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7916              throws com.google.protobuf.InvalidProtocolBufferException {
7917            return new Class(input, extensionRegistry);
7918          }
7919        };
7920    
7921        @java.lang.Override
7922        public com.google.protobuf.Parser<Class> getParserForType() {
7923          return PARSER;
7924        }
7925    
7926        /**
7927         * Protobuf enum {@code org.jetbrains.kotlin.serialization.Class.Kind}
7928         */
7929        public enum Kind
7930            implements com.google.protobuf.Internal.EnumLite {
7931          /**
7932           * <code>CLASS = 0;</code>
7933           *
7934           * <pre>
7935           * 3 bits
7936           * </pre>
7937           */
7938          CLASS(0, 0),
7939          /**
7940           * <code>INTERFACE = 1;</code>
7941           */
7942          INTERFACE(1, 1),
7943          /**
7944           * <code>ENUM_CLASS = 2;</code>
7945           */
7946          ENUM_CLASS(2, 2),
7947          /**
7948           * <code>ENUM_ENTRY = 3;</code>
7949           */
7950          ENUM_ENTRY(3, 3),
7951          /**
7952           * <code>ANNOTATION_CLASS = 4;</code>
7953           */
7954          ANNOTATION_CLASS(4, 4),
7955          /**
7956           * <code>OBJECT = 5;</code>
7957           */
7958          OBJECT(5, 5),
7959          /**
7960           * <code>COMPANION_OBJECT = 6;</code>
7961           */
7962          COMPANION_OBJECT(6, 6),
7963          ;
7964    
7965          /**
7966           * <code>CLASS = 0;</code>
7967           *
7968           * <pre>
7969           * 3 bits
7970           * </pre>
7971           */
7972          public static final int CLASS_VALUE = 0;
7973          /**
7974           * <code>INTERFACE = 1;</code>
7975           */
7976          public static final int INTERFACE_VALUE = 1;
7977          /**
7978           * <code>ENUM_CLASS = 2;</code>
7979           */
7980          public static final int ENUM_CLASS_VALUE = 2;
7981          /**
7982           * <code>ENUM_ENTRY = 3;</code>
7983           */
7984          public static final int ENUM_ENTRY_VALUE = 3;
7985          /**
7986           * <code>ANNOTATION_CLASS = 4;</code>
7987           */
7988          public static final int ANNOTATION_CLASS_VALUE = 4;
7989          /**
7990           * <code>OBJECT = 5;</code>
7991           */
7992          public static final int OBJECT_VALUE = 5;
7993          /**
7994           * <code>COMPANION_OBJECT = 6;</code>
7995           */
7996          public static final int COMPANION_OBJECT_VALUE = 6;
7997    
7998    
7999          public final int getNumber() { return value; }
8000    
8001          public static Kind valueOf(int value) {
8002            switch (value) {
8003              case 0: return CLASS;
8004              case 1: return INTERFACE;
8005              case 2: return ENUM_CLASS;
8006              case 3: return ENUM_ENTRY;
8007              case 4: return ANNOTATION_CLASS;
8008              case 5: return OBJECT;
8009              case 6: return COMPANION_OBJECT;
8010              default: return null;
8011            }
8012          }
8013    
8014          public static com.google.protobuf.Internal.EnumLiteMap<Kind>
8015              internalGetValueMap() {
8016            return internalValueMap;
8017          }
8018          private static com.google.protobuf.Internal.EnumLiteMap<Kind>
8019              internalValueMap =
8020                new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
8021                  public Kind findValueByNumber(int number) {
8022                    return Kind.valueOf(number);
8023                  }
8024                };
8025    
8026          private final int value;
8027    
8028          private Kind(int index, int value) {
8029            this.value = value;
8030          }
8031    
8032          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Class.Kind)
8033        }
8034    
8035        public interface PrimaryConstructorOrBuilder
8036            extends com.google.protobuf.MessageLiteOrBuilder {
8037    
8038          // optional .org.jetbrains.kotlin.serialization.Callable data = 1;
8039          /**
8040           * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8041           *
8042           * <pre>
8043           * If this field is present, it contains serialized data for the primary constructor.
8044           * Otherwise it's default and can be created manually upon deserialization
8045           * Note: currently only objects have default primary constructor
8046           * </pre>
8047           */
8048          boolean hasData();
8049          /**
8050           * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8051           *
8052           * <pre>
8053           * If this field is present, it contains serialized data for the primary constructor.
8054           * Otherwise it's default and can be created manually upon deserialization
8055           * Note: currently only objects have default primary constructor
8056           * </pre>
8057           */
8058          org.jetbrains.kotlin.serialization.ProtoBuf.Callable getData();
8059        }
8060        /**
8061         * Protobuf type {@code org.jetbrains.kotlin.serialization.Class.PrimaryConstructor}
8062         */
8063        public static final class PrimaryConstructor extends
8064            com.google.protobuf.GeneratedMessageLite
8065            implements PrimaryConstructorOrBuilder {
8066          // Use PrimaryConstructor.newBuilder() to construct.
8067          private PrimaryConstructor(com.google.protobuf.GeneratedMessageLite.Builder builder) {
8068            super(builder);
8069    
8070          }
8071          private PrimaryConstructor(boolean noInit) {}
8072    
8073          private static final PrimaryConstructor defaultInstance;
8074          public static PrimaryConstructor getDefaultInstance() {
8075            return defaultInstance;
8076          }
8077    
8078          public PrimaryConstructor getDefaultInstanceForType() {
8079            return defaultInstance;
8080          }
8081    
8082          private PrimaryConstructor(
8083              com.google.protobuf.CodedInputStream input,
8084              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8085              throws com.google.protobuf.InvalidProtocolBufferException {
8086            initFields();
8087            int mutable_bitField0_ = 0;
8088            try {
8089              boolean done = false;
8090              while (!done) {
8091                int tag = input.readTag();
8092                switch (tag) {
8093                  case 0:
8094                    done = true;
8095                    break;
8096                  default: {
8097                    if (!parseUnknownField(input,
8098                                           extensionRegistry, tag)) {
8099                      done = true;
8100                    }
8101                    break;
8102                  }
8103                  case 10: {
8104                    org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder subBuilder = null;
8105                    if (((bitField0_ & 0x00000001) == 0x00000001)) {
8106                      subBuilder = data_.toBuilder();
8107                    }
8108                    data_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.PARSER, extensionRegistry);
8109                    if (subBuilder != null) {
8110                      subBuilder.mergeFrom(data_);
8111                      data_ = subBuilder.buildPartial();
8112                    }
8113                    bitField0_ |= 0x00000001;
8114                    break;
8115                  }
8116                }
8117              }
8118            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8119              throw e.setUnfinishedMessage(this);
8120            } catch (java.io.IOException e) {
8121              throw new com.google.protobuf.InvalidProtocolBufferException(
8122                  e.getMessage()).setUnfinishedMessage(this);
8123            } finally {
8124              makeExtensionsImmutable();
8125            }
8126          }
8127          public static com.google.protobuf.Parser<PrimaryConstructor> PARSER =
8128              new com.google.protobuf.AbstractParser<PrimaryConstructor>() {
8129            public PrimaryConstructor parsePartialFrom(
8130                com.google.protobuf.CodedInputStream input,
8131                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8132                throws com.google.protobuf.InvalidProtocolBufferException {
8133              return new PrimaryConstructor(input, extensionRegistry);
8134            }
8135          };
8136    
8137          @java.lang.Override
8138          public com.google.protobuf.Parser<PrimaryConstructor> getParserForType() {
8139            return PARSER;
8140          }
8141    
8142          private int bitField0_;
8143          // optional .org.jetbrains.kotlin.serialization.Callable data = 1;
8144          public static final int DATA_FIELD_NUMBER = 1;
8145          private org.jetbrains.kotlin.serialization.ProtoBuf.Callable data_;
8146          /**
8147           * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8148           *
8149           * <pre>
8150           * If this field is present, it contains serialized data for the primary constructor.
8151           * Otherwise it's default and can be created manually upon deserialization
8152           * Note: currently only objects have default primary constructor
8153           * </pre>
8154           */
8155          public boolean hasData() {
8156            return ((bitField0_ & 0x00000001) == 0x00000001);
8157          }
8158          /**
8159           * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8160           *
8161           * <pre>
8162           * If this field is present, it contains serialized data for the primary constructor.
8163           * Otherwise it's default and can be created manually upon deserialization
8164           * Note: currently only objects have default primary constructor
8165           * </pre>
8166           */
8167          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getData() {
8168            return data_;
8169          }
8170    
8171          private void initFields() {
8172            data_ = org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance();
8173          }
8174          private byte memoizedIsInitialized = -1;
8175          public final boolean isInitialized() {
8176            byte isInitialized = memoizedIsInitialized;
8177            if (isInitialized != -1) return isInitialized == 1;
8178    
8179            if (hasData()) {
8180              if (!getData().isInitialized()) {
8181                memoizedIsInitialized = 0;
8182                return false;
8183              }
8184            }
8185            memoizedIsInitialized = 1;
8186            return true;
8187          }
8188    
8189          public void writeTo(com.google.protobuf.CodedOutputStream output)
8190                              throws java.io.IOException {
8191            getSerializedSize();
8192            if (((bitField0_ & 0x00000001) == 0x00000001)) {
8193              output.writeMessage(1, data_);
8194            }
8195          }
8196    
8197          private int memoizedSerializedSize = -1;
8198          public int getSerializedSize() {
8199            int size = memoizedSerializedSize;
8200            if (size != -1) return size;
8201    
8202            size = 0;
8203            if (((bitField0_ & 0x00000001) == 0x00000001)) {
8204              size += com.google.protobuf.CodedOutputStream
8205                .computeMessageSize(1, data_);
8206            }
8207            memoizedSerializedSize = size;
8208            return size;
8209          }
8210    
8211          private static final long serialVersionUID = 0L;
8212          @java.lang.Override
8213          protected java.lang.Object writeReplace()
8214              throws java.io.ObjectStreamException {
8215            return super.writeReplace();
8216          }
8217    
8218          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
8219              com.google.protobuf.ByteString data)
8220              throws com.google.protobuf.InvalidProtocolBufferException {
8221            return PARSER.parseFrom(data);
8222          }
8223          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
8224              com.google.protobuf.ByteString data,
8225              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8226              throws com.google.protobuf.InvalidProtocolBufferException {
8227            return PARSER.parseFrom(data, extensionRegistry);
8228          }
8229          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(byte[] data)
8230              throws com.google.protobuf.InvalidProtocolBufferException {
8231            return PARSER.parseFrom(data);
8232          }
8233          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
8234              byte[] data,
8235              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8236              throws com.google.protobuf.InvalidProtocolBufferException {
8237            return PARSER.parseFrom(data, extensionRegistry);
8238          }
8239          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(java.io.InputStream input)
8240              throws java.io.IOException {
8241            return PARSER.parseFrom(input);
8242          }
8243          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
8244              java.io.InputStream input,
8245              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8246              throws java.io.IOException {
8247            return PARSER.parseFrom(input, extensionRegistry);
8248          }
8249          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseDelimitedFrom(java.io.InputStream input)
8250              throws java.io.IOException {
8251            return PARSER.parseDelimitedFrom(input);
8252          }
8253          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseDelimitedFrom(
8254              java.io.InputStream input,
8255              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8256              throws java.io.IOException {
8257            return PARSER.parseDelimitedFrom(input, extensionRegistry);
8258          }
8259          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
8260              com.google.protobuf.CodedInputStream input)
8261              throws java.io.IOException {
8262            return PARSER.parseFrom(input);
8263          }
8264          public static org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
8265              com.google.protobuf.CodedInputStream input,
8266              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8267              throws java.io.IOException {
8268            return PARSER.parseFrom(input, extensionRegistry);
8269          }
8270    
8271          public static Builder newBuilder() { return Builder.create(); }
8272          public Builder newBuilderForType() { return newBuilder(); }
8273          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor prototype) {
8274            return newBuilder().mergeFrom(prototype);
8275          }
8276          public Builder toBuilder() { return newBuilder(this); }
8277    
8278          /**
8279           * Protobuf type {@code org.jetbrains.kotlin.serialization.Class.PrimaryConstructor}
8280           */
8281          public static final class Builder extends
8282              com.google.protobuf.GeneratedMessageLite.Builder<
8283                org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor, Builder>
8284              implements org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructorOrBuilder {
8285            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.newBuilder()
8286            private Builder() {
8287              maybeForceBuilderInitialization();
8288            }
8289    
8290            private void maybeForceBuilderInitialization() {
8291            }
8292            private static Builder create() {
8293              return new Builder();
8294            }
8295    
8296            public Builder clear() {
8297              super.clear();
8298              data_ = org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance();
8299              bitField0_ = (bitField0_ & ~0x00000001);
8300              return this;
8301            }
8302    
8303            public Builder clone() {
8304              return create().mergeFrom(buildPartial());
8305            }
8306    
8307            public org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor getDefaultInstanceForType() {
8308              return org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
8309            }
8310    
8311            public org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor build() {
8312              org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor result = buildPartial();
8313              if (!result.isInitialized()) {
8314                throw newUninitializedMessageException(result);
8315              }
8316              return result;
8317            }
8318    
8319            public org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor buildPartial() {
8320              org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor result = new org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor(this);
8321              int from_bitField0_ = bitField0_;
8322              int to_bitField0_ = 0;
8323              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
8324                to_bitField0_ |= 0x00000001;
8325              }
8326              result.data_ = data_;
8327              result.bitField0_ = to_bitField0_;
8328              return result;
8329            }
8330    
8331            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor other) {
8332              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance()) return this;
8333              if (other.hasData()) {
8334                mergeData(other.getData());
8335              }
8336              return this;
8337            }
8338    
8339            public final boolean isInitialized() {
8340              if (hasData()) {
8341                if (!getData().isInitialized()) {
8342                  
8343                  return false;
8344                }
8345              }
8346              return true;
8347            }
8348    
8349            public Builder mergeFrom(
8350                com.google.protobuf.CodedInputStream input,
8351                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8352                throws java.io.IOException {
8353              org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor parsedMessage = null;
8354              try {
8355                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
8356              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8357                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor) e.getUnfinishedMessage();
8358                throw e;
8359              } finally {
8360                if (parsedMessage != null) {
8361                  mergeFrom(parsedMessage);
8362                }
8363              }
8364              return this;
8365            }
8366            private int bitField0_;
8367    
8368            // optional .org.jetbrains.kotlin.serialization.Callable data = 1;
8369            private org.jetbrains.kotlin.serialization.ProtoBuf.Callable data_ = org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance();
8370            /**
8371             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8372             *
8373             * <pre>
8374             * If this field is present, it contains serialized data for the primary constructor.
8375             * Otherwise it's default and can be created manually upon deserialization
8376             * Note: currently only objects have default primary constructor
8377             * </pre>
8378             */
8379            public boolean hasData() {
8380              return ((bitField0_ & 0x00000001) == 0x00000001);
8381            }
8382            /**
8383             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8384             *
8385             * <pre>
8386             * If this field is present, it contains serialized data for the primary constructor.
8387             * Otherwise it's default and can be created manually upon deserialization
8388             * Note: currently only objects have default primary constructor
8389             * </pre>
8390             */
8391            public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getData() {
8392              return data_;
8393            }
8394            /**
8395             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8396             *
8397             * <pre>
8398             * If this field is present, it contains serialized data for the primary constructor.
8399             * Otherwise it's default and can be created manually upon deserialization
8400             * Note: currently only objects have default primary constructor
8401             * </pre>
8402             */
8403            public Builder setData(org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
8404              if (value == null) {
8405                throw new NullPointerException();
8406              }
8407              data_ = value;
8408    
8409              bitField0_ |= 0x00000001;
8410              return this;
8411            }
8412            /**
8413             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8414             *
8415             * <pre>
8416             * If this field is present, it contains serialized data for the primary constructor.
8417             * Otherwise it's default and can be created manually upon deserialization
8418             * Note: currently only objects have default primary constructor
8419             * </pre>
8420             */
8421            public Builder setData(
8422                org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
8423              data_ = builderForValue.build();
8424    
8425              bitField0_ |= 0x00000001;
8426              return this;
8427            }
8428            /**
8429             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8430             *
8431             * <pre>
8432             * If this field is present, it contains serialized data for the primary constructor.
8433             * Otherwise it's default and can be created manually upon deserialization
8434             * Note: currently only objects have default primary constructor
8435             * </pre>
8436             */
8437            public Builder mergeData(org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
8438              if (((bitField0_ & 0x00000001) == 0x00000001) &&
8439                  data_ != org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance()) {
8440                data_ =
8441                  org.jetbrains.kotlin.serialization.ProtoBuf.Callable.newBuilder(data_).mergeFrom(value).buildPartial();
8442              } else {
8443                data_ = value;
8444              }
8445    
8446              bitField0_ |= 0x00000001;
8447              return this;
8448            }
8449            /**
8450             * <code>optional .org.jetbrains.kotlin.serialization.Callable data = 1;</code>
8451             *
8452             * <pre>
8453             * If this field is present, it contains serialized data for the primary constructor.
8454             * Otherwise it's default and can be created manually upon deserialization
8455             * Note: currently only objects have default primary constructor
8456             * </pre>
8457             */
8458            public Builder clearData() {
8459              data_ = org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance();
8460    
8461              bitField0_ = (bitField0_ & ~0x00000001);
8462              return this;
8463            }
8464    
8465            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Class.PrimaryConstructor)
8466          }
8467    
8468          static {
8469            defaultInstance = new PrimaryConstructor(true);
8470            defaultInstance.initFields();
8471          }
8472    
8473          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Class.PrimaryConstructor)
8474        }
8475    
8476        private int bitField0_;
8477        // optional int32 flags = 1 [default = 0];
8478        public static final int FLAGS_FIELD_NUMBER = 1;
8479        private int flags_;
8480        /**
8481         * <code>optional int32 flags = 1 [default = 0];</code>
8482         *
8483         * <pre>
8484         *
8485         *Visibility
8486         *Modality
8487         *has_annotation
8488         *ClassKind
8489         *is_inner
8490         * </pre>
8491         */
8492        public boolean hasFlags() {
8493          return ((bitField0_ & 0x00000001) == 0x00000001);
8494        }
8495        /**
8496         * <code>optional int32 flags = 1 [default = 0];</code>
8497         *
8498         * <pre>
8499         *
8500         *Visibility
8501         *Modality
8502         *has_annotation
8503         *ClassKind
8504         *is_inner
8505         * </pre>
8506         */
8507        public int getFlags() {
8508          return flags_;
8509        }
8510    
8511        // required int32 fq_name = 3;
8512        public static final int FQ_NAME_FIELD_NUMBER = 3;
8513        private int fqName_;
8514        /**
8515         * <code>required int32 fq_name = 3;</code>
8516         */
8517        public boolean hasFqName() {
8518          return ((bitField0_ & 0x00000002) == 0x00000002);
8519        }
8520        /**
8521         * <code>required int32 fq_name = 3;</code>
8522         */
8523        public int getFqName() {
8524          return fqName_;
8525        }
8526    
8527        // optional int32 companion_object_name = 4;
8528        public static final int COMPANION_OBJECT_NAME_FIELD_NUMBER = 4;
8529        private int companionObjectName_;
8530        /**
8531         * <code>optional int32 companion_object_name = 4;</code>
8532         *
8533         * <pre>
8534         * If this field is present, it contains the name of companion object.
8535         * </pre>
8536         */
8537        public boolean hasCompanionObjectName() {
8538          return ((bitField0_ & 0x00000004) == 0x00000004);
8539        }
8540        /**
8541         * <code>optional int32 companion_object_name = 4;</code>
8542         *
8543         * <pre>
8544         * If this field is present, it contains the name of companion object.
8545         * </pre>
8546         */
8547        public int getCompanionObjectName() {
8548          return companionObjectName_;
8549        }
8550    
8551        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;
8552        public static final int TYPE_PARAMETER_FIELD_NUMBER = 5;
8553        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
8554        /**
8555         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8556         */
8557        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
8558          return typeParameter_;
8559        }
8560        /**
8561         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8562         */
8563        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
8564            getTypeParameterOrBuilderList() {
8565          return typeParameter_;
8566        }
8567        /**
8568         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8569         */
8570        public int getTypeParameterCount() {
8571          return typeParameter_.size();
8572        }
8573        /**
8574         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8575         */
8576        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
8577          return typeParameter_.get(index);
8578        }
8579        /**
8580         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8581         */
8582        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
8583            int index) {
8584          return typeParameter_.get(index);
8585        }
8586    
8587        // repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;
8588        public static final int SUPERTYPE_FIELD_NUMBER = 6;
8589        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> supertype_;
8590        /**
8591         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8592         */
8593        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getSupertypeList() {
8594          return supertype_;
8595        }
8596        /**
8597         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8598         */
8599        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
8600            getSupertypeOrBuilderList() {
8601          return supertype_;
8602        }
8603        /**
8604         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8605         */
8606        public int getSupertypeCount() {
8607          return supertype_.size();
8608        }
8609        /**
8610         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8611         */
8612        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index) {
8613          return supertype_.get(index);
8614        }
8615        /**
8616         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8617         */
8618        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getSupertypeOrBuilder(
8619            int index) {
8620          return supertype_.get(index);
8621        }
8622    
8623        // repeated int32 nested_class_name = 7 [packed = true];
8624        public static final int NESTED_CLASS_NAME_FIELD_NUMBER = 7;
8625        private java.util.List<java.lang.Integer> nestedClassName_;
8626        /**
8627         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
8628         *
8629         * <pre>
8630         * we store only names, because the actual information must reside in the corresponding .class files,
8631         * to be obtainable through reflection at runtime
8632         * </pre>
8633         */
8634        public java.util.List<java.lang.Integer>
8635            getNestedClassNameList() {
8636          return nestedClassName_;
8637        }
8638        /**
8639         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
8640         *
8641         * <pre>
8642         * we store only names, because the actual information must reside in the corresponding .class files,
8643         * to be obtainable through reflection at runtime
8644         * </pre>
8645         */
8646        public int getNestedClassNameCount() {
8647          return nestedClassName_.size();
8648        }
8649        /**
8650         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
8651         *
8652         * <pre>
8653         * we store only names, because the actual information must reside in the corresponding .class files,
8654         * to be obtainable through reflection at runtime
8655         * </pre>
8656         */
8657        public int getNestedClassName(int index) {
8658          return nestedClassName_.get(index);
8659        }
8660        private int nestedClassNameMemoizedSerializedSize = -1;
8661    
8662        // repeated .org.jetbrains.kotlin.serialization.Callable member = 11;
8663        public static final int MEMBER_FIELD_NUMBER = 11;
8664        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> member_;
8665        /**
8666         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
8667         */
8668        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getMemberList() {
8669          return member_;
8670        }
8671        /**
8672         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
8673         */
8674        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder> 
8675            getMemberOrBuilderList() {
8676          return member_;
8677        }
8678        /**
8679         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
8680         */
8681        public int getMemberCount() {
8682          return member_.size();
8683        }
8684        /**
8685         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
8686         */
8687        public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index) {
8688          return member_.get(index);
8689        }
8690        /**
8691         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
8692         */
8693        public org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder getMemberOrBuilder(
8694            int index) {
8695          return member_.get(index);
8696        }
8697    
8698        // repeated int32 enum_entry = 12 [packed = true];
8699        public static final int ENUM_ENTRY_FIELD_NUMBER = 12;
8700        private java.util.List<java.lang.Integer> enumEntry_;
8701        /**
8702         * <code>repeated int32 enum_entry = 12 [packed = true];</code>
8703         */
8704        public java.util.List<java.lang.Integer>
8705            getEnumEntryList() {
8706          return enumEntry_;
8707        }
8708        /**
8709         * <code>repeated int32 enum_entry = 12 [packed = true];</code>
8710         */
8711        public int getEnumEntryCount() {
8712          return enumEntry_.size();
8713        }
8714        /**
8715         * <code>repeated int32 enum_entry = 12 [packed = true];</code>
8716         */
8717        public int getEnumEntry(int index) {
8718          return enumEntry_.get(index);
8719        }
8720        private int enumEntryMemoizedSerializedSize = -1;
8721    
8722        // optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;
8723        public static final int PRIMARY_CONSTRUCTOR_FIELD_NUMBER = 13;
8724        private org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor primaryConstructor_;
8725        /**
8726         * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
8727         *
8728         * <pre>
8729         * This field is present if and only if the class has a primary constructor
8730         * </pre>
8731         */
8732        public boolean hasPrimaryConstructor() {
8733          return ((bitField0_ & 0x00000008) == 0x00000008);
8734        }
8735        /**
8736         * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
8737         *
8738         * <pre>
8739         * This field is present if and only if the class has a primary constructor
8740         * </pre>
8741         */
8742        public org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor getPrimaryConstructor() {
8743          return primaryConstructor_;
8744        }
8745    
8746        // repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;
8747        public static final int SECONDARY_CONSTRUCTOR_FIELD_NUMBER = 14;
8748        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> secondaryConstructor_;
8749        /**
8750         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
8751         */
8752        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getSecondaryConstructorList() {
8753          return secondaryConstructor_;
8754        }
8755        /**
8756         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
8757         */
8758        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder> 
8759            getSecondaryConstructorOrBuilderList() {
8760          return secondaryConstructor_;
8761        }
8762        /**
8763         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
8764         */
8765        public int getSecondaryConstructorCount() {
8766          return secondaryConstructor_.size();
8767        }
8768        /**
8769         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
8770         */
8771        public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getSecondaryConstructor(int index) {
8772          return secondaryConstructor_.get(index);
8773        }
8774        /**
8775         * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
8776         */
8777        public org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder getSecondaryConstructorOrBuilder(
8778            int index) {
8779          return secondaryConstructor_.get(index);
8780        }
8781    
8782        private void initFields() {
8783          flags_ = 0;
8784          fqName_ = 0;
8785          companionObjectName_ = 0;
8786          typeParameter_ = java.util.Collections.emptyList();
8787          supertype_ = java.util.Collections.emptyList();
8788          nestedClassName_ = java.util.Collections.emptyList();
8789          member_ = java.util.Collections.emptyList();
8790          enumEntry_ = java.util.Collections.emptyList();
8791          primaryConstructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
8792          secondaryConstructor_ = java.util.Collections.emptyList();
8793        }
8794        private byte memoizedIsInitialized = -1;
8795        public final boolean isInitialized() {
8796          byte isInitialized = memoizedIsInitialized;
8797          if (isInitialized != -1) return isInitialized == 1;
8798    
8799          if (!hasFqName()) {
8800            memoizedIsInitialized = 0;
8801            return false;
8802          }
8803          for (int i = 0; i < getTypeParameterCount(); i++) {
8804            if (!getTypeParameter(i).isInitialized()) {
8805              memoizedIsInitialized = 0;
8806              return false;
8807            }
8808          }
8809          for (int i = 0; i < getSupertypeCount(); i++) {
8810            if (!getSupertype(i).isInitialized()) {
8811              memoizedIsInitialized = 0;
8812              return false;
8813            }
8814          }
8815          for (int i = 0; i < getMemberCount(); i++) {
8816            if (!getMember(i).isInitialized()) {
8817              memoizedIsInitialized = 0;
8818              return false;
8819            }
8820          }
8821          if (hasPrimaryConstructor()) {
8822            if (!getPrimaryConstructor().isInitialized()) {
8823              memoizedIsInitialized = 0;
8824              return false;
8825            }
8826          }
8827          for (int i = 0; i < getSecondaryConstructorCount(); i++) {
8828            if (!getSecondaryConstructor(i).isInitialized()) {
8829              memoizedIsInitialized = 0;
8830              return false;
8831            }
8832          }
8833          if (!extensionsAreInitialized()) {
8834            memoizedIsInitialized = 0;
8835            return false;
8836          }
8837          memoizedIsInitialized = 1;
8838          return true;
8839        }
8840    
8841        public void writeTo(com.google.protobuf.CodedOutputStream output)
8842                            throws java.io.IOException {
8843          getSerializedSize();
8844          com.google.protobuf.GeneratedMessageLite
8845            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Class>.ExtensionWriter extensionWriter =
8846              newExtensionWriter();
8847          if (((bitField0_ & 0x00000001) == 0x00000001)) {
8848            output.writeInt32(1, flags_);
8849          }
8850          if (((bitField0_ & 0x00000002) == 0x00000002)) {
8851            output.writeInt32(3, fqName_);
8852          }
8853          if (((bitField0_ & 0x00000004) == 0x00000004)) {
8854            output.writeInt32(4, companionObjectName_);
8855          }
8856          for (int i = 0; i < typeParameter_.size(); i++) {
8857            output.writeMessage(5, typeParameter_.get(i));
8858          }
8859          for (int i = 0; i < supertype_.size(); i++) {
8860            output.writeMessage(6, supertype_.get(i));
8861          }
8862          if (getNestedClassNameList().size() > 0) {
8863            output.writeRawVarint32(58);
8864            output.writeRawVarint32(nestedClassNameMemoizedSerializedSize);
8865          }
8866          for (int i = 0; i < nestedClassName_.size(); i++) {
8867            output.writeInt32NoTag(nestedClassName_.get(i));
8868          }
8869          for (int i = 0; i < member_.size(); i++) {
8870            output.writeMessage(11, member_.get(i));
8871          }
8872          if (getEnumEntryList().size() > 0) {
8873            output.writeRawVarint32(98);
8874            output.writeRawVarint32(enumEntryMemoizedSerializedSize);
8875          }
8876          for (int i = 0; i < enumEntry_.size(); i++) {
8877            output.writeInt32NoTag(enumEntry_.get(i));
8878          }
8879          if (((bitField0_ & 0x00000008) == 0x00000008)) {
8880            output.writeMessage(13, primaryConstructor_);
8881          }
8882          for (int i = 0; i < secondaryConstructor_.size(); i++) {
8883            output.writeMessage(14, secondaryConstructor_.get(i));
8884          }
8885          extensionWriter.writeUntil(200, output);
8886        }
8887    
8888        private int memoizedSerializedSize = -1;
8889        public int getSerializedSize() {
8890          int size = memoizedSerializedSize;
8891          if (size != -1) return size;
8892    
8893          size = 0;
8894          if (((bitField0_ & 0x00000001) == 0x00000001)) {
8895            size += com.google.protobuf.CodedOutputStream
8896              .computeInt32Size(1, flags_);
8897          }
8898          if (((bitField0_ & 0x00000002) == 0x00000002)) {
8899            size += com.google.protobuf.CodedOutputStream
8900              .computeInt32Size(3, fqName_);
8901          }
8902          if (((bitField0_ & 0x00000004) == 0x00000004)) {
8903            size += com.google.protobuf.CodedOutputStream
8904              .computeInt32Size(4, companionObjectName_);
8905          }
8906          for (int i = 0; i < typeParameter_.size(); i++) {
8907            size += com.google.protobuf.CodedOutputStream
8908              .computeMessageSize(5, typeParameter_.get(i));
8909          }
8910          for (int i = 0; i < supertype_.size(); i++) {
8911            size += com.google.protobuf.CodedOutputStream
8912              .computeMessageSize(6, supertype_.get(i));
8913          }
8914          {
8915            int dataSize = 0;
8916            for (int i = 0; i < nestedClassName_.size(); i++) {
8917              dataSize += com.google.protobuf.CodedOutputStream
8918                .computeInt32SizeNoTag(nestedClassName_.get(i));
8919            }
8920            size += dataSize;
8921            if (!getNestedClassNameList().isEmpty()) {
8922              size += 1;
8923              size += com.google.protobuf.CodedOutputStream
8924                  .computeInt32SizeNoTag(dataSize);
8925            }
8926            nestedClassNameMemoizedSerializedSize = dataSize;
8927          }
8928          for (int i = 0; i < member_.size(); i++) {
8929            size += com.google.protobuf.CodedOutputStream
8930              .computeMessageSize(11, member_.get(i));
8931          }
8932          {
8933            int dataSize = 0;
8934            for (int i = 0; i < enumEntry_.size(); i++) {
8935              dataSize += com.google.protobuf.CodedOutputStream
8936                .computeInt32SizeNoTag(enumEntry_.get(i));
8937            }
8938            size += dataSize;
8939            if (!getEnumEntryList().isEmpty()) {
8940              size += 1;
8941              size += com.google.protobuf.CodedOutputStream
8942                  .computeInt32SizeNoTag(dataSize);
8943            }
8944            enumEntryMemoizedSerializedSize = dataSize;
8945          }
8946          if (((bitField0_ & 0x00000008) == 0x00000008)) {
8947            size += com.google.protobuf.CodedOutputStream
8948              .computeMessageSize(13, primaryConstructor_);
8949          }
8950          for (int i = 0; i < secondaryConstructor_.size(); i++) {
8951            size += com.google.protobuf.CodedOutputStream
8952              .computeMessageSize(14, secondaryConstructor_.get(i));
8953          }
8954          size += extensionsSerializedSize();
8955          memoizedSerializedSize = size;
8956          return size;
8957        }
8958    
8959        private static final long serialVersionUID = 0L;
8960        @java.lang.Override
8961        protected java.lang.Object writeReplace()
8962            throws java.io.ObjectStreamException {
8963          return super.writeReplace();
8964        }
8965    
8966        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8967            com.google.protobuf.ByteString data)
8968            throws com.google.protobuf.InvalidProtocolBufferException {
8969          return PARSER.parseFrom(data);
8970        }
8971        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8972            com.google.protobuf.ByteString data,
8973            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8974            throws com.google.protobuf.InvalidProtocolBufferException {
8975          return PARSER.parseFrom(data, extensionRegistry);
8976        }
8977        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(byte[] data)
8978            throws com.google.protobuf.InvalidProtocolBufferException {
8979          return PARSER.parseFrom(data);
8980        }
8981        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8982            byte[] data,
8983            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8984            throws com.google.protobuf.InvalidProtocolBufferException {
8985          return PARSER.parseFrom(data, extensionRegistry);
8986        }
8987        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(java.io.InputStream input)
8988            throws java.io.IOException {
8989          return PARSER.parseFrom(input);
8990        }
8991        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8992            java.io.InputStream input,
8993            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8994            throws java.io.IOException {
8995          return PARSER.parseFrom(input, extensionRegistry);
8996        }
8997        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseDelimitedFrom(java.io.InputStream input)
8998            throws java.io.IOException {
8999          return PARSER.parseDelimitedFrom(input);
9000        }
9001        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseDelimitedFrom(
9002            java.io.InputStream input,
9003            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9004            throws java.io.IOException {
9005          return PARSER.parseDelimitedFrom(input, extensionRegistry);
9006        }
9007        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
9008            com.google.protobuf.CodedInputStream input)
9009            throws java.io.IOException {
9010          return PARSER.parseFrom(input);
9011        }
9012        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
9013            com.google.protobuf.CodedInputStream input,
9014            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9015            throws java.io.IOException {
9016          return PARSER.parseFrom(input, extensionRegistry);
9017        }
9018    
9019        public static Builder newBuilder() { return Builder.create(); }
9020        public Builder newBuilderForType() { return newBuilder(); }
9021        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Class prototype) {
9022          return newBuilder().mergeFrom(prototype);
9023        }
9024        public Builder toBuilder() { return newBuilder(this); }
9025    
9026        /**
9027         * Protobuf type {@code org.jetbrains.kotlin.serialization.Class}
9028         */
9029        public static final class Builder extends
9030            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
9031              org.jetbrains.kotlin.serialization.ProtoBuf.Class, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.ClassOrBuilder {
9032          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Class.newBuilder()
9033          private Builder() {
9034            maybeForceBuilderInitialization();
9035          }
9036    
9037          private void maybeForceBuilderInitialization() {
9038          }
9039          private static Builder create() {
9040            return new Builder();
9041          }
9042    
9043          public Builder clear() {
9044            super.clear();
9045            flags_ = 0;
9046            bitField0_ = (bitField0_ & ~0x00000001);
9047            fqName_ = 0;
9048            bitField0_ = (bitField0_ & ~0x00000002);
9049            companionObjectName_ = 0;
9050            bitField0_ = (bitField0_ & ~0x00000004);
9051            typeParameter_ = java.util.Collections.emptyList();
9052            bitField0_ = (bitField0_ & ~0x00000008);
9053            supertype_ = java.util.Collections.emptyList();
9054            bitField0_ = (bitField0_ & ~0x00000010);
9055            nestedClassName_ = java.util.Collections.emptyList();
9056            bitField0_ = (bitField0_ & ~0x00000020);
9057            member_ = java.util.Collections.emptyList();
9058            bitField0_ = (bitField0_ & ~0x00000040);
9059            enumEntry_ = java.util.Collections.emptyList();
9060            bitField0_ = (bitField0_ & ~0x00000080);
9061            primaryConstructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
9062            bitField0_ = (bitField0_ & ~0x00000100);
9063            secondaryConstructor_ = java.util.Collections.emptyList();
9064            bitField0_ = (bitField0_ & ~0x00000200);
9065            return this;
9066          }
9067    
9068          public Builder clone() {
9069            return create().mergeFrom(buildPartial());
9070          }
9071    
9072          public org.jetbrains.kotlin.serialization.ProtoBuf.Class getDefaultInstanceForType() {
9073            return org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance();
9074          }
9075    
9076          public org.jetbrains.kotlin.serialization.ProtoBuf.Class build() {
9077            org.jetbrains.kotlin.serialization.ProtoBuf.Class result = buildPartial();
9078            if (!result.isInitialized()) {
9079              throw newUninitializedMessageException(result);
9080            }
9081            return result;
9082          }
9083    
9084          public org.jetbrains.kotlin.serialization.ProtoBuf.Class buildPartial() {
9085            org.jetbrains.kotlin.serialization.ProtoBuf.Class result = new org.jetbrains.kotlin.serialization.ProtoBuf.Class(this);
9086            int from_bitField0_ = bitField0_;
9087            int to_bitField0_ = 0;
9088            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
9089              to_bitField0_ |= 0x00000001;
9090            }
9091            result.flags_ = flags_;
9092            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
9093              to_bitField0_ |= 0x00000002;
9094            }
9095            result.fqName_ = fqName_;
9096            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
9097              to_bitField0_ |= 0x00000004;
9098            }
9099            result.companionObjectName_ = companionObjectName_;
9100            if (((bitField0_ & 0x00000008) == 0x00000008)) {
9101              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
9102              bitField0_ = (bitField0_ & ~0x00000008);
9103            }
9104            result.typeParameter_ = typeParameter_;
9105            if (((bitField0_ & 0x00000010) == 0x00000010)) {
9106              supertype_ = java.util.Collections.unmodifiableList(supertype_);
9107              bitField0_ = (bitField0_ & ~0x00000010);
9108            }
9109            result.supertype_ = supertype_;
9110            if (((bitField0_ & 0x00000020) == 0x00000020)) {
9111              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
9112              bitField0_ = (bitField0_ & ~0x00000020);
9113            }
9114            result.nestedClassName_ = nestedClassName_;
9115            if (((bitField0_ & 0x00000040) == 0x00000040)) {
9116              member_ = java.util.Collections.unmodifiableList(member_);
9117              bitField0_ = (bitField0_ & ~0x00000040);
9118            }
9119            result.member_ = member_;
9120            if (((bitField0_ & 0x00000080) == 0x00000080)) {
9121              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
9122              bitField0_ = (bitField0_ & ~0x00000080);
9123            }
9124            result.enumEntry_ = enumEntry_;
9125            if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
9126              to_bitField0_ |= 0x00000008;
9127            }
9128            result.primaryConstructor_ = primaryConstructor_;
9129            if (((bitField0_ & 0x00000200) == 0x00000200)) {
9130              secondaryConstructor_ = java.util.Collections.unmodifiableList(secondaryConstructor_);
9131              bitField0_ = (bitField0_ & ~0x00000200);
9132            }
9133            result.secondaryConstructor_ = secondaryConstructor_;
9134            result.bitField0_ = to_bitField0_;
9135            return result;
9136          }
9137    
9138          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Class other) {
9139            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance()) return this;
9140            if (other.hasFlags()) {
9141              setFlags(other.getFlags());
9142            }
9143            if (other.hasFqName()) {
9144              setFqName(other.getFqName());
9145            }
9146            if (other.hasCompanionObjectName()) {
9147              setCompanionObjectName(other.getCompanionObjectName());
9148            }
9149            if (!other.typeParameter_.isEmpty()) {
9150              if (typeParameter_.isEmpty()) {
9151                typeParameter_ = other.typeParameter_;
9152                bitField0_ = (bitField0_ & ~0x00000008);
9153              } else {
9154                ensureTypeParameterIsMutable();
9155                typeParameter_.addAll(other.typeParameter_);
9156              }
9157              
9158            }
9159            if (!other.supertype_.isEmpty()) {
9160              if (supertype_.isEmpty()) {
9161                supertype_ = other.supertype_;
9162                bitField0_ = (bitField0_ & ~0x00000010);
9163              } else {
9164                ensureSupertypeIsMutable();
9165                supertype_.addAll(other.supertype_);
9166              }
9167              
9168            }
9169            if (!other.nestedClassName_.isEmpty()) {
9170              if (nestedClassName_.isEmpty()) {
9171                nestedClassName_ = other.nestedClassName_;
9172                bitField0_ = (bitField0_ & ~0x00000020);
9173              } else {
9174                ensureNestedClassNameIsMutable();
9175                nestedClassName_.addAll(other.nestedClassName_);
9176              }
9177              
9178            }
9179            if (!other.member_.isEmpty()) {
9180              if (member_.isEmpty()) {
9181                member_ = other.member_;
9182                bitField0_ = (bitField0_ & ~0x00000040);
9183              } else {
9184                ensureMemberIsMutable();
9185                member_.addAll(other.member_);
9186              }
9187              
9188            }
9189            if (!other.enumEntry_.isEmpty()) {
9190              if (enumEntry_.isEmpty()) {
9191                enumEntry_ = other.enumEntry_;
9192                bitField0_ = (bitField0_ & ~0x00000080);
9193              } else {
9194                ensureEnumEntryIsMutable();
9195                enumEntry_.addAll(other.enumEntry_);
9196              }
9197              
9198            }
9199            if (other.hasPrimaryConstructor()) {
9200              mergePrimaryConstructor(other.getPrimaryConstructor());
9201            }
9202            if (!other.secondaryConstructor_.isEmpty()) {
9203              if (secondaryConstructor_.isEmpty()) {
9204                secondaryConstructor_ = other.secondaryConstructor_;
9205                bitField0_ = (bitField0_ & ~0x00000200);
9206              } else {
9207                ensureSecondaryConstructorIsMutable();
9208                secondaryConstructor_.addAll(other.secondaryConstructor_);
9209              }
9210              
9211            }
9212            this.mergeExtensionFields(other);
9213            return this;
9214          }
9215    
9216          public final boolean isInitialized() {
9217            if (!hasFqName()) {
9218              
9219              return false;
9220            }
9221            for (int i = 0; i < getTypeParameterCount(); i++) {
9222              if (!getTypeParameter(i).isInitialized()) {
9223                
9224                return false;
9225              }
9226            }
9227            for (int i = 0; i < getSupertypeCount(); i++) {
9228              if (!getSupertype(i).isInitialized()) {
9229                
9230                return false;
9231              }
9232            }
9233            for (int i = 0; i < getMemberCount(); i++) {
9234              if (!getMember(i).isInitialized()) {
9235                
9236                return false;
9237              }
9238            }
9239            if (hasPrimaryConstructor()) {
9240              if (!getPrimaryConstructor().isInitialized()) {
9241                
9242                return false;
9243              }
9244            }
9245            for (int i = 0; i < getSecondaryConstructorCount(); i++) {
9246              if (!getSecondaryConstructor(i).isInitialized()) {
9247                
9248                return false;
9249              }
9250            }
9251            if (!extensionsAreInitialized()) {
9252              
9253              return false;
9254            }
9255            return true;
9256          }
9257    
9258          public Builder mergeFrom(
9259              com.google.protobuf.CodedInputStream input,
9260              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9261              throws java.io.IOException {
9262            org.jetbrains.kotlin.serialization.ProtoBuf.Class parsedMessage = null;
9263            try {
9264              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
9265            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
9266              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Class) e.getUnfinishedMessage();
9267              throw e;
9268            } finally {
9269              if (parsedMessage != null) {
9270                mergeFrom(parsedMessage);
9271              }
9272            }
9273            return this;
9274          }
9275          private int bitField0_;
9276    
9277          // optional int32 flags = 1 [default = 0];
9278          private int flags_ ;
9279          /**
9280           * <code>optional int32 flags = 1 [default = 0];</code>
9281           *
9282           * <pre>
9283           *
9284           *Visibility
9285           *Modality
9286           *has_annotation
9287           *ClassKind
9288           *is_inner
9289           * </pre>
9290           */
9291          public boolean hasFlags() {
9292            return ((bitField0_ & 0x00000001) == 0x00000001);
9293          }
9294          /**
9295           * <code>optional int32 flags = 1 [default = 0];</code>
9296           *
9297           * <pre>
9298           *
9299           *Visibility
9300           *Modality
9301           *has_annotation
9302           *ClassKind
9303           *is_inner
9304           * </pre>
9305           */
9306          public int getFlags() {
9307            return flags_;
9308          }
9309          /**
9310           * <code>optional int32 flags = 1 [default = 0];</code>
9311           *
9312           * <pre>
9313           *
9314           *Visibility
9315           *Modality
9316           *has_annotation
9317           *ClassKind
9318           *is_inner
9319           * </pre>
9320           */
9321          public Builder setFlags(int value) {
9322            bitField0_ |= 0x00000001;
9323            flags_ = value;
9324            
9325            return this;
9326          }
9327          /**
9328           * <code>optional int32 flags = 1 [default = 0];</code>
9329           *
9330           * <pre>
9331           *
9332           *Visibility
9333           *Modality
9334           *has_annotation
9335           *ClassKind
9336           *is_inner
9337           * </pre>
9338           */
9339          public Builder clearFlags() {
9340            bitField0_ = (bitField0_ & ~0x00000001);
9341            flags_ = 0;
9342            
9343            return this;
9344          }
9345    
9346          // required int32 fq_name = 3;
9347          private int fqName_ ;
9348          /**
9349           * <code>required int32 fq_name = 3;</code>
9350           */
9351          public boolean hasFqName() {
9352            return ((bitField0_ & 0x00000002) == 0x00000002);
9353          }
9354          /**
9355           * <code>required int32 fq_name = 3;</code>
9356           */
9357          public int getFqName() {
9358            return fqName_;
9359          }
9360          /**
9361           * <code>required int32 fq_name = 3;</code>
9362           */
9363          public Builder setFqName(int value) {
9364            bitField0_ |= 0x00000002;
9365            fqName_ = value;
9366            
9367            return this;
9368          }
9369          /**
9370           * <code>required int32 fq_name = 3;</code>
9371           */
9372          public Builder clearFqName() {
9373            bitField0_ = (bitField0_ & ~0x00000002);
9374            fqName_ = 0;
9375            
9376            return this;
9377          }
9378    
9379          // optional int32 companion_object_name = 4;
9380          private int companionObjectName_ ;
9381          /**
9382           * <code>optional int32 companion_object_name = 4;</code>
9383           *
9384           * <pre>
9385           * If this field is present, it contains the name of companion object.
9386           * </pre>
9387           */
9388          public boolean hasCompanionObjectName() {
9389            return ((bitField0_ & 0x00000004) == 0x00000004);
9390          }
9391          /**
9392           * <code>optional int32 companion_object_name = 4;</code>
9393           *
9394           * <pre>
9395           * If this field is present, it contains the name of companion object.
9396           * </pre>
9397           */
9398          public int getCompanionObjectName() {
9399            return companionObjectName_;
9400          }
9401          /**
9402           * <code>optional int32 companion_object_name = 4;</code>
9403           *
9404           * <pre>
9405           * If this field is present, it contains the name of companion object.
9406           * </pre>
9407           */
9408          public Builder setCompanionObjectName(int value) {
9409            bitField0_ |= 0x00000004;
9410            companionObjectName_ = value;
9411            
9412            return this;
9413          }
9414          /**
9415           * <code>optional int32 companion_object_name = 4;</code>
9416           *
9417           * <pre>
9418           * If this field is present, it contains the name of companion object.
9419           * </pre>
9420           */
9421          public Builder clearCompanionObjectName() {
9422            bitField0_ = (bitField0_ & ~0x00000004);
9423            companionObjectName_ = 0;
9424            
9425            return this;
9426          }
9427    
9428          // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;
9429          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
9430            java.util.Collections.emptyList();
9431          private void ensureTypeParameterIsMutable() {
9432            if (!((bitField0_ & 0x00000008) == 0x00000008)) {
9433              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
9434              bitField0_ |= 0x00000008;
9435             }
9436          }
9437    
9438          /**
9439           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9440           */
9441          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
9442            return java.util.Collections.unmodifiableList(typeParameter_);
9443          }
9444          /**
9445           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9446           */
9447          public int getTypeParameterCount() {
9448            return typeParameter_.size();
9449          }
9450          /**
9451           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9452           */
9453          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
9454            return typeParameter_.get(index);
9455          }
9456          /**
9457           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9458           */
9459          public Builder setTypeParameter(
9460              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9461            if (value == null) {
9462              throw new NullPointerException();
9463            }
9464            ensureTypeParameterIsMutable();
9465            typeParameter_.set(index, value);
9466    
9467            return this;
9468          }
9469          /**
9470           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9471           */
9472          public Builder setTypeParameter(
9473              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9474            ensureTypeParameterIsMutable();
9475            typeParameter_.set(index, builderForValue.build());
9476    
9477            return this;
9478          }
9479          /**
9480           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9481           */
9482          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9483            if (value == null) {
9484              throw new NullPointerException();
9485            }
9486            ensureTypeParameterIsMutable();
9487            typeParameter_.add(value);
9488    
9489            return this;
9490          }
9491          /**
9492           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9493           */
9494          public Builder addTypeParameter(
9495              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9496            if (value == null) {
9497              throw new NullPointerException();
9498            }
9499            ensureTypeParameterIsMutable();
9500            typeParameter_.add(index, value);
9501    
9502            return this;
9503          }
9504          /**
9505           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9506           */
9507          public Builder addTypeParameter(
9508              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9509            ensureTypeParameterIsMutable();
9510            typeParameter_.add(builderForValue.build());
9511    
9512            return this;
9513          }
9514          /**
9515           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9516           */
9517          public Builder addTypeParameter(
9518              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9519            ensureTypeParameterIsMutable();
9520            typeParameter_.add(index, builderForValue.build());
9521    
9522            return this;
9523          }
9524          /**
9525           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9526           */
9527          public Builder addAllTypeParameter(
9528              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
9529            ensureTypeParameterIsMutable();
9530            super.addAll(values, typeParameter_);
9531    
9532            return this;
9533          }
9534          /**
9535           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9536           */
9537          public Builder clearTypeParameter() {
9538            typeParameter_ = java.util.Collections.emptyList();
9539            bitField0_ = (bitField0_ & ~0x00000008);
9540    
9541            return this;
9542          }
9543          /**
9544           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9545           */
9546          public Builder removeTypeParameter(int index) {
9547            ensureTypeParameterIsMutable();
9548            typeParameter_.remove(index);
9549    
9550            return this;
9551          }
9552    
9553          // repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;
9554          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> supertype_ =
9555            java.util.Collections.emptyList();
9556          private void ensureSupertypeIsMutable() {
9557            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
9558              supertype_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(supertype_);
9559              bitField0_ |= 0x00000010;
9560             }
9561          }
9562    
9563          /**
9564           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9565           */
9566          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getSupertypeList() {
9567            return java.util.Collections.unmodifiableList(supertype_);
9568          }
9569          /**
9570           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9571           */
9572          public int getSupertypeCount() {
9573            return supertype_.size();
9574          }
9575          /**
9576           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9577           */
9578          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index) {
9579            return supertype_.get(index);
9580          }
9581          /**
9582           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9583           */
9584          public Builder setSupertype(
9585              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9586            if (value == null) {
9587              throw new NullPointerException();
9588            }
9589            ensureSupertypeIsMutable();
9590            supertype_.set(index, value);
9591    
9592            return this;
9593          }
9594          /**
9595           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9596           */
9597          public Builder setSupertype(
9598              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9599            ensureSupertypeIsMutable();
9600            supertype_.set(index, builderForValue.build());
9601    
9602            return this;
9603          }
9604          /**
9605           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9606           */
9607          public Builder addSupertype(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9608            if (value == null) {
9609              throw new NullPointerException();
9610            }
9611            ensureSupertypeIsMutable();
9612            supertype_.add(value);
9613    
9614            return this;
9615          }
9616          /**
9617           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9618           */
9619          public Builder addSupertype(
9620              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9621            if (value == null) {
9622              throw new NullPointerException();
9623            }
9624            ensureSupertypeIsMutable();
9625            supertype_.add(index, value);
9626    
9627            return this;
9628          }
9629          /**
9630           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9631           */
9632          public Builder addSupertype(
9633              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9634            ensureSupertypeIsMutable();
9635            supertype_.add(builderForValue.build());
9636    
9637            return this;
9638          }
9639          /**
9640           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9641           */
9642          public Builder addSupertype(
9643              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9644            ensureSupertypeIsMutable();
9645            supertype_.add(index, builderForValue.build());
9646    
9647            return this;
9648          }
9649          /**
9650           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9651           */
9652          public Builder addAllSupertype(
9653              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
9654            ensureSupertypeIsMutable();
9655            super.addAll(values, supertype_);
9656    
9657            return this;
9658          }
9659          /**
9660           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9661           */
9662          public Builder clearSupertype() {
9663            supertype_ = java.util.Collections.emptyList();
9664            bitField0_ = (bitField0_ & ~0x00000010);
9665    
9666            return this;
9667          }
9668          /**
9669           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9670           */
9671          public Builder removeSupertype(int index) {
9672            ensureSupertypeIsMutable();
9673            supertype_.remove(index);
9674    
9675            return this;
9676          }
9677    
9678          // repeated int32 nested_class_name = 7 [packed = true];
9679          private java.util.List<java.lang.Integer> nestedClassName_ = java.util.Collections.emptyList();
9680          private void ensureNestedClassNameIsMutable() {
9681            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
9682              nestedClassName_ = new java.util.ArrayList<java.lang.Integer>(nestedClassName_);
9683              bitField0_ |= 0x00000020;
9684             }
9685          }
9686          /**
9687           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9688           *
9689           * <pre>
9690           * we store only names, because the actual information must reside in the corresponding .class files,
9691           * to be obtainable through reflection at runtime
9692           * </pre>
9693           */
9694          public java.util.List<java.lang.Integer>
9695              getNestedClassNameList() {
9696            return java.util.Collections.unmodifiableList(nestedClassName_);
9697          }
9698          /**
9699           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9700           *
9701           * <pre>
9702           * we store only names, because the actual information must reside in the corresponding .class files,
9703           * to be obtainable through reflection at runtime
9704           * </pre>
9705           */
9706          public int getNestedClassNameCount() {
9707            return nestedClassName_.size();
9708          }
9709          /**
9710           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9711           *
9712           * <pre>
9713           * we store only names, because the actual information must reside in the corresponding .class files,
9714           * to be obtainable through reflection at runtime
9715           * </pre>
9716           */
9717          public int getNestedClassName(int index) {
9718            return nestedClassName_.get(index);
9719          }
9720          /**
9721           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9722           *
9723           * <pre>
9724           * we store only names, because the actual information must reside in the corresponding .class files,
9725           * to be obtainable through reflection at runtime
9726           * </pre>
9727           */
9728          public Builder setNestedClassName(
9729              int index, int value) {
9730            ensureNestedClassNameIsMutable();
9731            nestedClassName_.set(index, value);
9732            
9733            return this;
9734          }
9735          /**
9736           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9737           *
9738           * <pre>
9739           * we store only names, because the actual information must reside in the corresponding .class files,
9740           * to be obtainable through reflection at runtime
9741           * </pre>
9742           */
9743          public Builder addNestedClassName(int value) {
9744            ensureNestedClassNameIsMutable();
9745            nestedClassName_.add(value);
9746            
9747            return this;
9748          }
9749          /**
9750           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9751           *
9752           * <pre>
9753           * we store only names, because the actual information must reside in the corresponding .class files,
9754           * to be obtainable through reflection at runtime
9755           * </pre>
9756           */
9757          public Builder addAllNestedClassName(
9758              java.lang.Iterable<? extends java.lang.Integer> values) {
9759            ensureNestedClassNameIsMutable();
9760            super.addAll(values, nestedClassName_);
9761            
9762            return this;
9763          }
9764          /**
9765           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9766           *
9767           * <pre>
9768           * we store only names, because the actual information must reside in the corresponding .class files,
9769           * to be obtainable through reflection at runtime
9770           * </pre>
9771           */
9772          public Builder clearNestedClassName() {
9773            nestedClassName_ = java.util.Collections.emptyList();
9774            bitField0_ = (bitField0_ & ~0x00000020);
9775            
9776            return this;
9777          }
9778    
9779          // repeated .org.jetbrains.kotlin.serialization.Callable member = 11;
9780          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> member_ =
9781            java.util.Collections.emptyList();
9782          private void ensureMemberIsMutable() {
9783            if (!((bitField0_ & 0x00000040) == 0x00000040)) {
9784              member_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>(member_);
9785              bitField0_ |= 0x00000040;
9786             }
9787          }
9788    
9789          /**
9790           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9791           */
9792          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getMemberList() {
9793            return java.util.Collections.unmodifiableList(member_);
9794          }
9795          /**
9796           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9797           */
9798          public int getMemberCount() {
9799            return member_.size();
9800          }
9801          /**
9802           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9803           */
9804          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index) {
9805            return member_.get(index);
9806          }
9807          /**
9808           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9809           */
9810          public Builder setMember(
9811              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
9812            if (value == null) {
9813              throw new NullPointerException();
9814            }
9815            ensureMemberIsMutable();
9816            member_.set(index, value);
9817    
9818            return this;
9819          }
9820          /**
9821           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9822           */
9823          public Builder setMember(
9824              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
9825            ensureMemberIsMutable();
9826            member_.set(index, builderForValue.build());
9827    
9828            return this;
9829          }
9830          /**
9831           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9832           */
9833          public Builder addMember(org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
9834            if (value == null) {
9835              throw new NullPointerException();
9836            }
9837            ensureMemberIsMutable();
9838            member_.add(value);
9839    
9840            return this;
9841          }
9842          /**
9843           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9844           */
9845          public Builder addMember(
9846              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
9847            if (value == null) {
9848              throw new NullPointerException();
9849            }
9850            ensureMemberIsMutable();
9851            member_.add(index, value);
9852    
9853            return this;
9854          }
9855          /**
9856           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9857           */
9858          public Builder addMember(
9859              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
9860            ensureMemberIsMutable();
9861            member_.add(builderForValue.build());
9862    
9863            return this;
9864          }
9865          /**
9866           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9867           */
9868          public Builder addMember(
9869              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
9870            ensureMemberIsMutable();
9871            member_.add(index, builderForValue.build());
9872    
9873            return this;
9874          }
9875          /**
9876           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9877           */
9878          public Builder addAllMember(
9879              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Callable> values) {
9880            ensureMemberIsMutable();
9881            super.addAll(values, member_);
9882    
9883            return this;
9884          }
9885          /**
9886           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9887           */
9888          public Builder clearMember() {
9889            member_ = java.util.Collections.emptyList();
9890            bitField0_ = (bitField0_ & ~0x00000040);
9891    
9892            return this;
9893          }
9894          /**
9895           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 11;</code>
9896           */
9897          public Builder removeMember(int index) {
9898            ensureMemberIsMutable();
9899            member_.remove(index);
9900    
9901            return this;
9902          }
9903    
9904          // repeated int32 enum_entry = 12 [packed = true];
9905          private java.util.List<java.lang.Integer> enumEntry_ = java.util.Collections.emptyList();
9906          private void ensureEnumEntryIsMutable() {
9907            if (!((bitField0_ & 0x00000080) == 0x00000080)) {
9908              enumEntry_ = new java.util.ArrayList<java.lang.Integer>(enumEntry_);
9909              bitField0_ |= 0x00000080;
9910             }
9911          }
9912          /**
9913           * <code>repeated int32 enum_entry = 12 [packed = true];</code>
9914           */
9915          public java.util.List<java.lang.Integer>
9916              getEnumEntryList() {
9917            return java.util.Collections.unmodifiableList(enumEntry_);
9918          }
9919          /**
9920           * <code>repeated int32 enum_entry = 12 [packed = true];</code>
9921           */
9922          public int getEnumEntryCount() {
9923            return enumEntry_.size();
9924          }
9925          /**
9926           * <code>repeated int32 enum_entry = 12 [packed = true];</code>
9927           */
9928          public int getEnumEntry(int index) {
9929            return enumEntry_.get(index);
9930          }
9931          /**
9932           * <code>repeated int32 enum_entry = 12 [packed = true];</code>
9933           */
9934          public Builder setEnumEntry(
9935              int index, int value) {
9936            ensureEnumEntryIsMutable();
9937            enumEntry_.set(index, value);
9938            
9939            return this;
9940          }
9941          /**
9942           * <code>repeated int32 enum_entry = 12 [packed = true];</code>
9943           */
9944          public Builder addEnumEntry(int value) {
9945            ensureEnumEntryIsMutable();
9946            enumEntry_.add(value);
9947            
9948            return this;
9949          }
9950          /**
9951           * <code>repeated int32 enum_entry = 12 [packed = true];</code>
9952           */
9953          public Builder addAllEnumEntry(
9954              java.lang.Iterable<? extends java.lang.Integer> values) {
9955            ensureEnumEntryIsMutable();
9956            super.addAll(values, enumEntry_);
9957            
9958            return this;
9959          }
9960          /**
9961           * <code>repeated int32 enum_entry = 12 [packed = true];</code>
9962           */
9963          public Builder clearEnumEntry() {
9964            enumEntry_ = java.util.Collections.emptyList();
9965            bitField0_ = (bitField0_ & ~0x00000080);
9966            
9967            return this;
9968          }
9969    
9970          // optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;
9971          private org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor primaryConstructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
9972          /**
9973           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
9974           *
9975           * <pre>
9976           * This field is present if and only if the class has a primary constructor
9977           * </pre>
9978           */
9979          public boolean hasPrimaryConstructor() {
9980            return ((bitField0_ & 0x00000100) == 0x00000100);
9981          }
9982          /**
9983           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
9984           *
9985           * <pre>
9986           * This field is present if and only if the class has a primary constructor
9987           * </pre>
9988           */
9989          public org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor getPrimaryConstructor() {
9990            return primaryConstructor_;
9991          }
9992          /**
9993           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
9994           *
9995           * <pre>
9996           * This field is present if and only if the class has a primary constructor
9997           * </pre>
9998           */
9999          public Builder setPrimaryConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor value) {
10000            if (value == null) {
10001              throw new NullPointerException();
10002            }
10003            primaryConstructor_ = value;
10004    
10005            bitField0_ |= 0x00000100;
10006            return this;
10007          }
10008          /**
10009           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
10010           *
10011           * <pre>
10012           * This field is present if and only if the class has a primary constructor
10013           * </pre>
10014           */
10015          public Builder setPrimaryConstructor(
10016              org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.Builder builderForValue) {
10017            primaryConstructor_ = builderForValue.build();
10018    
10019            bitField0_ |= 0x00000100;
10020            return this;
10021          }
10022          /**
10023           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
10024           *
10025           * <pre>
10026           * This field is present if and only if the class has a primary constructor
10027           * </pre>
10028           */
10029          public Builder mergePrimaryConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor value) {
10030            if (((bitField0_ & 0x00000100) == 0x00000100) &&
10031                primaryConstructor_ != org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance()) {
10032              primaryConstructor_ =
10033                org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.newBuilder(primaryConstructor_).mergeFrom(value).buildPartial();
10034            } else {
10035              primaryConstructor_ = value;
10036            }
10037    
10038            bitField0_ |= 0x00000100;
10039            return this;
10040          }
10041          /**
10042           * <code>optional .org.jetbrains.kotlin.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
10043           *
10044           * <pre>
10045           * This field is present if and only if the class has a primary constructor
10046           * </pre>
10047           */
10048          public Builder clearPrimaryConstructor() {
10049            primaryConstructor_ = org.jetbrains.kotlin.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
10050    
10051            bitField0_ = (bitField0_ & ~0x00000100);
10052            return this;
10053          }
10054    
10055          // repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;
10056          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> secondaryConstructor_ =
10057            java.util.Collections.emptyList();
10058          private void ensureSecondaryConstructorIsMutable() {
10059            if (!((bitField0_ & 0x00000200) == 0x00000200)) {
10060              secondaryConstructor_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>(secondaryConstructor_);
10061              bitField0_ |= 0x00000200;
10062             }
10063          }
10064    
10065          /**
10066           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
10067           */
10068          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getSecondaryConstructorList() {
10069            return java.util.Collections.unmodifiableList(secondaryConstructor_);
10070          }
10071          /**
10072           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
10073           */
10074          public int getSecondaryConstructorCount() {
10075            return secondaryConstructor_.size();
10076          }
10077          /**
10078           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
10079           */
10080          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getSecondaryConstructor(int index) {
10081            return secondaryConstructor_.get(index);
10082          }
10083          /**
10084           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
10085           */
10086          public Builder setSecondaryConstructor(
10087              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
10088            if (value == null) {
10089              throw new NullPointerException();
10090            }
10091            ensureSecondaryConstructorIsMutable();
10092            secondaryConstructor_.set(index, value);
10093    
10094            return this;
10095          }
10096          /**
10097           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
10098           */
10099          public Builder setSecondaryConstructor(
10100              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
10101            ensureSecondaryConstructorIsMutable();
10102            secondaryConstructor_.set(index, builderForValue.build());
10103    
10104            return this;
10105          }
10106          /**
10107           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
10108           */
10109          public Builder addSecondaryConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
10110            if (value == null) {
10111              throw new NullPointerException();
10112            }
10113            ensureSecondaryConstructorIsMutable();
10114            secondaryConstructor_.add(value);
10115    
10116            return this;
10117          }
10118          /**
10119           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
10120           */
10121          public Builder addSecondaryConstructor(
10122              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
10123            if (value == null) {
10124              throw new NullPointerException();
10125            }
10126            ensureSecondaryConstructorIsMutable();
10127            secondaryConstructor_.add(index, value);
10128    
10129            return this;
10130          }
10131          /**
10132           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
10133           */
10134          public Builder addSecondaryConstructor(
10135              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
10136            ensureSecondaryConstructorIsMutable();
10137            secondaryConstructor_.add(builderForValue.build());
10138    
10139            return this;
10140          }
10141          /**
10142           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
10143           */
10144          public Builder addSecondaryConstructor(
10145              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
10146            ensureSecondaryConstructorIsMutable();
10147            secondaryConstructor_.add(index, builderForValue.build());
10148    
10149            return this;
10150          }
10151          /**
10152           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
10153           */
10154          public Builder addAllSecondaryConstructor(
10155              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Callable> values) {
10156            ensureSecondaryConstructorIsMutable();
10157            super.addAll(values, secondaryConstructor_);
10158    
10159            return this;
10160          }
10161          /**
10162           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
10163           */
10164          public Builder clearSecondaryConstructor() {
10165            secondaryConstructor_ = java.util.Collections.emptyList();
10166            bitField0_ = (bitField0_ & ~0x00000200);
10167    
10168            return this;
10169          }
10170          /**
10171           * <code>repeated .org.jetbrains.kotlin.serialization.Callable secondary_constructor = 14;</code>
10172           */
10173          public Builder removeSecondaryConstructor(int index) {
10174            ensureSecondaryConstructorIsMutable();
10175            secondaryConstructor_.remove(index);
10176    
10177            return this;
10178          }
10179    
10180          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Class)
10181        }
10182    
10183        static {
10184          defaultInstance = new Class(true);
10185          defaultInstance.initFields();
10186        }
10187    
10188        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Class)
10189      }
10190    
10191      public interface PackageOrBuilder extends 
10192           com.google.protobuf.GeneratedMessageLite.
10193                ExtendableMessageOrBuilder<Package> {
10194    
10195        // repeated .org.jetbrains.kotlin.serialization.Callable member = 1;
10196        /**
10197         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10198         */
10199        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> 
10200            getMemberList();
10201        /**
10202         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10203         */
10204        org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index);
10205        /**
10206         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10207         */
10208        int getMemberCount();
10209      }
10210      /**
10211       * Protobuf type {@code org.jetbrains.kotlin.serialization.Package}
10212       */
10213      public static final class Package extends
10214          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
10215            Package> implements PackageOrBuilder {
10216        // Use Package.newBuilder() to construct.
10217        private Package(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Package, ?> builder) {
10218          super(builder);
10219    
10220        }
10221        private Package(boolean noInit) {}
10222    
10223        private static final Package defaultInstance;
10224        public static Package getDefaultInstance() {
10225          return defaultInstance;
10226        }
10227    
10228        public Package getDefaultInstanceForType() {
10229          return defaultInstance;
10230        }
10231    
10232        private Package(
10233            com.google.protobuf.CodedInputStream input,
10234            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10235            throws com.google.protobuf.InvalidProtocolBufferException {
10236          initFields();
10237          int mutable_bitField0_ = 0;
10238          try {
10239            boolean done = false;
10240            while (!done) {
10241              int tag = input.readTag();
10242              switch (tag) {
10243                case 0:
10244                  done = true;
10245                  break;
10246                default: {
10247                  if (!parseUnknownField(input,
10248                                         extensionRegistry, tag)) {
10249                    done = true;
10250                  }
10251                  break;
10252                }
10253                case 10: {
10254                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
10255                    member_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>();
10256                    mutable_bitField0_ |= 0x00000001;
10257                  }
10258                  member_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.PARSER, extensionRegistry));
10259                  break;
10260                }
10261              }
10262            }
10263          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10264            throw e.setUnfinishedMessage(this);
10265          } catch (java.io.IOException e) {
10266            throw new com.google.protobuf.InvalidProtocolBufferException(
10267                e.getMessage()).setUnfinishedMessage(this);
10268          } finally {
10269            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
10270              member_ = java.util.Collections.unmodifiableList(member_);
10271            }
10272            makeExtensionsImmutable();
10273          }
10274        }
10275        public static com.google.protobuf.Parser<Package> PARSER =
10276            new com.google.protobuf.AbstractParser<Package>() {
10277          public Package parsePartialFrom(
10278              com.google.protobuf.CodedInputStream input,
10279              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10280              throws com.google.protobuf.InvalidProtocolBufferException {
10281            return new Package(input, extensionRegistry);
10282          }
10283        };
10284    
10285        @java.lang.Override
10286        public com.google.protobuf.Parser<Package> getParserForType() {
10287          return PARSER;
10288        }
10289    
10290        // repeated .org.jetbrains.kotlin.serialization.Callable member = 1;
10291        public static final int MEMBER_FIELD_NUMBER = 1;
10292        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> member_;
10293        /**
10294         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10295         */
10296        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getMemberList() {
10297          return member_;
10298        }
10299        /**
10300         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10301         */
10302        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder> 
10303            getMemberOrBuilderList() {
10304          return member_;
10305        }
10306        /**
10307         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10308         */
10309        public int getMemberCount() {
10310          return member_.size();
10311        }
10312        /**
10313         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10314         */
10315        public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index) {
10316          return member_.get(index);
10317        }
10318        /**
10319         * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10320         */
10321        public org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder getMemberOrBuilder(
10322            int index) {
10323          return member_.get(index);
10324        }
10325    
10326        private void initFields() {
10327          member_ = java.util.Collections.emptyList();
10328        }
10329        private byte memoizedIsInitialized = -1;
10330        public final boolean isInitialized() {
10331          byte isInitialized = memoizedIsInitialized;
10332          if (isInitialized != -1) return isInitialized == 1;
10333    
10334          for (int i = 0; i < getMemberCount(); i++) {
10335            if (!getMember(i).isInitialized()) {
10336              memoizedIsInitialized = 0;
10337              return false;
10338            }
10339          }
10340          if (!extensionsAreInitialized()) {
10341            memoizedIsInitialized = 0;
10342            return false;
10343          }
10344          memoizedIsInitialized = 1;
10345          return true;
10346        }
10347    
10348        public void writeTo(com.google.protobuf.CodedOutputStream output)
10349                            throws java.io.IOException {
10350          getSerializedSize();
10351          com.google.protobuf.GeneratedMessageLite
10352            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Package>.ExtensionWriter extensionWriter =
10353              newExtensionWriter();
10354          for (int i = 0; i < member_.size(); i++) {
10355            output.writeMessage(1, member_.get(i));
10356          }
10357          extensionWriter.writeUntil(200, output);
10358        }
10359    
10360        private int memoizedSerializedSize = -1;
10361        public int getSerializedSize() {
10362          int size = memoizedSerializedSize;
10363          if (size != -1) return size;
10364    
10365          size = 0;
10366          for (int i = 0; i < member_.size(); i++) {
10367            size += com.google.protobuf.CodedOutputStream
10368              .computeMessageSize(1, member_.get(i));
10369          }
10370          size += extensionsSerializedSize();
10371          memoizedSerializedSize = size;
10372          return size;
10373        }
10374    
10375        private static final long serialVersionUID = 0L;
10376        @java.lang.Override
10377        protected java.lang.Object writeReplace()
10378            throws java.io.ObjectStreamException {
10379          return super.writeReplace();
10380        }
10381    
10382        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10383            com.google.protobuf.ByteString data)
10384            throws com.google.protobuf.InvalidProtocolBufferException {
10385          return PARSER.parseFrom(data);
10386        }
10387        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10388            com.google.protobuf.ByteString data,
10389            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10390            throws com.google.protobuf.InvalidProtocolBufferException {
10391          return PARSER.parseFrom(data, extensionRegistry);
10392        }
10393        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(byte[] data)
10394            throws com.google.protobuf.InvalidProtocolBufferException {
10395          return PARSER.parseFrom(data);
10396        }
10397        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10398            byte[] data,
10399            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10400            throws com.google.protobuf.InvalidProtocolBufferException {
10401          return PARSER.parseFrom(data, extensionRegistry);
10402        }
10403        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(java.io.InputStream input)
10404            throws java.io.IOException {
10405          return PARSER.parseFrom(input);
10406        }
10407        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10408            java.io.InputStream input,
10409            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10410            throws java.io.IOException {
10411          return PARSER.parseFrom(input, extensionRegistry);
10412        }
10413        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseDelimitedFrom(java.io.InputStream input)
10414            throws java.io.IOException {
10415          return PARSER.parseDelimitedFrom(input);
10416        }
10417        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseDelimitedFrom(
10418            java.io.InputStream input,
10419            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10420            throws java.io.IOException {
10421          return PARSER.parseDelimitedFrom(input, extensionRegistry);
10422        }
10423        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10424            com.google.protobuf.CodedInputStream input)
10425            throws java.io.IOException {
10426          return PARSER.parseFrom(input);
10427        }
10428        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10429            com.google.protobuf.CodedInputStream input,
10430            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10431            throws java.io.IOException {
10432          return PARSER.parseFrom(input, extensionRegistry);
10433        }
10434    
10435        public static Builder newBuilder() { return Builder.create(); }
10436        public Builder newBuilderForType() { return newBuilder(); }
10437        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Package prototype) {
10438          return newBuilder().mergeFrom(prototype);
10439        }
10440        public Builder toBuilder() { return newBuilder(this); }
10441    
10442        /**
10443         * Protobuf type {@code org.jetbrains.kotlin.serialization.Package}
10444         */
10445        public static final class Builder extends
10446            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
10447              org.jetbrains.kotlin.serialization.ProtoBuf.Package, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.PackageOrBuilder {
10448          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Package.newBuilder()
10449          private Builder() {
10450            maybeForceBuilderInitialization();
10451          }
10452    
10453          private void maybeForceBuilderInitialization() {
10454          }
10455          private static Builder create() {
10456            return new Builder();
10457          }
10458    
10459          public Builder clear() {
10460            super.clear();
10461            member_ = java.util.Collections.emptyList();
10462            bitField0_ = (bitField0_ & ~0x00000001);
10463            return this;
10464          }
10465    
10466          public Builder clone() {
10467            return create().mergeFrom(buildPartial());
10468          }
10469    
10470          public org.jetbrains.kotlin.serialization.ProtoBuf.Package getDefaultInstanceForType() {
10471            return org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance();
10472          }
10473    
10474          public org.jetbrains.kotlin.serialization.ProtoBuf.Package build() {
10475            org.jetbrains.kotlin.serialization.ProtoBuf.Package result = buildPartial();
10476            if (!result.isInitialized()) {
10477              throw newUninitializedMessageException(result);
10478            }
10479            return result;
10480          }
10481    
10482          public org.jetbrains.kotlin.serialization.ProtoBuf.Package buildPartial() {
10483            org.jetbrains.kotlin.serialization.ProtoBuf.Package result = new org.jetbrains.kotlin.serialization.ProtoBuf.Package(this);
10484            int from_bitField0_ = bitField0_;
10485            if (((bitField0_ & 0x00000001) == 0x00000001)) {
10486              member_ = java.util.Collections.unmodifiableList(member_);
10487              bitField0_ = (bitField0_ & ~0x00000001);
10488            }
10489            result.member_ = member_;
10490            return result;
10491          }
10492    
10493          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Package other) {
10494            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance()) return this;
10495            if (!other.member_.isEmpty()) {
10496              if (member_.isEmpty()) {
10497                member_ = other.member_;
10498                bitField0_ = (bitField0_ & ~0x00000001);
10499              } else {
10500                ensureMemberIsMutable();
10501                member_.addAll(other.member_);
10502              }
10503              
10504            }
10505            this.mergeExtensionFields(other);
10506            return this;
10507          }
10508    
10509          public final boolean isInitialized() {
10510            for (int i = 0; i < getMemberCount(); i++) {
10511              if (!getMember(i).isInitialized()) {
10512                
10513                return false;
10514              }
10515            }
10516            if (!extensionsAreInitialized()) {
10517              
10518              return false;
10519            }
10520            return true;
10521          }
10522    
10523          public Builder mergeFrom(
10524              com.google.protobuf.CodedInputStream input,
10525              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10526              throws java.io.IOException {
10527            org.jetbrains.kotlin.serialization.ProtoBuf.Package parsedMessage = null;
10528            try {
10529              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
10530            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10531              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Package) e.getUnfinishedMessage();
10532              throw e;
10533            } finally {
10534              if (parsedMessage != null) {
10535                mergeFrom(parsedMessage);
10536              }
10537            }
10538            return this;
10539          }
10540          private int bitField0_;
10541    
10542          // repeated .org.jetbrains.kotlin.serialization.Callable member = 1;
10543          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> member_ =
10544            java.util.Collections.emptyList();
10545          private void ensureMemberIsMutable() {
10546            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
10547              member_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>(member_);
10548              bitField0_ |= 0x00000001;
10549             }
10550          }
10551    
10552          /**
10553           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10554           */
10555          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable> getMemberList() {
10556            return java.util.Collections.unmodifiableList(member_);
10557          }
10558          /**
10559           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10560           */
10561          public int getMemberCount() {
10562            return member_.size();
10563          }
10564          /**
10565           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10566           */
10567          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getMember(int index) {
10568            return member_.get(index);
10569          }
10570          /**
10571           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10572           */
10573          public Builder setMember(
10574              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
10575            if (value == null) {
10576              throw new NullPointerException();
10577            }
10578            ensureMemberIsMutable();
10579            member_.set(index, value);
10580    
10581            return this;
10582          }
10583          /**
10584           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10585           */
10586          public Builder setMember(
10587              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
10588            ensureMemberIsMutable();
10589            member_.set(index, builderForValue.build());
10590    
10591            return this;
10592          }
10593          /**
10594           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10595           */
10596          public Builder addMember(org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
10597            if (value == null) {
10598              throw new NullPointerException();
10599            }
10600            ensureMemberIsMutable();
10601            member_.add(value);
10602    
10603            return this;
10604          }
10605          /**
10606           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10607           */
10608          public Builder addMember(
10609              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable value) {
10610            if (value == null) {
10611              throw new NullPointerException();
10612            }
10613            ensureMemberIsMutable();
10614            member_.add(index, value);
10615    
10616            return this;
10617          }
10618          /**
10619           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10620           */
10621          public Builder addMember(
10622              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
10623            ensureMemberIsMutable();
10624            member_.add(builderForValue.build());
10625    
10626            return this;
10627          }
10628          /**
10629           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10630           */
10631          public Builder addMember(
10632              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.Builder builderForValue) {
10633            ensureMemberIsMutable();
10634            member_.add(index, builderForValue.build());
10635    
10636            return this;
10637          }
10638          /**
10639           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10640           */
10641          public Builder addAllMember(
10642              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Callable> values) {
10643            ensureMemberIsMutable();
10644            super.addAll(values, member_);
10645    
10646            return this;
10647          }
10648          /**
10649           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10650           */
10651          public Builder clearMember() {
10652            member_ = java.util.Collections.emptyList();
10653            bitField0_ = (bitField0_ & ~0x00000001);
10654    
10655            return this;
10656          }
10657          /**
10658           * <code>repeated .org.jetbrains.kotlin.serialization.Callable member = 1;</code>
10659           */
10660          public Builder removeMember(int index) {
10661            ensureMemberIsMutable();
10662            member_.remove(index);
10663    
10664            return this;
10665          }
10666    
10667          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Package)
10668        }
10669    
10670        static {
10671          defaultInstance = new Package(true);
10672          defaultInstance.initFields();
10673        }
10674    
10675        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Package)
10676      }
10677    
10678      public interface CallableOrBuilder extends 
10679           com.google.protobuf.GeneratedMessageLite.
10680                ExtendableMessageOrBuilder<Callable> {
10681    
10682        // optional int32 flags = 1;
10683        /**
10684         * <code>optional int32 flags = 1;</code>
10685         *
10686         * <pre>
10687         *
10688         *Visibility
10689         *Modality
10690         *has_annotations
10691         *CallableKind
10692         *MemberKind
10693         *hasGetter
10694         *hasSetter
10695         *hasConstant
10696         * </pre>
10697         */
10698        boolean hasFlags();
10699        /**
10700         * <code>optional int32 flags = 1;</code>
10701         *
10702         * <pre>
10703         *
10704         *Visibility
10705         *Modality
10706         *has_annotations
10707         *CallableKind
10708         *MemberKind
10709         *hasGetter
10710         *hasSetter
10711         *hasConstant
10712         * </pre>
10713         */
10714        int getFlags();
10715    
10716        // optional int32 getter_flags = 9;
10717        /**
10718         * <code>optional int32 getter_flags = 9;</code>
10719         *
10720         * <pre>
10721         *
10722         *isNotDefault
10723         *Visibility
10724         *Modality
10725         *has_annotations
10726         * </pre>
10727         */
10728        boolean hasGetterFlags();
10729        /**
10730         * <code>optional int32 getter_flags = 9;</code>
10731         *
10732         * <pre>
10733         *
10734         *isNotDefault
10735         *Visibility
10736         *Modality
10737         *has_annotations
10738         * </pre>
10739         */
10740        int getGetterFlags();
10741    
10742        // optional int32 setter_flags = 10;
10743        /**
10744         * <code>optional int32 setter_flags = 10;</code>
10745         */
10746        boolean hasSetterFlags();
10747        /**
10748         * <code>optional int32 setter_flags = 10;</code>
10749         */
10750        int getSetterFlags();
10751    
10752        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
10753        /**
10754         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
10755         */
10756        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
10757            getTypeParameterList();
10758        /**
10759         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
10760         */
10761        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
10762        /**
10763         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
10764         */
10765        int getTypeParameterCount();
10766    
10767        // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
10768        /**
10769         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
10770         */
10771        boolean hasReceiverType();
10772        /**
10773         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
10774         */
10775        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType();
10776    
10777        // required int32 name = 6;
10778        /**
10779         * <code>required int32 name = 6;</code>
10780         *
10781         * <pre>
10782         * Id in the StringTable
10783         * </pre>
10784         */
10785        boolean hasName();
10786        /**
10787         * <code>required int32 name = 6;</code>
10788         *
10789         * <pre>
10790         * Id in the StringTable
10791         * </pre>
10792         */
10793        int getName();
10794    
10795        // repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;
10796        /**
10797         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
10798         *
10799         * <pre>
10800         * Value parameters for functions and constructors, or setter value parameter for properties
10801         * </pre>
10802         */
10803        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> 
10804            getValueParameterList();
10805        /**
10806         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
10807         *
10808         * <pre>
10809         * Value parameters for functions and constructors, or setter value parameter for properties
10810         * </pre>
10811         */
10812        org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index);
10813        /**
10814         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
10815         *
10816         * <pre>
10817         * Value parameters for functions and constructors, or setter value parameter for properties
10818         * </pre>
10819         */
10820        int getValueParameterCount();
10821    
10822        // required .org.jetbrains.kotlin.serialization.Type return_type = 8;
10823        /**
10824         * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
10825         */
10826        boolean hasReturnType();
10827        /**
10828         * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
10829         */
10830        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType();
10831      }
10832      /**
10833       * Protobuf type {@code org.jetbrains.kotlin.serialization.Callable}
10834       */
10835      public static final class Callable extends
10836          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
10837            Callable> implements CallableOrBuilder {
10838        // Use Callable.newBuilder() to construct.
10839        private Callable(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Callable, ?> builder) {
10840          super(builder);
10841    
10842        }
10843        private Callable(boolean noInit) {}
10844    
10845        private static final Callable defaultInstance;
10846        public static Callable getDefaultInstance() {
10847          return defaultInstance;
10848        }
10849    
10850        public Callable getDefaultInstanceForType() {
10851          return defaultInstance;
10852        }
10853    
10854        private Callable(
10855            com.google.protobuf.CodedInputStream input,
10856            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10857            throws com.google.protobuf.InvalidProtocolBufferException {
10858          initFields();
10859          int mutable_bitField0_ = 0;
10860          try {
10861            boolean done = false;
10862            while (!done) {
10863              int tag = input.readTag();
10864              switch (tag) {
10865                case 0:
10866                  done = true;
10867                  break;
10868                default: {
10869                  if (!parseUnknownField(input,
10870                                         extensionRegistry, tag)) {
10871                    done = true;
10872                  }
10873                  break;
10874                }
10875                case 8: {
10876                  bitField0_ |= 0x00000001;
10877                  flags_ = input.readInt32();
10878                  break;
10879                }
10880                case 34: {
10881                  if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
10882                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
10883                    mutable_bitField0_ |= 0x00000008;
10884                  }
10885                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
10886                  break;
10887                }
10888                case 42: {
10889                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
10890                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
10891                    subBuilder = receiverType_.toBuilder();
10892                  }
10893                  receiverType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
10894                  if (subBuilder != null) {
10895                    subBuilder.mergeFrom(receiverType_);
10896                    receiverType_ = subBuilder.buildPartial();
10897                  }
10898                  bitField0_ |= 0x00000008;
10899                  break;
10900                }
10901                case 48: {
10902                  bitField0_ |= 0x00000010;
10903                  name_ = input.readInt32();
10904                  break;
10905                }
10906                case 58: {
10907                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
10908                    valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter>();
10909                    mutable_bitField0_ |= 0x00000040;
10910                  }
10911                  valueParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.PARSER, extensionRegistry));
10912                  break;
10913                }
10914                case 66: {
10915                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
10916                  if (((bitField0_ & 0x00000020) == 0x00000020)) {
10917                    subBuilder = returnType_.toBuilder();
10918                  }
10919                  returnType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
10920                  if (subBuilder != null) {
10921                    subBuilder.mergeFrom(returnType_);
10922                    returnType_ = subBuilder.buildPartial();
10923                  }
10924                  bitField0_ |= 0x00000020;
10925                  break;
10926                }
10927                case 72: {
10928                  bitField0_ |= 0x00000002;
10929                  getterFlags_ = input.readInt32();
10930                  break;
10931                }
10932                case 80: {
10933                  bitField0_ |= 0x00000004;
10934                  setterFlags_ = input.readInt32();
10935                  break;
10936                }
10937              }
10938            }
10939          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10940            throw e.setUnfinishedMessage(this);
10941          } catch (java.io.IOException e) {
10942            throw new com.google.protobuf.InvalidProtocolBufferException(
10943                e.getMessage()).setUnfinishedMessage(this);
10944          } finally {
10945            if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
10946              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
10947            }
10948            if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
10949              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
10950            }
10951            makeExtensionsImmutable();
10952          }
10953        }
10954        public static com.google.protobuf.Parser<Callable> PARSER =
10955            new com.google.protobuf.AbstractParser<Callable>() {
10956          public Callable parsePartialFrom(
10957              com.google.protobuf.CodedInputStream input,
10958              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10959              throws com.google.protobuf.InvalidProtocolBufferException {
10960            return new Callable(input, extensionRegistry);
10961          }
10962        };
10963    
10964        @java.lang.Override
10965        public com.google.protobuf.Parser<Callable> getParserForType() {
10966          return PARSER;
10967        }
10968    
10969        /**
10970         * Protobuf enum {@code org.jetbrains.kotlin.serialization.Callable.MemberKind}
10971         */
10972        public enum MemberKind
10973            implements com.google.protobuf.Internal.EnumLite {
10974          /**
10975           * <code>DECLARATION = 0;</code>
10976           *
10977           * <pre>
10978           * 2 bits
10979           * </pre>
10980           */
10981          DECLARATION(0, 0),
10982          /**
10983           * <code>FAKE_OVERRIDE = 1;</code>
10984           */
10985          FAKE_OVERRIDE(1, 1),
10986          /**
10987           * <code>DELEGATION = 2;</code>
10988           */
10989          DELEGATION(2, 2),
10990          /**
10991           * <code>SYNTHESIZED = 3;</code>
10992           */
10993          SYNTHESIZED(3, 3),
10994          ;
10995    
10996          /**
10997           * <code>DECLARATION = 0;</code>
10998           *
10999           * <pre>
11000           * 2 bits
11001           * </pre>
11002           */
11003          public static final int DECLARATION_VALUE = 0;
11004          /**
11005           * <code>FAKE_OVERRIDE = 1;</code>
11006           */
11007          public static final int FAKE_OVERRIDE_VALUE = 1;
11008          /**
11009           * <code>DELEGATION = 2;</code>
11010           */
11011          public static final int DELEGATION_VALUE = 2;
11012          /**
11013           * <code>SYNTHESIZED = 3;</code>
11014           */
11015          public static final int SYNTHESIZED_VALUE = 3;
11016    
11017    
11018          public final int getNumber() { return value; }
11019    
11020          public static MemberKind valueOf(int value) {
11021            switch (value) {
11022              case 0: return DECLARATION;
11023              case 1: return FAKE_OVERRIDE;
11024              case 2: return DELEGATION;
11025              case 3: return SYNTHESIZED;
11026              default: return null;
11027            }
11028          }
11029    
11030          public static com.google.protobuf.Internal.EnumLiteMap<MemberKind>
11031              internalGetValueMap() {
11032            return internalValueMap;
11033          }
11034          private static com.google.protobuf.Internal.EnumLiteMap<MemberKind>
11035              internalValueMap =
11036                new com.google.protobuf.Internal.EnumLiteMap<MemberKind>() {
11037                  public MemberKind findValueByNumber(int number) {
11038                    return MemberKind.valueOf(number);
11039                  }
11040                };
11041    
11042          private final int value;
11043    
11044          private MemberKind(int index, int value) {
11045            this.value = value;
11046          }
11047    
11048          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Callable.MemberKind)
11049        }
11050    
11051        /**
11052         * Protobuf enum {@code org.jetbrains.kotlin.serialization.Callable.CallableKind}
11053         */
11054        public enum CallableKind
11055            implements com.google.protobuf.Internal.EnumLite {
11056          /**
11057           * <code>FUN = 0;</code>
11058           *
11059           * <pre>
11060           * 2 bits
11061           * </pre>
11062           */
11063          FUN(0, 0),
11064          /**
11065           * <code>VAL = 1;</code>
11066           */
11067          VAL(1, 1),
11068          /**
11069           * <code>VAR = 2;</code>
11070           */
11071          VAR(2, 2),
11072          /**
11073           * <code>CONSTRUCTOR = 3;</code>
11074           */
11075          CONSTRUCTOR(3, 3),
11076          ;
11077    
11078          /**
11079           * <code>FUN = 0;</code>
11080           *
11081           * <pre>
11082           * 2 bits
11083           * </pre>
11084           */
11085          public static final int FUN_VALUE = 0;
11086          /**
11087           * <code>VAL = 1;</code>
11088           */
11089          public static final int VAL_VALUE = 1;
11090          /**
11091           * <code>VAR = 2;</code>
11092           */
11093          public static final int VAR_VALUE = 2;
11094          /**
11095           * <code>CONSTRUCTOR = 3;</code>
11096           */
11097          public static final int CONSTRUCTOR_VALUE = 3;
11098    
11099    
11100          public final int getNumber() { return value; }
11101    
11102          public static CallableKind valueOf(int value) {
11103            switch (value) {
11104              case 0: return FUN;
11105              case 1: return VAL;
11106              case 2: return VAR;
11107              case 3: return CONSTRUCTOR;
11108              default: return null;
11109            }
11110          }
11111    
11112          public static com.google.protobuf.Internal.EnumLiteMap<CallableKind>
11113              internalGetValueMap() {
11114            return internalValueMap;
11115          }
11116          private static com.google.protobuf.Internal.EnumLiteMap<CallableKind>
11117              internalValueMap =
11118                new com.google.protobuf.Internal.EnumLiteMap<CallableKind>() {
11119                  public CallableKind findValueByNumber(int number) {
11120                    return CallableKind.valueOf(number);
11121                  }
11122                };
11123    
11124          private final int value;
11125    
11126          private CallableKind(int index, int value) {
11127            this.value = value;
11128          }
11129    
11130          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Callable.CallableKind)
11131        }
11132    
11133        public interface ValueParameterOrBuilder extends 
11134             com.google.protobuf.GeneratedMessageLite.
11135                  ExtendableMessageOrBuilder<ValueParameter> {
11136    
11137          // optional int32 flags = 1;
11138          /**
11139           * <code>optional int32 flags = 1;</code>
11140           *
11141           * <pre>
11142           *
11143           *declaresDefault
11144           *has_annotations
11145           * </pre>
11146           */
11147          boolean hasFlags();
11148          /**
11149           * <code>optional int32 flags = 1;</code>
11150           *
11151           * <pre>
11152           *
11153           *declaresDefault
11154           *has_annotations
11155           * </pre>
11156           */
11157          int getFlags();
11158    
11159          // required int32 name = 2;
11160          /**
11161           * <code>required int32 name = 2;</code>
11162           *
11163           * <pre>
11164           * Id in the StringTable
11165           * </pre>
11166           */
11167          boolean hasName();
11168          /**
11169           * <code>required int32 name = 2;</code>
11170           *
11171           * <pre>
11172           * Id in the StringTable
11173           * </pre>
11174           */
11175          int getName();
11176    
11177          // required .org.jetbrains.kotlin.serialization.Type type = 3;
11178          /**
11179           * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11180           */
11181          boolean hasType();
11182          /**
11183           * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11184           */
11185          org.jetbrains.kotlin.serialization.ProtoBuf.Type getType();
11186    
11187          // optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;
11188          /**
11189           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11190           */
11191          boolean hasVarargElementType();
11192          /**
11193           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11194           */
11195          org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType();
11196        }
11197        /**
11198         * Protobuf type {@code org.jetbrains.kotlin.serialization.Callable.ValueParameter}
11199         */
11200        public static final class ValueParameter extends
11201            com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
11202              ValueParameter> implements ValueParameterOrBuilder {
11203          // Use ValueParameter.newBuilder() to construct.
11204          private ValueParameter(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter, ?> builder) {
11205            super(builder);
11206    
11207          }
11208          private ValueParameter(boolean noInit) {}
11209    
11210          private static final ValueParameter defaultInstance;
11211          public static ValueParameter getDefaultInstance() {
11212            return defaultInstance;
11213          }
11214    
11215          public ValueParameter getDefaultInstanceForType() {
11216            return defaultInstance;
11217          }
11218    
11219          private ValueParameter(
11220              com.google.protobuf.CodedInputStream input,
11221              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11222              throws com.google.protobuf.InvalidProtocolBufferException {
11223            initFields();
11224            int mutable_bitField0_ = 0;
11225            try {
11226              boolean done = false;
11227              while (!done) {
11228                int tag = input.readTag();
11229                switch (tag) {
11230                  case 0:
11231                    done = true;
11232                    break;
11233                  default: {
11234                    if (!parseUnknownField(input,
11235                                           extensionRegistry, tag)) {
11236                      done = true;
11237                    }
11238                    break;
11239                  }
11240                  case 8: {
11241                    bitField0_ |= 0x00000001;
11242                    flags_ = input.readInt32();
11243                    break;
11244                  }
11245                  case 16: {
11246                    bitField0_ |= 0x00000002;
11247                    name_ = input.readInt32();
11248                    break;
11249                  }
11250                  case 26: {
11251                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
11252                    if (((bitField0_ & 0x00000004) == 0x00000004)) {
11253                      subBuilder = type_.toBuilder();
11254                    }
11255                    type_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
11256                    if (subBuilder != null) {
11257                      subBuilder.mergeFrom(type_);
11258                      type_ = subBuilder.buildPartial();
11259                    }
11260                    bitField0_ |= 0x00000004;
11261                    break;
11262                  }
11263                  case 34: {
11264                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
11265                    if (((bitField0_ & 0x00000008) == 0x00000008)) {
11266                      subBuilder = varargElementType_.toBuilder();
11267                    }
11268                    varargElementType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
11269                    if (subBuilder != null) {
11270                      subBuilder.mergeFrom(varargElementType_);
11271                      varargElementType_ = subBuilder.buildPartial();
11272                    }
11273                    bitField0_ |= 0x00000008;
11274                    break;
11275                  }
11276                }
11277              }
11278            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11279              throw e.setUnfinishedMessage(this);
11280            } catch (java.io.IOException e) {
11281              throw new com.google.protobuf.InvalidProtocolBufferException(
11282                  e.getMessage()).setUnfinishedMessage(this);
11283            } finally {
11284              makeExtensionsImmutable();
11285            }
11286          }
11287          public static com.google.protobuf.Parser<ValueParameter> PARSER =
11288              new com.google.protobuf.AbstractParser<ValueParameter>() {
11289            public ValueParameter parsePartialFrom(
11290                com.google.protobuf.CodedInputStream input,
11291                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11292                throws com.google.protobuf.InvalidProtocolBufferException {
11293              return new ValueParameter(input, extensionRegistry);
11294            }
11295          };
11296    
11297          @java.lang.Override
11298          public com.google.protobuf.Parser<ValueParameter> getParserForType() {
11299            return PARSER;
11300          }
11301    
11302          private int bitField0_;
11303          // optional int32 flags = 1;
11304          public static final int FLAGS_FIELD_NUMBER = 1;
11305          private int flags_;
11306          /**
11307           * <code>optional int32 flags = 1;</code>
11308           *
11309           * <pre>
11310           *
11311           *declaresDefault
11312           *has_annotations
11313           * </pre>
11314           */
11315          public boolean hasFlags() {
11316            return ((bitField0_ & 0x00000001) == 0x00000001);
11317          }
11318          /**
11319           * <code>optional int32 flags = 1;</code>
11320           *
11321           * <pre>
11322           *
11323           *declaresDefault
11324           *has_annotations
11325           * </pre>
11326           */
11327          public int getFlags() {
11328            return flags_;
11329          }
11330    
11331          // required int32 name = 2;
11332          public static final int NAME_FIELD_NUMBER = 2;
11333          private int name_;
11334          /**
11335           * <code>required int32 name = 2;</code>
11336           *
11337           * <pre>
11338           * Id in the StringTable
11339           * </pre>
11340           */
11341          public boolean hasName() {
11342            return ((bitField0_ & 0x00000002) == 0x00000002);
11343          }
11344          /**
11345           * <code>required int32 name = 2;</code>
11346           *
11347           * <pre>
11348           * Id in the StringTable
11349           * </pre>
11350           */
11351          public int getName() {
11352            return name_;
11353          }
11354    
11355          // required .org.jetbrains.kotlin.serialization.Type type = 3;
11356          public static final int TYPE_FIELD_NUMBER = 3;
11357          private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_;
11358          /**
11359           * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11360           */
11361          public boolean hasType() {
11362            return ((bitField0_ & 0x00000004) == 0x00000004);
11363          }
11364          /**
11365           * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11366           */
11367          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
11368            return type_;
11369          }
11370    
11371          // optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;
11372          public static final int VARARG_ELEMENT_TYPE_FIELD_NUMBER = 4;
11373          private org.jetbrains.kotlin.serialization.ProtoBuf.Type varargElementType_;
11374          /**
11375           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11376           */
11377          public boolean hasVarargElementType() {
11378            return ((bitField0_ & 0x00000008) == 0x00000008);
11379          }
11380          /**
11381           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11382           */
11383          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType() {
11384            return varargElementType_;
11385          }
11386    
11387          private void initFields() {
11388            flags_ = 0;
11389            name_ = 0;
11390            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11391            varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11392          }
11393          private byte memoizedIsInitialized = -1;
11394          public final boolean isInitialized() {
11395            byte isInitialized = memoizedIsInitialized;
11396            if (isInitialized != -1) return isInitialized == 1;
11397    
11398            if (!hasName()) {
11399              memoizedIsInitialized = 0;
11400              return false;
11401            }
11402            if (!hasType()) {
11403              memoizedIsInitialized = 0;
11404              return false;
11405            }
11406            if (!getType().isInitialized()) {
11407              memoizedIsInitialized = 0;
11408              return false;
11409            }
11410            if (hasVarargElementType()) {
11411              if (!getVarargElementType().isInitialized()) {
11412                memoizedIsInitialized = 0;
11413                return false;
11414              }
11415            }
11416            if (!extensionsAreInitialized()) {
11417              memoizedIsInitialized = 0;
11418              return false;
11419            }
11420            memoizedIsInitialized = 1;
11421            return true;
11422          }
11423    
11424          public void writeTo(com.google.protobuf.CodedOutputStream output)
11425                              throws java.io.IOException {
11426            getSerializedSize();
11427            com.google.protobuf.GeneratedMessageLite
11428              .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter>.ExtensionWriter extensionWriter =
11429                newExtensionWriter();
11430            if (((bitField0_ & 0x00000001) == 0x00000001)) {
11431              output.writeInt32(1, flags_);
11432            }
11433            if (((bitField0_ & 0x00000002) == 0x00000002)) {
11434              output.writeInt32(2, name_);
11435            }
11436            if (((bitField0_ & 0x00000004) == 0x00000004)) {
11437              output.writeMessage(3, type_);
11438            }
11439            if (((bitField0_ & 0x00000008) == 0x00000008)) {
11440              output.writeMessage(4, varargElementType_);
11441            }
11442            extensionWriter.writeUntil(200, output);
11443          }
11444    
11445          private int memoizedSerializedSize = -1;
11446          public int getSerializedSize() {
11447            int size = memoizedSerializedSize;
11448            if (size != -1) return size;
11449    
11450            size = 0;
11451            if (((bitField0_ & 0x00000001) == 0x00000001)) {
11452              size += com.google.protobuf.CodedOutputStream
11453                .computeInt32Size(1, flags_);
11454            }
11455            if (((bitField0_ & 0x00000002) == 0x00000002)) {
11456              size += com.google.protobuf.CodedOutputStream
11457                .computeInt32Size(2, name_);
11458            }
11459            if (((bitField0_ & 0x00000004) == 0x00000004)) {
11460              size += com.google.protobuf.CodedOutputStream
11461                .computeMessageSize(3, type_);
11462            }
11463            if (((bitField0_ & 0x00000008) == 0x00000008)) {
11464              size += com.google.protobuf.CodedOutputStream
11465                .computeMessageSize(4, varargElementType_);
11466            }
11467            size += extensionsSerializedSize();
11468            memoizedSerializedSize = size;
11469            return size;
11470          }
11471    
11472          private static final long serialVersionUID = 0L;
11473          @java.lang.Override
11474          protected java.lang.Object writeReplace()
11475              throws java.io.ObjectStreamException {
11476            return super.writeReplace();
11477          }
11478    
11479          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11480              com.google.protobuf.ByteString data)
11481              throws com.google.protobuf.InvalidProtocolBufferException {
11482            return PARSER.parseFrom(data);
11483          }
11484          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11485              com.google.protobuf.ByteString data,
11486              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11487              throws com.google.protobuf.InvalidProtocolBufferException {
11488            return PARSER.parseFrom(data, extensionRegistry);
11489          }
11490          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(byte[] data)
11491              throws com.google.protobuf.InvalidProtocolBufferException {
11492            return PARSER.parseFrom(data);
11493          }
11494          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11495              byte[] data,
11496              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11497              throws com.google.protobuf.InvalidProtocolBufferException {
11498            return PARSER.parseFrom(data, extensionRegistry);
11499          }
11500          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(java.io.InputStream input)
11501              throws java.io.IOException {
11502            return PARSER.parseFrom(input);
11503          }
11504          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11505              java.io.InputStream input,
11506              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11507              throws java.io.IOException {
11508            return PARSER.parseFrom(input, extensionRegistry);
11509          }
11510          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseDelimitedFrom(java.io.InputStream input)
11511              throws java.io.IOException {
11512            return PARSER.parseDelimitedFrom(input);
11513          }
11514          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseDelimitedFrom(
11515              java.io.InputStream input,
11516              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11517              throws java.io.IOException {
11518            return PARSER.parseDelimitedFrom(input, extensionRegistry);
11519          }
11520          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11521              com.google.protobuf.CodedInputStream input)
11522              throws java.io.IOException {
11523            return PARSER.parseFrom(input);
11524          }
11525          public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11526              com.google.protobuf.CodedInputStream input,
11527              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11528              throws java.io.IOException {
11529            return PARSER.parseFrom(input, extensionRegistry);
11530          }
11531    
11532          public static Builder newBuilder() { return Builder.create(); }
11533          public Builder newBuilderForType() { return newBuilder(); }
11534          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter prototype) {
11535            return newBuilder().mergeFrom(prototype);
11536          }
11537          public Builder toBuilder() { return newBuilder(this); }
11538    
11539          /**
11540           * Protobuf type {@code org.jetbrains.kotlin.serialization.Callable.ValueParameter}
11541           */
11542          public static final class Builder extends
11543              com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
11544                org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameterOrBuilder {
11545            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.newBuilder()
11546            private Builder() {
11547              maybeForceBuilderInitialization();
11548            }
11549    
11550            private void maybeForceBuilderInitialization() {
11551            }
11552            private static Builder create() {
11553              return new Builder();
11554            }
11555    
11556            public Builder clear() {
11557              super.clear();
11558              flags_ = 0;
11559              bitField0_ = (bitField0_ & ~0x00000001);
11560              name_ = 0;
11561              bitField0_ = (bitField0_ & ~0x00000002);
11562              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11563              bitField0_ = (bitField0_ & ~0x00000004);
11564              varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11565              bitField0_ = (bitField0_ & ~0x00000008);
11566              return this;
11567            }
11568    
11569            public Builder clone() {
11570              return create().mergeFrom(buildPartial());
11571            }
11572    
11573            public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter getDefaultInstanceForType() {
11574              return org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.getDefaultInstance();
11575            }
11576    
11577            public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter build() {
11578              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter result = buildPartial();
11579              if (!result.isInitialized()) {
11580                throw newUninitializedMessageException(result);
11581              }
11582              return result;
11583            }
11584    
11585            public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter buildPartial() {
11586              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter result = new org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter(this);
11587              int from_bitField0_ = bitField0_;
11588              int to_bitField0_ = 0;
11589              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
11590                to_bitField0_ |= 0x00000001;
11591              }
11592              result.flags_ = flags_;
11593              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
11594                to_bitField0_ |= 0x00000002;
11595              }
11596              result.name_ = name_;
11597              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
11598                to_bitField0_ |= 0x00000004;
11599              }
11600              result.type_ = type_;
11601              if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
11602                to_bitField0_ |= 0x00000008;
11603              }
11604              result.varargElementType_ = varargElementType_;
11605              result.bitField0_ = to_bitField0_;
11606              return result;
11607            }
11608    
11609            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter other) {
11610              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.getDefaultInstance()) return this;
11611              if (other.hasFlags()) {
11612                setFlags(other.getFlags());
11613              }
11614              if (other.hasName()) {
11615                setName(other.getName());
11616              }
11617              if (other.hasType()) {
11618                mergeType(other.getType());
11619              }
11620              if (other.hasVarargElementType()) {
11621                mergeVarargElementType(other.getVarargElementType());
11622              }
11623              this.mergeExtensionFields(other);
11624              return this;
11625            }
11626    
11627            public final boolean isInitialized() {
11628              if (!hasName()) {
11629                
11630                return false;
11631              }
11632              if (!hasType()) {
11633                
11634                return false;
11635              }
11636              if (!getType().isInitialized()) {
11637                
11638                return false;
11639              }
11640              if (hasVarargElementType()) {
11641                if (!getVarargElementType().isInitialized()) {
11642                  
11643                  return false;
11644                }
11645              }
11646              if (!extensionsAreInitialized()) {
11647                
11648                return false;
11649              }
11650              return true;
11651            }
11652    
11653            public Builder mergeFrom(
11654                com.google.protobuf.CodedInputStream input,
11655                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11656                throws java.io.IOException {
11657              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter parsedMessage = null;
11658              try {
11659                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
11660              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11661                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter) e.getUnfinishedMessage();
11662                throw e;
11663              } finally {
11664                if (parsedMessage != null) {
11665                  mergeFrom(parsedMessage);
11666                }
11667              }
11668              return this;
11669            }
11670            private int bitField0_;
11671    
11672            // optional int32 flags = 1;
11673            private int flags_ ;
11674            /**
11675             * <code>optional int32 flags = 1;</code>
11676             *
11677             * <pre>
11678             *
11679             *declaresDefault
11680             *has_annotations
11681             * </pre>
11682             */
11683            public boolean hasFlags() {
11684              return ((bitField0_ & 0x00000001) == 0x00000001);
11685            }
11686            /**
11687             * <code>optional int32 flags = 1;</code>
11688             *
11689             * <pre>
11690             *
11691             *declaresDefault
11692             *has_annotations
11693             * </pre>
11694             */
11695            public int getFlags() {
11696              return flags_;
11697            }
11698            /**
11699             * <code>optional int32 flags = 1;</code>
11700             *
11701             * <pre>
11702             *
11703             *declaresDefault
11704             *has_annotations
11705             * </pre>
11706             */
11707            public Builder setFlags(int value) {
11708              bitField0_ |= 0x00000001;
11709              flags_ = value;
11710              
11711              return this;
11712            }
11713            /**
11714             * <code>optional int32 flags = 1;</code>
11715             *
11716             * <pre>
11717             *
11718             *declaresDefault
11719             *has_annotations
11720             * </pre>
11721             */
11722            public Builder clearFlags() {
11723              bitField0_ = (bitField0_ & ~0x00000001);
11724              flags_ = 0;
11725              
11726              return this;
11727            }
11728    
11729            // required int32 name = 2;
11730            private int name_ ;
11731            /**
11732             * <code>required int32 name = 2;</code>
11733             *
11734             * <pre>
11735             * Id in the StringTable
11736             * </pre>
11737             */
11738            public boolean hasName() {
11739              return ((bitField0_ & 0x00000002) == 0x00000002);
11740            }
11741            /**
11742             * <code>required int32 name = 2;</code>
11743             *
11744             * <pre>
11745             * Id in the StringTable
11746             * </pre>
11747             */
11748            public int getName() {
11749              return name_;
11750            }
11751            /**
11752             * <code>required int32 name = 2;</code>
11753             *
11754             * <pre>
11755             * Id in the StringTable
11756             * </pre>
11757             */
11758            public Builder setName(int value) {
11759              bitField0_ |= 0x00000002;
11760              name_ = value;
11761              
11762              return this;
11763            }
11764            /**
11765             * <code>required int32 name = 2;</code>
11766             *
11767             * <pre>
11768             * Id in the StringTable
11769             * </pre>
11770             */
11771            public Builder clearName() {
11772              bitField0_ = (bitField0_ & ~0x00000002);
11773              name_ = 0;
11774              
11775              return this;
11776            }
11777    
11778            // required .org.jetbrains.kotlin.serialization.Type type = 3;
11779            private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11780            /**
11781             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11782             */
11783            public boolean hasType() {
11784              return ((bitField0_ & 0x00000004) == 0x00000004);
11785            }
11786            /**
11787             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11788             */
11789            public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
11790              return type_;
11791            }
11792            /**
11793             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11794             */
11795            public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11796              if (value == null) {
11797                throw new NullPointerException();
11798              }
11799              type_ = value;
11800    
11801              bitField0_ |= 0x00000004;
11802              return this;
11803            }
11804            /**
11805             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11806             */
11807            public Builder setType(
11808                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
11809              type_ = builderForValue.build();
11810    
11811              bitField0_ |= 0x00000004;
11812              return this;
11813            }
11814            /**
11815             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11816             */
11817            public Builder mergeType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11818              if (((bitField0_ & 0x00000004) == 0x00000004) &&
11819                  type_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
11820                type_ =
11821                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
11822              } else {
11823                type_ = value;
11824              }
11825    
11826              bitField0_ |= 0x00000004;
11827              return this;
11828            }
11829            /**
11830             * <code>required .org.jetbrains.kotlin.serialization.Type type = 3;</code>
11831             */
11832            public Builder clearType() {
11833              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11834    
11835              bitField0_ = (bitField0_ & ~0x00000004);
11836              return this;
11837            }
11838    
11839            // optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;
11840            private org.jetbrains.kotlin.serialization.ProtoBuf.Type varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11841            /**
11842             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11843             */
11844            public boolean hasVarargElementType() {
11845              return ((bitField0_ & 0x00000008) == 0x00000008);
11846            }
11847            /**
11848             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11849             */
11850            public org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType() {
11851              return varargElementType_;
11852            }
11853            /**
11854             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11855             */
11856            public Builder setVarargElementType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11857              if (value == null) {
11858                throw new NullPointerException();
11859              }
11860              varargElementType_ = value;
11861    
11862              bitField0_ |= 0x00000008;
11863              return this;
11864            }
11865            /**
11866             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11867             */
11868            public Builder setVarargElementType(
11869                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
11870              varargElementType_ = builderForValue.build();
11871    
11872              bitField0_ |= 0x00000008;
11873              return this;
11874            }
11875            /**
11876             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11877             */
11878            public Builder mergeVarargElementType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11879              if (((bitField0_ & 0x00000008) == 0x00000008) &&
11880                  varargElementType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
11881                varargElementType_ =
11882                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(varargElementType_).mergeFrom(value).buildPartial();
11883              } else {
11884                varargElementType_ = value;
11885              }
11886    
11887              bitField0_ |= 0x00000008;
11888              return this;
11889            }
11890            /**
11891             * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
11892             */
11893            public Builder clearVarargElementType() {
11894              varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
11895    
11896              bitField0_ = (bitField0_ & ~0x00000008);
11897              return this;
11898            }
11899    
11900            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Callable.ValueParameter)
11901          }
11902    
11903          static {
11904            defaultInstance = new ValueParameter(true);
11905            defaultInstance.initFields();
11906          }
11907    
11908          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Callable.ValueParameter)
11909        }
11910    
11911        private int bitField0_;
11912        // optional int32 flags = 1;
11913        public static final int FLAGS_FIELD_NUMBER = 1;
11914        private int flags_;
11915        /**
11916         * <code>optional int32 flags = 1;</code>
11917         *
11918         * <pre>
11919         *
11920         *Visibility
11921         *Modality
11922         *has_annotations
11923         *CallableKind
11924         *MemberKind
11925         *hasGetter
11926         *hasSetter
11927         *hasConstant
11928         * </pre>
11929         */
11930        public boolean hasFlags() {
11931          return ((bitField0_ & 0x00000001) == 0x00000001);
11932        }
11933        /**
11934         * <code>optional int32 flags = 1;</code>
11935         *
11936         * <pre>
11937         *
11938         *Visibility
11939         *Modality
11940         *has_annotations
11941         *CallableKind
11942         *MemberKind
11943         *hasGetter
11944         *hasSetter
11945         *hasConstant
11946         * </pre>
11947         */
11948        public int getFlags() {
11949          return flags_;
11950        }
11951    
11952        // optional int32 getter_flags = 9;
11953        public static final int GETTER_FLAGS_FIELD_NUMBER = 9;
11954        private int getterFlags_;
11955        /**
11956         * <code>optional int32 getter_flags = 9;</code>
11957         *
11958         * <pre>
11959         *
11960         *isNotDefault
11961         *Visibility
11962         *Modality
11963         *has_annotations
11964         * </pre>
11965         */
11966        public boolean hasGetterFlags() {
11967          return ((bitField0_ & 0x00000002) == 0x00000002);
11968        }
11969        /**
11970         * <code>optional int32 getter_flags = 9;</code>
11971         *
11972         * <pre>
11973         *
11974         *isNotDefault
11975         *Visibility
11976         *Modality
11977         *has_annotations
11978         * </pre>
11979         */
11980        public int getGetterFlags() {
11981          return getterFlags_;
11982        }
11983    
11984        // optional int32 setter_flags = 10;
11985        public static final int SETTER_FLAGS_FIELD_NUMBER = 10;
11986        private int setterFlags_;
11987        /**
11988         * <code>optional int32 setter_flags = 10;</code>
11989         */
11990        public boolean hasSetterFlags() {
11991          return ((bitField0_ & 0x00000004) == 0x00000004);
11992        }
11993        /**
11994         * <code>optional int32 setter_flags = 10;</code>
11995         */
11996        public int getSetterFlags() {
11997          return setterFlags_;
11998        }
11999    
12000        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
12001        public static final int TYPE_PARAMETER_FIELD_NUMBER = 4;
12002        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
12003        /**
12004         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12005         */
12006        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
12007          return typeParameter_;
12008        }
12009        /**
12010         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12011         */
12012        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
12013            getTypeParameterOrBuilderList() {
12014          return typeParameter_;
12015        }
12016        /**
12017         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12018         */
12019        public int getTypeParameterCount() {
12020          return typeParameter_.size();
12021        }
12022        /**
12023         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12024         */
12025        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
12026          return typeParameter_.get(index);
12027        }
12028        /**
12029         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12030         */
12031        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
12032            int index) {
12033          return typeParameter_.get(index);
12034        }
12035    
12036        // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
12037        public static final int RECEIVER_TYPE_FIELD_NUMBER = 5;
12038        private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_;
12039        /**
12040         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12041         */
12042        public boolean hasReceiverType() {
12043          return ((bitField0_ & 0x00000008) == 0x00000008);
12044        }
12045        /**
12046         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12047         */
12048        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
12049          return receiverType_;
12050        }
12051    
12052        // required int32 name = 6;
12053        public static final int NAME_FIELD_NUMBER = 6;
12054        private int name_;
12055        /**
12056         * <code>required int32 name = 6;</code>
12057         *
12058         * <pre>
12059         * Id in the StringTable
12060         * </pre>
12061         */
12062        public boolean hasName() {
12063          return ((bitField0_ & 0x00000010) == 0x00000010);
12064        }
12065        /**
12066         * <code>required int32 name = 6;</code>
12067         *
12068         * <pre>
12069         * Id in the StringTable
12070         * </pre>
12071         */
12072        public int getName() {
12073          return name_;
12074        }
12075    
12076        // repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;
12077        public static final int VALUE_PARAMETER_FIELD_NUMBER = 7;
12078        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> valueParameter_;
12079        /**
12080         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12081         *
12082         * <pre>
12083         * Value parameters for functions and constructors, or setter value parameter for properties
12084         * </pre>
12085         */
12086        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> getValueParameterList() {
12087          return valueParameter_;
12088        }
12089        /**
12090         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12091         *
12092         * <pre>
12093         * Value parameters for functions and constructors, or setter value parameter for properties
12094         * </pre>
12095         */
12096        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameterOrBuilder> 
12097            getValueParameterOrBuilderList() {
12098          return valueParameter_;
12099        }
12100        /**
12101         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12102         *
12103         * <pre>
12104         * Value parameters for functions and constructors, or setter value parameter for properties
12105         * </pre>
12106         */
12107        public int getValueParameterCount() {
12108          return valueParameter_.size();
12109        }
12110        /**
12111         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12112         *
12113         * <pre>
12114         * Value parameters for functions and constructors, or setter value parameter for properties
12115         * </pre>
12116         */
12117        public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index) {
12118          return valueParameter_.get(index);
12119        }
12120        /**
12121         * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12122         *
12123         * <pre>
12124         * Value parameters for functions and constructors, or setter value parameter for properties
12125         * </pre>
12126         */
12127        public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameterOrBuilder getValueParameterOrBuilder(
12128            int index) {
12129          return valueParameter_.get(index);
12130        }
12131    
12132        // required .org.jetbrains.kotlin.serialization.Type return_type = 8;
12133        public static final int RETURN_TYPE_FIELD_NUMBER = 8;
12134        private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_;
12135        /**
12136         * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
12137         */
12138        public boolean hasReturnType() {
12139          return ((bitField0_ & 0x00000020) == 0x00000020);
12140        }
12141        /**
12142         * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
12143         */
12144        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
12145          return returnType_;
12146        }
12147    
12148        private void initFields() {
12149          flags_ = 0;
12150          getterFlags_ = 0;
12151          setterFlags_ = 0;
12152          typeParameter_ = java.util.Collections.emptyList();
12153          receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12154          name_ = 0;
12155          valueParameter_ = java.util.Collections.emptyList();
12156          returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12157        }
12158        private byte memoizedIsInitialized = -1;
12159        public final boolean isInitialized() {
12160          byte isInitialized = memoizedIsInitialized;
12161          if (isInitialized != -1) return isInitialized == 1;
12162    
12163          if (!hasName()) {
12164            memoizedIsInitialized = 0;
12165            return false;
12166          }
12167          if (!hasReturnType()) {
12168            memoizedIsInitialized = 0;
12169            return false;
12170          }
12171          for (int i = 0; i < getTypeParameterCount(); i++) {
12172            if (!getTypeParameter(i).isInitialized()) {
12173              memoizedIsInitialized = 0;
12174              return false;
12175            }
12176          }
12177          if (hasReceiverType()) {
12178            if (!getReceiverType().isInitialized()) {
12179              memoizedIsInitialized = 0;
12180              return false;
12181            }
12182          }
12183          for (int i = 0; i < getValueParameterCount(); i++) {
12184            if (!getValueParameter(i).isInitialized()) {
12185              memoizedIsInitialized = 0;
12186              return false;
12187            }
12188          }
12189          if (!getReturnType().isInitialized()) {
12190            memoizedIsInitialized = 0;
12191            return false;
12192          }
12193          if (!extensionsAreInitialized()) {
12194            memoizedIsInitialized = 0;
12195            return false;
12196          }
12197          memoizedIsInitialized = 1;
12198          return true;
12199        }
12200    
12201        public void writeTo(com.google.protobuf.CodedOutputStream output)
12202                            throws java.io.IOException {
12203          getSerializedSize();
12204          com.google.protobuf.GeneratedMessageLite
12205            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Callable>.ExtensionWriter extensionWriter =
12206              newExtensionWriter();
12207          if (((bitField0_ & 0x00000001) == 0x00000001)) {
12208            output.writeInt32(1, flags_);
12209          }
12210          for (int i = 0; i < typeParameter_.size(); i++) {
12211            output.writeMessage(4, typeParameter_.get(i));
12212          }
12213          if (((bitField0_ & 0x00000008) == 0x00000008)) {
12214            output.writeMessage(5, receiverType_);
12215          }
12216          if (((bitField0_ & 0x00000010) == 0x00000010)) {
12217            output.writeInt32(6, name_);
12218          }
12219          for (int i = 0; i < valueParameter_.size(); i++) {
12220            output.writeMessage(7, valueParameter_.get(i));
12221          }
12222          if (((bitField0_ & 0x00000020) == 0x00000020)) {
12223            output.writeMessage(8, returnType_);
12224          }
12225          if (((bitField0_ & 0x00000002) == 0x00000002)) {
12226            output.writeInt32(9, getterFlags_);
12227          }
12228          if (((bitField0_ & 0x00000004) == 0x00000004)) {
12229            output.writeInt32(10, setterFlags_);
12230          }
12231          extensionWriter.writeUntil(200, output);
12232        }
12233    
12234        private int memoizedSerializedSize = -1;
12235        public int getSerializedSize() {
12236          int size = memoizedSerializedSize;
12237          if (size != -1) return size;
12238    
12239          size = 0;
12240          if (((bitField0_ & 0x00000001) == 0x00000001)) {
12241            size += com.google.protobuf.CodedOutputStream
12242              .computeInt32Size(1, flags_);
12243          }
12244          for (int i = 0; i < typeParameter_.size(); i++) {
12245            size += com.google.protobuf.CodedOutputStream
12246              .computeMessageSize(4, typeParameter_.get(i));
12247          }
12248          if (((bitField0_ & 0x00000008) == 0x00000008)) {
12249            size += com.google.protobuf.CodedOutputStream
12250              .computeMessageSize(5, receiverType_);
12251          }
12252          if (((bitField0_ & 0x00000010) == 0x00000010)) {
12253            size += com.google.protobuf.CodedOutputStream
12254              .computeInt32Size(6, name_);
12255          }
12256          for (int i = 0; i < valueParameter_.size(); i++) {
12257            size += com.google.protobuf.CodedOutputStream
12258              .computeMessageSize(7, valueParameter_.get(i));
12259          }
12260          if (((bitField0_ & 0x00000020) == 0x00000020)) {
12261            size += com.google.protobuf.CodedOutputStream
12262              .computeMessageSize(8, returnType_);
12263          }
12264          if (((bitField0_ & 0x00000002) == 0x00000002)) {
12265            size += com.google.protobuf.CodedOutputStream
12266              .computeInt32Size(9, getterFlags_);
12267          }
12268          if (((bitField0_ & 0x00000004) == 0x00000004)) {
12269            size += com.google.protobuf.CodedOutputStream
12270              .computeInt32Size(10, setterFlags_);
12271          }
12272          size += extensionsSerializedSize();
12273          memoizedSerializedSize = size;
12274          return size;
12275        }
12276    
12277        private static final long serialVersionUID = 0L;
12278        @java.lang.Override
12279        protected java.lang.Object writeReplace()
12280            throws java.io.ObjectStreamException {
12281          return super.writeReplace();
12282        }
12283    
12284        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
12285            com.google.protobuf.ByteString data)
12286            throws com.google.protobuf.InvalidProtocolBufferException {
12287          return PARSER.parseFrom(data);
12288        }
12289        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
12290            com.google.protobuf.ByteString data,
12291            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12292            throws com.google.protobuf.InvalidProtocolBufferException {
12293          return PARSER.parseFrom(data, extensionRegistry);
12294        }
12295        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(byte[] data)
12296            throws com.google.protobuf.InvalidProtocolBufferException {
12297          return PARSER.parseFrom(data);
12298        }
12299        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
12300            byte[] data,
12301            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12302            throws com.google.protobuf.InvalidProtocolBufferException {
12303          return PARSER.parseFrom(data, extensionRegistry);
12304        }
12305        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(java.io.InputStream input)
12306            throws java.io.IOException {
12307          return PARSER.parseFrom(input);
12308        }
12309        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
12310            java.io.InputStream input,
12311            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12312            throws java.io.IOException {
12313          return PARSER.parseFrom(input, extensionRegistry);
12314        }
12315        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseDelimitedFrom(java.io.InputStream input)
12316            throws java.io.IOException {
12317          return PARSER.parseDelimitedFrom(input);
12318        }
12319        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseDelimitedFrom(
12320            java.io.InputStream input,
12321            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12322            throws java.io.IOException {
12323          return PARSER.parseDelimitedFrom(input, extensionRegistry);
12324        }
12325        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
12326            com.google.protobuf.CodedInputStream input)
12327            throws java.io.IOException {
12328          return PARSER.parseFrom(input);
12329        }
12330        public static org.jetbrains.kotlin.serialization.ProtoBuf.Callable parseFrom(
12331            com.google.protobuf.CodedInputStream input,
12332            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12333            throws java.io.IOException {
12334          return PARSER.parseFrom(input, extensionRegistry);
12335        }
12336    
12337        public static Builder newBuilder() { return Builder.create(); }
12338        public Builder newBuilderForType() { return newBuilder(); }
12339        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Callable prototype) {
12340          return newBuilder().mergeFrom(prototype);
12341        }
12342        public Builder toBuilder() { return newBuilder(this); }
12343    
12344        /**
12345         * Protobuf type {@code org.jetbrains.kotlin.serialization.Callable}
12346         */
12347        public static final class Builder extends
12348            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
12349              org.jetbrains.kotlin.serialization.ProtoBuf.Callable, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.CallableOrBuilder {
12350          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Callable.newBuilder()
12351          private Builder() {
12352            maybeForceBuilderInitialization();
12353          }
12354    
12355          private void maybeForceBuilderInitialization() {
12356          }
12357          private static Builder create() {
12358            return new Builder();
12359          }
12360    
12361          public Builder clear() {
12362            super.clear();
12363            flags_ = 0;
12364            bitField0_ = (bitField0_ & ~0x00000001);
12365            getterFlags_ = 0;
12366            bitField0_ = (bitField0_ & ~0x00000002);
12367            setterFlags_ = 0;
12368            bitField0_ = (bitField0_ & ~0x00000004);
12369            typeParameter_ = java.util.Collections.emptyList();
12370            bitField0_ = (bitField0_ & ~0x00000008);
12371            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12372            bitField0_ = (bitField0_ & ~0x00000010);
12373            name_ = 0;
12374            bitField0_ = (bitField0_ & ~0x00000020);
12375            valueParameter_ = java.util.Collections.emptyList();
12376            bitField0_ = (bitField0_ & ~0x00000040);
12377            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12378            bitField0_ = (bitField0_ & ~0x00000080);
12379            return this;
12380          }
12381    
12382          public Builder clone() {
12383            return create().mergeFrom(buildPartial());
12384          }
12385    
12386          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable getDefaultInstanceForType() {
12387            return org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance();
12388          }
12389    
12390          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable build() {
12391            org.jetbrains.kotlin.serialization.ProtoBuf.Callable result = buildPartial();
12392            if (!result.isInitialized()) {
12393              throw newUninitializedMessageException(result);
12394            }
12395            return result;
12396          }
12397    
12398          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable buildPartial() {
12399            org.jetbrains.kotlin.serialization.ProtoBuf.Callable result = new org.jetbrains.kotlin.serialization.ProtoBuf.Callable(this);
12400            int from_bitField0_ = bitField0_;
12401            int to_bitField0_ = 0;
12402            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
12403              to_bitField0_ |= 0x00000001;
12404            }
12405            result.flags_ = flags_;
12406            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
12407              to_bitField0_ |= 0x00000002;
12408            }
12409            result.getterFlags_ = getterFlags_;
12410            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
12411              to_bitField0_ |= 0x00000004;
12412            }
12413            result.setterFlags_ = setterFlags_;
12414            if (((bitField0_ & 0x00000008) == 0x00000008)) {
12415              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
12416              bitField0_ = (bitField0_ & ~0x00000008);
12417            }
12418            result.typeParameter_ = typeParameter_;
12419            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
12420              to_bitField0_ |= 0x00000008;
12421            }
12422            result.receiverType_ = receiverType_;
12423            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
12424              to_bitField0_ |= 0x00000010;
12425            }
12426            result.name_ = name_;
12427            if (((bitField0_ & 0x00000040) == 0x00000040)) {
12428              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
12429              bitField0_ = (bitField0_ & ~0x00000040);
12430            }
12431            result.valueParameter_ = valueParameter_;
12432            if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
12433              to_bitField0_ |= 0x00000020;
12434            }
12435            result.returnType_ = returnType_;
12436            result.bitField0_ = to_bitField0_;
12437            return result;
12438          }
12439    
12440          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Callable other) {
12441            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Callable.getDefaultInstance()) return this;
12442            if (other.hasFlags()) {
12443              setFlags(other.getFlags());
12444            }
12445            if (other.hasGetterFlags()) {
12446              setGetterFlags(other.getGetterFlags());
12447            }
12448            if (other.hasSetterFlags()) {
12449              setSetterFlags(other.getSetterFlags());
12450            }
12451            if (!other.typeParameter_.isEmpty()) {
12452              if (typeParameter_.isEmpty()) {
12453                typeParameter_ = other.typeParameter_;
12454                bitField0_ = (bitField0_ & ~0x00000008);
12455              } else {
12456                ensureTypeParameterIsMutable();
12457                typeParameter_.addAll(other.typeParameter_);
12458              }
12459              
12460            }
12461            if (other.hasReceiverType()) {
12462              mergeReceiverType(other.getReceiverType());
12463            }
12464            if (other.hasName()) {
12465              setName(other.getName());
12466            }
12467            if (!other.valueParameter_.isEmpty()) {
12468              if (valueParameter_.isEmpty()) {
12469                valueParameter_ = other.valueParameter_;
12470                bitField0_ = (bitField0_ & ~0x00000040);
12471              } else {
12472                ensureValueParameterIsMutable();
12473                valueParameter_.addAll(other.valueParameter_);
12474              }
12475              
12476            }
12477            if (other.hasReturnType()) {
12478              mergeReturnType(other.getReturnType());
12479            }
12480            this.mergeExtensionFields(other);
12481            return this;
12482          }
12483    
12484          public final boolean isInitialized() {
12485            if (!hasName()) {
12486              
12487              return false;
12488            }
12489            if (!hasReturnType()) {
12490              
12491              return false;
12492            }
12493            for (int i = 0; i < getTypeParameterCount(); i++) {
12494              if (!getTypeParameter(i).isInitialized()) {
12495                
12496                return false;
12497              }
12498            }
12499            if (hasReceiverType()) {
12500              if (!getReceiverType().isInitialized()) {
12501                
12502                return false;
12503              }
12504            }
12505            for (int i = 0; i < getValueParameterCount(); i++) {
12506              if (!getValueParameter(i).isInitialized()) {
12507                
12508                return false;
12509              }
12510            }
12511            if (!getReturnType().isInitialized()) {
12512              
12513              return false;
12514            }
12515            if (!extensionsAreInitialized()) {
12516              
12517              return false;
12518            }
12519            return true;
12520          }
12521    
12522          public Builder mergeFrom(
12523              com.google.protobuf.CodedInputStream input,
12524              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12525              throws java.io.IOException {
12526            org.jetbrains.kotlin.serialization.ProtoBuf.Callable parsedMessage = null;
12527            try {
12528              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
12529            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
12530              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Callable) e.getUnfinishedMessage();
12531              throw e;
12532            } finally {
12533              if (parsedMessage != null) {
12534                mergeFrom(parsedMessage);
12535              }
12536            }
12537            return this;
12538          }
12539          private int bitField0_;
12540    
12541          // optional int32 flags = 1;
12542          private int flags_ ;
12543          /**
12544           * <code>optional int32 flags = 1;</code>
12545           *
12546           * <pre>
12547           *
12548           *Visibility
12549           *Modality
12550           *has_annotations
12551           *CallableKind
12552           *MemberKind
12553           *hasGetter
12554           *hasSetter
12555           *hasConstant
12556           * </pre>
12557           */
12558          public boolean hasFlags() {
12559            return ((bitField0_ & 0x00000001) == 0x00000001);
12560          }
12561          /**
12562           * <code>optional int32 flags = 1;</code>
12563           *
12564           * <pre>
12565           *
12566           *Visibility
12567           *Modality
12568           *has_annotations
12569           *CallableKind
12570           *MemberKind
12571           *hasGetter
12572           *hasSetter
12573           *hasConstant
12574           * </pre>
12575           */
12576          public int getFlags() {
12577            return flags_;
12578          }
12579          /**
12580           * <code>optional int32 flags = 1;</code>
12581           *
12582           * <pre>
12583           *
12584           *Visibility
12585           *Modality
12586           *has_annotations
12587           *CallableKind
12588           *MemberKind
12589           *hasGetter
12590           *hasSetter
12591           *hasConstant
12592           * </pre>
12593           */
12594          public Builder setFlags(int value) {
12595            bitField0_ |= 0x00000001;
12596            flags_ = value;
12597            
12598            return this;
12599          }
12600          /**
12601           * <code>optional int32 flags = 1;</code>
12602           *
12603           * <pre>
12604           *
12605           *Visibility
12606           *Modality
12607           *has_annotations
12608           *CallableKind
12609           *MemberKind
12610           *hasGetter
12611           *hasSetter
12612           *hasConstant
12613           * </pre>
12614           */
12615          public Builder clearFlags() {
12616            bitField0_ = (bitField0_ & ~0x00000001);
12617            flags_ = 0;
12618            
12619            return this;
12620          }
12621    
12622          // optional int32 getter_flags = 9;
12623          private int getterFlags_ ;
12624          /**
12625           * <code>optional int32 getter_flags = 9;</code>
12626           *
12627           * <pre>
12628           *
12629           *isNotDefault
12630           *Visibility
12631           *Modality
12632           *has_annotations
12633           * </pre>
12634           */
12635          public boolean hasGetterFlags() {
12636            return ((bitField0_ & 0x00000002) == 0x00000002);
12637          }
12638          /**
12639           * <code>optional int32 getter_flags = 9;</code>
12640           *
12641           * <pre>
12642           *
12643           *isNotDefault
12644           *Visibility
12645           *Modality
12646           *has_annotations
12647           * </pre>
12648           */
12649          public int getGetterFlags() {
12650            return getterFlags_;
12651          }
12652          /**
12653           * <code>optional int32 getter_flags = 9;</code>
12654           *
12655           * <pre>
12656           *
12657           *isNotDefault
12658           *Visibility
12659           *Modality
12660           *has_annotations
12661           * </pre>
12662           */
12663          public Builder setGetterFlags(int value) {
12664            bitField0_ |= 0x00000002;
12665            getterFlags_ = value;
12666            
12667            return this;
12668          }
12669          /**
12670           * <code>optional int32 getter_flags = 9;</code>
12671           *
12672           * <pre>
12673           *
12674           *isNotDefault
12675           *Visibility
12676           *Modality
12677           *has_annotations
12678           * </pre>
12679           */
12680          public Builder clearGetterFlags() {
12681            bitField0_ = (bitField0_ & ~0x00000002);
12682            getterFlags_ = 0;
12683            
12684            return this;
12685          }
12686    
12687          // optional int32 setter_flags = 10;
12688          private int setterFlags_ ;
12689          /**
12690           * <code>optional int32 setter_flags = 10;</code>
12691           */
12692          public boolean hasSetterFlags() {
12693            return ((bitField0_ & 0x00000004) == 0x00000004);
12694          }
12695          /**
12696           * <code>optional int32 setter_flags = 10;</code>
12697           */
12698          public int getSetterFlags() {
12699            return setterFlags_;
12700          }
12701          /**
12702           * <code>optional int32 setter_flags = 10;</code>
12703           */
12704          public Builder setSetterFlags(int value) {
12705            bitField0_ |= 0x00000004;
12706            setterFlags_ = value;
12707            
12708            return this;
12709          }
12710          /**
12711           * <code>optional int32 setter_flags = 10;</code>
12712           */
12713          public Builder clearSetterFlags() {
12714            bitField0_ = (bitField0_ & ~0x00000004);
12715            setterFlags_ = 0;
12716            
12717            return this;
12718          }
12719    
12720          // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
12721          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
12722            java.util.Collections.emptyList();
12723          private void ensureTypeParameterIsMutable() {
12724            if (!((bitField0_ & 0x00000008) == 0x00000008)) {
12725              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
12726              bitField0_ |= 0x00000008;
12727             }
12728          }
12729    
12730          /**
12731           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12732           */
12733          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
12734            return java.util.Collections.unmodifiableList(typeParameter_);
12735          }
12736          /**
12737           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12738           */
12739          public int getTypeParameterCount() {
12740            return typeParameter_.size();
12741          }
12742          /**
12743           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12744           */
12745          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
12746            return typeParameter_.get(index);
12747          }
12748          /**
12749           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12750           */
12751          public Builder setTypeParameter(
12752              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
12753            if (value == null) {
12754              throw new NullPointerException();
12755            }
12756            ensureTypeParameterIsMutable();
12757            typeParameter_.set(index, value);
12758    
12759            return this;
12760          }
12761          /**
12762           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12763           */
12764          public Builder setTypeParameter(
12765              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
12766            ensureTypeParameterIsMutable();
12767            typeParameter_.set(index, builderForValue.build());
12768    
12769            return this;
12770          }
12771          /**
12772           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12773           */
12774          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
12775            if (value == null) {
12776              throw new NullPointerException();
12777            }
12778            ensureTypeParameterIsMutable();
12779            typeParameter_.add(value);
12780    
12781            return this;
12782          }
12783          /**
12784           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12785           */
12786          public Builder addTypeParameter(
12787              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
12788            if (value == null) {
12789              throw new NullPointerException();
12790            }
12791            ensureTypeParameterIsMutable();
12792            typeParameter_.add(index, value);
12793    
12794            return this;
12795          }
12796          /**
12797           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12798           */
12799          public Builder addTypeParameter(
12800              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
12801            ensureTypeParameterIsMutable();
12802            typeParameter_.add(builderForValue.build());
12803    
12804            return this;
12805          }
12806          /**
12807           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12808           */
12809          public Builder addTypeParameter(
12810              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
12811            ensureTypeParameterIsMutable();
12812            typeParameter_.add(index, builderForValue.build());
12813    
12814            return this;
12815          }
12816          /**
12817           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12818           */
12819          public Builder addAllTypeParameter(
12820              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
12821            ensureTypeParameterIsMutable();
12822            super.addAll(values, typeParameter_);
12823    
12824            return this;
12825          }
12826          /**
12827           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12828           */
12829          public Builder clearTypeParameter() {
12830            typeParameter_ = java.util.Collections.emptyList();
12831            bitField0_ = (bitField0_ & ~0x00000008);
12832    
12833            return this;
12834          }
12835          /**
12836           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12837           */
12838          public Builder removeTypeParameter(int index) {
12839            ensureTypeParameterIsMutable();
12840            typeParameter_.remove(index);
12841    
12842            return this;
12843          }
12844    
12845          // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
12846          private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12847          /**
12848           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12849           */
12850          public boolean hasReceiverType() {
12851            return ((bitField0_ & 0x00000010) == 0x00000010);
12852          }
12853          /**
12854           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12855           */
12856          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
12857            return receiverType_;
12858          }
12859          /**
12860           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12861           */
12862          public Builder setReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
12863            if (value == null) {
12864              throw new NullPointerException();
12865            }
12866            receiverType_ = value;
12867    
12868            bitField0_ |= 0x00000010;
12869            return this;
12870          }
12871          /**
12872           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12873           */
12874          public Builder setReceiverType(
12875              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
12876            receiverType_ = builderForValue.build();
12877    
12878            bitField0_ |= 0x00000010;
12879            return this;
12880          }
12881          /**
12882           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12883           */
12884          public Builder mergeReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
12885            if (((bitField0_ & 0x00000010) == 0x00000010) &&
12886                receiverType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
12887              receiverType_ =
12888                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(receiverType_).mergeFrom(value).buildPartial();
12889            } else {
12890              receiverType_ = value;
12891            }
12892    
12893            bitField0_ |= 0x00000010;
12894            return this;
12895          }
12896          /**
12897           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12898           */
12899          public Builder clearReceiverType() {
12900            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12901    
12902            bitField0_ = (bitField0_ & ~0x00000010);
12903            return this;
12904          }
12905    
12906          // required int32 name = 6;
12907          private int name_ ;
12908          /**
12909           * <code>required int32 name = 6;</code>
12910           *
12911           * <pre>
12912           * Id in the StringTable
12913           * </pre>
12914           */
12915          public boolean hasName() {
12916            return ((bitField0_ & 0x00000020) == 0x00000020);
12917          }
12918          /**
12919           * <code>required int32 name = 6;</code>
12920           *
12921           * <pre>
12922           * Id in the StringTable
12923           * </pre>
12924           */
12925          public int getName() {
12926            return name_;
12927          }
12928          /**
12929           * <code>required int32 name = 6;</code>
12930           *
12931           * <pre>
12932           * Id in the StringTable
12933           * </pre>
12934           */
12935          public Builder setName(int value) {
12936            bitField0_ |= 0x00000020;
12937            name_ = value;
12938            
12939            return this;
12940          }
12941          /**
12942           * <code>required int32 name = 6;</code>
12943           *
12944           * <pre>
12945           * Id in the StringTable
12946           * </pre>
12947           */
12948          public Builder clearName() {
12949            bitField0_ = (bitField0_ & ~0x00000020);
12950            name_ = 0;
12951            
12952            return this;
12953          }
12954    
12955          // repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;
12956          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> valueParameter_ =
12957            java.util.Collections.emptyList();
12958          private void ensureValueParameterIsMutable() {
12959            if (!((bitField0_ & 0x00000040) == 0x00000040)) {
12960              valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter>(valueParameter_);
12961              bitField0_ |= 0x00000040;
12962             }
12963          }
12964    
12965          /**
12966           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12967           *
12968           * <pre>
12969           * Value parameters for functions and constructors, or setter value parameter for properties
12970           * </pre>
12971           */
12972          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> getValueParameterList() {
12973            return java.util.Collections.unmodifiableList(valueParameter_);
12974          }
12975          /**
12976           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12977           *
12978           * <pre>
12979           * Value parameters for functions and constructors, or setter value parameter for properties
12980           * </pre>
12981           */
12982          public int getValueParameterCount() {
12983            return valueParameter_.size();
12984          }
12985          /**
12986           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12987           *
12988           * <pre>
12989           * Value parameters for functions and constructors, or setter value parameter for properties
12990           * </pre>
12991           */
12992          public org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index) {
12993            return valueParameter_.get(index);
12994          }
12995          /**
12996           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
12997           *
12998           * <pre>
12999           * Value parameters for functions and constructors, or setter value parameter for properties
13000           * </pre>
13001           */
13002          public Builder setValueParameter(
13003              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter value) {
13004            if (value == null) {
13005              throw new NullPointerException();
13006            }
13007            ensureValueParameterIsMutable();
13008            valueParameter_.set(index, value);
13009    
13010            return this;
13011          }
13012          /**
13013           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
13014           *
13015           * <pre>
13016           * Value parameters for functions and constructors, or setter value parameter for properties
13017           * </pre>
13018           */
13019          public Builder setValueParameter(
13020              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
13021            ensureValueParameterIsMutable();
13022            valueParameter_.set(index, builderForValue.build());
13023    
13024            return this;
13025          }
13026          /**
13027           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
13028           *
13029           * <pre>
13030           * Value parameters for functions and constructors, or setter value parameter for properties
13031           * </pre>
13032           */
13033          public Builder addValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter value) {
13034            if (value == null) {
13035              throw new NullPointerException();
13036            }
13037            ensureValueParameterIsMutable();
13038            valueParameter_.add(value);
13039    
13040            return this;
13041          }
13042          /**
13043           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
13044           *
13045           * <pre>
13046           * Value parameters for functions and constructors, or setter value parameter for properties
13047           * </pre>
13048           */
13049          public Builder addValueParameter(
13050              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter value) {
13051            if (value == null) {
13052              throw new NullPointerException();
13053            }
13054            ensureValueParameterIsMutable();
13055            valueParameter_.add(index, value);
13056    
13057            return this;
13058          }
13059          /**
13060           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
13061           *
13062           * <pre>
13063           * Value parameters for functions and constructors, or setter value parameter for properties
13064           * </pre>
13065           */
13066          public Builder addValueParameter(
13067              org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
13068            ensureValueParameterIsMutable();
13069            valueParameter_.add(builderForValue.build());
13070    
13071            return this;
13072          }
13073          /**
13074           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
13075           *
13076           * <pre>
13077           * Value parameters for functions and constructors, or setter value parameter for properties
13078           * </pre>
13079           */
13080          public Builder addValueParameter(
13081              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
13082            ensureValueParameterIsMutable();
13083            valueParameter_.add(index, builderForValue.build());
13084    
13085            return this;
13086          }
13087          /**
13088           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
13089           *
13090           * <pre>
13091           * Value parameters for functions and constructors, or setter value parameter for properties
13092           * </pre>
13093           */
13094          public Builder addAllValueParameter(
13095              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Callable.ValueParameter> values) {
13096            ensureValueParameterIsMutable();
13097            super.addAll(values, valueParameter_);
13098    
13099            return this;
13100          }
13101          /**
13102           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
13103           *
13104           * <pre>
13105           * Value parameters for functions and constructors, or setter value parameter for properties
13106           * </pre>
13107           */
13108          public Builder clearValueParameter() {
13109            valueParameter_ = java.util.Collections.emptyList();
13110            bitField0_ = (bitField0_ & ~0x00000040);
13111    
13112            return this;
13113          }
13114          /**
13115           * <code>repeated .org.jetbrains.kotlin.serialization.Callable.ValueParameter value_parameter = 7;</code>
13116           *
13117           * <pre>
13118           * Value parameters for functions and constructors, or setter value parameter for properties
13119           * </pre>
13120           */
13121          public Builder removeValueParameter(int index) {
13122            ensureValueParameterIsMutable();
13123            valueParameter_.remove(index);
13124    
13125            return this;
13126          }
13127    
13128          // required .org.jetbrains.kotlin.serialization.Type return_type = 8;
13129          private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13130          /**
13131           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
13132           */
13133          public boolean hasReturnType() {
13134            return ((bitField0_ & 0x00000080) == 0x00000080);
13135          }
13136          /**
13137           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
13138           */
13139          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
13140            return returnType_;
13141          }
13142          /**
13143           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
13144           */
13145          public Builder setReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
13146            if (value == null) {
13147              throw new NullPointerException();
13148            }
13149            returnType_ = value;
13150    
13151            bitField0_ |= 0x00000080;
13152            return this;
13153          }
13154          /**
13155           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
13156           */
13157          public Builder setReturnType(
13158              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
13159            returnType_ = builderForValue.build();
13160    
13161            bitField0_ |= 0x00000080;
13162            return this;
13163          }
13164          /**
13165           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
13166           */
13167          public Builder mergeReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
13168            if (((bitField0_ & 0x00000080) == 0x00000080) &&
13169                returnType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
13170              returnType_ =
13171                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(returnType_).mergeFrom(value).buildPartial();
13172            } else {
13173              returnType_ = value;
13174            }
13175    
13176            bitField0_ |= 0x00000080;
13177            return this;
13178          }
13179          /**
13180           * <code>required .org.jetbrains.kotlin.serialization.Type return_type = 8;</code>
13181           */
13182          public Builder clearReturnType() {
13183            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13184    
13185            bitField0_ = (bitField0_ & ~0x00000080);
13186            return this;
13187          }
13188    
13189          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Callable)
13190        }
13191    
13192        static {
13193          defaultInstance = new Callable(true);
13194          defaultInstance.initFields();
13195        }
13196    
13197        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Callable)
13198      }
13199    
13200    
13201      static {
13202      }
13203    
13204      // @@protoc_insertion_point(outer_class_scope)
13205    }