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          org.jetbrains.kotlin.protobuf.ExtensionRegistryLite registry) {
010      }
011      /**
012       * Protobuf enum {@code org.jetbrains.kotlin.serialization.Modality}
013       */
014      public enum Modality
015          implements org.jetbrains.kotlin.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 org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Modality>
073            internalGetValueMap() {
074          return internalValueMap;
075        }
076        private static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Modality>
077            internalValueMap =
078              new org.jetbrains.kotlin.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 org.jetbrains.kotlin.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 org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Visibility>
173            internalGetValueMap() {
174          return internalValueMap;
175        }
176        private static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Visibility>
177            internalValueMap =
178              new org.jetbrains.kotlin.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      /**
194       * Protobuf enum {@code org.jetbrains.kotlin.serialization.MemberKind}
195       */
196      public enum MemberKind
197          implements org.jetbrains.kotlin.protobuf.Internal.EnumLite {
198        /**
199         * <code>DECLARATION = 0;</code>
200         *
201         * <pre>
202         * 2 bits
203         * </pre>
204         */
205        DECLARATION(0, 0),
206        /**
207         * <code>FAKE_OVERRIDE = 1;</code>
208         */
209        FAKE_OVERRIDE(1, 1),
210        /**
211         * <code>DELEGATION = 2;</code>
212         */
213        DELEGATION(2, 2),
214        /**
215         * <code>SYNTHESIZED = 3;</code>
216         */
217        SYNTHESIZED(3, 3),
218        ;
219    
220        /**
221         * <code>DECLARATION = 0;</code>
222         *
223         * <pre>
224         * 2 bits
225         * </pre>
226         */
227        public static final int DECLARATION_VALUE = 0;
228        /**
229         * <code>FAKE_OVERRIDE = 1;</code>
230         */
231        public static final int FAKE_OVERRIDE_VALUE = 1;
232        /**
233         * <code>DELEGATION = 2;</code>
234         */
235        public static final int DELEGATION_VALUE = 2;
236        /**
237         * <code>SYNTHESIZED = 3;</code>
238         */
239        public static final int SYNTHESIZED_VALUE = 3;
240    
241    
242        public final int getNumber() { return value; }
243    
244        public static MemberKind valueOf(int value) {
245          switch (value) {
246            case 0: return DECLARATION;
247            case 1: return FAKE_OVERRIDE;
248            case 2: return DELEGATION;
249            case 3: return SYNTHESIZED;
250            default: return null;
251          }
252        }
253    
254        public static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<MemberKind>
255            internalGetValueMap() {
256          return internalValueMap;
257        }
258        private static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<MemberKind>
259            internalValueMap =
260              new org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<MemberKind>() {
261                public MemberKind findValueByNumber(int number) {
262                  return MemberKind.valueOf(number);
263                }
264              };
265    
266        private final int value;
267    
268        private MemberKind(int index, int value) {
269          this.value = value;
270        }
271    
272        // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.MemberKind)
273      }
274    
275      public interface StringTableOrBuilder extends
276          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.StringTable)
277          org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
278    
279        /**
280         * <code>repeated string string = 1;</code>
281         */
282        org.jetbrains.kotlin.protobuf.ProtocolStringList
283            getStringList();
284        /**
285         * <code>repeated string string = 1;</code>
286         */
287        int getStringCount();
288        /**
289         * <code>repeated string string = 1;</code>
290         */
291        java.lang.String getString(int index);
292        /**
293         * <code>repeated string string = 1;</code>
294         */
295        org.jetbrains.kotlin.protobuf.ByteString
296            getStringBytes(int index);
297      }
298      /**
299       * Protobuf type {@code org.jetbrains.kotlin.serialization.StringTable}
300       */
301      public static final class StringTable extends
302          org.jetbrains.kotlin.protobuf.GeneratedMessageLite implements
303          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.StringTable)
304          StringTableOrBuilder {
305        // Use StringTable.newBuilder() to construct.
306        private StringTable(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) {
307          super(builder);
308          this.unknownFields = builder.getUnknownFields();
309        }
310        private StringTable(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
311    
312        private static final StringTable defaultInstance;
313        public static StringTable getDefaultInstance() {
314          return defaultInstance;
315        }
316    
317        public StringTable getDefaultInstanceForType() {
318          return defaultInstance;
319        }
320    
321        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
322        private StringTable(
323            org.jetbrains.kotlin.protobuf.CodedInputStream input,
324            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
325            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
326          initFields();
327          int mutable_bitField0_ = 0;
328          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
329              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
330          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
331              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
332                  unknownFieldsOutput);
333          try {
334            boolean done = false;
335            while (!done) {
336              int tag = input.readTag();
337              switch (tag) {
338                case 0:
339                  done = true;
340                  break;
341                default: {
342                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
343                                         extensionRegistry, tag)) {
344                    done = true;
345                  }
346                  break;
347                }
348                case 10: {
349                  org.jetbrains.kotlin.protobuf.ByteString bs = input.readBytes();
350                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
351                    string_ = new org.jetbrains.kotlin.protobuf.LazyStringArrayList();
352                    mutable_bitField0_ |= 0x00000001;
353                  }
354                  string_.add(bs);
355                  break;
356                }
357              }
358            }
359          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
360            throw e.setUnfinishedMessage(this);
361          } catch (java.io.IOException e) {
362            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
363                e.getMessage()).setUnfinishedMessage(this);
364          } finally {
365            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
366              string_ = string_.getUnmodifiableView();
367            }
368            try {
369              unknownFieldsCodedOutput.flush();
370            } catch (java.io.IOException e) {
371            // Should not happen
372            } finally {
373              unknownFields = unknownFieldsOutput.toByteString();
374            }
375            makeExtensionsImmutable();
376          }
377        }
378        public static org.jetbrains.kotlin.protobuf.Parser<StringTable> PARSER =
379            new org.jetbrains.kotlin.protobuf.AbstractParser<StringTable>() {
380          public StringTable parsePartialFrom(
381              org.jetbrains.kotlin.protobuf.CodedInputStream input,
382              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
383              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
384            return new StringTable(input, extensionRegistry);
385          }
386        };
387    
388        @java.lang.Override
389        public org.jetbrains.kotlin.protobuf.Parser<StringTable> getParserForType() {
390          return PARSER;
391        }
392    
393        public static final int STRING_FIELD_NUMBER = 1;
394        private org.jetbrains.kotlin.protobuf.LazyStringList string_;
395        /**
396         * <code>repeated string string = 1;</code>
397         */
398        public org.jetbrains.kotlin.protobuf.ProtocolStringList
399            getStringList() {
400          return string_;
401        }
402        /**
403         * <code>repeated string string = 1;</code>
404         */
405        public int getStringCount() {
406          return string_.size();
407        }
408        /**
409         * <code>repeated string string = 1;</code>
410         */
411        public java.lang.String getString(int index) {
412          return string_.get(index);
413        }
414        /**
415         * <code>repeated string string = 1;</code>
416         */
417        public org.jetbrains.kotlin.protobuf.ByteString
418            getStringBytes(int index) {
419          return string_.getByteString(index);
420        }
421    
422        private void initFields() {
423          string_ = org.jetbrains.kotlin.protobuf.LazyStringArrayList.EMPTY;
424        }
425        private byte memoizedIsInitialized = -1;
426        public final boolean isInitialized() {
427          byte isInitialized = memoizedIsInitialized;
428          if (isInitialized == 1) return true;
429          if (isInitialized == 0) return false;
430    
431          memoizedIsInitialized = 1;
432          return true;
433        }
434    
435        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
436                            throws java.io.IOException {
437          getSerializedSize();
438          for (int i = 0; i < string_.size(); i++) {
439            output.writeBytes(1, string_.getByteString(i));
440          }
441          output.writeRawBytes(unknownFields);
442        }
443    
444        private int memoizedSerializedSize = -1;
445        public int getSerializedSize() {
446          int size = memoizedSerializedSize;
447          if (size != -1) return size;
448    
449          size = 0;
450          {
451            int dataSize = 0;
452            for (int i = 0; i < string_.size(); i++) {
453              dataSize += org.jetbrains.kotlin.protobuf.CodedOutputStream
454                .computeBytesSizeNoTag(string_.getByteString(i));
455            }
456            size += dataSize;
457            size += 1 * getStringList().size();
458          }
459          size += unknownFields.size();
460          memoizedSerializedSize = size;
461          return size;
462        }
463    
464        private static final long serialVersionUID = 0L;
465        @java.lang.Override
466        protected java.lang.Object writeReplace()
467            throws java.io.ObjectStreamException {
468          return super.writeReplace();
469        }
470    
471        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
472            org.jetbrains.kotlin.protobuf.ByteString data)
473            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
474          return PARSER.parseFrom(data);
475        }
476        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
477            org.jetbrains.kotlin.protobuf.ByteString data,
478            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
479            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
480          return PARSER.parseFrom(data, extensionRegistry);
481        }
482        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(byte[] data)
483            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
484          return PARSER.parseFrom(data);
485        }
486        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
487            byte[] data,
488            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
489            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
490          return PARSER.parseFrom(data, extensionRegistry);
491        }
492        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(java.io.InputStream input)
493            throws java.io.IOException {
494          return PARSER.parseFrom(input);
495        }
496        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
497            java.io.InputStream input,
498            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
499            throws java.io.IOException {
500          return PARSER.parseFrom(input, extensionRegistry);
501        }
502        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseDelimitedFrom(java.io.InputStream input)
503            throws java.io.IOException {
504          return PARSER.parseDelimitedFrom(input);
505        }
506        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseDelimitedFrom(
507            java.io.InputStream input,
508            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
509            throws java.io.IOException {
510          return PARSER.parseDelimitedFrom(input, extensionRegistry);
511        }
512        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
513            org.jetbrains.kotlin.protobuf.CodedInputStream input)
514            throws java.io.IOException {
515          return PARSER.parseFrom(input);
516        }
517        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
518            org.jetbrains.kotlin.protobuf.CodedInputStream input,
519            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
520            throws java.io.IOException {
521          return PARSER.parseFrom(input, extensionRegistry);
522        }
523    
524        public static Builder newBuilder() { return Builder.create(); }
525        public Builder newBuilderForType() { return newBuilder(); }
526        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.StringTable prototype) {
527          return newBuilder().mergeFrom(prototype);
528        }
529        public Builder toBuilder() { return newBuilder(this); }
530    
531        /**
532         * Protobuf type {@code org.jetbrains.kotlin.serialization.StringTable}
533         */
534        public static final class Builder extends
535            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder<
536              org.jetbrains.kotlin.serialization.ProtoBuf.StringTable, Builder>
537            implements
538            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.StringTable)
539            org.jetbrains.kotlin.serialization.ProtoBuf.StringTableOrBuilder {
540          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.newBuilder()
541          private Builder() {
542            maybeForceBuilderInitialization();
543          }
544    
545          private void maybeForceBuilderInitialization() {
546          }
547          private static Builder create() {
548            return new Builder();
549          }
550    
551          public Builder clear() {
552            super.clear();
553            string_ = org.jetbrains.kotlin.protobuf.LazyStringArrayList.EMPTY;
554            bitField0_ = (bitField0_ & ~0x00000001);
555            return this;
556          }
557    
558          public Builder clone() {
559            return create().mergeFrom(buildPartial());
560          }
561    
562          public org.jetbrains.kotlin.serialization.ProtoBuf.StringTable getDefaultInstanceForType() {
563            return org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.getDefaultInstance();
564          }
565    
566          public org.jetbrains.kotlin.serialization.ProtoBuf.StringTable build() {
567            org.jetbrains.kotlin.serialization.ProtoBuf.StringTable result = buildPartial();
568            if (!result.isInitialized()) {
569              throw newUninitializedMessageException(result);
570            }
571            return result;
572          }
573    
574          public org.jetbrains.kotlin.serialization.ProtoBuf.StringTable buildPartial() {
575            org.jetbrains.kotlin.serialization.ProtoBuf.StringTable result = new org.jetbrains.kotlin.serialization.ProtoBuf.StringTable(this);
576            int from_bitField0_ = bitField0_;
577            if (((bitField0_ & 0x00000001) == 0x00000001)) {
578              string_ = string_.getUnmodifiableView();
579              bitField0_ = (bitField0_ & ~0x00000001);
580            }
581            result.string_ = string_;
582            return result;
583          }
584    
585          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.StringTable other) {
586            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.getDefaultInstance()) return this;
587            if (!other.string_.isEmpty()) {
588              if (string_.isEmpty()) {
589                string_ = other.string_;
590                bitField0_ = (bitField0_ & ~0x00000001);
591              } else {
592                ensureStringIsMutable();
593                string_.addAll(other.string_);
594              }
595              
596            }
597            setUnknownFields(
598                getUnknownFields().concat(other.unknownFields));
599            return this;
600          }
601    
602          public final boolean isInitialized() {
603            return true;
604          }
605    
606          public Builder mergeFrom(
607              org.jetbrains.kotlin.protobuf.CodedInputStream input,
608              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
609              throws java.io.IOException {
610            org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parsedMessage = null;
611            try {
612              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
613            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
614              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.StringTable) e.getUnfinishedMessage();
615              throw e;
616            } finally {
617              if (parsedMessage != null) {
618                mergeFrom(parsedMessage);
619              }
620            }
621            return this;
622          }
623          private int bitField0_;
624    
625          private org.jetbrains.kotlin.protobuf.LazyStringList string_ = org.jetbrains.kotlin.protobuf.LazyStringArrayList.EMPTY;
626          private void ensureStringIsMutable() {
627            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
628              string_ = new org.jetbrains.kotlin.protobuf.LazyStringArrayList(string_);
629              bitField0_ |= 0x00000001;
630             }
631          }
632          /**
633           * <code>repeated string string = 1;</code>
634           */
635          public org.jetbrains.kotlin.protobuf.ProtocolStringList
636              getStringList() {
637            return string_.getUnmodifiableView();
638          }
639          /**
640           * <code>repeated string string = 1;</code>
641           */
642          public int getStringCount() {
643            return string_.size();
644          }
645          /**
646           * <code>repeated string string = 1;</code>
647           */
648          public java.lang.String getString(int index) {
649            return string_.get(index);
650          }
651          /**
652           * <code>repeated string string = 1;</code>
653           */
654          public org.jetbrains.kotlin.protobuf.ByteString
655              getStringBytes(int index) {
656            return string_.getByteString(index);
657          }
658          /**
659           * <code>repeated string string = 1;</code>
660           */
661          public Builder setString(
662              int index, java.lang.String value) {
663            if (value == null) {
664        throw new NullPointerException();
665      }
666      ensureStringIsMutable();
667            string_.set(index, value);
668            
669            return this;
670          }
671          /**
672           * <code>repeated string string = 1;</code>
673           */
674          public Builder addString(
675              java.lang.String value) {
676            if (value == null) {
677        throw new NullPointerException();
678      }
679      ensureStringIsMutable();
680            string_.add(value);
681            
682            return this;
683          }
684          /**
685           * <code>repeated string string = 1;</code>
686           */
687          public Builder addAllString(
688              java.lang.Iterable<java.lang.String> values) {
689            ensureStringIsMutable();
690            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
691                values, string_);
692            
693            return this;
694          }
695          /**
696           * <code>repeated string string = 1;</code>
697           */
698          public Builder clearString() {
699            string_ = org.jetbrains.kotlin.protobuf.LazyStringArrayList.EMPTY;
700            bitField0_ = (bitField0_ & ~0x00000001);
701            
702            return this;
703          }
704          /**
705           * <code>repeated string string = 1;</code>
706           */
707          public Builder addStringBytes(
708              org.jetbrains.kotlin.protobuf.ByteString value) {
709            if (value == null) {
710        throw new NullPointerException();
711      }
712      ensureStringIsMutable();
713            string_.add(value);
714            
715            return this;
716          }
717    
718          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.StringTable)
719        }
720    
721        static {
722          defaultInstance = new StringTable(true);
723          defaultInstance.initFields();
724        }
725    
726        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.StringTable)
727      }
728    
729      public interface QualifiedNameTableOrBuilder extends
730          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.QualifiedNameTable)
731          org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
732    
733        /**
734         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
735         */
736        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> 
737            getQualifiedNameList();
738        /**
739         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
740         */
741        org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index);
742        /**
743         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
744         */
745        int getQualifiedNameCount();
746      }
747      /**
748       * Protobuf type {@code org.jetbrains.kotlin.serialization.QualifiedNameTable}
749       */
750      public static final class QualifiedNameTable extends
751          org.jetbrains.kotlin.protobuf.GeneratedMessageLite implements
752          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.QualifiedNameTable)
753          QualifiedNameTableOrBuilder {
754        // Use QualifiedNameTable.newBuilder() to construct.
755        private QualifiedNameTable(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) {
756          super(builder);
757          this.unknownFields = builder.getUnknownFields();
758        }
759        private QualifiedNameTable(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
760    
761        private static final QualifiedNameTable defaultInstance;
762        public static QualifiedNameTable getDefaultInstance() {
763          return defaultInstance;
764        }
765    
766        public QualifiedNameTable getDefaultInstanceForType() {
767          return defaultInstance;
768        }
769    
770        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
771        private QualifiedNameTable(
772            org.jetbrains.kotlin.protobuf.CodedInputStream input,
773            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
774            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
775          initFields();
776          int mutable_bitField0_ = 0;
777          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
778              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
779          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
780              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
781                  unknownFieldsOutput);
782          try {
783            boolean done = false;
784            while (!done) {
785              int tag = input.readTag();
786              switch (tag) {
787                case 0:
788                  done = true;
789                  break;
790                default: {
791                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
792                                         extensionRegistry, tag)) {
793                    done = true;
794                  }
795                  break;
796                }
797                case 10: {
798                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
799                    qualifiedName_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName>();
800                    mutable_bitField0_ |= 0x00000001;
801                  }
802                  qualifiedName_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.PARSER, extensionRegistry));
803                  break;
804                }
805              }
806            }
807          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
808            throw e.setUnfinishedMessage(this);
809          } catch (java.io.IOException e) {
810            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
811                e.getMessage()).setUnfinishedMessage(this);
812          } finally {
813            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
814              qualifiedName_ = java.util.Collections.unmodifiableList(qualifiedName_);
815            }
816            try {
817              unknownFieldsCodedOutput.flush();
818            } catch (java.io.IOException e) {
819            // Should not happen
820            } finally {
821              unknownFields = unknownFieldsOutput.toByteString();
822            }
823            makeExtensionsImmutable();
824          }
825        }
826        public static org.jetbrains.kotlin.protobuf.Parser<QualifiedNameTable> PARSER =
827            new org.jetbrains.kotlin.protobuf.AbstractParser<QualifiedNameTable>() {
828          public QualifiedNameTable parsePartialFrom(
829              org.jetbrains.kotlin.protobuf.CodedInputStream input,
830              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
831              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
832            return new QualifiedNameTable(input, extensionRegistry);
833          }
834        };
835    
836        @java.lang.Override
837        public org.jetbrains.kotlin.protobuf.Parser<QualifiedNameTable> getParserForType() {
838          return PARSER;
839        }
840    
841        public interface QualifiedNameOrBuilder extends
842            // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName)
843            org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
844    
845          /**
846           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
847           */
848          boolean hasParentQualifiedName();
849          /**
850           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
851           */
852          int getParentQualifiedName();
853    
854          /**
855           * <code>required int32 short_name = 2;</code>
856           *
857           * <pre>
858           * id in the StringTable
859           * </pre>
860           */
861          boolean hasShortName();
862          /**
863           * <code>required int32 short_name = 2;</code>
864           *
865           * <pre>
866           * id in the StringTable
867           * </pre>
868           */
869          int getShortName();
870    
871          /**
872           * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
873           */
874          boolean hasKind();
875          /**
876           * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
877           */
878          org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind();
879        }
880        /**
881         * Protobuf type {@code org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName}
882         */
883        public static final class QualifiedName extends
884            org.jetbrains.kotlin.protobuf.GeneratedMessageLite implements
885            // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName)
886            QualifiedNameOrBuilder {
887          // Use QualifiedName.newBuilder() to construct.
888          private QualifiedName(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) {
889            super(builder);
890            this.unknownFields = builder.getUnknownFields();
891          }
892          private QualifiedName(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
893    
894          private static final QualifiedName defaultInstance;
895          public static QualifiedName getDefaultInstance() {
896            return defaultInstance;
897          }
898    
899          public QualifiedName getDefaultInstanceForType() {
900            return defaultInstance;
901          }
902    
903          private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
904          private QualifiedName(
905              org.jetbrains.kotlin.protobuf.CodedInputStream input,
906              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
907              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
908            initFields();
909            int mutable_bitField0_ = 0;
910            org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
911                org.jetbrains.kotlin.protobuf.ByteString.newOutput();
912            org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
913                org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
914                    unknownFieldsOutput);
915            try {
916              boolean done = false;
917              while (!done) {
918                int tag = input.readTag();
919                switch (tag) {
920                  case 0:
921                    done = true;
922                    break;
923                  default: {
924                    if (!parseUnknownField(input, unknownFieldsCodedOutput,
925                                           extensionRegistry, tag)) {
926                      done = true;
927                    }
928                    break;
929                  }
930                  case 8: {
931                    bitField0_ |= 0x00000001;
932                    parentQualifiedName_ = input.readInt32();
933                    break;
934                  }
935                  case 16: {
936                    bitField0_ |= 0x00000002;
937                    shortName_ = input.readInt32();
938                    break;
939                  }
940                  case 24: {
941                    int rawValue = input.readEnum();
942                    org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind value = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.valueOf(rawValue);
943                    if (value == null) {
944                      unknownFieldsCodedOutput.writeRawVarint32(tag);
945                      unknownFieldsCodedOutput.writeRawVarint32(rawValue);
946                    } else {
947                      bitField0_ |= 0x00000004;
948                      kind_ = value;
949                    }
950                    break;
951                  }
952                }
953              }
954            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
955              throw e.setUnfinishedMessage(this);
956            } catch (java.io.IOException e) {
957              throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
958                  e.getMessage()).setUnfinishedMessage(this);
959            } finally {
960              try {
961                unknownFieldsCodedOutput.flush();
962              } catch (java.io.IOException e) {
963              // Should not happen
964              } finally {
965                unknownFields = unknownFieldsOutput.toByteString();
966              }
967              makeExtensionsImmutable();
968            }
969          }
970          public static org.jetbrains.kotlin.protobuf.Parser<QualifiedName> PARSER =
971              new org.jetbrains.kotlin.protobuf.AbstractParser<QualifiedName>() {
972            public QualifiedName parsePartialFrom(
973                org.jetbrains.kotlin.protobuf.CodedInputStream input,
974                org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
975                throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
976              return new QualifiedName(input, extensionRegistry);
977            }
978          };
979    
980          @java.lang.Override
981          public org.jetbrains.kotlin.protobuf.Parser<QualifiedName> getParserForType() {
982            return PARSER;
983          }
984    
985          /**
986           * Protobuf enum {@code org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind}
987           */
988          public enum Kind
989              implements org.jetbrains.kotlin.protobuf.Internal.EnumLite {
990            /**
991             * <code>CLASS = 0;</code>
992             */
993            CLASS(0, 0),
994            /**
995             * <code>PACKAGE = 1;</code>
996             */
997            PACKAGE(1, 1),
998            /**
999             * <code>LOCAL = 2;</code>
1000             */
1001            LOCAL(2, 2),
1002            ;
1003    
1004            /**
1005             * <code>CLASS = 0;</code>
1006             */
1007            public static final int CLASS_VALUE = 0;
1008            /**
1009             * <code>PACKAGE = 1;</code>
1010             */
1011            public static final int PACKAGE_VALUE = 1;
1012            /**
1013             * <code>LOCAL = 2;</code>
1014             */
1015            public static final int LOCAL_VALUE = 2;
1016    
1017    
1018            public final int getNumber() { return value; }
1019    
1020            public static Kind valueOf(int value) {
1021              switch (value) {
1022                case 0: return CLASS;
1023                case 1: return PACKAGE;
1024                case 2: return LOCAL;
1025                default: return null;
1026              }
1027            }
1028    
1029            public static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Kind>
1030                internalGetValueMap() {
1031              return internalValueMap;
1032            }
1033            private static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Kind>
1034                internalValueMap =
1035                  new org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Kind>() {
1036                    public Kind findValueByNumber(int number) {
1037                      return Kind.valueOf(number);
1038                    }
1039                  };
1040    
1041            private final int value;
1042    
1043            private Kind(int index, int value) {
1044              this.value = value;
1045            }
1046    
1047            // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind)
1048          }
1049    
1050          private int bitField0_;
1051          public static final int PARENT_QUALIFIED_NAME_FIELD_NUMBER = 1;
1052          private int parentQualifiedName_;
1053          /**
1054           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1055           */
1056          public boolean hasParentQualifiedName() {
1057            return ((bitField0_ & 0x00000001) == 0x00000001);
1058          }
1059          /**
1060           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1061           */
1062          public int getParentQualifiedName() {
1063            return parentQualifiedName_;
1064          }
1065    
1066          public static final int SHORT_NAME_FIELD_NUMBER = 2;
1067          private int shortName_;
1068          /**
1069           * <code>required int32 short_name = 2;</code>
1070           *
1071           * <pre>
1072           * id in the StringTable
1073           * </pre>
1074           */
1075          public boolean hasShortName() {
1076            return ((bitField0_ & 0x00000002) == 0x00000002);
1077          }
1078          /**
1079           * <code>required int32 short_name = 2;</code>
1080           *
1081           * <pre>
1082           * id in the StringTable
1083           * </pre>
1084           */
1085          public int getShortName() {
1086            return shortName_;
1087          }
1088    
1089          public static final int KIND_FIELD_NUMBER = 3;
1090          private org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind kind_;
1091          /**
1092           * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1093           */
1094          public boolean hasKind() {
1095            return ((bitField0_ & 0x00000004) == 0x00000004);
1096          }
1097          /**
1098           * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1099           */
1100          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind() {
1101            return kind_;
1102          }
1103    
1104          private void initFields() {
1105            parentQualifiedName_ = -1;
1106            shortName_ = 0;
1107            kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1108          }
1109          private byte memoizedIsInitialized = -1;
1110          public final boolean isInitialized() {
1111            byte isInitialized = memoizedIsInitialized;
1112            if (isInitialized == 1) return true;
1113            if (isInitialized == 0) return false;
1114    
1115            if (!hasShortName()) {
1116              memoizedIsInitialized = 0;
1117              return false;
1118            }
1119            memoizedIsInitialized = 1;
1120            return true;
1121          }
1122    
1123          public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
1124                              throws java.io.IOException {
1125            getSerializedSize();
1126            if (((bitField0_ & 0x00000001) == 0x00000001)) {
1127              output.writeInt32(1, parentQualifiedName_);
1128            }
1129            if (((bitField0_ & 0x00000002) == 0x00000002)) {
1130              output.writeInt32(2, shortName_);
1131            }
1132            if (((bitField0_ & 0x00000004) == 0x00000004)) {
1133              output.writeEnum(3, kind_.getNumber());
1134            }
1135            output.writeRawBytes(unknownFields);
1136          }
1137    
1138          private int memoizedSerializedSize = -1;
1139          public int getSerializedSize() {
1140            int size = memoizedSerializedSize;
1141            if (size != -1) return size;
1142    
1143            size = 0;
1144            if (((bitField0_ & 0x00000001) == 0x00000001)) {
1145              size += org.jetbrains.kotlin.protobuf.CodedOutputStream
1146                .computeInt32Size(1, parentQualifiedName_);
1147            }
1148            if (((bitField0_ & 0x00000002) == 0x00000002)) {
1149              size += org.jetbrains.kotlin.protobuf.CodedOutputStream
1150                .computeInt32Size(2, shortName_);
1151            }
1152            if (((bitField0_ & 0x00000004) == 0x00000004)) {
1153              size += org.jetbrains.kotlin.protobuf.CodedOutputStream
1154                .computeEnumSize(3, kind_.getNumber());
1155            }
1156            size += unknownFields.size();
1157            memoizedSerializedSize = size;
1158            return size;
1159          }
1160    
1161          private static final long serialVersionUID = 0L;
1162          @java.lang.Override
1163          protected java.lang.Object writeReplace()
1164              throws java.io.ObjectStreamException {
1165            return super.writeReplace();
1166          }
1167    
1168          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1169              org.jetbrains.kotlin.protobuf.ByteString data)
1170              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
1171            return PARSER.parseFrom(data);
1172          }
1173          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1174              org.jetbrains.kotlin.protobuf.ByteString data,
1175              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
1176              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
1177            return PARSER.parseFrom(data, extensionRegistry);
1178          }
1179          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(byte[] data)
1180              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
1181            return PARSER.parseFrom(data);
1182          }
1183          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1184              byte[] data,
1185              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
1186              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
1187            return PARSER.parseFrom(data, extensionRegistry);
1188          }
1189          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(java.io.InputStream input)
1190              throws java.io.IOException {
1191            return PARSER.parseFrom(input);
1192          }
1193          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1194              java.io.InputStream input,
1195              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
1196              throws java.io.IOException {
1197            return PARSER.parseFrom(input, extensionRegistry);
1198          }
1199          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseDelimitedFrom(java.io.InputStream input)
1200              throws java.io.IOException {
1201            return PARSER.parseDelimitedFrom(input);
1202          }
1203          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseDelimitedFrom(
1204              java.io.InputStream input,
1205              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
1206              throws java.io.IOException {
1207            return PARSER.parseDelimitedFrom(input, extensionRegistry);
1208          }
1209          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1210              org.jetbrains.kotlin.protobuf.CodedInputStream input)
1211              throws java.io.IOException {
1212            return PARSER.parseFrom(input);
1213          }
1214          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1215              org.jetbrains.kotlin.protobuf.CodedInputStream input,
1216              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
1217              throws java.io.IOException {
1218            return PARSER.parseFrom(input, extensionRegistry);
1219          }
1220    
1221          public static Builder newBuilder() { return Builder.create(); }
1222          public Builder newBuilderForType() { return newBuilder(); }
1223          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName prototype) {
1224            return newBuilder().mergeFrom(prototype);
1225          }
1226          public Builder toBuilder() { return newBuilder(this); }
1227    
1228          /**
1229           * Protobuf type {@code org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName}
1230           */
1231          public static final class Builder extends
1232              org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder<
1233                org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName, Builder>
1234              implements
1235              // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName)
1236              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder {
1237            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.newBuilder()
1238            private Builder() {
1239              maybeForceBuilderInitialization();
1240            }
1241    
1242            private void maybeForceBuilderInitialization() {
1243            }
1244            private static Builder create() {
1245              return new Builder();
1246            }
1247    
1248            public Builder clear() {
1249              super.clear();
1250              parentQualifiedName_ = -1;
1251              bitField0_ = (bitField0_ & ~0x00000001);
1252              shortName_ = 0;
1253              bitField0_ = (bitField0_ & ~0x00000002);
1254              kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1255              bitField0_ = (bitField0_ & ~0x00000004);
1256              return this;
1257            }
1258    
1259            public Builder clone() {
1260              return create().mergeFrom(buildPartial());
1261            }
1262    
1263            public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getDefaultInstanceForType() {
1264              return org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.getDefaultInstance();
1265            }
1266    
1267            public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName build() {
1268              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName result = buildPartial();
1269              if (!result.isInitialized()) {
1270                throw newUninitializedMessageException(result);
1271              }
1272              return result;
1273            }
1274    
1275            public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName buildPartial() {
1276              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName result = new org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName(this);
1277              int from_bitField0_ = bitField0_;
1278              int to_bitField0_ = 0;
1279              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
1280                to_bitField0_ |= 0x00000001;
1281              }
1282              result.parentQualifiedName_ = parentQualifiedName_;
1283              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
1284                to_bitField0_ |= 0x00000002;
1285              }
1286              result.shortName_ = shortName_;
1287              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
1288                to_bitField0_ |= 0x00000004;
1289              }
1290              result.kind_ = kind_;
1291              result.bitField0_ = to_bitField0_;
1292              return result;
1293            }
1294    
1295            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName other) {
1296              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.getDefaultInstance()) return this;
1297              if (other.hasParentQualifiedName()) {
1298                setParentQualifiedName(other.getParentQualifiedName());
1299              }
1300              if (other.hasShortName()) {
1301                setShortName(other.getShortName());
1302              }
1303              if (other.hasKind()) {
1304                setKind(other.getKind());
1305              }
1306              setUnknownFields(
1307                  getUnknownFields().concat(other.unknownFields));
1308              return this;
1309            }
1310    
1311            public final boolean isInitialized() {
1312              if (!hasShortName()) {
1313                
1314                return false;
1315              }
1316              return true;
1317            }
1318    
1319            public Builder mergeFrom(
1320                org.jetbrains.kotlin.protobuf.CodedInputStream input,
1321                org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
1322                throws java.io.IOException {
1323              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parsedMessage = null;
1324              try {
1325                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1326              } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
1327                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName) e.getUnfinishedMessage();
1328                throw e;
1329              } finally {
1330                if (parsedMessage != null) {
1331                  mergeFrom(parsedMessage);
1332                }
1333              }
1334              return this;
1335            }
1336            private int bitField0_;
1337    
1338            private int parentQualifiedName_ = -1;
1339            /**
1340             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1341             */
1342            public boolean hasParentQualifiedName() {
1343              return ((bitField0_ & 0x00000001) == 0x00000001);
1344            }
1345            /**
1346             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1347             */
1348            public int getParentQualifiedName() {
1349              return parentQualifiedName_;
1350            }
1351            /**
1352             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1353             */
1354            public Builder setParentQualifiedName(int value) {
1355              bitField0_ |= 0x00000001;
1356              parentQualifiedName_ = value;
1357              
1358              return this;
1359            }
1360            /**
1361             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1362             */
1363            public Builder clearParentQualifiedName() {
1364              bitField0_ = (bitField0_ & ~0x00000001);
1365              parentQualifiedName_ = -1;
1366              
1367              return this;
1368            }
1369    
1370            private int shortName_ ;
1371            /**
1372             * <code>required int32 short_name = 2;</code>
1373             *
1374             * <pre>
1375             * id in the StringTable
1376             * </pre>
1377             */
1378            public boolean hasShortName() {
1379              return ((bitField0_ & 0x00000002) == 0x00000002);
1380            }
1381            /**
1382             * <code>required int32 short_name = 2;</code>
1383             *
1384             * <pre>
1385             * id in the StringTable
1386             * </pre>
1387             */
1388            public int getShortName() {
1389              return shortName_;
1390            }
1391            /**
1392             * <code>required int32 short_name = 2;</code>
1393             *
1394             * <pre>
1395             * id in the StringTable
1396             * </pre>
1397             */
1398            public Builder setShortName(int value) {
1399              bitField0_ |= 0x00000002;
1400              shortName_ = value;
1401              
1402              return this;
1403            }
1404            /**
1405             * <code>required int32 short_name = 2;</code>
1406             *
1407             * <pre>
1408             * id in the StringTable
1409             * </pre>
1410             */
1411            public Builder clearShortName() {
1412              bitField0_ = (bitField0_ & ~0x00000002);
1413              shortName_ = 0;
1414              
1415              return this;
1416            }
1417    
1418            private org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1419            /**
1420             * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1421             */
1422            public boolean hasKind() {
1423              return ((bitField0_ & 0x00000004) == 0x00000004);
1424            }
1425            /**
1426             * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1427             */
1428            public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind() {
1429              return kind_;
1430            }
1431            /**
1432             * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1433             */
1434            public Builder setKind(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind value) {
1435              if (value == null) {
1436                throw new NullPointerException();
1437              }
1438              bitField0_ |= 0x00000004;
1439              kind_ = value;
1440              
1441              return this;
1442            }
1443            /**
1444             * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1445             */
1446            public Builder clearKind() {
1447              bitField0_ = (bitField0_ & ~0x00000004);
1448              kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1449              
1450              return this;
1451            }
1452    
1453            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName)
1454          }
1455    
1456          static {
1457            defaultInstance = new QualifiedName(true);
1458            defaultInstance.initFields();
1459          }
1460    
1461          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName)
1462        }
1463    
1464        public static final int QUALIFIED_NAME_FIELD_NUMBER = 1;
1465        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> qualifiedName_;
1466        /**
1467         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1468         */
1469        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> getQualifiedNameList() {
1470          return qualifiedName_;
1471        }
1472        /**
1473         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1474         */
1475        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder> 
1476            getQualifiedNameOrBuilderList() {
1477          return qualifiedName_;
1478        }
1479        /**
1480         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1481         */
1482        public int getQualifiedNameCount() {
1483          return qualifiedName_.size();
1484        }
1485        /**
1486         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1487         */
1488        public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index) {
1489          return qualifiedName_.get(index);
1490        }
1491        /**
1492         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1493         */
1494        public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder getQualifiedNameOrBuilder(
1495            int index) {
1496          return qualifiedName_.get(index);
1497        }
1498    
1499        private void initFields() {
1500          qualifiedName_ = java.util.Collections.emptyList();
1501        }
1502        private byte memoizedIsInitialized = -1;
1503        public final boolean isInitialized() {
1504          byte isInitialized = memoizedIsInitialized;
1505          if (isInitialized == 1) return true;
1506          if (isInitialized == 0) return false;
1507    
1508          for (int i = 0; i < getQualifiedNameCount(); i++) {
1509            if (!getQualifiedName(i).isInitialized()) {
1510              memoizedIsInitialized = 0;
1511              return false;
1512            }
1513          }
1514          memoizedIsInitialized = 1;
1515          return true;
1516        }
1517    
1518        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
1519                            throws java.io.IOException {
1520          getSerializedSize();
1521          for (int i = 0; i < qualifiedName_.size(); i++) {
1522            output.writeMessage(1, qualifiedName_.get(i));
1523          }
1524          output.writeRawBytes(unknownFields);
1525        }
1526    
1527        private int memoizedSerializedSize = -1;
1528        public int getSerializedSize() {
1529          int size = memoizedSerializedSize;
1530          if (size != -1) return size;
1531    
1532          size = 0;
1533          for (int i = 0; i < qualifiedName_.size(); i++) {
1534            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
1535              .computeMessageSize(1, qualifiedName_.get(i));
1536          }
1537          size += unknownFields.size();
1538          memoizedSerializedSize = size;
1539          return size;
1540        }
1541    
1542        private static final long serialVersionUID = 0L;
1543        @java.lang.Override
1544        protected java.lang.Object writeReplace()
1545            throws java.io.ObjectStreamException {
1546          return super.writeReplace();
1547        }
1548    
1549        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1550            org.jetbrains.kotlin.protobuf.ByteString data)
1551            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
1552          return PARSER.parseFrom(data);
1553        }
1554        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1555            org.jetbrains.kotlin.protobuf.ByteString data,
1556            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
1557            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
1558          return PARSER.parseFrom(data, extensionRegistry);
1559        }
1560        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(byte[] data)
1561            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
1562          return PARSER.parseFrom(data);
1563        }
1564        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1565            byte[] data,
1566            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
1567            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
1568          return PARSER.parseFrom(data, extensionRegistry);
1569        }
1570        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(java.io.InputStream input)
1571            throws java.io.IOException {
1572          return PARSER.parseFrom(input);
1573        }
1574        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1575            java.io.InputStream input,
1576            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
1577            throws java.io.IOException {
1578          return PARSER.parseFrom(input, extensionRegistry);
1579        }
1580        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseDelimitedFrom(java.io.InputStream input)
1581            throws java.io.IOException {
1582          return PARSER.parseDelimitedFrom(input);
1583        }
1584        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseDelimitedFrom(
1585            java.io.InputStream input,
1586            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
1587            throws java.io.IOException {
1588          return PARSER.parseDelimitedFrom(input, extensionRegistry);
1589        }
1590        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1591            org.jetbrains.kotlin.protobuf.CodedInputStream input)
1592            throws java.io.IOException {
1593          return PARSER.parseFrom(input);
1594        }
1595        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1596            org.jetbrains.kotlin.protobuf.CodedInputStream input,
1597            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
1598            throws java.io.IOException {
1599          return PARSER.parseFrom(input, extensionRegistry);
1600        }
1601    
1602        public static Builder newBuilder() { return Builder.create(); }
1603        public Builder newBuilderForType() { return newBuilder(); }
1604        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable prototype) {
1605          return newBuilder().mergeFrom(prototype);
1606        }
1607        public Builder toBuilder() { return newBuilder(this); }
1608    
1609        /**
1610         * Protobuf type {@code org.jetbrains.kotlin.serialization.QualifiedNameTable}
1611         */
1612        public static final class Builder extends
1613            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder<
1614              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable, Builder>
1615            implements
1616            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.QualifiedNameTable)
1617            org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTableOrBuilder {
1618          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.newBuilder()
1619          private Builder() {
1620            maybeForceBuilderInitialization();
1621          }
1622    
1623          private void maybeForceBuilderInitialization() {
1624          }
1625          private static Builder create() {
1626            return new Builder();
1627          }
1628    
1629          public Builder clear() {
1630            super.clear();
1631            qualifiedName_ = java.util.Collections.emptyList();
1632            bitField0_ = (bitField0_ & ~0x00000001);
1633            return this;
1634          }
1635    
1636          public Builder clone() {
1637            return create().mergeFrom(buildPartial());
1638          }
1639    
1640          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable getDefaultInstanceForType() {
1641            return org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance();
1642          }
1643    
1644          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable build() {
1645            org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable result = buildPartial();
1646            if (!result.isInitialized()) {
1647              throw newUninitializedMessageException(result);
1648            }
1649            return result;
1650          }
1651    
1652          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable buildPartial() {
1653            org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable result = new org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable(this);
1654            int from_bitField0_ = bitField0_;
1655            if (((bitField0_ & 0x00000001) == 0x00000001)) {
1656              qualifiedName_ = java.util.Collections.unmodifiableList(qualifiedName_);
1657              bitField0_ = (bitField0_ & ~0x00000001);
1658            }
1659            result.qualifiedName_ = qualifiedName_;
1660            return result;
1661          }
1662    
1663          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable other) {
1664            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance()) return this;
1665            if (!other.qualifiedName_.isEmpty()) {
1666              if (qualifiedName_.isEmpty()) {
1667                qualifiedName_ = other.qualifiedName_;
1668                bitField0_ = (bitField0_ & ~0x00000001);
1669              } else {
1670                ensureQualifiedNameIsMutable();
1671                qualifiedName_.addAll(other.qualifiedName_);
1672              }
1673              
1674            }
1675            setUnknownFields(
1676                getUnknownFields().concat(other.unknownFields));
1677            return this;
1678          }
1679    
1680          public final boolean isInitialized() {
1681            for (int i = 0; i < getQualifiedNameCount(); i++) {
1682              if (!getQualifiedName(i).isInitialized()) {
1683                
1684                return false;
1685              }
1686            }
1687            return true;
1688          }
1689    
1690          public Builder mergeFrom(
1691              org.jetbrains.kotlin.protobuf.CodedInputStream input,
1692              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
1693              throws java.io.IOException {
1694            org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parsedMessage = null;
1695            try {
1696              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1697            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
1698              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable) e.getUnfinishedMessage();
1699              throw e;
1700            } finally {
1701              if (parsedMessage != null) {
1702                mergeFrom(parsedMessage);
1703              }
1704            }
1705            return this;
1706          }
1707          private int bitField0_;
1708    
1709          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> qualifiedName_ =
1710            java.util.Collections.emptyList();
1711          private void ensureQualifiedNameIsMutable() {
1712            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
1713              qualifiedName_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName>(qualifiedName_);
1714              bitField0_ |= 0x00000001;
1715             }
1716          }
1717    
1718          /**
1719           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1720           */
1721          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> getQualifiedNameList() {
1722            return java.util.Collections.unmodifiableList(qualifiedName_);
1723          }
1724          /**
1725           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1726           */
1727          public int getQualifiedNameCount() {
1728            return qualifiedName_.size();
1729          }
1730          /**
1731           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1732           */
1733          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index) {
1734            return qualifiedName_.get(index);
1735          }
1736          /**
1737           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1738           */
1739          public Builder setQualifiedName(
1740              int index, org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1741            if (value == null) {
1742              throw new NullPointerException();
1743            }
1744            ensureQualifiedNameIsMutable();
1745            qualifiedName_.set(index, value);
1746    
1747            return this;
1748          }
1749          /**
1750           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1751           */
1752          public Builder setQualifiedName(
1753              int index, org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1754            ensureQualifiedNameIsMutable();
1755            qualifiedName_.set(index, builderForValue.build());
1756    
1757            return this;
1758          }
1759          /**
1760           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1761           */
1762          public Builder addQualifiedName(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1763            if (value == null) {
1764              throw new NullPointerException();
1765            }
1766            ensureQualifiedNameIsMutable();
1767            qualifiedName_.add(value);
1768    
1769            return this;
1770          }
1771          /**
1772           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1773           */
1774          public Builder addQualifiedName(
1775              int index, org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1776            if (value == null) {
1777              throw new NullPointerException();
1778            }
1779            ensureQualifiedNameIsMutable();
1780            qualifiedName_.add(index, value);
1781    
1782            return this;
1783          }
1784          /**
1785           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1786           */
1787          public Builder addQualifiedName(
1788              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1789            ensureQualifiedNameIsMutable();
1790            qualifiedName_.add(builderForValue.build());
1791    
1792            return this;
1793          }
1794          /**
1795           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1796           */
1797          public Builder addQualifiedName(
1798              int index, org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1799            ensureQualifiedNameIsMutable();
1800            qualifiedName_.add(index, builderForValue.build());
1801    
1802            return this;
1803          }
1804          /**
1805           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1806           */
1807          public Builder addAllQualifiedName(
1808              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> values) {
1809            ensureQualifiedNameIsMutable();
1810            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
1811                values, qualifiedName_);
1812    
1813            return this;
1814          }
1815          /**
1816           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1817           */
1818          public Builder clearQualifiedName() {
1819            qualifiedName_ = java.util.Collections.emptyList();
1820            bitField0_ = (bitField0_ & ~0x00000001);
1821    
1822            return this;
1823          }
1824          /**
1825           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1826           */
1827          public Builder removeQualifiedName(int index) {
1828            ensureQualifiedNameIsMutable();
1829            qualifiedName_.remove(index);
1830    
1831            return this;
1832          }
1833    
1834          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable)
1835        }
1836    
1837        static {
1838          defaultInstance = new QualifiedNameTable(true);
1839          defaultInstance.initFields();
1840        }
1841    
1842        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable)
1843      }
1844    
1845      public interface AnnotationOrBuilder extends
1846          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.Annotation)
1847          org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
1848    
1849        /**
1850         * <code>required int32 id = 1;</code>
1851         */
1852        boolean hasId();
1853        /**
1854         * <code>required int32 id = 1;</code>
1855         */
1856        int getId();
1857    
1858        /**
1859         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
1860         */
1861        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> 
1862            getArgumentList();
1863        /**
1864         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
1865         */
1866        org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument getArgument(int index);
1867        /**
1868         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
1869         */
1870        int getArgumentCount();
1871      }
1872      /**
1873       * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation}
1874       */
1875      public static final class Annotation extends
1876          org.jetbrains.kotlin.protobuf.GeneratedMessageLite implements
1877          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Annotation)
1878          AnnotationOrBuilder {
1879        // Use Annotation.newBuilder() to construct.
1880        private Annotation(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) {
1881          super(builder);
1882          this.unknownFields = builder.getUnknownFields();
1883        }
1884        private Annotation(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
1885    
1886        private static final Annotation defaultInstance;
1887        public static Annotation getDefaultInstance() {
1888          return defaultInstance;
1889        }
1890    
1891        public Annotation getDefaultInstanceForType() {
1892          return defaultInstance;
1893        }
1894    
1895        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
1896        private Annotation(
1897            org.jetbrains.kotlin.protobuf.CodedInputStream input,
1898            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
1899            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
1900          initFields();
1901          int mutable_bitField0_ = 0;
1902          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
1903              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
1904          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
1905              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
1906                  unknownFieldsOutput);
1907          try {
1908            boolean done = false;
1909            while (!done) {
1910              int tag = input.readTag();
1911              switch (tag) {
1912                case 0:
1913                  done = true;
1914                  break;
1915                default: {
1916                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
1917                                         extensionRegistry, tag)) {
1918                    done = true;
1919                  }
1920                  break;
1921                }
1922                case 8: {
1923                  bitField0_ |= 0x00000001;
1924                  id_ = input.readInt32();
1925                  break;
1926                }
1927                case 18: {
1928                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
1929                    argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument>();
1930                    mutable_bitField0_ |= 0x00000002;
1931                  }
1932                  argument_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.PARSER, extensionRegistry));
1933                  break;
1934                }
1935              }
1936            }
1937          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
1938            throw e.setUnfinishedMessage(this);
1939          } catch (java.io.IOException e) {
1940            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
1941                e.getMessage()).setUnfinishedMessage(this);
1942          } finally {
1943            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
1944              argument_ = java.util.Collections.unmodifiableList(argument_);
1945            }
1946            try {
1947              unknownFieldsCodedOutput.flush();
1948            } catch (java.io.IOException e) {
1949            // Should not happen
1950            } finally {
1951              unknownFields = unknownFieldsOutput.toByteString();
1952            }
1953            makeExtensionsImmutable();
1954          }
1955        }
1956        public static org.jetbrains.kotlin.protobuf.Parser<Annotation> PARSER =
1957            new org.jetbrains.kotlin.protobuf.AbstractParser<Annotation>() {
1958          public Annotation parsePartialFrom(
1959              org.jetbrains.kotlin.protobuf.CodedInputStream input,
1960              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
1961              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
1962            return new Annotation(input, extensionRegistry);
1963          }
1964        };
1965    
1966        @java.lang.Override
1967        public org.jetbrains.kotlin.protobuf.Parser<Annotation> getParserForType() {
1968          return PARSER;
1969        }
1970    
1971        public interface ArgumentOrBuilder extends
1972            // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.Annotation.Argument)
1973            org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
1974    
1975          /**
1976           * <code>required int32 name_id = 1;</code>
1977           */
1978          boolean hasNameId();
1979          /**
1980           * <code>required int32 name_id = 1;</code>
1981           */
1982          int getNameId();
1983    
1984          /**
1985           * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
1986           */
1987          boolean hasValue();
1988          /**
1989           * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
1990           */
1991          org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getValue();
1992        }
1993        /**
1994         * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation.Argument}
1995         */
1996        public static final class Argument extends
1997            org.jetbrains.kotlin.protobuf.GeneratedMessageLite implements
1998            // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Annotation.Argument)
1999            ArgumentOrBuilder {
2000          // Use Argument.newBuilder() to construct.
2001          private Argument(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) {
2002            super(builder);
2003            this.unknownFields = builder.getUnknownFields();
2004          }
2005          private Argument(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
2006    
2007          private static final Argument defaultInstance;
2008          public static Argument getDefaultInstance() {
2009            return defaultInstance;
2010          }
2011    
2012          public Argument getDefaultInstanceForType() {
2013            return defaultInstance;
2014          }
2015    
2016          private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
2017          private Argument(
2018              org.jetbrains.kotlin.protobuf.CodedInputStream input,
2019              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
2020              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
2021            initFields();
2022            int mutable_bitField0_ = 0;
2023            org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
2024                org.jetbrains.kotlin.protobuf.ByteString.newOutput();
2025            org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
2026                org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
2027                    unknownFieldsOutput);
2028            try {
2029              boolean done = false;
2030              while (!done) {
2031                int tag = input.readTag();
2032                switch (tag) {
2033                  case 0:
2034                    done = true;
2035                    break;
2036                  default: {
2037                    if (!parseUnknownField(input, unknownFieldsCodedOutput,
2038                                           extensionRegistry, tag)) {
2039                      done = true;
2040                    }
2041                    break;
2042                  }
2043                  case 8: {
2044                    bitField0_ |= 0x00000001;
2045                    nameId_ = input.readInt32();
2046                    break;
2047                  }
2048                  case 18: {
2049                    org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder subBuilder = null;
2050                    if (((bitField0_ & 0x00000002) == 0x00000002)) {
2051                      subBuilder = value_.toBuilder();
2052                    }
2053                    value_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.PARSER, extensionRegistry);
2054                    if (subBuilder != null) {
2055                      subBuilder.mergeFrom(value_);
2056                      value_ = subBuilder.buildPartial();
2057                    }
2058                    bitField0_ |= 0x00000002;
2059                    break;
2060                  }
2061                }
2062              }
2063            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
2064              throw e.setUnfinishedMessage(this);
2065            } catch (java.io.IOException e) {
2066              throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
2067                  e.getMessage()).setUnfinishedMessage(this);
2068            } finally {
2069              try {
2070                unknownFieldsCodedOutput.flush();
2071              } catch (java.io.IOException e) {
2072              // Should not happen
2073              } finally {
2074                unknownFields = unknownFieldsOutput.toByteString();
2075              }
2076              makeExtensionsImmutable();
2077            }
2078          }
2079          public static org.jetbrains.kotlin.protobuf.Parser<Argument> PARSER =
2080              new org.jetbrains.kotlin.protobuf.AbstractParser<Argument>() {
2081            public Argument parsePartialFrom(
2082                org.jetbrains.kotlin.protobuf.CodedInputStream input,
2083                org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
2084                throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
2085              return new Argument(input, extensionRegistry);
2086            }
2087          };
2088    
2089          @java.lang.Override
2090          public org.jetbrains.kotlin.protobuf.Parser<Argument> getParserForType() {
2091            return PARSER;
2092          }
2093    
2094          public interface ValueOrBuilder extends
2095              // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.Annotation.Argument.Value)
2096              org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
2097    
2098            /**
2099             * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2100             *
2101             * <pre>
2102             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2103             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2104             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2105             * </pre>
2106             */
2107            boolean hasType();
2108            /**
2109             * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2110             *
2111             * <pre>
2112             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2113             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2114             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2115             * </pre>
2116             */
2117            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type getType();
2118    
2119            /**
2120             * <code>optional sint64 int_value = 2;</code>
2121             */
2122            boolean hasIntValue();
2123            /**
2124             * <code>optional sint64 int_value = 2;</code>
2125             */
2126            long getIntValue();
2127    
2128            /**
2129             * <code>optional float float_value = 3;</code>
2130             */
2131            boolean hasFloatValue();
2132            /**
2133             * <code>optional float float_value = 3;</code>
2134             */
2135            float getFloatValue();
2136    
2137            /**
2138             * <code>optional double double_value = 4;</code>
2139             */
2140            boolean hasDoubleValue();
2141            /**
2142             * <code>optional double double_value = 4;</code>
2143             */
2144            double getDoubleValue();
2145    
2146            /**
2147             * <code>optional int32 string_value = 5;</code>
2148             */
2149            boolean hasStringValue();
2150            /**
2151             * <code>optional int32 string_value = 5;</code>
2152             */
2153            int getStringValue();
2154    
2155            /**
2156             * <code>optional int32 class_id = 6;</code>
2157             *
2158             * <pre>
2159             * If type = CLASS, FQ name of the referenced class; if type = ENUM, FQ name of the enum class
2160             * </pre>
2161             */
2162            boolean hasClassId();
2163            /**
2164             * <code>optional int32 class_id = 6;</code>
2165             *
2166             * <pre>
2167             * If type = CLASS, FQ name of the referenced class; if type = ENUM, FQ name of the enum class
2168             * </pre>
2169             */
2170            int getClassId();
2171    
2172            /**
2173             * <code>optional int32 enum_value_id = 7;</code>
2174             */
2175            boolean hasEnumValueId();
2176            /**
2177             * <code>optional int32 enum_value_id = 7;</code>
2178             */
2179            int getEnumValueId();
2180    
2181            /**
2182             * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
2183             */
2184            boolean hasAnnotation();
2185            /**
2186             * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
2187             */
2188            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getAnnotation();
2189    
2190            /**
2191             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2192             */
2193            java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> 
2194                getArrayElementList();
2195            /**
2196             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2197             */
2198            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getArrayElement(int index);
2199            /**
2200             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2201             */
2202            int getArrayElementCount();
2203          }
2204          /**
2205           * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation.Argument.Value}
2206           */
2207          public static final class Value extends
2208              org.jetbrains.kotlin.protobuf.GeneratedMessageLite implements
2209              // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Annotation.Argument.Value)
2210              ValueOrBuilder {
2211            // Use Value.newBuilder() to construct.
2212            private Value(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) {
2213              super(builder);
2214              this.unknownFields = builder.getUnknownFields();
2215            }
2216            private Value(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
2217    
2218            private static final Value defaultInstance;
2219            public static Value getDefaultInstance() {
2220              return defaultInstance;
2221            }
2222    
2223            public Value getDefaultInstanceForType() {
2224              return defaultInstance;
2225            }
2226    
2227            private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
2228            private Value(
2229                org.jetbrains.kotlin.protobuf.CodedInputStream input,
2230                org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
2231                throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
2232              initFields();
2233              int mutable_bitField0_ = 0;
2234              org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
2235                  org.jetbrains.kotlin.protobuf.ByteString.newOutput();
2236              org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
2237                  org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
2238                      unknownFieldsOutput);
2239              try {
2240                boolean done = false;
2241                while (!done) {
2242                  int tag = input.readTag();
2243                  switch (tag) {
2244                    case 0:
2245                      done = true;
2246                      break;
2247                    default: {
2248                      if (!parseUnknownField(input, unknownFieldsCodedOutput,
2249                                             extensionRegistry, tag)) {
2250                        done = true;
2251                      }
2252                      break;
2253                    }
2254                    case 8: {
2255                      int rawValue = input.readEnum();
2256                      org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type value = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.valueOf(rawValue);
2257                      if (value == null) {
2258                        unknownFieldsCodedOutput.writeRawVarint32(tag);
2259                        unknownFieldsCodedOutput.writeRawVarint32(rawValue);
2260                      } else {
2261                        bitField0_ |= 0x00000001;
2262                        type_ = value;
2263                      }
2264                      break;
2265                    }
2266                    case 16: {
2267                      bitField0_ |= 0x00000002;
2268                      intValue_ = input.readSInt64();
2269                      break;
2270                    }
2271                    case 29: {
2272                      bitField0_ |= 0x00000004;
2273                      floatValue_ = input.readFloat();
2274                      break;
2275                    }
2276                    case 33: {
2277                      bitField0_ |= 0x00000008;
2278                      doubleValue_ = input.readDouble();
2279                      break;
2280                    }
2281                    case 40: {
2282                      bitField0_ |= 0x00000010;
2283                      stringValue_ = input.readInt32();
2284                      break;
2285                    }
2286                    case 48: {
2287                      bitField0_ |= 0x00000020;
2288                      classId_ = input.readInt32();
2289                      break;
2290                    }
2291                    case 56: {
2292                      bitField0_ |= 0x00000040;
2293                      enumValueId_ = input.readInt32();
2294                      break;
2295                    }
2296                    case 66: {
2297                      org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Builder subBuilder = null;
2298                      if (((bitField0_ & 0x00000080) == 0x00000080)) {
2299                        subBuilder = annotation_.toBuilder();
2300                      }
2301                      annotation_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.PARSER, extensionRegistry);
2302                      if (subBuilder != null) {
2303                        subBuilder.mergeFrom(annotation_);
2304                        annotation_ = subBuilder.buildPartial();
2305                      }
2306                      bitField0_ |= 0x00000080;
2307                      break;
2308                    }
2309                    case 74: {
2310                      if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
2311                        arrayElement_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value>();
2312                        mutable_bitField0_ |= 0x00000100;
2313                      }
2314                      arrayElement_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.PARSER, extensionRegistry));
2315                      break;
2316                    }
2317                  }
2318                }
2319              } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
2320                throw e.setUnfinishedMessage(this);
2321              } catch (java.io.IOException e) {
2322                throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
2323                    e.getMessage()).setUnfinishedMessage(this);
2324              } finally {
2325                if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
2326                  arrayElement_ = java.util.Collections.unmodifiableList(arrayElement_);
2327                }
2328                try {
2329                  unknownFieldsCodedOutput.flush();
2330                } catch (java.io.IOException e) {
2331                // Should not happen
2332                } finally {
2333                  unknownFields = unknownFieldsOutput.toByteString();
2334                }
2335                makeExtensionsImmutable();
2336              }
2337            }
2338            public static org.jetbrains.kotlin.protobuf.Parser<Value> PARSER =
2339                new org.jetbrains.kotlin.protobuf.AbstractParser<Value>() {
2340              public Value parsePartialFrom(
2341                  org.jetbrains.kotlin.protobuf.CodedInputStream input,
2342                  org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
2343                  throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
2344                return new Value(input, extensionRegistry);
2345              }
2346            };
2347    
2348            @java.lang.Override
2349            public org.jetbrains.kotlin.protobuf.Parser<Value> getParserForType() {
2350              return PARSER;
2351            }
2352    
2353            /**
2354             * Protobuf enum {@code org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type}
2355             */
2356            public enum Type
2357                implements org.jetbrains.kotlin.protobuf.Internal.EnumLite {
2358              /**
2359               * <code>BYTE = 0;</code>
2360               */
2361              BYTE(0, 0),
2362              /**
2363               * <code>CHAR = 1;</code>
2364               */
2365              CHAR(1, 1),
2366              /**
2367               * <code>SHORT = 2;</code>
2368               */
2369              SHORT(2, 2),
2370              /**
2371               * <code>INT = 3;</code>
2372               */
2373              INT(3, 3),
2374              /**
2375               * <code>LONG = 4;</code>
2376               */
2377              LONG(4, 4),
2378              /**
2379               * <code>FLOAT = 5;</code>
2380               */
2381              FLOAT(5, 5),
2382              /**
2383               * <code>DOUBLE = 6;</code>
2384               */
2385              DOUBLE(6, 6),
2386              /**
2387               * <code>BOOLEAN = 7;</code>
2388               */
2389              BOOLEAN(7, 7),
2390              /**
2391               * <code>STRING = 8;</code>
2392               */
2393              STRING(8, 8),
2394              /**
2395               * <code>CLASS = 9;</code>
2396               */
2397              CLASS(9, 9),
2398              /**
2399               * <code>ENUM = 10;</code>
2400               */
2401              ENUM(10, 10),
2402              /**
2403               * <code>ANNOTATION = 11;</code>
2404               */
2405              ANNOTATION(11, 11),
2406              /**
2407               * <code>ARRAY = 12;</code>
2408               */
2409              ARRAY(12, 12),
2410              ;
2411    
2412              /**
2413               * <code>BYTE = 0;</code>
2414               */
2415              public static final int BYTE_VALUE = 0;
2416              /**
2417               * <code>CHAR = 1;</code>
2418               */
2419              public static final int CHAR_VALUE = 1;
2420              /**
2421               * <code>SHORT = 2;</code>
2422               */
2423              public static final int SHORT_VALUE = 2;
2424              /**
2425               * <code>INT = 3;</code>
2426               */
2427              public static final int INT_VALUE = 3;
2428              /**
2429               * <code>LONG = 4;</code>
2430               */
2431              public static final int LONG_VALUE = 4;
2432              /**
2433               * <code>FLOAT = 5;</code>
2434               */
2435              public static final int FLOAT_VALUE = 5;
2436              /**
2437               * <code>DOUBLE = 6;</code>
2438               */
2439              public static final int DOUBLE_VALUE = 6;
2440              /**
2441               * <code>BOOLEAN = 7;</code>
2442               */
2443              public static final int BOOLEAN_VALUE = 7;
2444              /**
2445               * <code>STRING = 8;</code>
2446               */
2447              public static final int STRING_VALUE = 8;
2448              /**
2449               * <code>CLASS = 9;</code>
2450               */
2451              public static final int CLASS_VALUE = 9;
2452              /**
2453               * <code>ENUM = 10;</code>
2454               */
2455              public static final int ENUM_VALUE = 10;
2456              /**
2457               * <code>ANNOTATION = 11;</code>
2458               */
2459              public static final int ANNOTATION_VALUE = 11;
2460              /**
2461               * <code>ARRAY = 12;</code>
2462               */
2463              public static final int ARRAY_VALUE = 12;
2464    
2465    
2466              public final int getNumber() { return value; }
2467    
2468              public static Type valueOf(int value) {
2469                switch (value) {
2470                  case 0: return BYTE;
2471                  case 1: return CHAR;
2472                  case 2: return SHORT;
2473                  case 3: return INT;
2474                  case 4: return LONG;
2475                  case 5: return FLOAT;
2476                  case 6: return DOUBLE;
2477                  case 7: return BOOLEAN;
2478                  case 8: return STRING;
2479                  case 9: return CLASS;
2480                  case 10: return ENUM;
2481                  case 11: return ANNOTATION;
2482                  case 12: return ARRAY;
2483                  default: return null;
2484                }
2485              }
2486    
2487              public static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Type>
2488                  internalGetValueMap() {
2489                return internalValueMap;
2490              }
2491              private static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Type>
2492                  internalValueMap =
2493                    new org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Type>() {
2494                      public Type findValueByNumber(int number) {
2495                        return Type.valueOf(number);
2496                      }
2497                    };
2498    
2499              private final int value;
2500    
2501              private Type(int index, int value) {
2502                this.value = value;
2503              }
2504    
2505              // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type)
2506            }
2507    
2508            private int bitField0_;
2509            public static final int TYPE_FIELD_NUMBER = 1;
2510            private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type type_;
2511            /**
2512             * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2513             *
2514             * <pre>
2515             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2516             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2517             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2518             * </pre>
2519             */
2520            public boolean hasType() {
2521              return ((bitField0_ & 0x00000001) == 0x00000001);
2522            }
2523            /**
2524             * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2525             *
2526             * <pre>
2527             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2528             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2529             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2530             * </pre>
2531             */
2532            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type getType() {
2533              return type_;
2534            }
2535    
2536            public static final int INT_VALUE_FIELD_NUMBER = 2;
2537            private long intValue_;
2538            /**
2539             * <code>optional sint64 int_value = 2;</code>
2540             */
2541            public boolean hasIntValue() {
2542              return ((bitField0_ & 0x00000002) == 0x00000002);
2543            }
2544            /**
2545             * <code>optional sint64 int_value = 2;</code>
2546             */
2547            public long getIntValue() {
2548              return intValue_;
2549            }
2550    
2551            public static final int FLOAT_VALUE_FIELD_NUMBER = 3;
2552            private float floatValue_;
2553            /**
2554             * <code>optional float float_value = 3;</code>
2555             */
2556            public boolean hasFloatValue() {
2557              return ((bitField0_ & 0x00000004) == 0x00000004);
2558            }
2559            /**
2560             * <code>optional float float_value = 3;</code>
2561             */
2562            public float getFloatValue() {
2563              return floatValue_;
2564            }
2565    
2566            public static final int DOUBLE_VALUE_FIELD_NUMBER = 4;
2567            private double doubleValue_;
2568            /**
2569             * <code>optional double double_value = 4;</code>
2570             */
2571            public boolean hasDoubleValue() {
2572              return ((bitField0_ & 0x00000008) == 0x00000008);
2573            }
2574            /**
2575             * <code>optional double double_value = 4;</code>
2576             */
2577            public double getDoubleValue() {
2578              return doubleValue_;
2579            }
2580    
2581            public static final int STRING_VALUE_FIELD_NUMBER = 5;
2582            private int stringValue_;
2583            /**
2584             * <code>optional int32 string_value = 5;</code>
2585             */
2586            public boolean hasStringValue() {
2587              return ((bitField0_ & 0x00000010) == 0x00000010);
2588            }
2589            /**
2590             * <code>optional int32 string_value = 5;</code>
2591             */
2592            public int getStringValue() {
2593              return stringValue_;
2594            }
2595    
2596            public static final int CLASS_ID_FIELD_NUMBER = 6;
2597            private int classId_;
2598            /**
2599             * <code>optional int32 class_id = 6;</code>
2600             *
2601             * <pre>
2602             * If type = CLASS, FQ name of the referenced class; if type = ENUM, FQ name of the enum class
2603             * </pre>
2604             */
2605            public boolean hasClassId() {
2606              return ((bitField0_ & 0x00000020) == 0x00000020);
2607            }
2608            /**
2609             * <code>optional int32 class_id = 6;</code>
2610             *
2611             * <pre>
2612             * If type = CLASS, FQ name of the referenced class; if type = ENUM, FQ name of the enum class
2613             * </pre>
2614             */
2615            public int getClassId() {
2616              return classId_;
2617            }
2618    
2619            public static final int ENUM_VALUE_ID_FIELD_NUMBER = 7;
2620            private int enumValueId_;
2621            /**
2622             * <code>optional int32 enum_value_id = 7;</code>
2623             */
2624            public boolean hasEnumValueId() {
2625              return ((bitField0_ & 0x00000040) == 0x00000040);
2626            }
2627            /**
2628             * <code>optional int32 enum_value_id = 7;</code>
2629             */
2630            public int getEnumValueId() {
2631              return enumValueId_;
2632            }
2633    
2634            public static final int ANNOTATION_FIELD_NUMBER = 8;
2635            private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation annotation_;
2636            /**
2637             * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
2638             */
2639            public boolean hasAnnotation() {
2640              return ((bitField0_ & 0x00000080) == 0x00000080);
2641            }
2642            /**
2643             * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
2644             */
2645            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getAnnotation() {
2646              return annotation_;
2647            }
2648    
2649            public static final int ARRAY_ELEMENT_FIELD_NUMBER = 9;
2650            private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> arrayElement_;
2651            /**
2652             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2653             */
2654            public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> getArrayElementList() {
2655              return arrayElement_;
2656            }
2657            /**
2658             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2659             */
2660            public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.ValueOrBuilder> 
2661                getArrayElementOrBuilderList() {
2662              return arrayElement_;
2663            }
2664            /**
2665             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2666             */
2667            public int getArrayElementCount() {
2668              return arrayElement_.size();
2669            }
2670            /**
2671             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2672             */
2673            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getArrayElement(int index) {
2674              return arrayElement_.get(index);
2675            }
2676            /**
2677             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2678             */
2679            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.ValueOrBuilder getArrayElementOrBuilder(
2680                int index) {
2681              return arrayElement_.get(index);
2682            }
2683    
2684            private void initFields() {
2685              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
2686              intValue_ = 0L;
2687              floatValue_ = 0F;
2688              doubleValue_ = 0D;
2689              stringValue_ = 0;
2690              classId_ = 0;
2691              enumValueId_ = 0;
2692              annotation_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
2693              arrayElement_ = java.util.Collections.emptyList();
2694            }
2695            private byte memoizedIsInitialized = -1;
2696            public final boolean isInitialized() {
2697              byte isInitialized = memoizedIsInitialized;
2698              if (isInitialized == 1) return true;
2699              if (isInitialized == 0) return false;
2700    
2701              if (hasAnnotation()) {
2702                if (!getAnnotation().isInitialized()) {
2703                  memoizedIsInitialized = 0;
2704                  return false;
2705                }
2706              }
2707              for (int i = 0; i < getArrayElementCount(); i++) {
2708                if (!getArrayElement(i).isInitialized()) {
2709                  memoizedIsInitialized = 0;
2710                  return false;
2711                }
2712              }
2713              memoizedIsInitialized = 1;
2714              return true;
2715            }
2716    
2717            public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
2718                                throws java.io.IOException {
2719              getSerializedSize();
2720              if (((bitField0_ & 0x00000001) == 0x00000001)) {
2721                output.writeEnum(1, type_.getNumber());
2722              }
2723              if (((bitField0_ & 0x00000002) == 0x00000002)) {
2724                output.writeSInt64(2, intValue_);
2725              }
2726              if (((bitField0_ & 0x00000004) == 0x00000004)) {
2727                output.writeFloat(3, floatValue_);
2728              }
2729              if (((bitField0_ & 0x00000008) == 0x00000008)) {
2730                output.writeDouble(4, doubleValue_);
2731              }
2732              if (((bitField0_ & 0x00000010) == 0x00000010)) {
2733                output.writeInt32(5, stringValue_);
2734              }
2735              if (((bitField0_ & 0x00000020) == 0x00000020)) {
2736                output.writeInt32(6, classId_);
2737              }
2738              if (((bitField0_ & 0x00000040) == 0x00000040)) {
2739                output.writeInt32(7, enumValueId_);
2740              }
2741              if (((bitField0_ & 0x00000080) == 0x00000080)) {
2742                output.writeMessage(8, annotation_);
2743              }
2744              for (int i = 0; i < arrayElement_.size(); i++) {
2745                output.writeMessage(9, arrayElement_.get(i));
2746              }
2747              output.writeRawBytes(unknownFields);
2748            }
2749    
2750            private int memoizedSerializedSize = -1;
2751            public int getSerializedSize() {
2752              int size = memoizedSerializedSize;
2753              if (size != -1) return size;
2754    
2755              size = 0;
2756              if (((bitField0_ & 0x00000001) == 0x00000001)) {
2757                size += org.jetbrains.kotlin.protobuf.CodedOutputStream
2758                  .computeEnumSize(1, type_.getNumber());
2759              }
2760              if (((bitField0_ & 0x00000002) == 0x00000002)) {
2761                size += org.jetbrains.kotlin.protobuf.CodedOutputStream
2762                  .computeSInt64Size(2, intValue_);
2763              }
2764              if (((bitField0_ & 0x00000004) == 0x00000004)) {
2765                size += org.jetbrains.kotlin.protobuf.CodedOutputStream
2766                  .computeFloatSize(3, floatValue_);
2767              }
2768              if (((bitField0_ & 0x00000008) == 0x00000008)) {
2769                size += org.jetbrains.kotlin.protobuf.CodedOutputStream
2770                  .computeDoubleSize(4, doubleValue_);
2771              }
2772              if (((bitField0_ & 0x00000010) == 0x00000010)) {
2773                size += org.jetbrains.kotlin.protobuf.CodedOutputStream
2774                  .computeInt32Size(5, stringValue_);
2775              }
2776              if (((bitField0_ & 0x00000020) == 0x00000020)) {
2777                size += org.jetbrains.kotlin.protobuf.CodedOutputStream
2778                  .computeInt32Size(6, classId_);
2779              }
2780              if (((bitField0_ & 0x00000040) == 0x00000040)) {
2781                size += org.jetbrains.kotlin.protobuf.CodedOutputStream
2782                  .computeInt32Size(7, enumValueId_);
2783              }
2784              if (((bitField0_ & 0x00000080) == 0x00000080)) {
2785                size += org.jetbrains.kotlin.protobuf.CodedOutputStream
2786                  .computeMessageSize(8, annotation_);
2787              }
2788              for (int i = 0; i < arrayElement_.size(); i++) {
2789                size += org.jetbrains.kotlin.protobuf.CodedOutputStream
2790                  .computeMessageSize(9, arrayElement_.get(i));
2791              }
2792              size += unknownFields.size();
2793              memoizedSerializedSize = size;
2794              return size;
2795            }
2796    
2797            private static final long serialVersionUID = 0L;
2798            @java.lang.Override
2799            protected java.lang.Object writeReplace()
2800                throws java.io.ObjectStreamException {
2801              return super.writeReplace();
2802            }
2803    
2804            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2805                org.jetbrains.kotlin.protobuf.ByteString data)
2806                throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
2807              return PARSER.parseFrom(data);
2808            }
2809            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2810                org.jetbrains.kotlin.protobuf.ByteString data,
2811                org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
2812                throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
2813              return PARSER.parseFrom(data, extensionRegistry);
2814            }
2815            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(byte[] data)
2816                throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
2817              return PARSER.parseFrom(data);
2818            }
2819            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2820                byte[] data,
2821                org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
2822                throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
2823              return PARSER.parseFrom(data, extensionRegistry);
2824            }
2825            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(java.io.InputStream input)
2826                throws java.io.IOException {
2827              return PARSER.parseFrom(input);
2828            }
2829            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2830                java.io.InputStream input,
2831                org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
2832                throws java.io.IOException {
2833              return PARSER.parseFrom(input, extensionRegistry);
2834            }
2835            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseDelimitedFrom(java.io.InputStream input)
2836                throws java.io.IOException {
2837              return PARSER.parseDelimitedFrom(input);
2838            }
2839            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseDelimitedFrom(
2840                java.io.InputStream input,
2841                org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
2842                throws java.io.IOException {
2843              return PARSER.parseDelimitedFrom(input, extensionRegistry);
2844            }
2845            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2846                org.jetbrains.kotlin.protobuf.CodedInputStream input)
2847                throws java.io.IOException {
2848              return PARSER.parseFrom(input);
2849            }
2850            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2851                org.jetbrains.kotlin.protobuf.CodedInputStream input,
2852                org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
2853                throws java.io.IOException {
2854              return PARSER.parseFrom(input, extensionRegistry);
2855            }
2856    
2857            public static Builder newBuilder() { return Builder.create(); }
2858            public Builder newBuilderForType() { return newBuilder(); }
2859            public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value prototype) {
2860              return newBuilder().mergeFrom(prototype);
2861            }
2862            public Builder toBuilder() { return newBuilder(this); }
2863    
2864            /**
2865             * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation.Argument.Value}
2866             */
2867            public static final class Builder extends
2868                org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder<
2869                  org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value, Builder>
2870                implements
2871                // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Annotation.Argument.Value)
2872                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.ValueOrBuilder {
2873              // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.newBuilder()
2874              private Builder() {
2875                maybeForceBuilderInitialization();
2876              }
2877    
2878              private void maybeForceBuilderInitialization() {
2879              }
2880              private static Builder create() {
2881                return new Builder();
2882              }
2883    
2884              public Builder clear() {
2885                super.clear();
2886                type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
2887                bitField0_ = (bitField0_ & ~0x00000001);
2888                intValue_ = 0L;
2889                bitField0_ = (bitField0_ & ~0x00000002);
2890                floatValue_ = 0F;
2891                bitField0_ = (bitField0_ & ~0x00000004);
2892                doubleValue_ = 0D;
2893                bitField0_ = (bitField0_ & ~0x00000008);
2894                stringValue_ = 0;
2895                bitField0_ = (bitField0_ & ~0x00000010);
2896                classId_ = 0;
2897                bitField0_ = (bitField0_ & ~0x00000020);
2898                enumValueId_ = 0;
2899                bitField0_ = (bitField0_ & ~0x00000040);
2900                annotation_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
2901                bitField0_ = (bitField0_ & ~0x00000080);
2902                arrayElement_ = java.util.Collections.emptyList();
2903                bitField0_ = (bitField0_ & ~0x00000100);
2904                return this;
2905              }
2906    
2907              public Builder clone() {
2908                return create().mergeFrom(buildPartial());
2909              }
2910    
2911              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getDefaultInstanceForType() {
2912                return org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
2913              }
2914    
2915              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value build() {
2916                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value result = buildPartial();
2917                if (!result.isInitialized()) {
2918                  throw newUninitializedMessageException(result);
2919                }
2920                return result;
2921              }
2922    
2923              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value buildPartial() {
2924                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value result = new org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value(this);
2925                int from_bitField0_ = bitField0_;
2926                int to_bitField0_ = 0;
2927                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
2928                  to_bitField0_ |= 0x00000001;
2929                }
2930                result.type_ = type_;
2931                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
2932                  to_bitField0_ |= 0x00000002;
2933                }
2934                result.intValue_ = intValue_;
2935                if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
2936                  to_bitField0_ |= 0x00000004;
2937                }
2938                result.floatValue_ = floatValue_;
2939                if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
2940                  to_bitField0_ |= 0x00000008;
2941                }
2942                result.doubleValue_ = doubleValue_;
2943                if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
2944                  to_bitField0_ |= 0x00000010;
2945                }
2946                result.stringValue_ = stringValue_;
2947                if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
2948                  to_bitField0_ |= 0x00000020;
2949                }
2950                result.classId_ = classId_;
2951                if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
2952                  to_bitField0_ |= 0x00000040;
2953                }
2954                result.enumValueId_ = enumValueId_;
2955                if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
2956                  to_bitField0_ |= 0x00000080;
2957                }
2958                result.annotation_ = annotation_;
2959                if (((bitField0_ & 0x00000100) == 0x00000100)) {
2960                  arrayElement_ = java.util.Collections.unmodifiableList(arrayElement_);
2961                  bitField0_ = (bitField0_ & ~0x00000100);
2962                }
2963                result.arrayElement_ = arrayElement_;
2964                result.bitField0_ = to_bitField0_;
2965                return result;
2966              }
2967    
2968              public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value other) {
2969                if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance()) return this;
2970                if (other.hasType()) {
2971                  setType(other.getType());
2972                }
2973                if (other.hasIntValue()) {
2974                  setIntValue(other.getIntValue());
2975                }
2976                if (other.hasFloatValue()) {
2977                  setFloatValue(other.getFloatValue());
2978                }
2979                if (other.hasDoubleValue()) {
2980                  setDoubleValue(other.getDoubleValue());
2981                }
2982                if (other.hasStringValue()) {
2983                  setStringValue(other.getStringValue());
2984                }
2985                if (other.hasClassId()) {
2986                  setClassId(other.getClassId());
2987                }
2988                if (other.hasEnumValueId()) {
2989                  setEnumValueId(other.getEnumValueId());
2990                }
2991                if (other.hasAnnotation()) {
2992                  mergeAnnotation(other.getAnnotation());
2993                }
2994                if (!other.arrayElement_.isEmpty()) {
2995                  if (arrayElement_.isEmpty()) {
2996                    arrayElement_ = other.arrayElement_;
2997                    bitField0_ = (bitField0_ & ~0x00000100);
2998                  } else {
2999                    ensureArrayElementIsMutable();
3000                    arrayElement_.addAll(other.arrayElement_);
3001                  }
3002                  
3003                }
3004                setUnknownFields(
3005                    getUnknownFields().concat(other.unknownFields));
3006                return this;
3007              }
3008    
3009              public final boolean isInitialized() {
3010                if (hasAnnotation()) {
3011                  if (!getAnnotation().isInitialized()) {
3012                    
3013                    return false;
3014                  }
3015                }
3016                for (int i = 0; i < getArrayElementCount(); i++) {
3017                  if (!getArrayElement(i).isInitialized()) {
3018                    
3019                    return false;
3020                  }
3021                }
3022                return true;
3023              }
3024    
3025              public Builder mergeFrom(
3026                  org.jetbrains.kotlin.protobuf.CodedInputStream input,
3027                  org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
3028                  throws java.io.IOException {
3029                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parsedMessage = null;
3030                try {
3031                  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
3032                } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
3033                  parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value) e.getUnfinishedMessage();
3034                  throw e;
3035                } finally {
3036                  if (parsedMessage != null) {
3037                    mergeFrom(parsedMessage);
3038                  }
3039                }
3040                return this;
3041              }
3042              private int bitField0_;
3043    
3044              private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
3045              /**
3046               * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
3047               *
3048               * <pre>
3049               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
3050               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
3051               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
3052               * </pre>
3053               */
3054              public boolean hasType() {
3055                return ((bitField0_ & 0x00000001) == 0x00000001);
3056              }
3057              /**
3058               * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
3059               *
3060               * <pre>
3061               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
3062               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
3063               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
3064               * </pre>
3065               */
3066              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type getType() {
3067                return type_;
3068              }
3069              /**
3070               * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
3071               *
3072               * <pre>
3073               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
3074               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
3075               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
3076               * </pre>
3077               */
3078              public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type value) {
3079                if (value == null) {
3080                  throw new NullPointerException();
3081                }
3082                bitField0_ |= 0x00000001;
3083                type_ = value;
3084                
3085                return this;
3086              }
3087              /**
3088               * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
3089               *
3090               * <pre>
3091               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
3092               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
3093               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
3094               * </pre>
3095               */
3096              public Builder clearType() {
3097                bitField0_ = (bitField0_ & ~0x00000001);
3098                type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
3099                
3100                return this;
3101              }
3102    
3103              private long intValue_ ;
3104              /**
3105               * <code>optional sint64 int_value = 2;</code>
3106               */
3107              public boolean hasIntValue() {
3108                return ((bitField0_ & 0x00000002) == 0x00000002);
3109              }
3110              /**
3111               * <code>optional sint64 int_value = 2;</code>
3112               */
3113              public long getIntValue() {
3114                return intValue_;
3115              }
3116              /**
3117               * <code>optional sint64 int_value = 2;</code>
3118               */
3119              public Builder setIntValue(long value) {
3120                bitField0_ |= 0x00000002;
3121                intValue_ = value;
3122                
3123                return this;
3124              }
3125              /**
3126               * <code>optional sint64 int_value = 2;</code>
3127               */
3128              public Builder clearIntValue() {
3129                bitField0_ = (bitField0_ & ~0x00000002);
3130                intValue_ = 0L;
3131                
3132                return this;
3133              }
3134    
3135              private float floatValue_ ;
3136              /**
3137               * <code>optional float float_value = 3;</code>
3138               */
3139              public boolean hasFloatValue() {
3140                return ((bitField0_ & 0x00000004) == 0x00000004);
3141              }
3142              /**
3143               * <code>optional float float_value = 3;</code>
3144               */
3145              public float getFloatValue() {
3146                return floatValue_;
3147              }
3148              /**
3149               * <code>optional float float_value = 3;</code>
3150               */
3151              public Builder setFloatValue(float value) {
3152                bitField0_ |= 0x00000004;
3153                floatValue_ = value;
3154                
3155                return this;
3156              }
3157              /**
3158               * <code>optional float float_value = 3;</code>
3159               */
3160              public Builder clearFloatValue() {
3161                bitField0_ = (bitField0_ & ~0x00000004);
3162                floatValue_ = 0F;
3163                
3164                return this;
3165              }
3166    
3167              private double doubleValue_ ;
3168              /**
3169               * <code>optional double double_value = 4;</code>
3170               */
3171              public boolean hasDoubleValue() {
3172                return ((bitField0_ & 0x00000008) == 0x00000008);
3173              }
3174              /**
3175               * <code>optional double double_value = 4;</code>
3176               */
3177              public double getDoubleValue() {
3178                return doubleValue_;
3179              }
3180              /**
3181               * <code>optional double double_value = 4;</code>
3182               */
3183              public Builder setDoubleValue(double value) {
3184                bitField0_ |= 0x00000008;
3185                doubleValue_ = value;
3186                
3187                return this;
3188              }
3189              /**
3190               * <code>optional double double_value = 4;</code>
3191               */
3192              public Builder clearDoubleValue() {
3193                bitField0_ = (bitField0_ & ~0x00000008);
3194                doubleValue_ = 0D;
3195                
3196                return this;
3197              }
3198    
3199              private int stringValue_ ;
3200              /**
3201               * <code>optional int32 string_value = 5;</code>
3202               */
3203              public boolean hasStringValue() {
3204                return ((bitField0_ & 0x00000010) == 0x00000010);
3205              }
3206              /**
3207               * <code>optional int32 string_value = 5;</code>
3208               */
3209              public int getStringValue() {
3210                return stringValue_;
3211              }
3212              /**
3213               * <code>optional int32 string_value = 5;</code>
3214               */
3215              public Builder setStringValue(int value) {
3216                bitField0_ |= 0x00000010;
3217                stringValue_ = value;
3218                
3219                return this;
3220              }
3221              /**
3222               * <code>optional int32 string_value = 5;</code>
3223               */
3224              public Builder clearStringValue() {
3225                bitField0_ = (bitField0_ & ~0x00000010);
3226                stringValue_ = 0;
3227                
3228                return this;
3229              }
3230    
3231              private int classId_ ;
3232              /**
3233               * <code>optional int32 class_id = 6;</code>
3234               *
3235               * <pre>
3236               * If type = CLASS, FQ name of the referenced class; if type = ENUM, FQ name of the enum class
3237               * </pre>
3238               */
3239              public boolean hasClassId() {
3240                return ((bitField0_ & 0x00000020) == 0x00000020);
3241              }
3242              /**
3243               * <code>optional int32 class_id = 6;</code>
3244               *
3245               * <pre>
3246               * If type = CLASS, FQ name of the referenced class; if type = ENUM, FQ name of the enum class
3247               * </pre>
3248               */
3249              public int getClassId() {
3250                return classId_;
3251              }
3252              /**
3253               * <code>optional int32 class_id = 6;</code>
3254               *
3255               * <pre>
3256               * If type = CLASS, FQ name of the referenced class; if type = ENUM, FQ name of the enum class
3257               * </pre>
3258               */
3259              public Builder setClassId(int value) {
3260                bitField0_ |= 0x00000020;
3261                classId_ = value;
3262                
3263                return this;
3264              }
3265              /**
3266               * <code>optional int32 class_id = 6;</code>
3267               *
3268               * <pre>
3269               * If type = CLASS, FQ name of the referenced class; if type = ENUM, FQ name of the enum class
3270               * </pre>
3271               */
3272              public Builder clearClassId() {
3273                bitField0_ = (bitField0_ & ~0x00000020);
3274                classId_ = 0;
3275                
3276                return this;
3277              }
3278    
3279              private int enumValueId_ ;
3280              /**
3281               * <code>optional int32 enum_value_id = 7;</code>
3282               */
3283              public boolean hasEnumValueId() {
3284                return ((bitField0_ & 0x00000040) == 0x00000040);
3285              }
3286              /**
3287               * <code>optional int32 enum_value_id = 7;</code>
3288               */
3289              public int getEnumValueId() {
3290                return enumValueId_;
3291              }
3292              /**
3293               * <code>optional int32 enum_value_id = 7;</code>
3294               */
3295              public Builder setEnumValueId(int value) {
3296                bitField0_ |= 0x00000040;
3297                enumValueId_ = value;
3298                
3299                return this;
3300              }
3301              /**
3302               * <code>optional int32 enum_value_id = 7;</code>
3303               */
3304              public Builder clearEnumValueId() {
3305                bitField0_ = (bitField0_ & ~0x00000040);
3306                enumValueId_ = 0;
3307                
3308                return this;
3309              }
3310    
3311              private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation annotation_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
3312              /**
3313               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3314               */
3315              public boolean hasAnnotation() {
3316                return ((bitField0_ & 0x00000080) == 0x00000080);
3317              }
3318              /**
3319               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3320               */
3321              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getAnnotation() {
3322                return annotation_;
3323              }
3324              /**
3325               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3326               */
3327              public Builder setAnnotation(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation value) {
3328                if (value == null) {
3329                  throw new NullPointerException();
3330                }
3331                annotation_ = value;
3332    
3333                bitField0_ |= 0x00000080;
3334                return this;
3335              }
3336              /**
3337               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3338               */
3339              public Builder setAnnotation(
3340                  org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Builder builderForValue) {
3341                annotation_ = builderForValue.build();
3342    
3343                bitField0_ |= 0x00000080;
3344                return this;
3345              }
3346              /**
3347               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3348               */
3349              public Builder mergeAnnotation(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation value) {
3350                if (((bitField0_ & 0x00000080) == 0x00000080) &&
3351                    annotation_ != org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance()) {
3352                  annotation_ =
3353                    org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.newBuilder(annotation_).mergeFrom(value).buildPartial();
3354                } else {
3355                  annotation_ = value;
3356                }
3357    
3358                bitField0_ |= 0x00000080;
3359                return this;
3360              }
3361              /**
3362               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3363               */
3364              public Builder clearAnnotation() {
3365                annotation_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
3366    
3367                bitField0_ = (bitField0_ & ~0x00000080);
3368                return this;
3369              }
3370    
3371              private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> arrayElement_ =
3372                java.util.Collections.emptyList();
3373              private void ensureArrayElementIsMutable() {
3374                if (!((bitField0_ & 0x00000100) == 0x00000100)) {
3375                  arrayElement_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value>(arrayElement_);
3376                  bitField0_ |= 0x00000100;
3377                 }
3378              }
3379    
3380              /**
3381               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3382               */
3383              public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> getArrayElementList() {
3384                return java.util.Collections.unmodifiableList(arrayElement_);
3385              }
3386              /**
3387               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3388               */
3389              public int getArrayElementCount() {
3390                return arrayElement_.size();
3391              }
3392              /**
3393               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3394               */
3395              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getArrayElement(int index) {
3396                return arrayElement_.get(index);
3397              }
3398              /**
3399               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3400               */
3401              public Builder setArrayElement(
3402                  int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3403                if (value == null) {
3404                  throw new NullPointerException();
3405                }
3406                ensureArrayElementIsMutable();
3407                arrayElement_.set(index, value);
3408    
3409                return this;
3410              }
3411              /**
3412               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3413               */
3414              public Builder setArrayElement(
3415                  int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3416                ensureArrayElementIsMutable();
3417                arrayElement_.set(index, builderForValue.build());
3418    
3419                return this;
3420              }
3421              /**
3422               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3423               */
3424              public Builder addArrayElement(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3425                if (value == null) {
3426                  throw new NullPointerException();
3427                }
3428                ensureArrayElementIsMutable();
3429                arrayElement_.add(value);
3430    
3431                return this;
3432              }
3433              /**
3434               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3435               */
3436              public Builder addArrayElement(
3437                  int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3438                if (value == null) {
3439                  throw new NullPointerException();
3440                }
3441                ensureArrayElementIsMutable();
3442                arrayElement_.add(index, value);
3443    
3444                return this;
3445              }
3446              /**
3447               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3448               */
3449              public Builder addArrayElement(
3450                  org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3451                ensureArrayElementIsMutable();
3452                arrayElement_.add(builderForValue.build());
3453    
3454                return this;
3455              }
3456              /**
3457               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3458               */
3459              public Builder addArrayElement(
3460                  int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3461                ensureArrayElementIsMutable();
3462                arrayElement_.add(index, builderForValue.build());
3463    
3464                return this;
3465              }
3466              /**
3467               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3468               */
3469              public Builder addAllArrayElement(
3470                  java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> values) {
3471                ensureArrayElementIsMutable();
3472                org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
3473                    values, arrayElement_);
3474    
3475                return this;
3476              }
3477              /**
3478               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3479               */
3480              public Builder clearArrayElement() {
3481                arrayElement_ = java.util.Collections.emptyList();
3482                bitField0_ = (bitField0_ & ~0x00000100);
3483    
3484                return this;
3485              }
3486              /**
3487               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3488               */
3489              public Builder removeArrayElement(int index) {
3490                ensureArrayElementIsMutable();
3491                arrayElement_.remove(index);
3492    
3493                return this;
3494              }
3495    
3496              // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Annotation.Argument.Value)
3497            }
3498    
3499            static {
3500              defaultInstance = new Value(true);
3501              defaultInstance.initFields();
3502            }
3503    
3504            // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Annotation.Argument.Value)
3505          }
3506    
3507          private int bitField0_;
3508          public static final int NAME_ID_FIELD_NUMBER = 1;
3509          private int nameId_;
3510          /**
3511           * <code>required int32 name_id = 1;</code>
3512           */
3513          public boolean hasNameId() {
3514            return ((bitField0_ & 0x00000001) == 0x00000001);
3515          }
3516          /**
3517           * <code>required int32 name_id = 1;</code>
3518           */
3519          public int getNameId() {
3520            return nameId_;
3521          }
3522    
3523          public static final int VALUE_FIELD_NUMBER = 2;
3524          private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value_;
3525          /**
3526           * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3527           */
3528          public boolean hasValue() {
3529            return ((bitField0_ & 0x00000002) == 0x00000002);
3530          }
3531          /**
3532           * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3533           */
3534          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getValue() {
3535            return value_;
3536          }
3537    
3538          private void initFields() {
3539            nameId_ = 0;
3540            value_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3541          }
3542          private byte memoizedIsInitialized = -1;
3543          public final boolean isInitialized() {
3544            byte isInitialized = memoizedIsInitialized;
3545            if (isInitialized == 1) return true;
3546            if (isInitialized == 0) return false;
3547    
3548            if (!hasNameId()) {
3549              memoizedIsInitialized = 0;
3550              return false;
3551            }
3552            if (!hasValue()) {
3553              memoizedIsInitialized = 0;
3554              return false;
3555            }
3556            if (!getValue().isInitialized()) {
3557              memoizedIsInitialized = 0;
3558              return false;
3559            }
3560            memoizedIsInitialized = 1;
3561            return true;
3562          }
3563    
3564          public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
3565                              throws java.io.IOException {
3566            getSerializedSize();
3567            if (((bitField0_ & 0x00000001) == 0x00000001)) {
3568              output.writeInt32(1, nameId_);
3569            }
3570            if (((bitField0_ & 0x00000002) == 0x00000002)) {
3571              output.writeMessage(2, value_);
3572            }
3573            output.writeRawBytes(unknownFields);
3574          }
3575    
3576          private int memoizedSerializedSize = -1;
3577          public int getSerializedSize() {
3578            int size = memoizedSerializedSize;
3579            if (size != -1) return size;
3580    
3581            size = 0;
3582            if (((bitField0_ & 0x00000001) == 0x00000001)) {
3583              size += org.jetbrains.kotlin.protobuf.CodedOutputStream
3584                .computeInt32Size(1, nameId_);
3585            }
3586            if (((bitField0_ & 0x00000002) == 0x00000002)) {
3587              size += org.jetbrains.kotlin.protobuf.CodedOutputStream
3588                .computeMessageSize(2, value_);
3589            }
3590            size += unknownFields.size();
3591            memoizedSerializedSize = size;
3592            return size;
3593          }
3594    
3595          private static final long serialVersionUID = 0L;
3596          @java.lang.Override
3597          protected java.lang.Object writeReplace()
3598              throws java.io.ObjectStreamException {
3599            return super.writeReplace();
3600          }
3601    
3602          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3603              org.jetbrains.kotlin.protobuf.ByteString data)
3604              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
3605            return PARSER.parseFrom(data);
3606          }
3607          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3608              org.jetbrains.kotlin.protobuf.ByteString data,
3609              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
3610              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
3611            return PARSER.parseFrom(data, extensionRegistry);
3612          }
3613          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(byte[] data)
3614              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
3615            return PARSER.parseFrom(data);
3616          }
3617          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3618              byte[] data,
3619              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
3620              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
3621            return PARSER.parseFrom(data, extensionRegistry);
3622          }
3623          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(java.io.InputStream input)
3624              throws java.io.IOException {
3625            return PARSER.parseFrom(input);
3626          }
3627          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3628              java.io.InputStream input,
3629              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
3630              throws java.io.IOException {
3631            return PARSER.parseFrom(input, extensionRegistry);
3632          }
3633          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseDelimitedFrom(java.io.InputStream input)
3634              throws java.io.IOException {
3635            return PARSER.parseDelimitedFrom(input);
3636          }
3637          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseDelimitedFrom(
3638              java.io.InputStream input,
3639              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
3640              throws java.io.IOException {
3641            return PARSER.parseDelimitedFrom(input, extensionRegistry);
3642          }
3643          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3644              org.jetbrains.kotlin.protobuf.CodedInputStream input)
3645              throws java.io.IOException {
3646            return PARSER.parseFrom(input);
3647          }
3648          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3649              org.jetbrains.kotlin.protobuf.CodedInputStream input,
3650              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
3651              throws java.io.IOException {
3652            return PARSER.parseFrom(input, extensionRegistry);
3653          }
3654    
3655          public static Builder newBuilder() { return Builder.create(); }
3656          public Builder newBuilderForType() { return newBuilder(); }
3657          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument prototype) {
3658            return newBuilder().mergeFrom(prototype);
3659          }
3660          public Builder toBuilder() { return newBuilder(this); }
3661    
3662          /**
3663           * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation.Argument}
3664           */
3665          public static final class Builder extends
3666              org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder<
3667                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument, Builder>
3668              implements
3669              // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Annotation.Argument)
3670              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.ArgumentOrBuilder {
3671            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.newBuilder()
3672            private Builder() {
3673              maybeForceBuilderInitialization();
3674            }
3675    
3676            private void maybeForceBuilderInitialization() {
3677            }
3678            private static Builder create() {
3679              return new Builder();
3680            }
3681    
3682            public Builder clear() {
3683              super.clear();
3684              nameId_ = 0;
3685              bitField0_ = (bitField0_ & ~0x00000001);
3686              value_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3687              bitField0_ = (bitField0_ & ~0x00000002);
3688              return this;
3689            }
3690    
3691            public Builder clone() {
3692              return create().mergeFrom(buildPartial());
3693            }
3694    
3695            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument getDefaultInstanceForType() {
3696              return org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.getDefaultInstance();
3697            }
3698    
3699            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument build() {
3700              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument result = buildPartial();
3701              if (!result.isInitialized()) {
3702                throw newUninitializedMessageException(result);
3703              }
3704              return result;
3705            }
3706    
3707            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument buildPartial() {
3708              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument result = new org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument(this);
3709              int from_bitField0_ = bitField0_;
3710              int to_bitField0_ = 0;
3711              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
3712                to_bitField0_ |= 0x00000001;
3713              }
3714              result.nameId_ = nameId_;
3715              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
3716                to_bitField0_ |= 0x00000002;
3717              }
3718              result.value_ = value_;
3719              result.bitField0_ = to_bitField0_;
3720              return result;
3721            }
3722    
3723            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument other) {
3724              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.getDefaultInstance()) return this;
3725              if (other.hasNameId()) {
3726                setNameId(other.getNameId());
3727              }
3728              if (other.hasValue()) {
3729                mergeValue(other.getValue());
3730              }
3731              setUnknownFields(
3732                  getUnknownFields().concat(other.unknownFields));
3733              return this;
3734            }
3735    
3736            public final boolean isInitialized() {
3737              if (!hasNameId()) {
3738                
3739                return false;
3740              }
3741              if (!hasValue()) {
3742                
3743                return false;
3744              }
3745              if (!getValue().isInitialized()) {
3746                
3747                return false;
3748              }
3749              return true;
3750            }
3751    
3752            public Builder mergeFrom(
3753                org.jetbrains.kotlin.protobuf.CodedInputStream input,
3754                org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
3755                throws java.io.IOException {
3756              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parsedMessage = null;
3757              try {
3758                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
3759              } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
3760                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument) e.getUnfinishedMessage();
3761                throw e;
3762              } finally {
3763                if (parsedMessage != null) {
3764                  mergeFrom(parsedMessage);
3765                }
3766              }
3767              return this;
3768            }
3769            private int bitField0_;
3770    
3771            private int nameId_ ;
3772            /**
3773             * <code>required int32 name_id = 1;</code>
3774             */
3775            public boolean hasNameId() {
3776              return ((bitField0_ & 0x00000001) == 0x00000001);
3777            }
3778            /**
3779             * <code>required int32 name_id = 1;</code>
3780             */
3781            public int getNameId() {
3782              return nameId_;
3783            }
3784            /**
3785             * <code>required int32 name_id = 1;</code>
3786             */
3787            public Builder setNameId(int value) {
3788              bitField0_ |= 0x00000001;
3789              nameId_ = value;
3790              
3791              return this;
3792            }
3793            /**
3794             * <code>required int32 name_id = 1;</code>
3795             */
3796            public Builder clearNameId() {
3797              bitField0_ = (bitField0_ & ~0x00000001);
3798              nameId_ = 0;
3799              
3800              return this;
3801            }
3802    
3803            private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3804            /**
3805             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3806             */
3807            public boolean hasValue() {
3808              return ((bitField0_ & 0x00000002) == 0x00000002);
3809            }
3810            /**
3811             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3812             */
3813            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getValue() {
3814              return value_;
3815            }
3816            /**
3817             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3818             */
3819            public Builder setValue(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3820              if (value == null) {
3821                throw new NullPointerException();
3822              }
3823              value_ = value;
3824    
3825              bitField0_ |= 0x00000002;
3826              return this;
3827            }
3828            /**
3829             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3830             */
3831            public Builder setValue(
3832                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3833              value_ = builderForValue.build();
3834    
3835              bitField0_ |= 0x00000002;
3836              return this;
3837            }
3838            /**
3839             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3840             */
3841            public Builder mergeValue(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3842              if (((bitField0_ & 0x00000002) == 0x00000002) &&
3843                  value_ != org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance()) {
3844                value_ =
3845                  org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.newBuilder(value_).mergeFrom(value).buildPartial();
3846              } else {
3847                value_ = value;
3848              }
3849    
3850              bitField0_ |= 0x00000002;
3851              return this;
3852            }
3853            /**
3854             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3855             */
3856            public Builder clearValue() {
3857              value_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3858    
3859              bitField0_ = (bitField0_ & ~0x00000002);
3860              return this;
3861            }
3862    
3863            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Annotation.Argument)
3864          }
3865    
3866          static {
3867            defaultInstance = new Argument(true);
3868            defaultInstance.initFields();
3869          }
3870    
3871          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Annotation.Argument)
3872        }
3873    
3874        private int bitField0_;
3875        public static final int ID_FIELD_NUMBER = 1;
3876        private int id_;
3877        /**
3878         * <code>required int32 id = 1;</code>
3879         */
3880        public boolean hasId() {
3881          return ((bitField0_ & 0x00000001) == 0x00000001);
3882        }
3883        /**
3884         * <code>required int32 id = 1;</code>
3885         */
3886        public int getId() {
3887          return id_;
3888        }
3889    
3890        public static final int ARGUMENT_FIELD_NUMBER = 2;
3891        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> argument_;
3892        /**
3893         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3894         */
3895        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> getArgumentList() {
3896          return argument_;
3897        }
3898        /**
3899         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3900         */
3901        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.ArgumentOrBuilder> 
3902            getArgumentOrBuilderList() {
3903          return argument_;
3904        }
3905        /**
3906         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3907         */
3908        public int getArgumentCount() {
3909          return argument_.size();
3910        }
3911        /**
3912         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3913         */
3914        public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument getArgument(int index) {
3915          return argument_.get(index);
3916        }
3917        /**
3918         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3919         */
3920        public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.ArgumentOrBuilder getArgumentOrBuilder(
3921            int index) {
3922          return argument_.get(index);
3923        }
3924    
3925        private void initFields() {
3926          id_ = 0;
3927          argument_ = java.util.Collections.emptyList();
3928        }
3929        private byte memoizedIsInitialized = -1;
3930        public final boolean isInitialized() {
3931          byte isInitialized = memoizedIsInitialized;
3932          if (isInitialized == 1) return true;
3933          if (isInitialized == 0) return false;
3934    
3935          if (!hasId()) {
3936            memoizedIsInitialized = 0;
3937            return false;
3938          }
3939          for (int i = 0; i < getArgumentCount(); i++) {
3940            if (!getArgument(i).isInitialized()) {
3941              memoizedIsInitialized = 0;
3942              return false;
3943            }
3944          }
3945          memoizedIsInitialized = 1;
3946          return true;
3947        }
3948    
3949        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
3950                            throws java.io.IOException {
3951          getSerializedSize();
3952          if (((bitField0_ & 0x00000001) == 0x00000001)) {
3953            output.writeInt32(1, id_);
3954          }
3955          for (int i = 0; i < argument_.size(); i++) {
3956            output.writeMessage(2, argument_.get(i));
3957          }
3958          output.writeRawBytes(unknownFields);
3959        }
3960    
3961        private int memoizedSerializedSize = -1;
3962        public int getSerializedSize() {
3963          int size = memoizedSerializedSize;
3964          if (size != -1) return size;
3965    
3966          size = 0;
3967          if (((bitField0_ & 0x00000001) == 0x00000001)) {
3968            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
3969              .computeInt32Size(1, id_);
3970          }
3971          for (int i = 0; i < argument_.size(); i++) {
3972            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
3973              .computeMessageSize(2, argument_.get(i));
3974          }
3975          size += unknownFields.size();
3976          memoizedSerializedSize = size;
3977          return size;
3978        }
3979    
3980        private static final long serialVersionUID = 0L;
3981        @java.lang.Override
3982        protected java.lang.Object writeReplace()
3983            throws java.io.ObjectStreamException {
3984          return super.writeReplace();
3985        }
3986    
3987        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3988            org.jetbrains.kotlin.protobuf.ByteString data)
3989            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
3990          return PARSER.parseFrom(data);
3991        }
3992        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3993            org.jetbrains.kotlin.protobuf.ByteString data,
3994            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
3995            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
3996          return PARSER.parseFrom(data, extensionRegistry);
3997        }
3998        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(byte[] data)
3999            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
4000          return PARSER.parseFrom(data);
4001        }
4002        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
4003            byte[] data,
4004            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
4005            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
4006          return PARSER.parseFrom(data, extensionRegistry);
4007        }
4008        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(java.io.InputStream input)
4009            throws java.io.IOException {
4010          return PARSER.parseFrom(input);
4011        }
4012        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
4013            java.io.InputStream input,
4014            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
4015            throws java.io.IOException {
4016          return PARSER.parseFrom(input, extensionRegistry);
4017        }
4018        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseDelimitedFrom(java.io.InputStream input)
4019            throws java.io.IOException {
4020          return PARSER.parseDelimitedFrom(input);
4021        }
4022        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseDelimitedFrom(
4023            java.io.InputStream input,
4024            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
4025            throws java.io.IOException {
4026          return PARSER.parseDelimitedFrom(input, extensionRegistry);
4027        }
4028        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
4029            org.jetbrains.kotlin.protobuf.CodedInputStream input)
4030            throws java.io.IOException {
4031          return PARSER.parseFrom(input);
4032        }
4033        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
4034            org.jetbrains.kotlin.protobuf.CodedInputStream input,
4035            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
4036            throws java.io.IOException {
4037          return PARSER.parseFrom(input, extensionRegistry);
4038        }
4039    
4040        public static Builder newBuilder() { return Builder.create(); }
4041        public Builder newBuilderForType() { return newBuilder(); }
4042        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation prototype) {
4043          return newBuilder().mergeFrom(prototype);
4044        }
4045        public Builder toBuilder() { return newBuilder(this); }
4046    
4047        /**
4048         * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation}
4049         */
4050        public static final class Builder extends
4051            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder<
4052              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation, Builder>
4053            implements
4054            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Annotation)
4055            org.jetbrains.kotlin.serialization.ProtoBuf.AnnotationOrBuilder {
4056          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.newBuilder()
4057          private Builder() {
4058            maybeForceBuilderInitialization();
4059          }
4060    
4061          private void maybeForceBuilderInitialization() {
4062          }
4063          private static Builder create() {
4064            return new Builder();
4065          }
4066    
4067          public Builder clear() {
4068            super.clear();
4069            id_ = 0;
4070            bitField0_ = (bitField0_ & ~0x00000001);
4071            argument_ = java.util.Collections.emptyList();
4072            bitField0_ = (bitField0_ & ~0x00000002);
4073            return this;
4074          }
4075    
4076          public Builder clone() {
4077            return create().mergeFrom(buildPartial());
4078          }
4079    
4080          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getDefaultInstanceForType() {
4081            return org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
4082          }
4083    
4084          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation build() {
4085            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation result = buildPartial();
4086            if (!result.isInitialized()) {
4087              throw newUninitializedMessageException(result);
4088            }
4089            return result;
4090          }
4091    
4092          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation buildPartial() {
4093            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation result = new org.jetbrains.kotlin.serialization.ProtoBuf.Annotation(this);
4094            int from_bitField0_ = bitField0_;
4095            int to_bitField0_ = 0;
4096            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
4097              to_bitField0_ |= 0x00000001;
4098            }
4099            result.id_ = id_;
4100            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4101              argument_ = java.util.Collections.unmodifiableList(argument_);
4102              bitField0_ = (bitField0_ & ~0x00000002);
4103            }
4104            result.argument_ = argument_;
4105            result.bitField0_ = to_bitField0_;
4106            return result;
4107          }
4108    
4109          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation other) {
4110            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance()) return this;
4111            if (other.hasId()) {
4112              setId(other.getId());
4113            }
4114            if (!other.argument_.isEmpty()) {
4115              if (argument_.isEmpty()) {
4116                argument_ = other.argument_;
4117                bitField0_ = (bitField0_ & ~0x00000002);
4118              } else {
4119                ensureArgumentIsMutable();
4120                argument_.addAll(other.argument_);
4121              }
4122              
4123            }
4124            setUnknownFields(
4125                getUnknownFields().concat(other.unknownFields));
4126            return this;
4127          }
4128    
4129          public final boolean isInitialized() {
4130            if (!hasId()) {
4131              
4132              return false;
4133            }
4134            for (int i = 0; i < getArgumentCount(); i++) {
4135              if (!getArgument(i).isInitialized()) {
4136                
4137                return false;
4138              }
4139            }
4140            return true;
4141          }
4142    
4143          public Builder mergeFrom(
4144              org.jetbrains.kotlin.protobuf.CodedInputStream input,
4145              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
4146              throws java.io.IOException {
4147            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parsedMessage = null;
4148            try {
4149              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
4150            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
4151              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Annotation) e.getUnfinishedMessage();
4152              throw e;
4153            } finally {
4154              if (parsedMessage != null) {
4155                mergeFrom(parsedMessage);
4156              }
4157            }
4158            return this;
4159          }
4160          private int bitField0_;
4161    
4162          private int id_ ;
4163          /**
4164           * <code>required int32 id = 1;</code>
4165           */
4166          public boolean hasId() {
4167            return ((bitField0_ & 0x00000001) == 0x00000001);
4168          }
4169          /**
4170           * <code>required int32 id = 1;</code>
4171           */
4172          public int getId() {
4173            return id_;
4174          }
4175          /**
4176           * <code>required int32 id = 1;</code>
4177           */
4178          public Builder setId(int value) {
4179            bitField0_ |= 0x00000001;
4180            id_ = value;
4181            
4182            return this;
4183          }
4184          /**
4185           * <code>required int32 id = 1;</code>
4186           */
4187          public Builder clearId() {
4188            bitField0_ = (bitField0_ & ~0x00000001);
4189            id_ = 0;
4190            
4191            return this;
4192          }
4193    
4194          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> argument_ =
4195            java.util.Collections.emptyList();
4196          private void ensureArgumentIsMutable() {
4197            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
4198              argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument>(argument_);
4199              bitField0_ |= 0x00000002;
4200             }
4201          }
4202    
4203          /**
4204           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4205           */
4206          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> getArgumentList() {
4207            return java.util.Collections.unmodifiableList(argument_);
4208          }
4209          /**
4210           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4211           */
4212          public int getArgumentCount() {
4213            return argument_.size();
4214          }
4215          /**
4216           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4217           */
4218          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument getArgument(int index) {
4219            return argument_.get(index);
4220          }
4221          /**
4222           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4223           */
4224          public Builder setArgument(
4225              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument value) {
4226            if (value == null) {
4227              throw new NullPointerException();
4228            }
4229            ensureArgumentIsMutable();
4230            argument_.set(index, value);
4231    
4232            return this;
4233          }
4234          /**
4235           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4236           */
4237          public Builder setArgument(
4238              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Builder builderForValue) {
4239            ensureArgumentIsMutable();
4240            argument_.set(index, builderForValue.build());
4241    
4242            return this;
4243          }
4244          /**
4245           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4246           */
4247          public Builder addArgument(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument value) {
4248            if (value == null) {
4249              throw new NullPointerException();
4250            }
4251            ensureArgumentIsMutable();
4252            argument_.add(value);
4253    
4254            return this;
4255          }
4256          /**
4257           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4258           */
4259          public Builder addArgument(
4260              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument value) {
4261            if (value == null) {
4262              throw new NullPointerException();
4263            }
4264            ensureArgumentIsMutable();
4265            argument_.add(index, value);
4266    
4267            return this;
4268          }
4269          /**
4270           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4271           */
4272          public Builder addArgument(
4273              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Builder builderForValue) {
4274            ensureArgumentIsMutable();
4275            argument_.add(builderForValue.build());
4276    
4277            return this;
4278          }
4279          /**
4280           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4281           */
4282          public Builder addArgument(
4283              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Builder builderForValue) {
4284            ensureArgumentIsMutable();
4285            argument_.add(index, builderForValue.build());
4286    
4287            return this;
4288          }
4289          /**
4290           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4291           */
4292          public Builder addAllArgument(
4293              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> values) {
4294            ensureArgumentIsMutable();
4295            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
4296                values, argument_);
4297    
4298            return this;
4299          }
4300          /**
4301           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4302           */
4303          public Builder clearArgument() {
4304            argument_ = java.util.Collections.emptyList();
4305            bitField0_ = (bitField0_ & ~0x00000002);
4306    
4307            return this;
4308          }
4309          /**
4310           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4311           */
4312          public Builder removeArgument(int index) {
4313            ensureArgumentIsMutable();
4314            argument_.remove(index);
4315    
4316            return this;
4317          }
4318    
4319          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Annotation)
4320        }
4321    
4322        static {
4323          defaultInstance = new Annotation(true);
4324          defaultInstance.initFields();
4325        }
4326    
4327        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Annotation)
4328      }
4329    
4330      public interface TypeOrBuilder extends 
4331          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.Type)
4332           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
4333                ExtendableMessageOrBuilder<Type> {
4334    
4335        /**
4336         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
4337         */
4338        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> 
4339            getArgumentList();
4340        /**
4341         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
4342         */
4343        org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index);
4344        /**
4345         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
4346         */
4347        int getArgumentCount();
4348    
4349        /**
4350         * <code>optional bool nullable = 3 [default = false];</code>
4351         */
4352        boolean hasNullable();
4353        /**
4354         * <code>optional bool nullable = 3 [default = false];</code>
4355         */
4356        boolean getNullable();
4357    
4358        /**
4359         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
4360         *
4361         * <pre>
4362         * If this field is set, the type is flexible.
4363         * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
4364         * </pre>
4365         */
4366        boolean hasFlexibleTypeCapabilitiesId();
4367        /**
4368         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
4369         *
4370         * <pre>
4371         * If this field is set, the type is flexible.
4372         * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
4373         * </pre>
4374         */
4375        int getFlexibleTypeCapabilitiesId();
4376    
4377        /**
4378         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
4379         */
4380        boolean hasFlexibleUpperBound();
4381        /**
4382         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
4383         */
4384        org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound();
4385    
4386        /**
4387         * <code>optional int32 flexible_upper_bound_id = 8;</code>
4388         */
4389        boolean hasFlexibleUpperBoundId();
4390        /**
4391         * <code>optional int32 flexible_upper_bound_id = 8;</code>
4392         */
4393        int getFlexibleUpperBoundId();
4394    
4395        /**
4396         * <code>optional int32 class_name = 6;</code>
4397         */
4398        boolean hasClassName();
4399        /**
4400         * <code>optional int32 class_name = 6;</code>
4401         */
4402        int getClassName();
4403    
4404        /**
4405         * <code>optional int32 type_parameter = 7;</code>
4406         *
4407         * <pre>
4408         * id of the type parameter
4409         * </pre>
4410         */
4411        boolean hasTypeParameter();
4412        /**
4413         * <code>optional int32 type_parameter = 7;</code>
4414         *
4415         * <pre>
4416         * id of the type parameter
4417         * </pre>
4418         */
4419        int getTypeParameter();
4420    
4421        /**
4422         * <code>optional int32 type_parameter_name = 9;</code>
4423         *
4424         * <pre>
4425         * Name of the type parameter in the immediate owner
4426         * </pre>
4427         */
4428        boolean hasTypeParameterName();
4429        /**
4430         * <code>optional int32 type_parameter_name = 9;</code>
4431         *
4432         * <pre>
4433         * Name of the type parameter in the immediate owner
4434         * </pre>
4435         */
4436        int getTypeParameterName();
4437    
4438        /**
4439         * <code>optional int32 type_alias_name = 12;</code>
4440         *
4441         * <pre>
4442         * Note that this may be present only for abbreviated_type
4443         * Top level types are always fully expanded
4444         * </pre>
4445         */
4446        boolean hasTypeAliasName();
4447        /**
4448         * <code>optional int32 type_alias_name = 12;</code>
4449         *
4450         * <pre>
4451         * Note that this may be present only for abbreviated_type
4452         * Top level types are always fully expanded
4453         * </pre>
4454         */
4455        int getTypeAliasName();
4456    
4457        /**
4458         * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
4459         */
4460        boolean hasOuterType();
4461        /**
4462         * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
4463         */
4464        org.jetbrains.kotlin.serialization.ProtoBuf.Type getOuterType();
4465    
4466        /**
4467         * <code>optional int32 outer_type_id = 11;</code>
4468         */
4469        boolean hasOuterTypeId();
4470        /**
4471         * <code>optional int32 outer_type_id = 11;</code>
4472         */
4473        int getOuterTypeId();
4474    
4475        /**
4476         * <code>optional .org.jetbrains.kotlin.serialization.Type abbreviated_type = 13;</code>
4477         */
4478        boolean hasAbbreviatedType();
4479        /**
4480         * <code>optional .org.jetbrains.kotlin.serialization.Type abbreviated_type = 13;</code>
4481         */
4482        org.jetbrains.kotlin.serialization.ProtoBuf.Type getAbbreviatedType();
4483    
4484        /**
4485         * <code>optional int32 abbreviated_type_id = 14;</code>
4486         */
4487        boolean hasAbbreviatedTypeId();
4488        /**
4489         * <code>optional int32 abbreviated_type_id = 14;</code>
4490         */
4491        int getAbbreviatedTypeId();
4492    
4493        /**
4494         * <code>optional int32 flags = 1;</code>
4495         *
4496         * <pre>
4497         *suspend
4498         * </pre>
4499         */
4500        boolean hasFlags();
4501        /**
4502         * <code>optional int32 flags = 1;</code>
4503         *
4504         * <pre>
4505         *suspend
4506         * </pre>
4507         */
4508        int getFlags();
4509      }
4510      /**
4511       * Protobuf type {@code org.jetbrains.kotlin.serialization.Type}
4512       */
4513      public static final class Type extends
4514          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
4515            Type> implements
4516          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Type)
4517          TypeOrBuilder {
4518        // Use Type.newBuilder() to construct.
4519        private Type(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Type, ?> builder) {
4520          super(builder);
4521          this.unknownFields = builder.getUnknownFields();
4522        }
4523        private Type(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
4524    
4525        private static final Type defaultInstance;
4526        public static Type getDefaultInstance() {
4527          return defaultInstance;
4528        }
4529    
4530        public Type getDefaultInstanceForType() {
4531          return defaultInstance;
4532        }
4533    
4534        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
4535        private Type(
4536            org.jetbrains.kotlin.protobuf.CodedInputStream input,
4537            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
4538            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
4539          initFields();
4540          int mutable_bitField0_ = 0;
4541          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
4542              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
4543          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
4544              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
4545                  unknownFieldsOutput);
4546          try {
4547            boolean done = false;
4548            while (!done) {
4549              int tag = input.readTag();
4550              switch (tag) {
4551                case 0:
4552                  done = true;
4553                  break;
4554                default: {
4555                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
4556                                         extensionRegistry, tag)) {
4557                    done = true;
4558                  }
4559                  break;
4560                }
4561                case 8: {
4562                  bitField0_ |= 0x00001000;
4563                  flags_ = input.readInt32();
4564                  break;
4565                }
4566                case 18: {
4567                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
4568                    argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument>();
4569                    mutable_bitField0_ |= 0x00000001;
4570                  }
4571                  argument_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.PARSER, extensionRegistry));
4572                  break;
4573                }
4574                case 24: {
4575                  bitField0_ |= 0x00000001;
4576                  nullable_ = input.readBool();
4577                  break;
4578                }
4579                case 32: {
4580                  bitField0_ |= 0x00000002;
4581                  flexibleTypeCapabilitiesId_ = input.readInt32();
4582                  break;
4583                }
4584                case 42: {
4585                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
4586                  if (((bitField0_ & 0x00000004) == 0x00000004)) {
4587                    subBuilder = flexibleUpperBound_.toBuilder();
4588                  }
4589                  flexibleUpperBound_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
4590                  if (subBuilder != null) {
4591                    subBuilder.mergeFrom(flexibleUpperBound_);
4592                    flexibleUpperBound_ = subBuilder.buildPartial();
4593                  }
4594                  bitField0_ |= 0x00000004;
4595                  break;
4596                }
4597                case 48: {
4598                  bitField0_ |= 0x00000010;
4599                  className_ = input.readInt32();
4600                  break;
4601                }
4602                case 56: {
4603                  bitField0_ |= 0x00000020;
4604                  typeParameter_ = input.readInt32();
4605                  break;
4606                }
4607                case 64: {
4608                  bitField0_ |= 0x00000008;
4609                  flexibleUpperBoundId_ = input.readInt32();
4610                  break;
4611                }
4612                case 72: {
4613                  bitField0_ |= 0x00000040;
4614                  typeParameterName_ = input.readInt32();
4615                  break;
4616                }
4617                case 82: {
4618                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
4619                  if (((bitField0_ & 0x00000100) == 0x00000100)) {
4620                    subBuilder = outerType_.toBuilder();
4621                  }
4622                  outerType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
4623                  if (subBuilder != null) {
4624                    subBuilder.mergeFrom(outerType_);
4625                    outerType_ = subBuilder.buildPartial();
4626                  }
4627                  bitField0_ |= 0x00000100;
4628                  break;
4629                }
4630                case 88: {
4631                  bitField0_ |= 0x00000200;
4632                  outerTypeId_ = input.readInt32();
4633                  break;
4634                }
4635                case 96: {
4636                  bitField0_ |= 0x00000080;
4637                  typeAliasName_ = input.readInt32();
4638                  break;
4639                }
4640                case 106: {
4641                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
4642                  if (((bitField0_ & 0x00000400) == 0x00000400)) {
4643                    subBuilder = abbreviatedType_.toBuilder();
4644                  }
4645                  abbreviatedType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
4646                  if (subBuilder != null) {
4647                    subBuilder.mergeFrom(abbreviatedType_);
4648                    abbreviatedType_ = subBuilder.buildPartial();
4649                  }
4650                  bitField0_ |= 0x00000400;
4651                  break;
4652                }
4653                case 112: {
4654                  bitField0_ |= 0x00000800;
4655                  abbreviatedTypeId_ = input.readInt32();
4656                  break;
4657                }
4658              }
4659            }
4660          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
4661            throw e.setUnfinishedMessage(this);
4662          } catch (java.io.IOException e) {
4663            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
4664                e.getMessage()).setUnfinishedMessage(this);
4665          } finally {
4666            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
4667              argument_ = java.util.Collections.unmodifiableList(argument_);
4668            }
4669            try {
4670              unknownFieldsCodedOutput.flush();
4671            } catch (java.io.IOException e) {
4672            // Should not happen
4673            } finally {
4674              unknownFields = unknownFieldsOutput.toByteString();
4675            }
4676            makeExtensionsImmutable();
4677          }
4678        }
4679        public static org.jetbrains.kotlin.protobuf.Parser<Type> PARSER =
4680            new org.jetbrains.kotlin.protobuf.AbstractParser<Type>() {
4681          public Type parsePartialFrom(
4682              org.jetbrains.kotlin.protobuf.CodedInputStream input,
4683              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
4684              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
4685            return new Type(input, extensionRegistry);
4686          }
4687        };
4688    
4689        @java.lang.Override
4690        public org.jetbrains.kotlin.protobuf.Parser<Type> getParserForType() {
4691          return PARSER;
4692        }
4693    
4694        public interface ArgumentOrBuilder extends
4695            // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.Type.Argument)
4696            org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
4697    
4698          /**
4699           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
4700           */
4701          boolean hasProjection();
4702          /**
4703           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
4704           */
4705          org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection();
4706    
4707          /**
4708           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
4709           *
4710           * <pre>
4711           * When projection is STAR, no type is written, otherwise type must be specified
4712           * </pre>
4713           */
4714          boolean hasType();
4715          /**
4716           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
4717           *
4718           * <pre>
4719           * When projection is STAR, no type is written, otherwise type must be specified
4720           * </pre>
4721           */
4722          org.jetbrains.kotlin.serialization.ProtoBuf.Type getType();
4723    
4724          /**
4725           * <code>optional int32 type_id = 3;</code>
4726           */
4727          boolean hasTypeId();
4728          /**
4729           * <code>optional int32 type_id = 3;</code>
4730           */
4731          int getTypeId();
4732        }
4733        /**
4734         * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Argument}
4735         */
4736        public static final class Argument extends
4737            org.jetbrains.kotlin.protobuf.GeneratedMessageLite implements
4738            // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Type.Argument)
4739            ArgumentOrBuilder {
4740          // Use Argument.newBuilder() to construct.
4741          private Argument(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) {
4742            super(builder);
4743            this.unknownFields = builder.getUnknownFields();
4744          }
4745          private Argument(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
4746    
4747          private static final Argument defaultInstance;
4748          public static Argument getDefaultInstance() {
4749            return defaultInstance;
4750          }
4751    
4752          public Argument getDefaultInstanceForType() {
4753            return defaultInstance;
4754          }
4755    
4756          private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
4757          private Argument(
4758              org.jetbrains.kotlin.protobuf.CodedInputStream input,
4759              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
4760              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
4761            initFields();
4762            int mutable_bitField0_ = 0;
4763            org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
4764                org.jetbrains.kotlin.protobuf.ByteString.newOutput();
4765            org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
4766                org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
4767                    unknownFieldsOutput);
4768            try {
4769              boolean done = false;
4770              while (!done) {
4771                int tag = input.readTag();
4772                switch (tag) {
4773                  case 0:
4774                    done = true;
4775                    break;
4776                  default: {
4777                    if (!parseUnknownField(input, unknownFieldsCodedOutput,
4778                                           extensionRegistry, tag)) {
4779                      done = true;
4780                    }
4781                    break;
4782                  }
4783                  case 8: {
4784                    int rawValue = input.readEnum();
4785                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection value = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.valueOf(rawValue);
4786                    if (value == null) {
4787                      unknownFieldsCodedOutput.writeRawVarint32(tag);
4788                      unknownFieldsCodedOutput.writeRawVarint32(rawValue);
4789                    } else {
4790                      bitField0_ |= 0x00000001;
4791                      projection_ = value;
4792                    }
4793                    break;
4794                  }
4795                  case 18: {
4796                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
4797                    if (((bitField0_ & 0x00000002) == 0x00000002)) {
4798                      subBuilder = type_.toBuilder();
4799                    }
4800                    type_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
4801                    if (subBuilder != null) {
4802                      subBuilder.mergeFrom(type_);
4803                      type_ = subBuilder.buildPartial();
4804                    }
4805                    bitField0_ |= 0x00000002;
4806                    break;
4807                  }
4808                  case 24: {
4809                    bitField0_ |= 0x00000004;
4810                    typeId_ = input.readInt32();
4811                    break;
4812                  }
4813                }
4814              }
4815            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
4816              throw e.setUnfinishedMessage(this);
4817            } catch (java.io.IOException e) {
4818              throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
4819                  e.getMessage()).setUnfinishedMessage(this);
4820            } finally {
4821              try {
4822                unknownFieldsCodedOutput.flush();
4823              } catch (java.io.IOException e) {
4824              // Should not happen
4825              } finally {
4826                unknownFields = unknownFieldsOutput.toByteString();
4827              }
4828              makeExtensionsImmutable();
4829            }
4830          }
4831          public static org.jetbrains.kotlin.protobuf.Parser<Argument> PARSER =
4832              new org.jetbrains.kotlin.protobuf.AbstractParser<Argument>() {
4833            public Argument parsePartialFrom(
4834                org.jetbrains.kotlin.protobuf.CodedInputStream input,
4835                org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
4836                throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
4837              return new Argument(input, extensionRegistry);
4838            }
4839          };
4840    
4841          @java.lang.Override
4842          public org.jetbrains.kotlin.protobuf.Parser<Argument> getParserForType() {
4843            return PARSER;
4844          }
4845    
4846          /**
4847           * Protobuf enum {@code org.jetbrains.kotlin.serialization.Type.Argument.Projection}
4848           */
4849          public enum Projection
4850              implements org.jetbrains.kotlin.protobuf.Internal.EnumLite {
4851            /**
4852             * <code>IN = 0;</code>
4853             */
4854            IN(0, 0),
4855            /**
4856             * <code>OUT = 1;</code>
4857             */
4858            OUT(1, 1),
4859            /**
4860             * <code>INV = 2;</code>
4861             */
4862            INV(2, 2),
4863            /**
4864             * <code>STAR = 3;</code>
4865             */
4866            STAR(3, 3),
4867            ;
4868    
4869            /**
4870             * <code>IN = 0;</code>
4871             */
4872            public static final int IN_VALUE = 0;
4873            /**
4874             * <code>OUT = 1;</code>
4875             */
4876            public static final int OUT_VALUE = 1;
4877            /**
4878             * <code>INV = 2;</code>
4879             */
4880            public static final int INV_VALUE = 2;
4881            /**
4882             * <code>STAR = 3;</code>
4883             */
4884            public static final int STAR_VALUE = 3;
4885    
4886    
4887            public final int getNumber() { return value; }
4888    
4889            public static Projection valueOf(int value) {
4890              switch (value) {
4891                case 0: return IN;
4892                case 1: return OUT;
4893                case 2: return INV;
4894                case 3: return STAR;
4895                default: return null;
4896              }
4897            }
4898    
4899            public static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Projection>
4900                internalGetValueMap() {
4901              return internalValueMap;
4902            }
4903            private static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Projection>
4904                internalValueMap =
4905                  new org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Projection>() {
4906                    public Projection findValueByNumber(int number) {
4907                      return Projection.valueOf(number);
4908                    }
4909                  };
4910    
4911            private final int value;
4912    
4913            private Projection(int index, int value) {
4914              this.value = value;
4915            }
4916    
4917            // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Type.Argument.Projection)
4918          }
4919    
4920          private int bitField0_;
4921          public static final int PROJECTION_FIELD_NUMBER = 1;
4922          private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection projection_;
4923          /**
4924           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
4925           */
4926          public boolean hasProjection() {
4927            return ((bitField0_ & 0x00000001) == 0x00000001);
4928          }
4929          /**
4930           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
4931           */
4932          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
4933            return projection_;
4934          }
4935    
4936          public static final int TYPE_FIELD_NUMBER = 2;
4937          private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_;
4938          /**
4939           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
4940           *
4941           * <pre>
4942           * When projection is STAR, no type is written, otherwise type must be specified
4943           * </pre>
4944           */
4945          public boolean hasType() {
4946            return ((bitField0_ & 0x00000002) == 0x00000002);
4947          }
4948          /**
4949           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
4950           *
4951           * <pre>
4952           * When projection is STAR, no type is written, otherwise type must be specified
4953           * </pre>
4954           */
4955          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
4956            return type_;
4957          }
4958    
4959          public static final int TYPE_ID_FIELD_NUMBER = 3;
4960          private int typeId_;
4961          /**
4962           * <code>optional int32 type_id = 3;</code>
4963           */
4964          public boolean hasTypeId() {
4965            return ((bitField0_ & 0x00000004) == 0x00000004);
4966          }
4967          /**
4968           * <code>optional int32 type_id = 3;</code>
4969           */
4970          public int getTypeId() {
4971            return typeId_;
4972          }
4973    
4974          private void initFields() {
4975            projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
4976            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
4977            typeId_ = 0;
4978          }
4979          private byte memoizedIsInitialized = -1;
4980          public final boolean isInitialized() {
4981            byte isInitialized = memoizedIsInitialized;
4982            if (isInitialized == 1) return true;
4983            if (isInitialized == 0) return false;
4984    
4985            if (hasType()) {
4986              if (!getType().isInitialized()) {
4987                memoizedIsInitialized = 0;
4988                return false;
4989              }
4990            }
4991            memoizedIsInitialized = 1;
4992            return true;
4993          }
4994    
4995          public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
4996                              throws java.io.IOException {
4997            getSerializedSize();
4998            if (((bitField0_ & 0x00000001) == 0x00000001)) {
4999              output.writeEnum(1, projection_.getNumber());
5000            }
5001            if (((bitField0_ & 0x00000002) == 0x00000002)) {
5002              output.writeMessage(2, type_);
5003            }
5004            if (((bitField0_ & 0x00000004) == 0x00000004)) {
5005              output.writeInt32(3, typeId_);
5006            }
5007            output.writeRawBytes(unknownFields);
5008          }
5009    
5010          private int memoizedSerializedSize = -1;
5011          public int getSerializedSize() {
5012            int size = memoizedSerializedSize;
5013            if (size != -1) return size;
5014    
5015            size = 0;
5016            if (((bitField0_ & 0x00000001) == 0x00000001)) {
5017              size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5018                .computeEnumSize(1, projection_.getNumber());
5019            }
5020            if (((bitField0_ & 0x00000002) == 0x00000002)) {
5021              size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5022                .computeMessageSize(2, type_);
5023            }
5024            if (((bitField0_ & 0x00000004) == 0x00000004)) {
5025              size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5026                .computeInt32Size(3, typeId_);
5027            }
5028            size += unknownFields.size();
5029            memoizedSerializedSize = size;
5030            return size;
5031          }
5032    
5033          private static final long serialVersionUID = 0L;
5034          @java.lang.Override
5035          protected java.lang.Object writeReplace()
5036              throws java.io.ObjectStreamException {
5037            return super.writeReplace();
5038          }
5039    
5040          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5041              org.jetbrains.kotlin.protobuf.ByteString data)
5042              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
5043            return PARSER.parseFrom(data);
5044          }
5045          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5046              org.jetbrains.kotlin.protobuf.ByteString data,
5047              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
5048              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
5049            return PARSER.parseFrom(data, extensionRegistry);
5050          }
5051          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(byte[] data)
5052              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
5053            return PARSER.parseFrom(data);
5054          }
5055          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5056              byte[] data,
5057              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
5058              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
5059            return PARSER.parseFrom(data, extensionRegistry);
5060          }
5061          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(java.io.InputStream input)
5062              throws java.io.IOException {
5063            return PARSER.parseFrom(input);
5064          }
5065          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5066              java.io.InputStream input,
5067              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
5068              throws java.io.IOException {
5069            return PARSER.parseFrom(input, extensionRegistry);
5070          }
5071          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(java.io.InputStream input)
5072              throws java.io.IOException {
5073            return PARSER.parseDelimitedFrom(input);
5074          }
5075          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(
5076              java.io.InputStream input,
5077              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
5078              throws java.io.IOException {
5079            return PARSER.parseDelimitedFrom(input, extensionRegistry);
5080          }
5081          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5082              org.jetbrains.kotlin.protobuf.CodedInputStream input)
5083              throws java.io.IOException {
5084            return PARSER.parseFrom(input);
5085          }
5086          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5087              org.jetbrains.kotlin.protobuf.CodedInputStream input,
5088              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
5089              throws java.io.IOException {
5090            return PARSER.parseFrom(input, extensionRegistry);
5091          }
5092    
5093          public static Builder newBuilder() { return Builder.create(); }
5094          public Builder newBuilderForType() { return newBuilder(); }
5095          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument prototype) {
5096            return newBuilder().mergeFrom(prototype);
5097          }
5098          public Builder toBuilder() { return newBuilder(this); }
5099    
5100          /**
5101           * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Argument}
5102           */
5103          public static final class Builder extends
5104              org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder<
5105                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument, Builder>
5106              implements
5107              // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Type.Argument)
5108              org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder {
5109            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.newBuilder()
5110            private Builder() {
5111              maybeForceBuilderInitialization();
5112            }
5113    
5114            private void maybeForceBuilderInitialization() {
5115            }
5116            private static Builder create() {
5117              return new Builder();
5118            }
5119    
5120            public Builder clear() {
5121              super.clear();
5122              projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5123              bitField0_ = (bitField0_ & ~0x00000001);
5124              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5125              bitField0_ = (bitField0_ & ~0x00000002);
5126              typeId_ = 0;
5127              bitField0_ = (bitField0_ & ~0x00000004);
5128              return this;
5129            }
5130    
5131            public Builder clone() {
5132              return create().mergeFrom(buildPartial());
5133            }
5134    
5135            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getDefaultInstanceForType() {
5136              return org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.getDefaultInstance();
5137            }
5138    
5139            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument build() {
5140              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument result = buildPartial();
5141              if (!result.isInitialized()) {
5142                throw newUninitializedMessageException(result);
5143              }
5144              return result;
5145            }
5146    
5147            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument buildPartial() {
5148              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument result = new org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument(this);
5149              int from_bitField0_ = bitField0_;
5150              int to_bitField0_ = 0;
5151              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
5152                to_bitField0_ |= 0x00000001;
5153              }
5154              result.projection_ = projection_;
5155              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
5156                to_bitField0_ |= 0x00000002;
5157              }
5158              result.type_ = type_;
5159              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
5160                to_bitField0_ |= 0x00000004;
5161              }
5162              result.typeId_ = typeId_;
5163              result.bitField0_ = to_bitField0_;
5164              return result;
5165            }
5166    
5167            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument other) {
5168              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.getDefaultInstance()) return this;
5169              if (other.hasProjection()) {
5170                setProjection(other.getProjection());
5171              }
5172              if (other.hasType()) {
5173                mergeType(other.getType());
5174              }
5175              if (other.hasTypeId()) {
5176                setTypeId(other.getTypeId());
5177              }
5178              setUnknownFields(
5179                  getUnknownFields().concat(other.unknownFields));
5180              return this;
5181            }
5182    
5183            public final boolean isInitialized() {
5184              if (hasType()) {
5185                if (!getType().isInitialized()) {
5186                  
5187                  return false;
5188                }
5189              }
5190              return true;
5191            }
5192    
5193            public Builder mergeFrom(
5194                org.jetbrains.kotlin.protobuf.CodedInputStream input,
5195                org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
5196                throws java.io.IOException {
5197              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parsedMessage = null;
5198              try {
5199                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
5200              } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
5201                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument) e.getUnfinishedMessage();
5202                throw e;
5203              } finally {
5204                if (parsedMessage != null) {
5205                  mergeFrom(parsedMessage);
5206                }
5207              }
5208              return this;
5209            }
5210            private int bitField0_;
5211    
5212            private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5213            /**
5214             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5215             */
5216            public boolean hasProjection() {
5217              return ((bitField0_ & 0x00000001) == 0x00000001);
5218            }
5219            /**
5220             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5221             */
5222            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
5223              return projection_;
5224            }
5225            /**
5226             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5227             */
5228            public Builder setProjection(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection value) {
5229              if (value == null) {
5230                throw new NullPointerException();
5231              }
5232              bitField0_ |= 0x00000001;
5233              projection_ = value;
5234              
5235              return this;
5236            }
5237            /**
5238             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5239             */
5240            public Builder clearProjection() {
5241              bitField0_ = (bitField0_ & ~0x00000001);
5242              projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5243              
5244              return this;
5245            }
5246    
5247            private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5248            /**
5249             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5250             *
5251             * <pre>
5252             * When projection is STAR, no type is written, otherwise type must be specified
5253             * </pre>
5254             */
5255            public boolean hasType() {
5256              return ((bitField0_ & 0x00000002) == 0x00000002);
5257            }
5258            /**
5259             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5260             *
5261             * <pre>
5262             * When projection is STAR, no type is written, otherwise type must be specified
5263             * </pre>
5264             */
5265            public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
5266              return type_;
5267            }
5268            /**
5269             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5270             *
5271             * <pre>
5272             * When projection is STAR, no type is written, otherwise type must be specified
5273             * </pre>
5274             */
5275            public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
5276              if (value == null) {
5277                throw new NullPointerException();
5278              }
5279              type_ = value;
5280    
5281              bitField0_ |= 0x00000002;
5282              return this;
5283            }
5284            /**
5285             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5286             *
5287             * <pre>
5288             * When projection is STAR, no type is written, otherwise type must be specified
5289             * </pre>
5290             */
5291            public Builder setType(
5292                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
5293              type_ = builderForValue.build();
5294    
5295              bitField0_ |= 0x00000002;
5296              return this;
5297            }
5298            /**
5299             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5300             *
5301             * <pre>
5302             * When projection is STAR, no type is written, otherwise type must be specified
5303             * </pre>
5304             */
5305            public Builder mergeType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
5306              if (((bitField0_ & 0x00000002) == 0x00000002) &&
5307                  type_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
5308                type_ =
5309                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
5310              } else {
5311                type_ = value;
5312              }
5313    
5314              bitField0_ |= 0x00000002;
5315              return this;
5316            }
5317            /**
5318             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5319             *
5320             * <pre>
5321             * When projection is STAR, no type is written, otherwise type must be specified
5322             * </pre>
5323             */
5324            public Builder clearType() {
5325              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5326    
5327              bitField0_ = (bitField0_ & ~0x00000002);
5328              return this;
5329            }
5330    
5331            private int typeId_ ;
5332            /**
5333             * <code>optional int32 type_id = 3;</code>
5334             */
5335            public boolean hasTypeId() {
5336              return ((bitField0_ & 0x00000004) == 0x00000004);
5337            }
5338            /**
5339             * <code>optional int32 type_id = 3;</code>
5340             */
5341            public int getTypeId() {
5342              return typeId_;
5343            }
5344            /**
5345             * <code>optional int32 type_id = 3;</code>
5346             */
5347            public Builder setTypeId(int value) {
5348              bitField0_ |= 0x00000004;
5349              typeId_ = value;
5350              
5351              return this;
5352            }
5353            /**
5354             * <code>optional int32 type_id = 3;</code>
5355             */
5356            public Builder clearTypeId() {
5357              bitField0_ = (bitField0_ & ~0x00000004);
5358              typeId_ = 0;
5359              
5360              return this;
5361            }
5362    
5363            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Type.Argument)
5364          }
5365    
5366          static {
5367            defaultInstance = new Argument(true);
5368            defaultInstance.initFields();
5369          }
5370    
5371          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Type.Argument)
5372        }
5373    
5374        private int bitField0_;
5375        public static final int ARGUMENT_FIELD_NUMBER = 2;
5376        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> argument_;
5377        /**
5378         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5379         */
5380        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> getArgumentList() {
5381          return argument_;
5382        }
5383        /**
5384         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5385         */
5386        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder> 
5387            getArgumentOrBuilderList() {
5388          return argument_;
5389        }
5390        /**
5391         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5392         */
5393        public int getArgumentCount() {
5394          return argument_.size();
5395        }
5396        /**
5397         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5398         */
5399        public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index) {
5400          return argument_.get(index);
5401        }
5402        /**
5403         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5404         */
5405        public org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder getArgumentOrBuilder(
5406            int index) {
5407          return argument_.get(index);
5408        }
5409    
5410        public static final int NULLABLE_FIELD_NUMBER = 3;
5411        private boolean nullable_;
5412        /**
5413         * <code>optional bool nullable = 3 [default = false];</code>
5414         */
5415        public boolean hasNullable() {
5416          return ((bitField0_ & 0x00000001) == 0x00000001);
5417        }
5418        /**
5419         * <code>optional bool nullable = 3 [default = false];</code>
5420         */
5421        public boolean getNullable() {
5422          return nullable_;
5423        }
5424    
5425        public static final int FLEXIBLE_TYPE_CAPABILITIES_ID_FIELD_NUMBER = 4;
5426        private int flexibleTypeCapabilitiesId_;
5427        /**
5428         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5429         *
5430         * <pre>
5431         * If this field is set, the type is flexible.
5432         * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5433         * </pre>
5434         */
5435        public boolean hasFlexibleTypeCapabilitiesId() {
5436          return ((bitField0_ & 0x00000002) == 0x00000002);
5437        }
5438        /**
5439         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5440         *
5441         * <pre>
5442         * If this field is set, the type is flexible.
5443         * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5444         * </pre>
5445         */
5446        public int getFlexibleTypeCapabilitiesId() {
5447          return flexibleTypeCapabilitiesId_;
5448        }
5449    
5450        public static final int FLEXIBLE_UPPER_BOUND_FIELD_NUMBER = 5;
5451        private org.jetbrains.kotlin.serialization.ProtoBuf.Type flexibleUpperBound_;
5452        /**
5453         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5454         */
5455        public boolean hasFlexibleUpperBound() {
5456          return ((bitField0_ & 0x00000004) == 0x00000004);
5457        }
5458        /**
5459         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5460         */
5461        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound() {
5462          return flexibleUpperBound_;
5463        }
5464    
5465        public static final int FLEXIBLE_UPPER_BOUND_ID_FIELD_NUMBER = 8;
5466        private int flexibleUpperBoundId_;
5467        /**
5468         * <code>optional int32 flexible_upper_bound_id = 8;</code>
5469         */
5470        public boolean hasFlexibleUpperBoundId() {
5471          return ((bitField0_ & 0x00000008) == 0x00000008);
5472        }
5473        /**
5474         * <code>optional int32 flexible_upper_bound_id = 8;</code>
5475         */
5476        public int getFlexibleUpperBoundId() {
5477          return flexibleUpperBoundId_;
5478        }
5479    
5480        public static final int CLASS_NAME_FIELD_NUMBER = 6;
5481        private int className_;
5482        /**
5483         * <code>optional int32 class_name = 6;</code>
5484         */
5485        public boolean hasClassName() {
5486          return ((bitField0_ & 0x00000010) == 0x00000010);
5487        }
5488        /**
5489         * <code>optional int32 class_name = 6;</code>
5490         */
5491        public int getClassName() {
5492          return className_;
5493        }
5494    
5495        public static final int TYPE_PARAMETER_FIELD_NUMBER = 7;
5496        private int typeParameter_;
5497        /**
5498         * <code>optional int32 type_parameter = 7;</code>
5499         *
5500         * <pre>
5501         * id of the type parameter
5502         * </pre>
5503         */
5504        public boolean hasTypeParameter() {
5505          return ((bitField0_ & 0x00000020) == 0x00000020);
5506        }
5507        /**
5508         * <code>optional int32 type_parameter = 7;</code>
5509         *
5510         * <pre>
5511         * id of the type parameter
5512         * </pre>
5513         */
5514        public int getTypeParameter() {
5515          return typeParameter_;
5516        }
5517    
5518        public static final int TYPE_PARAMETER_NAME_FIELD_NUMBER = 9;
5519        private int typeParameterName_;
5520        /**
5521         * <code>optional int32 type_parameter_name = 9;</code>
5522         *
5523         * <pre>
5524         * Name of the type parameter in the immediate owner
5525         * </pre>
5526         */
5527        public boolean hasTypeParameterName() {
5528          return ((bitField0_ & 0x00000040) == 0x00000040);
5529        }
5530        /**
5531         * <code>optional int32 type_parameter_name = 9;</code>
5532         *
5533         * <pre>
5534         * Name of the type parameter in the immediate owner
5535         * </pre>
5536         */
5537        public int getTypeParameterName() {
5538          return typeParameterName_;
5539        }
5540    
5541        public static final int TYPE_ALIAS_NAME_FIELD_NUMBER = 12;
5542        private int typeAliasName_;
5543        /**
5544         * <code>optional int32 type_alias_name = 12;</code>
5545         *
5546         * <pre>
5547         * Note that this may be present only for abbreviated_type
5548         * Top level types are always fully expanded
5549         * </pre>
5550         */
5551        public boolean hasTypeAliasName() {
5552          return ((bitField0_ & 0x00000080) == 0x00000080);
5553        }
5554        /**
5555         * <code>optional int32 type_alias_name = 12;</code>
5556         *
5557         * <pre>
5558         * Note that this may be present only for abbreviated_type
5559         * Top level types are always fully expanded
5560         * </pre>
5561         */
5562        public int getTypeAliasName() {
5563          return typeAliasName_;
5564        }
5565    
5566        public static final int OUTER_TYPE_FIELD_NUMBER = 10;
5567        private org.jetbrains.kotlin.serialization.ProtoBuf.Type outerType_;
5568        /**
5569         * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
5570         */
5571        public boolean hasOuterType() {
5572          return ((bitField0_ & 0x00000100) == 0x00000100);
5573        }
5574        /**
5575         * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
5576         */
5577        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getOuterType() {
5578          return outerType_;
5579        }
5580    
5581        public static final int OUTER_TYPE_ID_FIELD_NUMBER = 11;
5582        private int outerTypeId_;
5583        /**
5584         * <code>optional int32 outer_type_id = 11;</code>
5585         */
5586        public boolean hasOuterTypeId() {
5587          return ((bitField0_ & 0x00000200) == 0x00000200);
5588        }
5589        /**
5590         * <code>optional int32 outer_type_id = 11;</code>
5591         */
5592        public int getOuterTypeId() {
5593          return outerTypeId_;
5594        }
5595    
5596        public static final int ABBREVIATED_TYPE_FIELD_NUMBER = 13;
5597        private org.jetbrains.kotlin.serialization.ProtoBuf.Type abbreviatedType_;
5598        /**
5599         * <code>optional .org.jetbrains.kotlin.serialization.Type abbreviated_type = 13;</code>
5600         */
5601        public boolean hasAbbreviatedType() {
5602          return ((bitField0_ & 0x00000400) == 0x00000400);
5603        }
5604        /**
5605         * <code>optional .org.jetbrains.kotlin.serialization.Type abbreviated_type = 13;</code>
5606         */
5607        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getAbbreviatedType() {
5608          return abbreviatedType_;
5609        }
5610    
5611        public static final int ABBREVIATED_TYPE_ID_FIELD_NUMBER = 14;
5612        private int abbreviatedTypeId_;
5613        /**
5614         * <code>optional int32 abbreviated_type_id = 14;</code>
5615         */
5616        public boolean hasAbbreviatedTypeId() {
5617          return ((bitField0_ & 0x00000800) == 0x00000800);
5618        }
5619        /**
5620         * <code>optional int32 abbreviated_type_id = 14;</code>
5621         */
5622        public int getAbbreviatedTypeId() {
5623          return abbreviatedTypeId_;
5624        }
5625    
5626        public static final int FLAGS_FIELD_NUMBER = 1;
5627        private int flags_;
5628        /**
5629         * <code>optional int32 flags = 1;</code>
5630         *
5631         * <pre>
5632         *suspend
5633         * </pre>
5634         */
5635        public boolean hasFlags() {
5636          return ((bitField0_ & 0x00001000) == 0x00001000);
5637        }
5638        /**
5639         * <code>optional int32 flags = 1;</code>
5640         *
5641         * <pre>
5642         *suspend
5643         * </pre>
5644         */
5645        public int getFlags() {
5646          return flags_;
5647        }
5648    
5649        private void initFields() {
5650          argument_ = java.util.Collections.emptyList();
5651          nullable_ = false;
5652          flexibleTypeCapabilitiesId_ = 0;
5653          flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5654          flexibleUpperBoundId_ = 0;
5655          className_ = 0;
5656          typeParameter_ = 0;
5657          typeParameterName_ = 0;
5658          typeAliasName_ = 0;
5659          outerType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5660          outerTypeId_ = 0;
5661          abbreviatedType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5662          abbreviatedTypeId_ = 0;
5663          flags_ = 0;
5664        }
5665        private byte memoizedIsInitialized = -1;
5666        public final boolean isInitialized() {
5667          byte isInitialized = memoizedIsInitialized;
5668          if (isInitialized == 1) return true;
5669          if (isInitialized == 0) return false;
5670    
5671          for (int i = 0; i < getArgumentCount(); i++) {
5672            if (!getArgument(i).isInitialized()) {
5673              memoizedIsInitialized = 0;
5674              return false;
5675            }
5676          }
5677          if (hasFlexibleUpperBound()) {
5678            if (!getFlexibleUpperBound().isInitialized()) {
5679              memoizedIsInitialized = 0;
5680              return false;
5681            }
5682          }
5683          if (hasOuterType()) {
5684            if (!getOuterType().isInitialized()) {
5685              memoizedIsInitialized = 0;
5686              return false;
5687            }
5688          }
5689          if (hasAbbreviatedType()) {
5690            if (!getAbbreviatedType().isInitialized()) {
5691              memoizedIsInitialized = 0;
5692              return false;
5693            }
5694          }
5695          if (!extensionsAreInitialized()) {
5696            memoizedIsInitialized = 0;
5697            return false;
5698          }
5699          memoizedIsInitialized = 1;
5700          return true;
5701        }
5702    
5703        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
5704                            throws java.io.IOException {
5705          getSerializedSize();
5706          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
5707            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Type>.ExtensionWriter extensionWriter =
5708              newExtensionWriter();
5709          if (((bitField0_ & 0x00001000) == 0x00001000)) {
5710            output.writeInt32(1, flags_);
5711          }
5712          for (int i = 0; i < argument_.size(); i++) {
5713            output.writeMessage(2, argument_.get(i));
5714          }
5715          if (((bitField0_ & 0x00000001) == 0x00000001)) {
5716            output.writeBool(3, nullable_);
5717          }
5718          if (((bitField0_ & 0x00000002) == 0x00000002)) {
5719            output.writeInt32(4, flexibleTypeCapabilitiesId_);
5720          }
5721          if (((bitField0_ & 0x00000004) == 0x00000004)) {
5722            output.writeMessage(5, flexibleUpperBound_);
5723          }
5724          if (((bitField0_ & 0x00000010) == 0x00000010)) {
5725            output.writeInt32(6, className_);
5726          }
5727          if (((bitField0_ & 0x00000020) == 0x00000020)) {
5728            output.writeInt32(7, typeParameter_);
5729          }
5730          if (((bitField0_ & 0x00000008) == 0x00000008)) {
5731            output.writeInt32(8, flexibleUpperBoundId_);
5732          }
5733          if (((bitField0_ & 0x00000040) == 0x00000040)) {
5734            output.writeInt32(9, typeParameterName_);
5735          }
5736          if (((bitField0_ & 0x00000100) == 0x00000100)) {
5737            output.writeMessage(10, outerType_);
5738          }
5739          if (((bitField0_ & 0x00000200) == 0x00000200)) {
5740            output.writeInt32(11, outerTypeId_);
5741          }
5742          if (((bitField0_ & 0x00000080) == 0x00000080)) {
5743            output.writeInt32(12, typeAliasName_);
5744          }
5745          if (((bitField0_ & 0x00000400) == 0x00000400)) {
5746            output.writeMessage(13, abbreviatedType_);
5747          }
5748          if (((bitField0_ & 0x00000800) == 0x00000800)) {
5749            output.writeInt32(14, abbreviatedTypeId_);
5750          }
5751          extensionWriter.writeUntil(200, output);
5752          output.writeRawBytes(unknownFields);
5753        }
5754    
5755        private int memoizedSerializedSize = -1;
5756        public int getSerializedSize() {
5757          int size = memoizedSerializedSize;
5758          if (size != -1) return size;
5759    
5760          size = 0;
5761          if (((bitField0_ & 0x00001000) == 0x00001000)) {
5762            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5763              .computeInt32Size(1, flags_);
5764          }
5765          for (int i = 0; i < argument_.size(); i++) {
5766            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5767              .computeMessageSize(2, argument_.get(i));
5768          }
5769          if (((bitField0_ & 0x00000001) == 0x00000001)) {
5770            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5771              .computeBoolSize(3, nullable_);
5772          }
5773          if (((bitField0_ & 0x00000002) == 0x00000002)) {
5774            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5775              .computeInt32Size(4, flexibleTypeCapabilitiesId_);
5776          }
5777          if (((bitField0_ & 0x00000004) == 0x00000004)) {
5778            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5779              .computeMessageSize(5, flexibleUpperBound_);
5780          }
5781          if (((bitField0_ & 0x00000010) == 0x00000010)) {
5782            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5783              .computeInt32Size(6, className_);
5784          }
5785          if (((bitField0_ & 0x00000020) == 0x00000020)) {
5786            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5787              .computeInt32Size(7, typeParameter_);
5788          }
5789          if (((bitField0_ & 0x00000008) == 0x00000008)) {
5790            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5791              .computeInt32Size(8, flexibleUpperBoundId_);
5792          }
5793          if (((bitField0_ & 0x00000040) == 0x00000040)) {
5794            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5795              .computeInt32Size(9, typeParameterName_);
5796          }
5797          if (((bitField0_ & 0x00000100) == 0x00000100)) {
5798            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5799              .computeMessageSize(10, outerType_);
5800          }
5801          if (((bitField0_ & 0x00000200) == 0x00000200)) {
5802            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5803              .computeInt32Size(11, outerTypeId_);
5804          }
5805          if (((bitField0_ & 0x00000080) == 0x00000080)) {
5806            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5807              .computeInt32Size(12, typeAliasName_);
5808          }
5809          if (((bitField0_ & 0x00000400) == 0x00000400)) {
5810            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5811              .computeMessageSize(13, abbreviatedType_);
5812          }
5813          if (((bitField0_ & 0x00000800) == 0x00000800)) {
5814            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5815              .computeInt32Size(14, abbreviatedTypeId_);
5816          }
5817          size += extensionsSerializedSize();
5818          size += unknownFields.size();
5819          memoizedSerializedSize = size;
5820          return size;
5821        }
5822    
5823        private static final long serialVersionUID = 0L;
5824        @java.lang.Override
5825        protected java.lang.Object writeReplace()
5826            throws java.io.ObjectStreamException {
5827          return super.writeReplace();
5828        }
5829    
5830        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5831            org.jetbrains.kotlin.protobuf.ByteString data)
5832            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
5833          return PARSER.parseFrom(data);
5834        }
5835        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5836            org.jetbrains.kotlin.protobuf.ByteString data,
5837            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
5838            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
5839          return PARSER.parseFrom(data, extensionRegistry);
5840        }
5841        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(byte[] data)
5842            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
5843          return PARSER.parseFrom(data);
5844        }
5845        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5846            byte[] data,
5847            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
5848            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
5849          return PARSER.parseFrom(data, extensionRegistry);
5850        }
5851        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(java.io.InputStream input)
5852            throws java.io.IOException {
5853          return PARSER.parseFrom(input);
5854        }
5855        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5856            java.io.InputStream input,
5857            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
5858            throws java.io.IOException {
5859          return PARSER.parseFrom(input, extensionRegistry);
5860        }
5861        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseDelimitedFrom(java.io.InputStream input)
5862            throws java.io.IOException {
5863          return PARSER.parseDelimitedFrom(input);
5864        }
5865        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseDelimitedFrom(
5866            java.io.InputStream input,
5867            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
5868            throws java.io.IOException {
5869          return PARSER.parseDelimitedFrom(input, extensionRegistry);
5870        }
5871        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5872            org.jetbrains.kotlin.protobuf.CodedInputStream input)
5873            throws java.io.IOException {
5874          return PARSER.parseFrom(input);
5875        }
5876        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5877            org.jetbrains.kotlin.protobuf.CodedInputStream input,
5878            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
5879            throws java.io.IOException {
5880          return PARSER.parseFrom(input, extensionRegistry);
5881        }
5882    
5883        public static Builder newBuilder() { return Builder.create(); }
5884        public Builder newBuilderForType() { return newBuilder(); }
5885        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Type prototype) {
5886          return newBuilder().mergeFrom(prototype);
5887        }
5888        public Builder toBuilder() { return newBuilder(this); }
5889    
5890        /**
5891         * Protobuf type {@code org.jetbrains.kotlin.serialization.Type}
5892         */
5893        public static final class Builder extends
5894            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
5895              org.jetbrains.kotlin.serialization.ProtoBuf.Type, Builder> implements
5896            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Type)
5897            org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder {
5898          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder()
5899          private Builder() {
5900            maybeForceBuilderInitialization();
5901          }
5902    
5903          private void maybeForceBuilderInitialization() {
5904          }
5905          private static Builder create() {
5906            return new Builder();
5907          }
5908    
5909          public Builder clear() {
5910            super.clear();
5911            argument_ = java.util.Collections.emptyList();
5912            bitField0_ = (bitField0_ & ~0x00000001);
5913            nullable_ = false;
5914            bitField0_ = (bitField0_ & ~0x00000002);
5915            flexibleTypeCapabilitiesId_ = 0;
5916            bitField0_ = (bitField0_ & ~0x00000004);
5917            flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5918            bitField0_ = (bitField0_ & ~0x00000008);
5919            flexibleUpperBoundId_ = 0;
5920            bitField0_ = (bitField0_ & ~0x00000010);
5921            className_ = 0;
5922            bitField0_ = (bitField0_ & ~0x00000020);
5923            typeParameter_ = 0;
5924            bitField0_ = (bitField0_ & ~0x00000040);
5925            typeParameterName_ = 0;
5926            bitField0_ = (bitField0_ & ~0x00000080);
5927            typeAliasName_ = 0;
5928            bitField0_ = (bitField0_ & ~0x00000100);
5929            outerType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5930            bitField0_ = (bitField0_ & ~0x00000200);
5931            outerTypeId_ = 0;
5932            bitField0_ = (bitField0_ & ~0x00000400);
5933            abbreviatedType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5934            bitField0_ = (bitField0_ & ~0x00000800);
5935            abbreviatedTypeId_ = 0;
5936            bitField0_ = (bitField0_ & ~0x00001000);
5937            flags_ = 0;
5938            bitField0_ = (bitField0_ & ~0x00002000);
5939            return this;
5940          }
5941    
5942          public Builder clone() {
5943            return create().mergeFrom(buildPartial());
5944          }
5945    
5946          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getDefaultInstanceForType() {
5947            return org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5948          }
5949    
5950          public org.jetbrains.kotlin.serialization.ProtoBuf.Type build() {
5951            org.jetbrains.kotlin.serialization.ProtoBuf.Type result = buildPartial();
5952            if (!result.isInitialized()) {
5953              throw newUninitializedMessageException(result);
5954            }
5955            return result;
5956          }
5957    
5958          public org.jetbrains.kotlin.serialization.ProtoBuf.Type buildPartial() {
5959            org.jetbrains.kotlin.serialization.ProtoBuf.Type result = new org.jetbrains.kotlin.serialization.ProtoBuf.Type(this);
5960            int from_bitField0_ = bitField0_;
5961            int to_bitField0_ = 0;
5962            if (((bitField0_ & 0x00000001) == 0x00000001)) {
5963              argument_ = java.util.Collections.unmodifiableList(argument_);
5964              bitField0_ = (bitField0_ & ~0x00000001);
5965            }
5966            result.argument_ = argument_;
5967            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
5968              to_bitField0_ |= 0x00000001;
5969            }
5970            result.nullable_ = nullable_;
5971            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
5972              to_bitField0_ |= 0x00000002;
5973            }
5974            result.flexibleTypeCapabilitiesId_ = flexibleTypeCapabilitiesId_;
5975            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
5976              to_bitField0_ |= 0x00000004;
5977            }
5978            result.flexibleUpperBound_ = flexibleUpperBound_;
5979            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
5980              to_bitField0_ |= 0x00000008;
5981            }
5982            result.flexibleUpperBoundId_ = flexibleUpperBoundId_;
5983            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
5984              to_bitField0_ |= 0x00000010;
5985            }
5986            result.className_ = className_;
5987            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
5988              to_bitField0_ |= 0x00000020;
5989            }
5990            result.typeParameter_ = typeParameter_;
5991            if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
5992              to_bitField0_ |= 0x00000040;
5993            }
5994            result.typeParameterName_ = typeParameterName_;
5995            if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
5996              to_bitField0_ |= 0x00000080;
5997            }
5998            result.typeAliasName_ = typeAliasName_;
5999            if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
6000              to_bitField0_ |= 0x00000100;
6001            }
6002            result.outerType_ = outerType_;
6003            if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
6004              to_bitField0_ |= 0x00000200;
6005            }
6006            result.outerTypeId_ = outerTypeId_;
6007            if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
6008              to_bitField0_ |= 0x00000400;
6009            }
6010            result.abbreviatedType_ = abbreviatedType_;
6011            if (((from_bitField0_ & 0x00001000) == 0x00001000)) {
6012              to_bitField0_ |= 0x00000800;
6013            }
6014            result.abbreviatedTypeId_ = abbreviatedTypeId_;
6015            if (((from_bitField0_ & 0x00002000) == 0x00002000)) {
6016              to_bitField0_ |= 0x00001000;
6017            }
6018            result.flags_ = flags_;
6019            result.bitField0_ = to_bitField0_;
6020            return result;
6021          }
6022    
6023          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Type other) {
6024            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) return this;
6025            if (!other.argument_.isEmpty()) {
6026              if (argument_.isEmpty()) {
6027                argument_ = other.argument_;
6028                bitField0_ = (bitField0_ & ~0x00000001);
6029              } else {
6030                ensureArgumentIsMutable();
6031                argument_.addAll(other.argument_);
6032              }
6033              
6034            }
6035            if (other.hasNullable()) {
6036              setNullable(other.getNullable());
6037            }
6038            if (other.hasFlexibleTypeCapabilitiesId()) {
6039              setFlexibleTypeCapabilitiesId(other.getFlexibleTypeCapabilitiesId());
6040            }
6041            if (other.hasFlexibleUpperBound()) {
6042              mergeFlexibleUpperBound(other.getFlexibleUpperBound());
6043            }
6044            if (other.hasFlexibleUpperBoundId()) {
6045              setFlexibleUpperBoundId(other.getFlexibleUpperBoundId());
6046            }
6047            if (other.hasClassName()) {
6048              setClassName(other.getClassName());
6049            }
6050            if (other.hasTypeParameter()) {
6051              setTypeParameter(other.getTypeParameter());
6052            }
6053            if (other.hasTypeParameterName()) {
6054              setTypeParameterName(other.getTypeParameterName());
6055            }
6056            if (other.hasTypeAliasName()) {
6057              setTypeAliasName(other.getTypeAliasName());
6058            }
6059            if (other.hasOuterType()) {
6060              mergeOuterType(other.getOuterType());
6061            }
6062            if (other.hasOuterTypeId()) {
6063              setOuterTypeId(other.getOuterTypeId());
6064            }
6065            if (other.hasAbbreviatedType()) {
6066              mergeAbbreviatedType(other.getAbbreviatedType());
6067            }
6068            if (other.hasAbbreviatedTypeId()) {
6069              setAbbreviatedTypeId(other.getAbbreviatedTypeId());
6070            }
6071            if (other.hasFlags()) {
6072              setFlags(other.getFlags());
6073            }
6074            this.mergeExtensionFields(other);
6075            setUnknownFields(
6076                getUnknownFields().concat(other.unknownFields));
6077            return this;
6078          }
6079    
6080          public final boolean isInitialized() {
6081            for (int i = 0; i < getArgumentCount(); i++) {
6082              if (!getArgument(i).isInitialized()) {
6083                
6084                return false;
6085              }
6086            }
6087            if (hasFlexibleUpperBound()) {
6088              if (!getFlexibleUpperBound().isInitialized()) {
6089                
6090                return false;
6091              }
6092            }
6093            if (hasOuterType()) {
6094              if (!getOuterType().isInitialized()) {
6095                
6096                return false;
6097              }
6098            }
6099            if (hasAbbreviatedType()) {
6100              if (!getAbbreviatedType().isInitialized()) {
6101                
6102                return false;
6103              }
6104            }
6105            if (!extensionsAreInitialized()) {
6106              
6107              return false;
6108            }
6109            return true;
6110          }
6111    
6112          public Builder mergeFrom(
6113              org.jetbrains.kotlin.protobuf.CodedInputStream input,
6114              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
6115              throws java.io.IOException {
6116            org.jetbrains.kotlin.serialization.ProtoBuf.Type parsedMessage = null;
6117            try {
6118              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
6119            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
6120              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Type) e.getUnfinishedMessage();
6121              throw e;
6122            } finally {
6123              if (parsedMessage != null) {
6124                mergeFrom(parsedMessage);
6125              }
6126            }
6127            return this;
6128          }
6129          private int bitField0_;
6130    
6131          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> argument_ =
6132            java.util.Collections.emptyList();
6133          private void ensureArgumentIsMutable() {
6134            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
6135              argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument>(argument_);
6136              bitField0_ |= 0x00000001;
6137             }
6138          }
6139    
6140          /**
6141           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6142           */
6143          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> getArgumentList() {
6144            return java.util.Collections.unmodifiableList(argument_);
6145          }
6146          /**
6147           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6148           */
6149          public int getArgumentCount() {
6150            return argument_.size();
6151          }
6152          /**
6153           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6154           */
6155          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index) {
6156            return argument_.get(index);
6157          }
6158          /**
6159           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6160           */
6161          public Builder setArgument(
6162              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
6163            if (value == null) {
6164              throw new NullPointerException();
6165            }
6166            ensureArgumentIsMutable();
6167            argument_.set(index, value);
6168    
6169            return this;
6170          }
6171          /**
6172           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6173           */
6174          public Builder setArgument(
6175              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
6176            ensureArgumentIsMutable();
6177            argument_.set(index, builderForValue.build());
6178    
6179            return this;
6180          }
6181          /**
6182           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6183           */
6184          public Builder addArgument(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
6185            if (value == null) {
6186              throw new NullPointerException();
6187            }
6188            ensureArgumentIsMutable();
6189            argument_.add(value);
6190    
6191            return this;
6192          }
6193          /**
6194           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6195           */
6196          public Builder addArgument(
6197              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
6198            if (value == null) {
6199              throw new NullPointerException();
6200            }
6201            ensureArgumentIsMutable();
6202            argument_.add(index, value);
6203    
6204            return this;
6205          }
6206          /**
6207           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6208           */
6209          public Builder addArgument(
6210              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
6211            ensureArgumentIsMutable();
6212            argument_.add(builderForValue.build());
6213    
6214            return this;
6215          }
6216          /**
6217           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6218           */
6219          public Builder addArgument(
6220              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
6221            ensureArgumentIsMutable();
6222            argument_.add(index, builderForValue.build());
6223    
6224            return this;
6225          }
6226          /**
6227           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6228           */
6229          public Builder addAllArgument(
6230              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> values) {
6231            ensureArgumentIsMutable();
6232            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
6233                values, argument_);
6234    
6235            return this;
6236          }
6237          /**
6238           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6239           */
6240          public Builder clearArgument() {
6241            argument_ = java.util.Collections.emptyList();
6242            bitField0_ = (bitField0_ & ~0x00000001);
6243    
6244            return this;
6245          }
6246          /**
6247           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6248           */
6249          public Builder removeArgument(int index) {
6250            ensureArgumentIsMutable();
6251            argument_.remove(index);
6252    
6253            return this;
6254          }
6255    
6256          private boolean nullable_ ;
6257          /**
6258           * <code>optional bool nullable = 3 [default = false];</code>
6259           */
6260          public boolean hasNullable() {
6261            return ((bitField0_ & 0x00000002) == 0x00000002);
6262          }
6263          /**
6264           * <code>optional bool nullable = 3 [default = false];</code>
6265           */
6266          public boolean getNullable() {
6267            return nullable_;
6268          }
6269          /**
6270           * <code>optional bool nullable = 3 [default = false];</code>
6271           */
6272          public Builder setNullable(boolean value) {
6273            bitField0_ |= 0x00000002;
6274            nullable_ = value;
6275            
6276            return this;
6277          }
6278          /**
6279           * <code>optional bool nullable = 3 [default = false];</code>
6280           */
6281          public Builder clearNullable() {
6282            bitField0_ = (bitField0_ & ~0x00000002);
6283            nullable_ = false;
6284            
6285            return this;
6286          }
6287    
6288          private int flexibleTypeCapabilitiesId_ ;
6289          /**
6290           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6291           *
6292           * <pre>
6293           * If this field is set, the type is flexible.
6294           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6295           * </pre>
6296           */
6297          public boolean hasFlexibleTypeCapabilitiesId() {
6298            return ((bitField0_ & 0x00000004) == 0x00000004);
6299          }
6300          /**
6301           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6302           *
6303           * <pre>
6304           * If this field is set, the type is flexible.
6305           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6306           * </pre>
6307           */
6308          public int getFlexibleTypeCapabilitiesId() {
6309            return flexibleTypeCapabilitiesId_;
6310          }
6311          /**
6312           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6313           *
6314           * <pre>
6315           * If this field is set, the type is flexible.
6316           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6317           * </pre>
6318           */
6319          public Builder setFlexibleTypeCapabilitiesId(int value) {
6320            bitField0_ |= 0x00000004;
6321            flexibleTypeCapabilitiesId_ = value;
6322            
6323            return this;
6324          }
6325          /**
6326           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6327           *
6328           * <pre>
6329           * If this field is set, the type is flexible.
6330           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6331           * </pre>
6332           */
6333          public Builder clearFlexibleTypeCapabilitiesId() {
6334            bitField0_ = (bitField0_ & ~0x00000004);
6335            flexibleTypeCapabilitiesId_ = 0;
6336            
6337            return this;
6338          }
6339    
6340          private org.jetbrains.kotlin.serialization.ProtoBuf.Type flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6341          /**
6342           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6343           */
6344          public boolean hasFlexibleUpperBound() {
6345            return ((bitField0_ & 0x00000008) == 0x00000008);
6346          }
6347          /**
6348           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6349           */
6350          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound() {
6351            return flexibleUpperBound_;
6352          }
6353          /**
6354           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6355           */
6356          public Builder setFlexibleUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6357            if (value == null) {
6358              throw new NullPointerException();
6359            }
6360            flexibleUpperBound_ = value;
6361    
6362            bitField0_ |= 0x00000008;
6363            return this;
6364          }
6365          /**
6366           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6367           */
6368          public Builder setFlexibleUpperBound(
6369              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
6370            flexibleUpperBound_ = builderForValue.build();
6371    
6372            bitField0_ |= 0x00000008;
6373            return this;
6374          }
6375          /**
6376           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6377           */
6378          public Builder mergeFlexibleUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6379            if (((bitField0_ & 0x00000008) == 0x00000008) &&
6380                flexibleUpperBound_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
6381              flexibleUpperBound_ =
6382                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(flexibleUpperBound_).mergeFrom(value).buildPartial();
6383            } else {
6384              flexibleUpperBound_ = value;
6385            }
6386    
6387            bitField0_ |= 0x00000008;
6388            return this;
6389          }
6390          /**
6391           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6392           */
6393          public Builder clearFlexibleUpperBound() {
6394            flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6395    
6396            bitField0_ = (bitField0_ & ~0x00000008);
6397            return this;
6398          }
6399    
6400          private int flexibleUpperBoundId_ ;
6401          /**
6402           * <code>optional int32 flexible_upper_bound_id = 8;</code>
6403           */
6404          public boolean hasFlexibleUpperBoundId() {
6405            return ((bitField0_ & 0x00000010) == 0x00000010);
6406          }
6407          /**
6408           * <code>optional int32 flexible_upper_bound_id = 8;</code>
6409           */
6410          public int getFlexibleUpperBoundId() {
6411            return flexibleUpperBoundId_;
6412          }
6413          /**
6414           * <code>optional int32 flexible_upper_bound_id = 8;</code>
6415           */
6416          public Builder setFlexibleUpperBoundId(int value) {
6417            bitField0_ |= 0x00000010;
6418            flexibleUpperBoundId_ = value;
6419            
6420            return this;
6421          }
6422          /**
6423           * <code>optional int32 flexible_upper_bound_id = 8;</code>
6424           */
6425          public Builder clearFlexibleUpperBoundId() {
6426            bitField0_ = (bitField0_ & ~0x00000010);
6427            flexibleUpperBoundId_ = 0;
6428            
6429            return this;
6430          }
6431    
6432          private int className_ ;
6433          /**
6434           * <code>optional int32 class_name = 6;</code>
6435           */
6436          public boolean hasClassName() {
6437            return ((bitField0_ & 0x00000020) == 0x00000020);
6438          }
6439          /**
6440           * <code>optional int32 class_name = 6;</code>
6441           */
6442          public int getClassName() {
6443            return className_;
6444          }
6445          /**
6446           * <code>optional int32 class_name = 6;</code>
6447           */
6448          public Builder setClassName(int value) {
6449            bitField0_ |= 0x00000020;
6450            className_ = value;
6451            
6452            return this;
6453          }
6454          /**
6455           * <code>optional int32 class_name = 6;</code>
6456           */
6457          public Builder clearClassName() {
6458            bitField0_ = (bitField0_ & ~0x00000020);
6459            className_ = 0;
6460            
6461            return this;
6462          }
6463    
6464          private int typeParameter_ ;
6465          /**
6466           * <code>optional int32 type_parameter = 7;</code>
6467           *
6468           * <pre>
6469           * id of the type parameter
6470           * </pre>
6471           */
6472          public boolean hasTypeParameter() {
6473            return ((bitField0_ & 0x00000040) == 0x00000040);
6474          }
6475          /**
6476           * <code>optional int32 type_parameter = 7;</code>
6477           *
6478           * <pre>
6479           * id of the type parameter
6480           * </pre>
6481           */
6482          public int getTypeParameter() {
6483            return typeParameter_;
6484          }
6485          /**
6486           * <code>optional int32 type_parameter = 7;</code>
6487           *
6488           * <pre>
6489           * id of the type parameter
6490           * </pre>
6491           */
6492          public Builder setTypeParameter(int value) {
6493            bitField0_ |= 0x00000040;
6494            typeParameter_ = value;
6495            
6496            return this;
6497          }
6498          /**
6499           * <code>optional int32 type_parameter = 7;</code>
6500           *
6501           * <pre>
6502           * id of the type parameter
6503           * </pre>
6504           */
6505          public Builder clearTypeParameter() {
6506            bitField0_ = (bitField0_ & ~0x00000040);
6507            typeParameter_ = 0;
6508            
6509            return this;
6510          }
6511    
6512          private int typeParameterName_ ;
6513          /**
6514           * <code>optional int32 type_parameter_name = 9;</code>
6515           *
6516           * <pre>
6517           * Name of the type parameter in the immediate owner
6518           * </pre>
6519           */
6520          public boolean hasTypeParameterName() {
6521            return ((bitField0_ & 0x00000080) == 0x00000080);
6522          }
6523          /**
6524           * <code>optional int32 type_parameter_name = 9;</code>
6525           *
6526           * <pre>
6527           * Name of the type parameter in the immediate owner
6528           * </pre>
6529           */
6530          public int getTypeParameterName() {
6531            return typeParameterName_;
6532          }
6533          /**
6534           * <code>optional int32 type_parameter_name = 9;</code>
6535           *
6536           * <pre>
6537           * Name of the type parameter in the immediate owner
6538           * </pre>
6539           */
6540          public Builder setTypeParameterName(int value) {
6541            bitField0_ |= 0x00000080;
6542            typeParameterName_ = value;
6543            
6544            return this;
6545          }
6546          /**
6547           * <code>optional int32 type_parameter_name = 9;</code>
6548           *
6549           * <pre>
6550           * Name of the type parameter in the immediate owner
6551           * </pre>
6552           */
6553          public Builder clearTypeParameterName() {
6554            bitField0_ = (bitField0_ & ~0x00000080);
6555            typeParameterName_ = 0;
6556            
6557            return this;
6558          }
6559    
6560          private int typeAliasName_ ;
6561          /**
6562           * <code>optional int32 type_alias_name = 12;</code>
6563           *
6564           * <pre>
6565           * Note that this may be present only for abbreviated_type
6566           * Top level types are always fully expanded
6567           * </pre>
6568           */
6569          public boolean hasTypeAliasName() {
6570            return ((bitField0_ & 0x00000100) == 0x00000100);
6571          }
6572          /**
6573           * <code>optional int32 type_alias_name = 12;</code>
6574           *
6575           * <pre>
6576           * Note that this may be present only for abbreviated_type
6577           * Top level types are always fully expanded
6578           * </pre>
6579           */
6580          public int getTypeAliasName() {
6581            return typeAliasName_;
6582          }
6583          /**
6584           * <code>optional int32 type_alias_name = 12;</code>
6585           *
6586           * <pre>
6587           * Note that this may be present only for abbreviated_type
6588           * Top level types are always fully expanded
6589           * </pre>
6590           */
6591          public Builder setTypeAliasName(int value) {
6592            bitField0_ |= 0x00000100;
6593            typeAliasName_ = value;
6594            
6595            return this;
6596          }
6597          /**
6598           * <code>optional int32 type_alias_name = 12;</code>
6599           *
6600           * <pre>
6601           * Note that this may be present only for abbreviated_type
6602           * Top level types are always fully expanded
6603           * </pre>
6604           */
6605          public Builder clearTypeAliasName() {
6606            bitField0_ = (bitField0_ & ~0x00000100);
6607            typeAliasName_ = 0;
6608            
6609            return this;
6610          }
6611    
6612          private org.jetbrains.kotlin.serialization.ProtoBuf.Type outerType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6613          /**
6614           * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
6615           */
6616          public boolean hasOuterType() {
6617            return ((bitField0_ & 0x00000200) == 0x00000200);
6618          }
6619          /**
6620           * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
6621           */
6622          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getOuterType() {
6623            return outerType_;
6624          }
6625          /**
6626           * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
6627           */
6628          public Builder setOuterType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6629            if (value == null) {
6630              throw new NullPointerException();
6631            }
6632            outerType_ = value;
6633    
6634            bitField0_ |= 0x00000200;
6635            return this;
6636          }
6637          /**
6638           * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
6639           */
6640          public Builder setOuterType(
6641              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
6642            outerType_ = builderForValue.build();
6643    
6644            bitField0_ |= 0x00000200;
6645            return this;
6646          }
6647          /**
6648           * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
6649           */
6650          public Builder mergeOuterType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6651            if (((bitField0_ & 0x00000200) == 0x00000200) &&
6652                outerType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
6653              outerType_ =
6654                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(outerType_).mergeFrom(value).buildPartial();
6655            } else {
6656              outerType_ = value;
6657            }
6658    
6659            bitField0_ |= 0x00000200;
6660            return this;
6661          }
6662          /**
6663           * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
6664           */
6665          public Builder clearOuterType() {
6666            outerType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6667    
6668            bitField0_ = (bitField0_ & ~0x00000200);
6669            return this;
6670          }
6671    
6672          private int outerTypeId_ ;
6673          /**
6674           * <code>optional int32 outer_type_id = 11;</code>
6675           */
6676          public boolean hasOuterTypeId() {
6677            return ((bitField0_ & 0x00000400) == 0x00000400);
6678          }
6679          /**
6680           * <code>optional int32 outer_type_id = 11;</code>
6681           */
6682          public int getOuterTypeId() {
6683            return outerTypeId_;
6684          }
6685          /**
6686           * <code>optional int32 outer_type_id = 11;</code>
6687           */
6688          public Builder setOuterTypeId(int value) {
6689            bitField0_ |= 0x00000400;
6690            outerTypeId_ = value;
6691            
6692            return this;
6693          }
6694          /**
6695           * <code>optional int32 outer_type_id = 11;</code>
6696           */
6697          public Builder clearOuterTypeId() {
6698            bitField0_ = (bitField0_ & ~0x00000400);
6699            outerTypeId_ = 0;
6700            
6701            return this;
6702          }
6703    
6704          private org.jetbrains.kotlin.serialization.ProtoBuf.Type abbreviatedType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6705          /**
6706           * <code>optional .org.jetbrains.kotlin.serialization.Type abbreviated_type = 13;</code>
6707           */
6708          public boolean hasAbbreviatedType() {
6709            return ((bitField0_ & 0x00000800) == 0x00000800);
6710          }
6711          /**
6712           * <code>optional .org.jetbrains.kotlin.serialization.Type abbreviated_type = 13;</code>
6713           */
6714          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getAbbreviatedType() {
6715            return abbreviatedType_;
6716          }
6717          /**
6718           * <code>optional .org.jetbrains.kotlin.serialization.Type abbreviated_type = 13;</code>
6719           */
6720          public Builder setAbbreviatedType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6721            if (value == null) {
6722              throw new NullPointerException();
6723            }
6724            abbreviatedType_ = value;
6725    
6726            bitField0_ |= 0x00000800;
6727            return this;
6728          }
6729          /**
6730           * <code>optional .org.jetbrains.kotlin.serialization.Type abbreviated_type = 13;</code>
6731           */
6732          public Builder setAbbreviatedType(
6733              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
6734            abbreviatedType_ = builderForValue.build();
6735    
6736            bitField0_ |= 0x00000800;
6737            return this;
6738          }
6739          /**
6740           * <code>optional .org.jetbrains.kotlin.serialization.Type abbreviated_type = 13;</code>
6741           */
6742          public Builder mergeAbbreviatedType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6743            if (((bitField0_ & 0x00000800) == 0x00000800) &&
6744                abbreviatedType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
6745              abbreviatedType_ =
6746                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(abbreviatedType_).mergeFrom(value).buildPartial();
6747            } else {
6748              abbreviatedType_ = value;
6749            }
6750    
6751            bitField0_ |= 0x00000800;
6752            return this;
6753          }
6754          /**
6755           * <code>optional .org.jetbrains.kotlin.serialization.Type abbreviated_type = 13;</code>
6756           */
6757          public Builder clearAbbreviatedType() {
6758            abbreviatedType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6759    
6760            bitField0_ = (bitField0_ & ~0x00000800);
6761            return this;
6762          }
6763    
6764          private int abbreviatedTypeId_ ;
6765          /**
6766           * <code>optional int32 abbreviated_type_id = 14;</code>
6767           */
6768          public boolean hasAbbreviatedTypeId() {
6769            return ((bitField0_ & 0x00001000) == 0x00001000);
6770          }
6771          /**
6772           * <code>optional int32 abbreviated_type_id = 14;</code>
6773           */
6774          public int getAbbreviatedTypeId() {
6775            return abbreviatedTypeId_;
6776          }
6777          /**
6778           * <code>optional int32 abbreviated_type_id = 14;</code>
6779           */
6780          public Builder setAbbreviatedTypeId(int value) {
6781            bitField0_ |= 0x00001000;
6782            abbreviatedTypeId_ = value;
6783            
6784            return this;
6785          }
6786          /**
6787           * <code>optional int32 abbreviated_type_id = 14;</code>
6788           */
6789          public Builder clearAbbreviatedTypeId() {
6790            bitField0_ = (bitField0_ & ~0x00001000);
6791            abbreviatedTypeId_ = 0;
6792            
6793            return this;
6794          }
6795    
6796          private int flags_ ;
6797          /**
6798           * <code>optional int32 flags = 1;</code>
6799           *
6800           * <pre>
6801           *suspend
6802           * </pre>
6803           */
6804          public boolean hasFlags() {
6805            return ((bitField0_ & 0x00002000) == 0x00002000);
6806          }
6807          /**
6808           * <code>optional int32 flags = 1;</code>
6809           *
6810           * <pre>
6811           *suspend
6812           * </pre>
6813           */
6814          public int getFlags() {
6815            return flags_;
6816          }
6817          /**
6818           * <code>optional int32 flags = 1;</code>
6819           *
6820           * <pre>
6821           *suspend
6822           * </pre>
6823           */
6824          public Builder setFlags(int value) {
6825            bitField0_ |= 0x00002000;
6826            flags_ = value;
6827            
6828            return this;
6829          }
6830          /**
6831           * <code>optional int32 flags = 1;</code>
6832           *
6833           * <pre>
6834           *suspend
6835           * </pre>
6836           */
6837          public Builder clearFlags() {
6838            bitField0_ = (bitField0_ & ~0x00002000);
6839            flags_ = 0;
6840            
6841            return this;
6842          }
6843    
6844          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Type)
6845        }
6846    
6847        static {
6848          defaultInstance = new Type(true);
6849          defaultInstance.initFields();
6850        }
6851    
6852        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Type)
6853      }
6854    
6855      public interface TypeParameterOrBuilder extends 
6856          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.TypeParameter)
6857           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
6858                ExtendableMessageOrBuilder<TypeParameter> {
6859    
6860        /**
6861         * <code>required int32 id = 1;</code>
6862         */
6863        boolean hasId();
6864        /**
6865         * <code>required int32 id = 1;</code>
6866         */
6867        int getId();
6868    
6869        /**
6870         * <code>required int32 name = 2;</code>
6871         */
6872        boolean hasName();
6873        /**
6874         * <code>required int32 name = 2;</code>
6875         */
6876        int getName();
6877    
6878        /**
6879         * <code>optional bool reified = 3 [default = false];</code>
6880         */
6881        boolean hasReified();
6882        /**
6883         * <code>optional bool reified = 3 [default = false];</code>
6884         */
6885        boolean getReified();
6886    
6887        /**
6888         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6889         */
6890        boolean hasVariance();
6891        /**
6892         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6893         */
6894        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance();
6895    
6896        /**
6897         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6898         */
6899        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> 
6900            getUpperBoundList();
6901        /**
6902         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6903         */
6904        org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index);
6905        /**
6906         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6907         */
6908        int getUpperBoundCount();
6909    
6910        /**
6911         * <code>repeated int32 upper_bound_id = 6;</code>
6912         */
6913        java.util.List<java.lang.Integer> getUpperBoundIdList();
6914        /**
6915         * <code>repeated int32 upper_bound_id = 6;</code>
6916         */
6917        int getUpperBoundIdCount();
6918        /**
6919         * <code>repeated int32 upper_bound_id = 6;</code>
6920         */
6921        int getUpperBoundId(int index);
6922      }
6923      /**
6924       * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeParameter}
6925       */
6926      public static final class TypeParameter extends
6927          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
6928            TypeParameter> implements
6929          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.TypeParameter)
6930          TypeParameterOrBuilder {
6931        // Use TypeParameter.newBuilder() to construct.
6932        private TypeParameter(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter, ?> builder) {
6933          super(builder);
6934          this.unknownFields = builder.getUnknownFields();
6935        }
6936        private TypeParameter(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
6937    
6938        private static final TypeParameter defaultInstance;
6939        public static TypeParameter getDefaultInstance() {
6940          return defaultInstance;
6941        }
6942    
6943        public TypeParameter getDefaultInstanceForType() {
6944          return defaultInstance;
6945        }
6946    
6947        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
6948        private TypeParameter(
6949            org.jetbrains.kotlin.protobuf.CodedInputStream input,
6950            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
6951            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
6952          initFields();
6953          int mutable_bitField0_ = 0;
6954          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
6955              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
6956          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
6957              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
6958                  unknownFieldsOutput);
6959          try {
6960            boolean done = false;
6961            while (!done) {
6962              int tag = input.readTag();
6963              switch (tag) {
6964                case 0:
6965                  done = true;
6966                  break;
6967                default: {
6968                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
6969                                         extensionRegistry, tag)) {
6970                    done = true;
6971                  }
6972                  break;
6973                }
6974                case 8: {
6975                  bitField0_ |= 0x00000001;
6976                  id_ = input.readInt32();
6977                  break;
6978                }
6979                case 16: {
6980                  bitField0_ |= 0x00000002;
6981                  name_ = input.readInt32();
6982                  break;
6983                }
6984                case 24: {
6985                  bitField0_ |= 0x00000004;
6986                  reified_ = input.readBool();
6987                  break;
6988                }
6989                case 32: {
6990                  int rawValue = input.readEnum();
6991                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance value = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.valueOf(rawValue);
6992                  if (value == null) {
6993                    unknownFieldsCodedOutput.writeRawVarint32(tag);
6994                    unknownFieldsCodedOutput.writeRawVarint32(rawValue);
6995                  } else {
6996                    bitField0_ |= 0x00000008;
6997                    variance_ = value;
6998                  }
6999                  break;
7000                }
7001                case 42: {
7002                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7003                    upperBound_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
7004                    mutable_bitField0_ |= 0x00000010;
7005                  }
7006                  upperBound_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
7007                  break;
7008                }
7009                case 48: {
7010                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
7011                    upperBoundId_ = new java.util.ArrayList<java.lang.Integer>();
7012                    mutable_bitField0_ |= 0x00000020;
7013                  }
7014                  upperBoundId_.add(input.readInt32());
7015                  break;
7016                }
7017                case 50: {
7018                  int length = input.readRawVarint32();
7019                  int limit = input.pushLimit(length);
7020                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
7021                    upperBoundId_ = new java.util.ArrayList<java.lang.Integer>();
7022                    mutable_bitField0_ |= 0x00000020;
7023                  }
7024                  while (input.getBytesUntilLimit() > 0) {
7025                    upperBoundId_.add(input.readInt32());
7026                  }
7027                  input.popLimit(limit);
7028                  break;
7029                }
7030              }
7031            }
7032          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
7033            throw e.setUnfinishedMessage(this);
7034          } catch (java.io.IOException e) {
7035            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
7036                e.getMessage()).setUnfinishedMessage(this);
7037          } finally {
7038            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7039              upperBound_ = java.util.Collections.unmodifiableList(upperBound_);
7040            }
7041            if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
7042              upperBoundId_ = java.util.Collections.unmodifiableList(upperBoundId_);
7043            }
7044            try {
7045              unknownFieldsCodedOutput.flush();
7046            } catch (java.io.IOException e) {
7047            // Should not happen
7048            } finally {
7049              unknownFields = unknownFieldsOutput.toByteString();
7050            }
7051            makeExtensionsImmutable();
7052          }
7053        }
7054        public static org.jetbrains.kotlin.protobuf.Parser<TypeParameter> PARSER =
7055            new org.jetbrains.kotlin.protobuf.AbstractParser<TypeParameter>() {
7056          public TypeParameter parsePartialFrom(
7057              org.jetbrains.kotlin.protobuf.CodedInputStream input,
7058              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
7059              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
7060            return new TypeParameter(input, extensionRegistry);
7061          }
7062        };
7063    
7064        @java.lang.Override
7065        public org.jetbrains.kotlin.protobuf.Parser<TypeParameter> getParserForType() {
7066          return PARSER;
7067        }
7068    
7069        /**
7070         * Protobuf enum {@code org.jetbrains.kotlin.serialization.TypeParameter.Variance}
7071         */
7072        public enum Variance
7073            implements org.jetbrains.kotlin.protobuf.Internal.EnumLite {
7074          /**
7075           * <code>IN = 0;</code>
7076           */
7077          IN(0, 0),
7078          /**
7079           * <code>OUT = 1;</code>
7080           */
7081          OUT(1, 1),
7082          /**
7083           * <code>INV = 2;</code>
7084           */
7085          INV(2, 2),
7086          ;
7087    
7088          /**
7089           * <code>IN = 0;</code>
7090           */
7091          public static final int IN_VALUE = 0;
7092          /**
7093           * <code>OUT = 1;</code>
7094           */
7095          public static final int OUT_VALUE = 1;
7096          /**
7097           * <code>INV = 2;</code>
7098           */
7099          public static final int INV_VALUE = 2;
7100    
7101    
7102          public final int getNumber() { return value; }
7103    
7104          public static Variance valueOf(int value) {
7105            switch (value) {
7106              case 0: return IN;
7107              case 1: return OUT;
7108              case 2: return INV;
7109              default: return null;
7110            }
7111          }
7112    
7113          public static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Variance>
7114              internalGetValueMap() {
7115            return internalValueMap;
7116          }
7117          private static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Variance>
7118              internalValueMap =
7119                new org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Variance>() {
7120                  public Variance findValueByNumber(int number) {
7121                    return Variance.valueOf(number);
7122                  }
7123                };
7124    
7125          private final int value;
7126    
7127          private Variance(int index, int value) {
7128            this.value = value;
7129          }
7130    
7131          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.TypeParameter.Variance)
7132        }
7133    
7134        private int bitField0_;
7135        public static final int ID_FIELD_NUMBER = 1;
7136        private int id_;
7137        /**
7138         * <code>required int32 id = 1;</code>
7139         */
7140        public boolean hasId() {
7141          return ((bitField0_ & 0x00000001) == 0x00000001);
7142        }
7143        /**
7144         * <code>required int32 id = 1;</code>
7145         */
7146        public int getId() {
7147          return id_;
7148        }
7149    
7150        public static final int NAME_FIELD_NUMBER = 2;
7151        private int name_;
7152        /**
7153         * <code>required int32 name = 2;</code>
7154         */
7155        public boolean hasName() {
7156          return ((bitField0_ & 0x00000002) == 0x00000002);
7157        }
7158        /**
7159         * <code>required int32 name = 2;</code>
7160         */
7161        public int getName() {
7162          return name_;
7163        }
7164    
7165        public static final int REIFIED_FIELD_NUMBER = 3;
7166        private boolean reified_;
7167        /**
7168         * <code>optional bool reified = 3 [default = false];</code>
7169         */
7170        public boolean hasReified() {
7171          return ((bitField0_ & 0x00000004) == 0x00000004);
7172        }
7173        /**
7174         * <code>optional bool reified = 3 [default = false];</code>
7175         */
7176        public boolean getReified() {
7177          return reified_;
7178        }
7179    
7180        public static final int VARIANCE_FIELD_NUMBER = 4;
7181        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance variance_;
7182        /**
7183         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7184         */
7185        public boolean hasVariance() {
7186          return ((bitField0_ & 0x00000008) == 0x00000008);
7187        }
7188        /**
7189         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7190         */
7191        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
7192          return variance_;
7193        }
7194    
7195        public static final int UPPER_BOUND_FIELD_NUMBER = 5;
7196        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> upperBound_;
7197        /**
7198         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7199         */
7200        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getUpperBoundList() {
7201          return upperBound_;
7202        }
7203        /**
7204         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7205         */
7206        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
7207            getUpperBoundOrBuilderList() {
7208          return upperBound_;
7209        }
7210        /**
7211         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7212         */
7213        public int getUpperBoundCount() {
7214          return upperBound_.size();
7215        }
7216        /**
7217         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7218         */
7219        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index) {
7220          return upperBound_.get(index);
7221        }
7222        /**
7223         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7224         */
7225        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getUpperBoundOrBuilder(
7226            int index) {
7227          return upperBound_.get(index);
7228        }
7229    
7230        public static final int UPPER_BOUND_ID_FIELD_NUMBER = 6;
7231        private java.util.List<java.lang.Integer> upperBoundId_;
7232        /**
7233         * <code>repeated int32 upper_bound_id = 6;</code>
7234         */
7235        public java.util.List<java.lang.Integer>
7236            getUpperBoundIdList() {
7237          return upperBoundId_;
7238        }
7239        /**
7240         * <code>repeated int32 upper_bound_id = 6;</code>
7241         */
7242        public int getUpperBoundIdCount() {
7243          return upperBoundId_.size();
7244        }
7245        /**
7246         * <code>repeated int32 upper_bound_id = 6;</code>
7247         */
7248        public int getUpperBoundId(int index) {
7249          return upperBoundId_.get(index);
7250        }
7251    
7252        private void initFields() {
7253          id_ = 0;
7254          name_ = 0;
7255          reified_ = false;
7256          variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
7257          upperBound_ = java.util.Collections.emptyList();
7258          upperBoundId_ = java.util.Collections.emptyList();
7259        }
7260        private byte memoizedIsInitialized = -1;
7261        public final boolean isInitialized() {
7262          byte isInitialized = memoizedIsInitialized;
7263          if (isInitialized == 1) return true;
7264          if (isInitialized == 0) return false;
7265    
7266          if (!hasId()) {
7267            memoizedIsInitialized = 0;
7268            return false;
7269          }
7270          if (!hasName()) {
7271            memoizedIsInitialized = 0;
7272            return false;
7273          }
7274          for (int i = 0; i < getUpperBoundCount(); i++) {
7275            if (!getUpperBound(i).isInitialized()) {
7276              memoizedIsInitialized = 0;
7277              return false;
7278            }
7279          }
7280          if (!extensionsAreInitialized()) {
7281            memoizedIsInitialized = 0;
7282            return false;
7283          }
7284          memoizedIsInitialized = 1;
7285          return true;
7286        }
7287    
7288        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
7289                            throws java.io.IOException {
7290          getSerializedSize();
7291          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
7292            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>.ExtensionWriter extensionWriter =
7293              newExtensionWriter();
7294          if (((bitField0_ & 0x00000001) == 0x00000001)) {
7295            output.writeInt32(1, id_);
7296          }
7297          if (((bitField0_ & 0x00000002) == 0x00000002)) {
7298            output.writeInt32(2, name_);
7299          }
7300          if (((bitField0_ & 0x00000004) == 0x00000004)) {
7301            output.writeBool(3, reified_);
7302          }
7303          if (((bitField0_ & 0x00000008) == 0x00000008)) {
7304            output.writeEnum(4, variance_.getNumber());
7305          }
7306          for (int i = 0; i < upperBound_.size(); i++) {
7307            output.writeMessage(5, upperBound_.get(i));
7308          }
7309          for (int i = 0; i < upperBoundId_.size(); i++) {
7310            output.writeInt32(6, upperBoundId_.get(i));
7311          }
7312          extensionWriter.writeUntil(1000, output);
7313          output.writeRawBytes(unknownFields);
7314        }
7315    
7316        private int memoizedSerializedSize = -1;
7317        public int getSerializedSize() {
7318          int size = memoizedSerializedSize;
7319          if (size != -1) return size;
7320    
7321          size = 0;
7322          if (((bitField0_ & 0x00000001) == 0x00000001)) {
7323            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
7324              .computeInt32Size(1, id_);
7325          }
7326          if (((bitField0_ & 0x00000002) == 0x00000002)) {
7327            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
7328              .computeInt32Size(2, name_);
7329          }
7330          if (((bitField0_ & 0x00000004) == 0x00000004)) {
7331            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
7332              .computeBoolSize(3, reified_);
7333          }
7334          if (((bitField0_ & 0x00000008) == 0x00000008)) {
7335            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
7336              .computeEnumSize(4, variance_.getNumber());
7337          }
7338          for (int i = 0; i < upperBound_.size(); i++) {
7339            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
7340              .computeMessageSize(5, upperBound_.get(i));
7341          }
7342          {
7343            int dataSize = 0;
7344            for (int i = 0; i < upperBoundId_.size(); i++) {
7345              dataSize += org.jetbrains.kotlin.protobuf.CodedOutputStream
7346                .computeInt32SizeNoTag(upperBoundId_.get(i));
7347            }
7348            size += dataSize;
7349            size += 1 * getUpperBoundIdList().size();
7350          }
7351          size += extensionsSerializedSize();
7352          size += unknownFields.size();
7353          memoizedSerializedSize = size;
7354          return size;
7355        }
7356    
7357        private static final long serialVersionUID = 0L;
7358        @java.lang.Override
7359        protected java.lang.Object writeReplace()
7360            throws java.io.ObjectStreamException {
7361          return super.writeReplace();
7362        }
7363    
7364        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
7365            org.jetbrains.kotlin.protobuf.ByteString data)
7366            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
7367          return PARSER.parseFrom(data);
7368        }
7369        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
7370            org.jetbrains.kotlin.protobuf.ByteString data,
7371            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
7372            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
7373          return PARSER.parseFrom(data, extensionRegistry);
7374        }
7375        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(byte[] data)
7376            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
7377          return PARSER.parseFrom(data);
7378        }
7379        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
7380            byte[] data,
7381            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
7382            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
7383          return PARSER.parseFrom(data, extensionRegistry);
7384        }
7385        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(java.io.InputStream input)
7386            throws java.io.IOException {
7387          return PARSER.parseFrom(input);
7388        }
7389        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
7390            java.io.InputStream input,
7391            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
7392            throws java.io.IOException {
7393          return PARSER.parseFrom(input, extensionRegistry);
7394        }
7395        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(java.io.InputStream input)
7396            throws java.io.IOException {
7397          return PARSER.parseDelimitedFrom(input);
7398        }
7399        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(
7400            java.io.InputStream input,
7401            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
7402            throws java.io.IOException {
7403          return PARSER.parseDelimitedFrom(input, extensionRegistry);
7404        }
7405        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
7406            org.jetbrains.kotlin.protobuf.CodedInputStream input)
7407            throws java.io.IOException {
7408          return PARSER.parseFrom(input);
7409        }
7410        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
7411            org.jetbrains.kotlin.protobuf.CodedInputStream input,
7412            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
7413            throws java.io.IOException {
7414          return PARSER.parseFrom(input, extensionRegistry);
7415        }
7416    
7417        public static Builder newBuilder() { return Builder.create(); }
7418        public Builder newBuilderForType() { return newBuilder(); }
7419        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter prototype) {
7420          return newBuilder().mergeFrom(prototype);
7421        }
7422        public Builder toBuilder() { return newBuilder(this); }
7423    
7424        /**
7425         * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeParameter}
7426         */
7427        public static final class Builder extends
7428            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
7429              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter, Builder> implements
7430            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.TypeParameter)
7431            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder {
7432          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.newBuilder()
7433          private Builder() {
7434            maybeForceBuilderInitialization();
7435          }
7436    
7437          private void maybeForceBuilderInitialization() {
7438          }
7439          private static Builder create() {
7440            return new Builder();
7441          }
7442    
7443          public Builder clear() {
7444            super.clear();
7445            id_ = 0;
7446            bitField0_ = (bitField0_ & ~0x00000001);
7447            name_ = 0;
7448            bitField0_ = (bitField0_ & ~0x00000002);
7449            reified_ = false;
7450            bitField0_ = (bitField0_ & ~0x00000004);
7451            variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
7452            bitField0_ = (bitField0_ & ~0x00000008);
7453            upperBound_ = java.util.Collections.emptyList();
7454            bitField0_ = (bitField0_ & ~0x00000010);
7455            upperBoundId_ = java.util.Collections.emptyList();
7456            bitField0_ = (bitField0_ & ~0x00000020);
7457            return this;
7458          }
7459    
7460          public Builder clone() {
7461            return create().mergeFrom(buildPartial());
7462          }
7463    
7464          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getDefaultInstanceForType() {
7465            return org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.getDefaultInstance();
7466          }
7467    
7468          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter build() {
7469            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter result = buildPartial();
7470            if (!result.isInitialized()) {
7471              throw newUninitializedMessageException(result);
7472            }
7473            return result;
7474          }
7475    
7476          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter buildPartial() {
7477            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter result = new org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter(this);
7478            int from_bitField0_ = bitField0_;
7479            int to_bitField0_ = 0;
7480            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
7481              to_bitField0_ |= 0x00000001;
7482            }
7483            result.id_ = id_;
7484            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
7485              to_bitField0_ |= 0x00000002;
7486            }
7487            result.name_ = name_;
7488            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
7489              to_bitField0_ |= 0x00000004;
7490            }
7491            result.reified_ = reified_;
7492            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
7493              to_bitField0_ |= 0x00000008;
7494            }
7495            result.variance_ = variance_;
7496            if (((bitField0_ & 0x00000010) == 0x00000010)) {
7497              upperBound_ = java.util.Collections.unmodifiableList(upperBound_);
7498              bitField0_ = (bitField0_ & ~0x00000010);
7499            }
7500            result.upperBound_ = upperBound_;
7501            if (((bitField0_ & 0x00000020) == 0x00000020)) {
7502              upperBoundId_ = java.util.Collections.unmodifiableList(upperBoundId_);
7503              bitField0_ = (bitField0_ & ~0x00000020);
7504            }
7505            result.upperBoundId_ = upperBoundId_;
7506            result.bitField0_ = to_bitField0_;
7507            return result;
7508          }
7509    
7510          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter other) {
7511            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.getDefaultInstance()) return this;
7512            if (other.hasId()) {
7513              setId(other.getId());
7514            }
7515            if (other.hasName()) {
7516              setName(other.getName());
7517            }
7518            if (other.hasReified()) {
7519              setReified(other.getReified());
7520            }
7521            if (other.hasVariance()) {
7522              setVariance(other.getVariance());
7523            }
7524            if (!other.upperBound_.isEmpty()) {
7525              if (upperBound_.isEmpty()) {
7526                upperBound_ = other.upperBound_;
7527                bitField0_ = (bitField0_ & ~0x00000010);
7528              } else {
7529                ensureUpperBoundIsMutable();
7530                upperBound_.addAll(other.upperBound_);
7531              }
7532              
7533            }
7534            if (!other.upperBoundId_.isEmpty()) {
7535              if (upperBoundId_.isEmpty()) {
7536                upperBoundId_ = other.upperBoundId_;
7537                bitField0_ = (bitField0_ & ~0x00000020);
7538              } else {
7539                ensureUpperBoundIdIsMutable();
7540                upperBoundId_.addAll(other.upperBoundId_);
7541              }
7542              
7543            }
7544            this.mergeExtensionFields(other);
7545            setUnknownFields(
7546                getUnknownFields().concat(other.unknownFields));
7547            return this;
7548          }
7549    
7550          public final boolean isInitialized() {
7551            if (!hasId()) {
7552              
7553              return false;
7554            }
7555            if (!hasName()) {
7556              
7557              return false;
7558            }
7559            for (int i = 0; i < getUpperBoundCount(); i++) {
7560              if (!getUpperBound(i).isInitialized()) {
7561                
7562                return false;
7563              }
7564            }
7565            if (!extensionsAreInitialized()) {
7566              
7567              return false;
7568            }
7569            return true;
7570          }
7571    
7572          public Builder mergeFrom(
7573              org.jetbrains.kotlin.protobuf.CodedInputStream input,
7574              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
7575              throws java.io.IOException {
7576            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parsedMessage = null;
7577            try {
7578              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
7579            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
7580              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter) e.getUnfinishedMessage();
7581              throw e;
7582            } finally {
7583              if (parsedMessage != null) {
7584                mergeFrom(parsedMessage);
7585              }
7586            }
7587            return this;
7588          }
7589          private int bitField0_;
7590    
7591          private int id_ ;
7592          /**
7593           * <code>required int32 id = 1;</code>
7594           */
7595          public boolean hasId() {
7596            return ((bitField0_ & 0x00000001) == 0x00000001);
7597          }
7598          /**
7599           * <code>required int32 id = 1;</code>
7600           */
7601          public int getId() {
7602            return id_;
7603          }
7604          /**
7605           * <code>required int32 id = 1;</code>
7606           */
7607          public Builder setId(int value) {
7608            bitField0_ |= 0x00000001;
7609            id_ = value;
7610            
7611            return this;
7612          }
7613          /**
7614           * <code>required int32 id = 1;</code>
7615           */
7616          public Builder clearId() {
7617            bitField0_ = (bitField0_ & ~0x00000001);
7618            id_ = 0;
7619            
7620            return this;
7621          }
7622    
7623          private int name_ ;
7624          /**
7625           * <code>required int32 name = 2;</code>
7626           */
7627          public boolean hasName() {
7628            return ((bitField0_ & 0x00000002) == 0x00000002);
7629          }
7630          /**
7631           * <code>required int32 name = 2;</code>
7632           */
7633          public int getName() {
7634            return name_;
7635          }
7636          /**
7637           * <code>required int32 name = 2;</code>
7638           */
7639          public Builder setName(int value) {
7640            bitField0_ |= 0x00000002;
7641            name_ = value;
7642            
7643            return this;
7644          }
7645          /**
7646           * <code>required int32 name = 2;</code>
7647           */
7648          public Builder clearName() {
7649            bitField0_ = (bitField0_ & ~0x00000002);
7650            name_ = 0;
7651            
7652            return this;
7653          }
7654    
7655          private boolean reified_ ;
7656          /**
7657           * <code>optional bool reified = 3 [default = false];</code>
7658           */
7659          public boolean hasReified() {
7660            return ((bitField0_ & 0x00000004) == 0x00000004);
7661          }
7662          /**
7663           * <code>optional bool reified = 3 [default = false];</code>
7664           */
7665          public boolean getReified() {
7666            return reified_;
7667          }
7668          /**
7669           * <code>optional bool reified = 3 [default = false];</code>
7670           */
7671          public Builder setReified(boolean value) {
7672            bitField0_ |= 0x00000004;
7673            reified_ = value;
7674            
7675            return this;
7676          }
7677          /**
7678           * <code>optional bool reified = 3 [default = false];</code>
7679           */
7680          public Builder clearReified() {
7681            bitField0_ = (bitField0_ & ~0x00000004);
7682            reified_ = false;
7683            
7684            return this;
7685          }
7686    
7687          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
7688          /**
7689           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7690           */
7691          public boolean hasVariance() {
7692            return ((bitField0_ & 0x00000008) == 0x00000008);
7693          }
7694          /**
7695           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7696           */
7697          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
7698            return variance_;
7699          }
7700          /**
7701           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7702           */
7703          public Builder setVariance(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance value) {
7704            if (value == null) {
7705              throw new NullPointerException();
7706            }
7707            bitField0_ |= 0x00000008;
7708            variance_ = value;
7709            
7710            return this;
7711          }
7712          /**
7713           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7714           */
7715          public Builder clearVariance() {
7716            bitField0_ = (bitField0_ & ~0x00000008);
7717            variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
7718            
7719            return this;
7720          }
7721    
7722          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> upperBound_ =
7723            java.util.Collections.emptyList();
7724          private void ensureUpperBoundIsMutable() {
7725            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
7726              upperBound_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(upperBound_);
7727              bitField0_ |= 0x00000010;
7728             }
7729          }
7730    
7731          /**
7732           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7733           */
7734          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getUpperBoundList() {
7735            return java.util.Collections.unmodifiableList(upperBound_);
7736          }
7737          /**
7738           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7739           */
7740          public int getUpperBoundCount() {
7741            return upperBound_.size();
7742          }
7743          /**
7744           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7745           */
7746          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index) {
7747            return upperBound_.get(index);
7748          }
7749          /**
7750           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7751           */
7752          public Builder setUpperBound(
7753              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7754            if (value == null) {
7755              throw new NullPointerException();
7756            }
7757            ensureUpperBoundIsMutable();
7758            upperBound_.set(index, value);
7759    
7760            return this;
7761          }
7762          /**
7763           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7764           */
7765          public Builder setUpperBound(
7766              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7767            ensureUpperBoundIsMutable();
7768            upperBound_.set(index, builderForValue.build());
7769    
7770            return this;
7771          }
7772          /**
7773           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7774           */
7775          public Builder addUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7776            if (value == null) {
7777              throw new NullPointerException();
7778            }
7779            ensureUpperBoundIsMutable();
7780            upperBound_.add(value);
7781    
7782            return this;
7783          }
7784          /**
7785           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7786           */
7787          public Builder addUpperBound(
7788              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7789            if (value == null) {
7790              throw new NullPointerException();
7791            }
7792            ensureUpperBoundIsMutable();
7793            upperBound_.add(index, value);
7794    
7795            return this;
7796          }
7797          /**
7798           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7799           */
7800          public Builder addUpperBound(
7801              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7802            ensureUpperBoundIsMutable();
7803            upperBound_.add(builderForValue.build());
7804    
7805            return this;
7806          }
7807          /**
7808           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7809           */
7810          public Builder addUpperBound(
7811              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7812            ensureUpperBoundIsMutable();
7813            upperBound_.add(index, builderForValue.build());
7814    
7815            return this;
7816          }
7817          /**
7818           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7819           */
7820          public Builder addAllUpperBound(
7821              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
7822            ensureUpperBoundIsMutable();
7823            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
7824                values, upperBound_);
7825    
7826            return this;
7827          }
7828          /**
7829           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7830           */
7831          public Builder clearUpperBound() {
7832            upperBound_ = java.util.Collections.emptyList();
7833            bitField0_ = (bitField0_ & ~0x00000010);
7834    
7835            return this;
7836          }
7837          /**
7838           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7839           */
7840          public Builder removeUpperBound(int index) {
7841            ensureUpperBoundIsMutable();
7842            upperBound_.remove(index);
7843    
7844            return this;
7845          }
7846    
7847          private java.util.List<java.lang.Integer> upperBoundId_ = java.util.Collections.emptyList();
7848          private void ensureUpperBoundIdIsMutable() {
7849            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
7850              upperBoundId_ = new java.util.ArrayList<java.lang.Integer>(upperBoundId_);
7851              bitField0_ |= 0x00000020;
7852             }
7853          }
7854          /**
7855           * <code>repeated int32 upper_bound_id = 6;</code>
7856           */
7857          public java.util.List<java.lang.Integer>
7858              getUpperBoundIdList() {
7859            return java.util.Collections.unmodifiableList(upperBoundId_);
7860          }
7861          /**
7862           * <code>repeated int32 upper_bound_id = 6;</code>
7863           */
7864          public int getUpperBoundIdCount() {
7865            return upperBoundId_.size();
7866          }
7867          /**
7868           * <code>repeated int32 upper_bound_id = 6;</code>
7869           */
7870          public int getUpperBoundId(int index) {
7871            return upperBoundId_.get(index);
7872          }
7873          /**
7874           * <code>repeated int32 upper_bound_id = 6;</code>
7875           */
7876          public Builder setUpperBoundId(
7877              int index, int value) {
7878            ensureUpperBoundIdIsMutable();
7879            upperBoundId_.set(index, value);
7880            
7881            return this;
7882          }
7883          /**
7884           * <code>repeated int32 upper_bound_id = 6;</code>
7885           */
7886          public Builder addUpperBoundId(int value) {
7887            ensureUpperBoundIdIsMutable();
7888            upperBoundId_.add(value);
7889            
7890            return this;
7891          }
7892          /**
7893           * <code>repeated int32 upper_bound_id = 6;</code>
7894           */
7895          public Builder addAllUpperBoundId(
7896              java.lang.Iterable<? extends java.lang.Integer> values) {
7897            ensureUpperBoundIdIsMutable();
7898            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
7899                values, upperBoundId_);
7900            
7901            return this;
7902          }
7903          /**
7904           * <code>repeated int32 upper_bound_id = 6;</code>
7905           */
7906          public Builder clearUpperBoundId() {
7907            upperBoundId_ = java.util.Collections.emptyList();
7908            bitField0_ = (bitField0_ & ~0x00000020);
7909            
7910            return this;
7911          }
7912    
7913          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.TypeParameter)
7914        }
7915    
7916        static {
7917          defaultInstance = new TypeParameter(true);
7918          defaultInstance.initFields();
7919        }
7920    
7921        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.TypeParameter)
7922      }
7923    
7924      public interface ClassOrBuilder extends 
7925          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.Class)
7926           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
7927                ExtendableMessageOrBuilder<Class> {
7928    
7929        /**
7930         * <code>optional int32 flags = 1 [default = 6];</code>
7931         *
7932         * <pre>
7933         *hasAnnotations
7934         *Visibility
7935         *Modality
7936         *ClassKind
7937         *isInner
7938         *isData
7939         * </pre>
7940         */
7941        boolean hasFlags();
7942        /**
7943         * <code>optional int32 flags = 1 [default = 6];</code>
7944         *
7945         * <pre>
7946         *hasAnnotations
7947         *Visibility
7948         *Modality
7949         *ClassKind
7950         *isInner
7951         *isData
7952         * </pre>
7953         */
7954        int getFlags();
7955    
7956        /**
7957         * <code>required int32 fq_name = 3;</code>
7958         */
7959        boolean hasFqName();
7960        /**
7961         * <code>required int32 fq_name = 3;</code>
7962         */
7963        int getFqName();
7964    
7965        /**
7966         * <code>optional int32 companion_object_name = 4;</code>
7967         */
7968        boolean hasCompanionObjectName();
7969        /**
7970         * <code>optional int32 companion_object_name = 4;</code>
7971         */
7972        int getCompanionObjectName();
7973    
7974        /**
7975         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7976         */
7977        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
7978            getTypeParameterList();
7979        /**
7980         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7981         */
7982        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
7983        /**
7984         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7985         */
7986        int getTypeParameterCount();
7987    
7988        /**
7989         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7990         */
7991        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> 
7992            getSupertypeList();
7993        /**
7994         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7995         */
7996        org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index);
7997        /**
7998         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7999         */
8000        int getSupertypeCount();
8001    
8002        /**
8003         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
8004         */
8005        java.util.List<java.lang.Integer> getSupertypeIdList();
8006        /**
8007         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
8008         */
8009        int getSupertypeIdCount();
8010        /**
8011         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
8012         */
8013        int getSupertypeId(int index);
8014    
8015        /**
8016         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
8017         */
8018        java.util.List<java.lang.Integer> getNestedClassNameList();
8019        /**
8020         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
8021         */
8022        int getNestedClassNameCount();
8023        /**
8024         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
8025         */
8026        int getNestedClassName(int index);
8027    
8028        /**
8029         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8030         */
8031        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> 
8032            getConstructorList();
8033        /**
8034         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8035         */
8036        org.jetbrains.kotlin.serialization.ProtoBuf.Constructor getConstructor(int index);
8037        /**
8038         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8039         */
8040        int getConstructorCount();
8041    
8042        /**
8043         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8044         */
8045        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> 
8046            getFunctionList();
8047        /**
8048         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8049         */
8050        org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index);
8051        /**
8052         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8053         */
8054        int getFunctionCount();
8055    
8056        /**
8057         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8058         */
8059        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> 
8060            getPropertyList();
8061        /**
8062         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8063         */
8064        org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index);
8065        /**
8066         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8067         */
8068        int getPropertyCount();
8069    
8070        /**
8071         * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 11;</code>
8072         */
8073        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias> 
8074            getTypeAliasList();
8075        /**
8076         * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 11;</code>
8077         */
8078        org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias getTypeAlias(int index);
8079        /**
8080         * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 11;</code>
8081         */
8082        int getTypeAliasCount();
8083    
8084        /**
8085         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8086         */
8087        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> 
8088            getEnumEntryList();
8089        /**
8090         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8091         */
8092        org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry getEnumEntry(int index);
8093        /**
8094         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8095         */
8096        int getEnumEntryCount();
8097    
8098        /**
8099         * <code>repeated int32 sealed_subclass_fq_name = 16 [packed = true];</code>
8100         */
8101        java.util.List<java.lang.Integer> getSealedSubclassFqNameList();
8102        /**
8103         * <code>repeated int32 sealed_subclass_fq_name = 16 [packed = true];</code>
8104         */
8105        int getSealedSubclassFqNameCount();
8106        /**
8107         * <code>repeated int32 sealed_subclass_fq_name = 16 [packed = true];</code>
8108         */
8109        int getSealedSubclassFqName(int index);
8110    
8111        /**
8112         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
8113         */
8114        boolean hasTypeTable();
8115        /**
8116         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
8117         */
8118        org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable();
8119    
8120        /**
8121         * <code>optional int32 sinceKotlinInfo = 31;</code>
8122         *
8123         * <pre>
8124         * Index into the SinceKotlinInfoTable
8125         * </pre>
8126         */
8127        boolean hasSinceKotlinInfo();
8128        /**
8129         * <code>optional int32 sinceKotlinInfo = 31;</code>
8130         *
8131         * <pre>
8132         * Index into the SinceKotlinInfoTable
8133         * </pre>
8134         */
8135        int getSinceKotlinInfo();
8136    
8137        /**
8138         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
8139         */
8140        boolean hasSinceKotlinInfoTable();
8141        /**
8142         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
8143         */
8144        org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable getSinceKotlinInfoTable();
8145      }
8146      /**
8147       * Protobuf type {@code org.jetbrains.kotlin.serialization.Class}
8148       */
8149      public static final class Class extends
8150          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
8151            Class> implements
8152          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Class)
8153          ClassOrBuilder {
8154        // Use Class.newBuilder() to construct.
8155        private Class(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Class, ?> builder) {
8156          super(builder);
8157          this.unknownFields = builder.getUnknownFields();
8158        }
8159        private Class(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
8160    
8161        private static final Class defaultInstance;
8162        public static Class getDefaultInstance() {
8163          return defaultInstance;
8164        }
8165    
8166        public Class getDefaultInstanceForType() {
8167          return defaultInstance;
8168        }
8169    
8170        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
8171        private Class(
8172            org.jetbrains.kotlin.protobuf.CodedInputStream input,
8173            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
8174            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
8175          initFields();
8176          int mutable_bitField0_ = 0;
8177          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
8178              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
8179          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
8180              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
8181                  unknownFieldsOutput);
8182          try {
8183            boolean done = false;
8184            while (!done) {
8185              int tag = input.readTag();
8186              switch (tag) {
8187                case 0:
8188                  done = true;
8189                  break;
8190                default: {
8191                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
8192                                         extensionRegistry, tag)) {
8193                    done = true;
8194                  }
8195                  break;
8196                }
8197                case 8: {
8198                  bitField0_ |= 0x00000001;
8199                  flags_ = input.readInt32();
8200                  break;
8201                }
8202                case 16: {
8203                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
8204                    supertypeId_ = new java.util.ArrayList<java.lang.Integer>();
8205                    mutable_bitField0_ |= 0x00000020;
8206                  }
8207                  supertypeId_.add(input.readInt32());
8208                  break;
8209                }
8210                case 18: {
8211                  int length = input.readRawVarint32();
8212                  int limit = input.pushLimit(length);
8213                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
8214                    supertypeId_ = new java.util.ArrayList<java.lang.Integer>();
8215                    mutable_bitField0_ |= 0x00000020;
8216                  }
8217                  while (input.getBytesUntilLimit() > 0) {
8218                    supertypeId_.add(input.readInt32());
8219                  }
8220                  input.popLimit(limit);
8221                  break;
8222                }
8223                case 24: {
8224                  bitField0_ |= 0x00000002;
8225                  fqName_ = input.readInt32();
8226                  break;
8227                }
8228                case 32: {
8229                  bitField0_ |= 0x00000004;
8230                  companionObjectName_ = input.readInt32();
8231                  break;
8232                }
8233                case 42: {
8234                  if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
8235                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
8236                    mutable_bitField0_ |= 0x00000008;
8237                  }
8238                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
8239                  break;
8240                }
8241                case 50: {
8242                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
8243                    supertype_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
8244                    mutable_bitField0_ |= 0x00000010;
8245                  }
8246                  supertype_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
8247                  break;
8248                }
8249                case 56: {
8250                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
8251                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
8252                    mutable_bitField0_ |= 0x00000040;
8253                  }
8254                  nestedClassName_.add(input.readInt32());
8255                  break;
8256                }
8257                case 58: {
8258                  int length = input.readRawVarint32();
8259                  int limit = input.pushLimit(length);
8260                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) {
8261                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
8262                    mutable_bitField0_ |= 0x00000040;
8263                  }
8264                  while (input.getBytesUntilLimit() > 0) {
8265                    nestedClassName_.add(input.readInt32());
8266                  }
8267                  input.popLimit(limit);
8268                  break;
8269                }
8270                case 66: {
8271                  if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
8272                    constructor_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor>();
8273                    mutable_bitField0_ |= 0x00000080;
8274                  }
8275                  constructor_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.PARSER, extensionRegistry));
8276                  break;
8277                }
8278                case 74: {
8279                  if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
8280                    function_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Function>();
8281                    mutable_bitField0_ |= 0x00000100;
8282                  }
8283                  function_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Function.PARSER, extensionRegistry));
8284                  break;
8285                }
8286                case 82: {
8287                  if (!((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
8288                    property_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Property>();
8289                    mutable_bitField0_ |= 0x00000200;
8290                  }
8291                  property_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Property.PARSER, extensionRegistry));
8292                  break;
8293                }
8294                case 90: {
8295                  if (!((mutable_bitField0_ & 0x00000400) == 0x00000400)) {
8296                    typeAlias_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias>();
8297                    mutable_bitField0_ |= 0x00000400;
8298                  }
8299                  typeAlias_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias.PARSER, extensionRegistry));
8300                  break;
8301                }
8302                case 106: {
8303                  if (!((mutable_bitField0_ & 0x00000800) == 0x00000800)) {
8304                    enumEntry_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry>();
8305                    mutable_bitField0_ |= 0x00000800;
8306                  }
8307                  enumEntry_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.PARSER, extensionRegistry));
8308                  break;
8309                }
8310                case 128: {
8311                  if (!((mutable_bitField0_ & 0x00001000) == 0x00001000)) {
8312                    sealedSubclassFqName_ = new java.util.ArrayList<java.lang.Integer>();
8313                    mutable_bitField0_ |= 0x00001000;
8314                  }
8315                  sealedSubclassFqName_.add(input.readInt32());
8316                  break;
8317                }
8318                case 130: {
8319                  int length = input.readRawVarint32();
8320                  int limit = input.pushLimit(length);
8321                  if (!((mutable_bitField0_ & 0x00001000) == 0x00001000) && input.getBytesUntilLimit() > 0) {
8322                    sealedSubclassFqName_ = new java.util.ArrayList<java.lang.Integer>();
8323                    mutable_bitField0_ |= 0x00001000;
8324                  }
8325                  while (input.getBytesUntilLimit() > 0) {
8326                    sealedSubclassFqName_.add(input.readInt32());
8327                  }
8328                  input.popLimit(limit);
8329                  break;
8330                }
8331                case 242: {
8332                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder subBuilder = null;
8333                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
8334                    subBuilder = typeTable_.toBuilder();
8335                  }
8336                  typeTable_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.PARSER, extensionRegistry);
8337                  if (subBuilder != null) {
8338                    subBuilder.mergeFrom(typeTable_);
8339                    typeTable_ = subBuilder.buildPartial();
8340                  }
8341                  bitField0_ |= 0x00000008;
8342                  break;
8343                }
8344                case 248: {
8345                  bitField0_ |= 0x00000010;
8346                  sinceKotlinInfo_ = input.readInt32();
8347                  break;
8348                }
8349                case 258: {
8350                  org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.Builder subBuilder = null;
8351                  if (((bitField0_ & 0x00000020) == 0x00000020)) {
8352                    subBuilder = sinceKotlinInfoTable_.toBuilder();
8353                  }
8354                  sinceKotlinInfoTable_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.PARSER, extensionRegistry);
8355                  if (subBuilder != null) {
8356                    subBuilder.mergeFrom(sinceKotlinInfoTable_);
8357                    sinceKotlinInfoTable_ = subBuilder.buildPartial();
8358                  }
8359                  bitField0_ |= 0x00000020;
8360                  break;
8361                }
8362              }
8363            }
8364          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
8365            throw e.setUnfinishedMessage(this);
8366          } catch (java.io.IOException e) {
8367            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
8368                e.getMessage()).setUnfinishedMessage(this);
8369          } finally {
8370            if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
8371              supertypeId_ = java.util.Collections.unmodifiableList(supertypeId_);
8372            }
8373            if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
8374              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
8375            }
8376            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
8377              supertype_ = java.util.Collections.unmodifiableList(supertype_);
8378            }
8379            if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
8380              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
8381            }
8382            if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
8383              constructor_ = java.util.Collections.unmodifiableList(constructor_);
8384            }
8385            if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
8386              function_ = java.util.Collections.unmodifiableList(function_);
8387            }
8388            if (((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
8389              property_ = java.util.Collections.unmodifiableList(property_);
8390            }
8391            if (((mutable_bitField0_ & 0x00000400) == 0x00000400)) {
8392              typeAlias_ = java.util.Collections.unmodifiableList(typeAlias_);
8393            }
8394            if (((mutable_bitField0_ & 0x00000800) == 0x00000800)) {
8395              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
8396            }
8397            if (((mutable_bitField0_ & 0x00001000) == 0x00001000)) {
8398              sealedSubclassFqName_ = java.util.Collections.unmodifiableList(sealedSubclassFqName_);
8399            }
8400            try {
8401              unknownFieldsCodedOutput.flush();
8402            } catch (java.io.IOException e) {
8403            // Should not happen
8404            } finally {
8405              unknownFields = unknownFieldsOutput.toByteString();
8406            }
8407            makeExtensionsImmutable();
8408          }
8409        }
8410        public static org.jetbrains.kotlin.protobuf.Parser<Class> PARSER =
8411            new org.jetbrains.kotlin.protobuf.AbstractParser<Class>() {
8412          public Class parsePartialFrom(
8413              org.jetbrains.kotlin.protobuf.CodedInputStream input,
8414              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
8415              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
8416            return new Class(input, extensionRegistry);
8417          }
8418        };
8419    
8420        @java.lang.Override
8421        public org.jetbrains.kotlin.protobuf.Parser<Class> getParserForType() {
8422          return PARSER;
8423        }
8424    
8425        /**
8426         * Protobuf enum {@code org.jetbrains.kotlin.serialization.Class.Kind}
8427         */
8428        public enum Kind
8429            implements org.jetbrains.kotlin.protobuf.Internal.EnumLite {
8430          /**
8431           * <code>CLASS = 0;</code>
8432           *
8433           * <pre>
8434           * 3 bits
8435           * </pre>
8436           */
8437          CLASS(0, 0),
8438          /**
8439           * <code>INTERFACE = 1;</code>
8440           */
8441          INTERFACE(1, 1),
8442          /**
8443           * <code>ENUM_CLASS = 2;</code>
8444           */
8445          ENUM_CLASS(2, 2),
8446          /**
8447           * <code>ENUM_ENTRY = 3;</code>
8448           */
8449          ENUM_ENTRY(3, 3),
8450          /**
8451           * <code>ANNOTATION_CLASS = 4;</code>
8452           */
8453          ANNOTATION_CLASS(4, 4),
8454          /**
8455           * <code>OBJECT = 5;</code>
8456           */
8457          OBJECT(5, 5),
8458          /**
8459           * <code>COMPANION_OBJECT = 6;</code>
8460           */
8461          COMPANION_OBJECT(6, 6),
8462          ;
8463    
8464          /**
8465           * <code>CLASS = 0;</code>
8466           *
8467           * <pre>
8468           * 3 bits
8469           * </pre>
8470           */
8471          public static final int CLASS_VALUE = 0;
8472          /**
8473           * <code>INTERFACE = 1;</code>
8474           */
8475          public static final int INTERFACE_VALUE = 1;
8476          /**
8477           * <code>ENUM_CLASS = 2;</code>
8478           */
8479          public static final int ENUM_CLASS_VALUE = 2;
8480          /**
8481           * <code>ENUM_ENTRY = 3;</code>
8482           */
8483          public static final int ENUM_ENTRY_VALUE = 3;
8484          /**
8485           * <code>ANNOTATION_CLASS = 4;</code>
8486           */
8487          public static final int ANNOTATION_CLASS_VALUE = 4;
8488          /**
8489           * <code>OBJECT = 5;</code>
8490           */
8491          public static final int OBJECT_VALUE = 5;
8492          /**
8493           * <code>COMPANION_OBJECT = 6;</code>
8494           */
8495          public static final int COMPANION_OBJECT_VALUE = 6;
8496    
8497    
8498          public final int getNumber() { return value; }
8499    
8500          public static Kind valueOf(int value) {
8501            switch (value) {
8502              case 0: return CLASS;
8503              case 1: return INTERFACE;
8504              case 2: return ENUM_CLASS;
8505              case 3: return ENUM_ENTRY;
8506              case 4: return ANNOTATION_CLASS;
8507              case 5: return OBJECT;
8508              case 6: return COMPANION_OBJECT;
8509              default: return null;
8510            }
8511          }
8512    
8513          public static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Kind>
8514              internalGetValueMap() {
8515            return internalValueMap;
8516          }
8517          private static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Kind>
8518              internalValueMap =
8519                new org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Kind>() {
8520                  public Kind findValueByNumber(int number) {
8521                    return Kind.valueOf(number);
8522                  }
8523                };
8524    
8525          private final int value;
8526    
8527          private Kind(int index, int value) {
8528            this.value = value;
8529          }
8530    
8531          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Class.Kind)
8532        }
8533    
8534        private int bitField0_;
8535        public static final int FLAGS_FIELD_NUMBER = 1;
8536        private int flags_;
8537        /**
8538         * <code>optional int32 flags = 1 [default = 6];</code>
8539         *
8540         * <pre>
8541         *hasAnnotations
8542         *Visibility
8543         *Modality
8544         *ClassKind
8545         *isInner
8546         *isData
8547         * </pre>
8548         */
8549        public boolean hasFlags() {
8550          return ((bitField0_ & 0x00000001) == 0x00000001);
8551        }
8552        /**
8553         * <code>optional int32 flags = 1 [default = 6];</code>
8554         *
8555         * <pre>
8556         *hasAnnotations
8557         *Visibility
8558         *Modality
8559         *ClassKind
8560         *isInner
8561         *isData
8562         * </pre>
8563         */
8564        public int getFlags() {
8565          return flags_;
8566        }
8567    
8568        public static final int FQ_NAME_FIELD_NUMBER = 3;
8569        private int fqName_;
8570        /**
8571         * <code>required int32 fq_name = 3;</code>
8572         */
8573        public boolean hasFqName() {
8574          return ((bitField0_ & 0x00000002) == 0x00000002);
8575        }
8576        /**
8577         * <code>required int32 fq_name = 3;</code>
8578         */
8579        public int getFqName() {
8580          return fqName_;
8581        }
8582    
8583        public static final int COMPANION_OBJECT_NAME_FIELD_NUMBER = 4;
8584        private int companionObjectName_;
8585        /**
8586         * <code>optional int32 companion_object_name = 4;</code>
8587         */
8588        public boolean hasCompanionObjectName() {
8589          return ((bitField0_ & 0x00000004) == 0x00000004);
8590        }
8591        /**
8592         * <code>optional int32 companion_object_name = 4;</code>
8593         */
8594        public int getCompanionObjectName() {
8595          return companionObjectName_;
8596        }
8597    
8598        public static final int TYPE_PARAMETER_FIELD_NUMBER = 5;
8599        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
8600        /**
8601         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8602         */
8603        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
8604          return typeParameter_;
8605        }
8606        /**
8607         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8608         */
8609        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
8610            getTypeParameterOrBuilderList() {
8611          return typeParameter_;
8612        }
8613        /**
8614         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8615         */
8616        public int getTypeParameterCount() {
8617          return typeParameter_.size();
8618        }
8619        /**
8620         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8621         */
8622        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
8623          return typeParameter_.get(index);
8624        }
8625        /**
8626         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8627         */
8628        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
8629            int index) {
8630          return typeParameter_.get(index);
8631        }
8632    
8633        public static final int SUPERTYPE_FIELD_NUMBER = 6;
8634        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> supertype_;
8635        /**
8636         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8637         */
8638        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getSupertypeList() {
8639          return supertype_;
8640        }
8641        /**
8642         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8643         */
8644        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
8645            getSupertypeOrBuilderList() {
8646          return supertype_;
8647        }
8648        /**
8649         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8650         */
8651        public int getSupertypeCount() {
8652          return supertype_.size();
8653        }
8654        /**
8655         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8656         */
8657        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index) {
8658          return supertype_.get(index);
8659        }
8660        /**
8661         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8662         */
8663        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getSupertypeOrBuilder(
8664            int index) {
8665          return supertype_.get(index);
8666        }
8667    
8668        public static final int SUPERTYPE_ID_FIELD_NUMBER = 2;
8669        private java.util.List<java.lang.Integer> supertypeId_;
8670        /**
8671         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
8672         */
8673        public java.util.List<java.lang.Integer>
8674            getSupertypeIdList() {
8675          return supertypeId_;
8676        }
8677        /**
8678         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
8679         */
8680        public int getSupertypeIdCount() {
8681          return supertypeId_.size();
8682        }
8683        /**
8684         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
8685         */
8686        public int getSupertypeId(int index) {
8687          return supertypeId_.get(index);
8688        }
8689        private int supertypeIdMemoizedSerializedSize = -1;
8690    
8691        public static final int NESTED_CLASS_NAME_FIELD_NUMBER = 7;
8692        private java.util.List<java.lang.Integer> nestedClassName_;
8693        /**
8694         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
8695         */
8696        public java.util.List<java.lang.Integer>
8697            getNestedClassNameList() {
8698          return nestedClassName_;
8699        }
8700        /**
8701         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
8702         */
8703        public int getNestedClassNameCount() {
8704          return nestedClassName_.size();
8705        }
8706        /**
8707         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
8708         */
8709        public int getNestedClassName(int index) {
8710          return nestedClassName_.get(index);
8711        }
8712        private int nestedClassNameMemoizedSerializedSize = -1;
8713    
8714        public static final int CONSTRUCTOR_FIELD_NUMBER = 8;
8715        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> constructor_;
8716        /**
8717         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8718         */
8719        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> getConstructorList() {
8720          return constructor_;
8721        }
8722        /**
8723         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8724         */
8725        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ConstructorOrBuilder> 
8726            getConstructorOrBuilderList() {
8727          return constructor_;
8728        }
8729        /**
8730         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8731         */
8732        public int getConstructorCount() {
8733          return constructor_.size();
8734        }
8735        /**
8736         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8737         */
8738        public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor getConstructor(int index) {
8739          return constructor_.get(index);
8740        }
8741        /**
8742         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8743         */
8744        public org.jetbrains.kotlin.serialization.ProtoBuf.ConstructorOrBuilder getConstructorOrBuilder(
8745            int index) {
8746          return constructor_.get(index);
8747        }
8748    
8749        public static final int FUNCTION_FIELD_NUMBER = 9;
8750        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> function_;
8751        /**
8752         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8753         */
8754        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> getFunctionList() {
8755          return function_;
8756        }
8757        /**
8758         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8759         */
8760        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder> 
8761            getFunctionOrBuilderList() {
8762          return function_;
8763        }
8764        /**
8765         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8766         */
8767        public int getFunctionCount() {
8768          return function_.size();
8769        }
8770        /**
8771         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8772         */
8773        public org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index) {
8774          return function_.get(index);
8775        }
8776        /**
8777         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8778         */
8779        public org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder getFunctionOrBuilder(
8780            int index) {
8781          return function_.get(index);
8782        }
8783    
8784        public static final int PROPERTY_FIELD_NUMBER = 10;
8785        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> property_;
8786        /**
8787         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8788         */
8789        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> getPropertyList() {
8790          return property_;
8791        }
8792        /**
8793         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8794         */
8795        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder> 
8796            getPropertyOrBuilderList() {
8797          return property_;
8798        }
8799        /**
8800         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8801         */
8802        public int getPropertyCount() {
8803          return property_.size();
8804        }
8805        /**
8806         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8807         */
8808        public org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index) {
8809          return property_.get(index);
8810        }
8811        /**
8812         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8813         */
8814        public org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder getPropertyOrBuilder(
8815            int index) {
8816          return property_.get(index);
8817        }
8818    
8819        public static final int TYPE_ALIAS_FIELD_NUMBER = 11;
8820        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias> typeAlias_;
8821        /**
8822         * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 11;</code>
8823         */
8824        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias> getTypeAliasList() {
8825          return typeAlias_;
8826        }
8827        /**
8828         * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 11;</code>
8829         */
8830        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeAliasOrBuilder> 
8831            getTypeAliasOrBuilderList() {
8832          return typeAlias_;
8833        }
8834        /**
8835         * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 11;</code>
8836         */
8837        public int getTypeAliasCount() {
8838          return typeAlias_.size();
8839        }
8840        /**
8841         * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 11;</code>
8842         */
8843        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias getTypeAlias(int index) {
8844          return typeAlias_.get(index);
8845        }
8846        /**
8847         * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 11;</code>
8848         */
8849        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeAliasOrBuilder getTypeAliasOrBuilder(
8850            int index) {
8851          return typeAlias_.get(index);
8852        }
8853    
8854        public static final int ENUM_ENTRY_FIELD_NUMBER = 13;
8855        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> enumEntry_;
8856        /**
8857         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8858         */
8859        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> getEnumEntryList() {
8860          return enumEntry_;
8861        }
8862        /**
8863         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8864         */
8865        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntryOrBuilder> 
8866            getEnumEntryOrBuilderList() {
8867          return enumEntry_;
8868        }
8869        /**
8870         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8871         */
8872        public int getEnumEntryCount() {
8873          return enumEntry_.size();
8874        }
8875        /**
8876         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8877         */
8878        public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry getEnumEntry(int index) {
8879          return enumEntry_.get(index);
8880        }
8881        /**
8882         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8883         */
8884        public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntryOrBuilder getEnumEntryOrBuilder(
8885            int index) {
8886          return enumEntry_.get(index);
8887        }
8888    
8889        public static final int SEALED_SUBCLASS_FQ_NAME_FIELD_NUMBER = 16;
8890        private java.util.List<java.lang.Integer> sealedSubclassFqName_;
8891        /**
8892         * <code>repeated int32 sealed_subclass_fq_name = 16 [packed = true];</code>
8893         */
8894        public java.util.List<java.lang.Integer>
8895            getSealedSubclassFqNameList() {
8896          return sealedSubclassFqName_;
8897        }
8898        /**
8899         * <code>repeated int32 sealed_subclass_fq_name = 16 [packed = true];</code>
8900         */
8901        public int getSealedSubclassFqNameCount() {
8902          return sealedSubclassFqName_.size();
8903        }
8904        /**
8905         * <code>repeated int32 sealed_subclass_fq_name = 16 [packed = true];</code>
8906         */
8907        public int getSealedSubclassFqName(int index) {
8908          return sealedSubclassFqName_.get(index);
8909        }
8910        private int sealedSubclassFqNameMemoizedSerializedSize = -1;
8911    
8912        public static final int TYPE_TABLE_FIELD_NUMBER = 30;
8913        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_;
8914        /**
8915         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
8916         */
8917        public boolean hasTypeTable() {
8918          return ((bitField0_ & 0x00000008) == 0x00000008);
8919        }
8920        /**
8921         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
8922         */
8923        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
8924          return typeTable_;
8925        }
8926    
8927        public static final int SINCEKOTLININFO_FIELD_NUMBER = 31;
8928        private int sinceKotlinInfo_;
8929        /**
8930         * <code>optional int32 sinceKotlinInfo = 31;</code>
8931         *
8932         * <pre>
8933         * Index into the SinceKotlinInfoTable
8934         * </pre>
8935         */
8936        public boolean hasSinceKotlinInfo() {
8937          return ((bitField0_ & 0x00000010) == 0x00000010);
8938        }
8939        /**
8940         * <code>optional int32 sinceKotlinInfo = 31;</code>
8941         *
8942         * <pre>
8943         * Index into the SinceKotlinInfoTable
8944         * </pre>
8945         */
8946        public int getSinceKotlinInfo() {
8947          return sinceKotlinInfo_;
8948        }
8949    
8950        public static final int SINCE_KOTLIN_INFO_TABLE_FIELD_NUMBER = 32;
8951        private org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable sinceKotlinInfoTable_;
8952        /**
8953         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
8954         */
8955        public boolean hasSinceKotlinInfoTable() {
8956          return ((bitField0_ & 0x00000020) == 0x00000020);
8957        }
8958        /**
8959         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
8960         */
8961        public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable getSinceKotlinInfoTable() {
8962          return sinceKotlinInfoTable_;
8963        }
8964    
8965        private void initFields() {
8966          flags_ = 6;
8967          fqName_ = 0;
8968          companionObjectName_ = 0;
8969          typeParameter_ = java.util.Collections.emptyList();
8970          supertype_ = java.util.Collections.emptyList();
8971          supertypeId_ = java.util.Collections.emptyList();
8972          nestedClassName_ = java.util.Collections.emptyList();
8973          constructor_ = java.util.Collections.emptyList();
8974          function_ = java.util.Collections.emptyList();
8975          property_ = java.util.Collections.emptyList();
8976          typeAlias_ = java.util.Collections.emptyList();
8977          enumEntry_ = java.util.Collections.emptyList();
8978          sealedSubclassFqName_ = java.util.Collections.emptyList();
8979          typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
8980          sinceKotlinInfo_ = 0;
8981          sinceKotlinInfoTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance();
8982        }
8983        private byte memoizedIsInitialized = -1;
8984        public final boolean isInitialized() {
8985          byte isInitialized = memoizedIsInitialized;
8986          if (isInitialized == 1) return true;
8987          if (isInitialized == 0) return false;
8988    
8989          if (!hasFqName()) {
8990            memoizedIsInitialized = 0;
8991            return false;
8992          }
8993          for (int i = 0; i < getTypeParameterCount(); i++) {
8994            if (!getTypeParameter(i).isInitialized()) {
8995              memoizedIsInitialized = 0;
8996              return false;
8997            }
8998          }
8999          for (int i = 0; i < getSupertypeCount(); i++) {
9000            if (!getSupertype(i).isInitialized()) {
9001              memoizedIsInitialized = 0;
9002              return false;
9003            }
9004          }
9005          for (int i = 0; i < getConstructorCount(); i++) {
9006            if (!getConstructor(i).isInitialized()) {
9007              memoizedIsInitialized = 0;
9008              return false;
9009            }
9010          }
9011          for (int i = 0; i < getFunctionCount(); i++) {
9012            if (!getFunction(i).isInitialized()) {
9013              memoizedIsInitialized = 0;
9014              return false;
9015            }
9016          }
9017          for (int i = 0; i < getPropertyCount(); i++) {
9018            if (!getProperty(i).isInitialized()) {
9019              memoizedIsInitialized = 0;
9020              return false;
9021            }
9022          }
9023          for (int i = 0; i < getTypeAliasCount(); i++) {
9024            if (!getTypeAlias(i).isInitialized()) {
9025              memoizedIsInitialized = 0;
9026              return false;
9027            }
9028          }
9029          for (int i = 0; i < getEnumEntryCount(); i++) {
9030            if (!getEnumEntry(i).isInitialized()) {
9031              memoizedIsInitialized = 0;
9032              return false;
9033            }
9034          }
9035          if (hasTypeTable()) {
9036            if (!getTypeTable().isInitialized()) {
9037              memoizedIsInitialized = 0;
9038              return false;
9039            }
9040          }
9041          if (!extensionsAreInitialized()) {
9042            memoizedIsInitialized = 0;
9043            return false;
9044          }
9045          memoizedIsInitialized = 1;
9046          return true;
9047        }
9048    
9049        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
9050                            throws java.io.IOException {
9051          getSerializedSize();
9052          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
9053            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Class>.ExtensionWriter extensionWriter =
9054              newExtensionWriter();
9055          if (((bitField0_ & 0x00000001) == 0x00000001)) {
9056            output.writeInt32(1, flags_);
9057          }
9058          if (getSupertypeIdList().size() > 0) {
9059            output.writeRawVarint32(18);
9060            output.writeRawVarint32(supertypeIdMemoizedSerializedSize);
9061          }
9062          for (int i = 0; i < supertypeId_.size(); i++) {
9063            output.writeInt32NoTag(supertypeId_.get(i));
9064          }
9065          if (((bitField0_ & 0x00000002) == 0x00000002)) {
9066            output.writeInt32(3, fqName_);
9067          }
9068          if (((bitField0_ & 0x00000004) == 0x00000004)) {
9069            output.writeInt32(4, companionObjectName_);
9070          }
9071          for (int i = 0; i < typeParameter_.size(); i++) {
9072            output.writeMessage(5, typeParameter_.get(i));
9073          }
9074          for (int i = 0; i < supertype_.size(); i++) {
9075            output.writeMessage(6, supertype_.get(i));
9076          }
9077          if (getNestedClassNameList().size() > 0) {
9078            output.writeRawVarint32(58);
9079            output.writeRawVarint32(nestedClassNameMemoizedSerializedSize);
9080          }
9081          for (int i = 0; i < nestedClassName_.size(); i++) {
9082            output.writeInt32NoTag(nestedClassName_.get(i));
9083          }
9084          for (int i = 0; i < constructor_.size(); i++) {
9085            output.writeMessage(8, constructor_.get(i));
9086          }
9087          for (int i = 0; i < function_.size(); i++) {
9088            output.writeMessage(9, function_.get(i));
9089          }
9090          for (int i = 0; i < property_.size(); i++) {
9091            output.writeMessage(10, property_.get(i));
9092          }
9093          for (int i = 0; i < typeAlias_.size(); i++) {
9094            output.writeMessage(11, typeAlias_.get(i));
9095          }
9096          for (int i = 0; i < enumEntry_.size(); i++) {
9097            output.writeMessage(13, enumEntry_.get(i));
9098          }
9099          if (getSealedSubclassFqNameList().size() > 0) {
9100            output.writeRawVarint32(130);
9101            output.writeRawVarint32(sealedSubclassFqNameMemoizedSerializedSize);
9102          }
9103          for (int i = 0; i < sealedSubclassFqName_.size(); i++) {
9104            output.writeInt32NoTag(sealedSubclassFqName_.get(i));
9105          }
9106          if (((bitField0_ & 0x00000008) == 0x00000008)) {
9107            output.writeMessage(30, typeTable_);
9108          }
9109          if (((bitField0_ & 0x00000010) == 0x00000010)) {
9110            output.writeInt32(31, sinceKotlinInfo_);
9111          }
9112          if (((bitField0_ & 0x00000020) == 0x00000020)) {
9113            output.writeMessage(32, sinceKotlinInfoTable_);
9114          }
9115          extensionWriter.writeUntil(200, output);
9116          output.writeRawBytes(unknownFields);
9117        }
9118    
9119        private int memoizedSerializedSize = -1;
9120        public int getSerializedSize() {
9121          int size = memoizedSerializedSize;
9122          if (size != -1) return size;
9123    
9124          size = 0;
9125          if (((bitField0_ & 0x00000001) == 0x00000001)) {
9126            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
9127              .computeInt32Size(1, flags_);
9128          }
9129          {
9130            int dataSize = 0;
9131            for (int i = 0; i < supertypeId_.size(); i++) {
9132              dataSize += org.jetbrains.kotlin.protobuf.CodedOutputStream
9133                .computeInt32SizeNoTag(supertypeId_.get(i));
9134            }
9135            size += dataSize;
9136            if (!getSupertypeIdList().isEmpty()) {
9137              size += 1;
9138              size += org.jetbrains.kotlin.protobuf.CodedOutputStream
9139                  .computeInt32SizeNoTag(dataSize);
9140            }
9141            supertypeIdMemoizedSerializedSize = dataSize;
9142          }
9143          if (((bitField0_ & 0x00000002) == 0x00000002)) {
9144            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
9145              .computeInt32Size(3, fqName_);
9146          }
9147          if (((bitField0_ & 0x00000004) == 0x00000004)) {
9148            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
9149              .computeInt32Size(4, companionObjectName_);
9150          }
9151          for (int i = 0; i < typeParameter_.size(); i++) {
9152            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
9153              .computeMessageSize(5, typeParameter_.get(i));
9154          }
9155          for (int i = 0; i < supertype_.size(); i++) {
9156            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
9157              .computeMessageSize(6, supertype_.get(i));
9158          }
9159          {
9160            int dataSize = 0;
9161            for (int i = 0; i < nestedClassName_.size(); i++) {
9162              dataSize += org.jetbrains.kotlin.protobuf.CodedOutputStream
9163                .computeInt32SizeNoTag(nestedClassName_.get(i));
9164            }
9165            size += dataSize;
9166            if (!getNestedClassNameList().isEmpty()) {
9167              size += 1;
9168              size += org.jetbrains.kotlin.protobuf.CodedOutputStream
9169                  .computeInt32SizeNoTag(dataSize);
9170            }
9171            nestedClassNameMemoizedSerializedSize = dataSize;
9172          }
9173          for (int i = 0; i < constructor_.size(); i++) {
9174            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
9175              .computeMessageSize(8, constructor_.get(i));
9176          }
9177          for (int i = 0; i < function_.size(); i++) {
9178            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
9179              .computeMessageSize(9, function_.get(i));
9180          }
9181          for (int i = 0; i < property_.size(); i++) {
9182            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
9183              .computeMessageSize(10, property_.get(i));
9184          }
9185          for (int i = 0; i < typeAlias_.size(); i++) {
9186            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
9187              .computeMessageSize(11, typeAlias_.get(i));
9188          }
9189          for (int i = 0; i < enumEntry_.size(); i++) {
9190            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
9191              .computeMessageSize(13, enumEntry_.get(i));
9192          }
9193          {
9194            int dataSize = 0;
9195            for (int i = 0; i < sealedSubclassFqName_.size(); i++) {
9196              dataSize += org.jetbrains.kotlin.protobuf.CodedOutputStream
9197                .computeInt32SizeNoTag(sealedSubclassFqName_.get(i));
9198            }
9199            size += dataSize;
9200            if (!getSealedSubclassFqNameList().isEmpty()) {
9201              size += 2;
9202              size += org.jetbrains.kotlin.protobuf.CodedOutputStream
9203                  .computeInt32SizeNoTag(dataSize);
9204            }
9205            sealedSubclassFqNameMemoizedSerializedSize = dataSize;
9206          }
9207          if (((bitField0_ & 0x00000008) == 0x00000008)) {
9208            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
9209              .computeMessageSize(30, typeTable_);
9210          }
9211          if (((bitField0_ & 0x00000010) == 0x00000010)) {
9212            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
9213              .computeInt32Size(31, sinceKotlinInfo_);
9214          }
9215          if (((bitField0_ & 0x00000020) == 0x00000020)) {
9216            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
9217              .computeMessageSize(32, sinceKotlinInfoTable_);
9218          }
9219          size += extensionsSerializedSize();
9220          size += unknownFields.size();
9221          memoizedSerializedSize = size;
9222          return size;
9223        }
9224    
9225        private static final long serialVersionUID = 0L;
9226        @java.lang.Override
9227        protected java.lang.Object writeReplace()
9228            throws java.io.ObjectStreamException {
9229          return super.writeReplace();
9230        }
9231    
9232        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
9233            org.jetbrains.kotlin.protobuf.ByteString data)
9234            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
9235          return PARSER.parseFrom(data);
9236        }
9237        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
9238            org.jetbrains.kotlin.protobuf.ByteString data,
9239            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
9240            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
9241          return PARSER.parseFrom(data, extensionRegistry);
9242        }
9243        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(byte[] data)
9244            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
9245          return PARSER.parseFrom(data);
9246        }
9247        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
9248            byte[] data,
9249            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
9250            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
9251          return PARSER.parseFrom(data, extensionRegistry);
9252        }
9253        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(java.io.InputStream input)
9254            throws java.io.IOException {
9255          return PARSER.parseFrom(input);
9256        }
9257        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
9258            java.io.InputStream input,
9259            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
9260            throws java.io.IOException {
9261          return PARSER.parseFrom(input, extensionRegistry);
9262        }
9263        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseDelimitedFrom(java.io.InputStream input)
9264            throws java.io.IOException {
9265          return PARSER.parseDelimitedFrom(input);
9266        }
9267        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseDelimitedFrom(
9268            java.io.InputStream input,
9269            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
9270            throws java.io.IOException {
9271          return PARSER.parseDelimitedFrom(input, extensionRegistry);
9272        }
9273        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
9274            org.jetbrains.kotlin.protobuf.CodedInputStream input)
9275            throws java.io.IOException {
9276          return PARSER.parseFrom(input);
9277        }
9278        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
9279            org.jetbrains.kotlin.protobuf.CodedInputStream input,
9280            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
9281            throws java.io.IOException {
9282          return PARSER.parseFrom(input, extensionRegistry);
9283        }
9284    
9285        public static Builder newBuilder() { return Builder.create(); }
9286        public Builder newBuilderForType() { return newBuilder(); }
9287        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Class prototype) {
9288          return newBuilder().mergeFrom(prototype);
9289        }
9290        public Builder toBuilder() { return newBuilder(this); }
9291    
9292        /**
9293         * Protobuf type {@code org.jetbrains.kotlin.serialization.Class}
9294         */
9295        public static final class Builder extends
9296            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
9297              org.jetbrains.kotlin.serialization.ProtoBuf.Class, Builder> implements
9298            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Class)
9299            org.jetbrains.kotlin.serialization.ProtoBuf.ClassOrBuilder {
9300          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Class.newBuilder()
9301          private Builder() {
9302            maybeForceBuilderInitialization();
9303          }
9304    
9305          private void maybeForceBuilderInitialization() {
9306          }
9307          private static Builder create() {
9308            return new Builder();
9309          }
9310    
9311          public Builder clear() {
9312            super.clear();
9313            flags_ = 6;
9314            bitField0_ = (bitField0_ & ~0x00000001);
9315            fqName_ = 0;
9316            bitField0_ = (bitField0_ & ~0x00000002);
9317            companionObjectName_ = 0;
9318            bitField0_ = (bitField0_ & ~0x00000004);
9319            typeParameter_ = java.util.Collections.emptyList();
9320            bitField0_ = (bitField0_ & ~0x00000008);
9321            supertype_ = java.util.Collections.emptyList();
9322            bitField0_ = (bitField0_ & ~0x00000010);
9323            supertypeId_ = java.util.Collections.emptyList();
9324            bitField0_ = (bitField0_ & ~0x00000020);
9325            nestedClassName_ = java.util.Collections.emptyList();
9326            bitField0_ = (bitField0_ & ~0x00000040);
9327            constructor_ = java.util.Collections.emptyList();
9328            bitField0_ = (bitField0_ & ~0x00000080);
9329            function_ = java.util.Collections.emptyList();
9330            bitField0_ = (bitField0_ & ~0x00000100);
9331            property_ = java.util.Collections.emptyList();
9332            bitField0_ = (bitField0_ & ~0x00000200);
9333            typeAlias_ = java.util.Collections.emptyList();
9334            bitField0_ = (bitField0_ & ~0x00000400);
9335            enumEntry_ = java.util.Collections.emptyList();
9336            bitField0_ = (bitField0_ & ~0x00000800);
9337            sealedSubclassFqName_ = java.util.Collections.emptyList();
9338            bitField0_ = (bitField0_ & ~0x00001000);
9339            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
9340            bitField0_ = (bitField0_ & ~0x00002000);
9341            sinceKotlinInfo_ = 0;
9342            bitField0_ = (bitField0_ & ~0x00004000);
9343            sinceKotlinInfoTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance();
9344            bitField0_ = (bitField0_ & ~0x00008000);
9345            return this;
9346          }
9347    
9348          public Builder clone() {
9349            return create().mergeFrom(buildPartial());
9350          }
9351    
9352          public org.jetbrains.kotlin.serialization.ProtoBuf.Class getDefaultInstanceForType() {
9353            return org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance();
9354          }
9355    
9356          public org.jetbrains.kotlin.serialization.ProtoBuf.Class build() {
9357            org.jetbrains.kotlin.serialization.ProtoBuf.Class result = buildPartial();
9358            if (!result.isInitialized()) {
9359              throw newUninitializedMessageException(result);
9360            }
9361            return result;
9362          }
9363    
9364          public org.jetbrains.kotlin.serialization.ProtoBuf.Class buildPartial() {
9365            org.jetbrains.kotlin.serialization.ProtoBuf.Class result = new org.jetbrains.kotlin.serialization.ProtoBuf.Class(this);
9366            int from_bitField0_ = bitField0_;
9367            int to_bitField0_ = 0;
9368            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
9369              to_bitField0_ |= 0x00000001;
9370            }
9371            result.flags_ = flags_;
9372            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
9373              to_bitField0_ |= 0x00000002;
9374            }
9375            result.fqName_ = fqName_;
9376            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
9377              to_bitField0_ |= 0x00000004;
9378            }
9379            result.companionObjectName_ = companionObjectName_;
9380            if (((bitField0_ & 0x00000008) == 0x00000008)) {
9381              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
9382              bitField0_ = (bitField0_ & ~0x00000008);
9383            }
9384            result.typeParameter_ = typeParameter_;
9385            if (((bitField0_ & 0x00000010) == 0x00000010)) {
9386              supertype_ = java.util.Collections.unmodifiableList(supertype_);
9387              bitField0_ = (bitField0_ & ~0x00000010);
9388            }
9389            result.supertype_ = supertype_;
9390            if (((bitField0_ & 0x00000020) == 0x00000020)) {
9391              supertypeId_ = java.util.Collections.unmodifiableList(supertypeId_);
9392              bitField0_ = (bitField0_ & ~0x00000020);
9393            }
9394            result.supertypeId_ = supertypeId_;
9395            if (((bitField0_ & 0x00000040) == 0x00000040)) {
9396              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
9397              bitField0_ = (bitField0_ & ~0x00000040);
9398            }
9399            result.nestedClassName_ = nestedClassName_;
9400            if (((bitField0_ & 0x00000080) == 0x00000080)) {
9401              constructor_ = java.util.Collections.unmodifiableList(constructor_);
9402              bitField0_ = (bitField0_ & ~0x00000080);
9403            }
9404            result.constructor_ = constructor_;
9405            if (((bitField0_ & 0x00000100) == 0x00000100)) {
9406              function_ = java.util.Collections.unmodifiableList(function_);
9407              bitField0_ = (bitField0_ & ~0x00000100);
9408            }
9409            result.function_ = function_;
9410            if (((bitField0_ & 0x00000200) == 0x00000200)) {
9411              property_ = java.util.Collections.unmodifiableList(property_);
9412              bitField0_ = (bitField0_ & ~0x00000200);
9413            }
9414            result.property_ = property_;
9415            if (((bitField0_ & 0x00000400) == 0x00000400)) {
9416              typeAlias_ = java.util.Collections.unmodifiableList(typeAlias_);
9417              bitField0_ = (bitField0_ & ~0x00000400);
9418            }
9419            result.typeAlias_ = typeAlias_;
9420            if (((bitField0_ & 0x00000800) == 0x00000800)) {
9421              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
9422              bitField0_ = (bitField0_ & ~0x00000800);
9423            }
9424            result.enumEntry_ = enumEntry_;
9425            if (((bitField0_ & 0x00001000) == 0x00001000)) {
9426              sealedSubclassFqName_ = java.util.Collections.unmodifiableList(sealedSubclassFqName_);
9427              bitField0_ = (bitField0_ & ~0x00001000);
9428            }
9429            result.sealedSubclassFqName_ = sealedSubclassFqName_;
9430            if (((from_bitField0_ & 0x00002000) == 0x00002000)) {
9431              to_bitField0_ |= 0x00000008;
9432            }
9433            result.typeTable_ = typeTable_;
9434            if (((from_bitField0_ & 0x00004000) == 0x00004000)) {
9435              to_bitField0_ |= 0x00000010;
9436            }
9437            result.sinceKotlinInfo_ = sinceKotlinInfo_;
9438            if (((from_bitField0_ & 0x00008000) == 0x00008000)) {
9439              to_bitField0_ |= 0x00000020;
9440            }
9441            result.sinceKotlinInfoTable_ = sinceKotlinInfoTable_;
9442            result.bitField0_ = to_bitField0_;
9443            return result;
9444          }
9445    
9446          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Class other) {
9447            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance()) return this;
9448            if (other.hasFlags()) {
9449              setFlags(other.getFlags());
9450            }
9451            if (other.hasFqName()) {
9452              setFqName(other.getFqName());
9453            }
9454            if (other.hasCompanionObjectName()) {
9455              setCompanionObjectName(other.getCompanionObjectName());
9456            }
9457            if (!other.typeParameter_.isEmpty()) {
9458              if (typeParameter_.isEmpty()) {
9459                typeParameter_ = other.typeParameter_;
9460                bitField0_ = (bitField0_ & ~0x00000008);
9461              } else {
9462                ensureTypeParameterIsMutable();
9463                typeParameter_.addAll(other.typeParameter_);
9464              }
9465              
9466            }
9467            if (!other.supertype_.isEmpty()) {
9468              if (supertype_.isEmpty()) {
9469                supertype_ = other.supertype_;
9470                bitField0_ = (bitField0_ & ~0x00000010);
9471              } else {
9472                ensureSupertypeIsMutable();
9473                supertype_.addAll(other.supertype_);
9474              }
9475              
9476            }
9477            if (!other.supertypeId_.isEmpty()) {
9478              if (supertypeId_.isEmpty()) {
9479                supertypeId_ = other.supertypeId_;
9480                bitField0_ = (bitField0_ & ~0x00000020);
9481              } else {
9482                ensureSupertypeIdIsMutable();
9483                supertypeId_.addAll(other.supertypeId_);
9484              }
9485              
9486            }
9487            if (!other.nestedClassName_.isEmpty()) {
9488              if (nestedClassName_.isEmpty()) {
9489                nestedClassName_ = other.nestedClassName_;
9490                bitField0_ = (bitField0_ & ~0x00000040);
9491              } else {
9492                ensureNestedClassNameIsMutable();
9493                nestedClassName_.addAll(other.nestedClassName_);
9494              }
9495              
9496            }
9497            if (!other.constructor_.isEmpty()) {
9498              if (constructor_.isEmpty()) {
9499                constructor_ = other.constructor_;
9500                bitField0_ = (bitField0_ & ~0x00000080);
9501              } else {
9502                ensureConstructorIsMutable();
9503                constructor_.addAll(other.constructor_);
9504              }
9505              
9506            }
9507            if (!other.function_.isEmpty()) {
9508              if (function_.isEmpty()) {
9509                function_ = other.function_;
9510                bitField0_ = (bitField0_ & ~0x00000100);
9511              } else {
9512                ensureFunctionIsMutable();
9513                function_.addAll(other.function_);
9514              }
9515              
9516            }
9517            if (!other.property_.isEmpty()) {
9518              if (property_.isEmpty()) {
9519                property_ = other.property_;
9520                bitField0_ = (bitField0_ & ~0x00000200);
9521              } else {
9522                ensurePropertyIsMutable();
9523                property_.addAll(other.property_);
9524              }
9525              
9526            }
9527            if (!other.typeAlias_.isEmpty()) {
9528              if (typeAlias_.isEmpty()) {
9529                typeAlias_ = other.typeAlias_;
9530                bitField0_ = (bitField0_ & ~0x00000400);
9531              } else {
9532                ensureTypeAliasIsMutable();
9533                typeAlias_.addAll(other.typeAlias_);
9534              }
9535              
9536            }
9537            if (!other.enumEntry_.isEmpty()) {
9538              if (enumEntry_.isEmpty()) {
9539                enumEntry_ = other.enumEntry_;
9540                bitField0_ = (bitField0_ & ~0x00000800);
9541              } else {
9542                ensureEnumEntryIsMutable();
9543                enumEntry_.addAll(other.enumEntry_);
9544              }
9545              
9546            }
9547            if (!other.sealedSubclassFqName_.isEmpty()) {
9548              if (sealedSubclassFqName_.isEmpty()) {
9549                sealedSubclassFqName_ = other.sealedSubclassFqName_;
9550                bitField0_ = (bitField0_ & ~0x00001000);
9551              } else {
9552                ensureSealedSubclassFqNameIsMutable();
9553                sealedSubclassFqName_.addAll(other.sealedSubclassFqName_);
9554              }
9555              
9556            }
9557            if (other.hasTypeTable()) {
9558              mergeTypeTable(other.getTypeTable());
9559            }
9560            if (other.hasSinceKotlinInfo()) {
9561              setSinceKotlinInfo(other.getSinceKotlinInfo());
9562            }
9563            if (other.hasSinceKotlinInfoTable()) {
9564              mergeSinceKotlinInfoTable(other.getSinceKotlinInfoTable());
9565            }
9566            this.mergeExtensionFields(other);
9567            setUnknownFields(
9568                getUnknownFields().concat(other.unknownFields));
9569            return this;
9570          }
9571    
9572          public final boolean isInitialized() {
9573            if (!hasFqName()) {
9574              
9575              return false;
9576            }
9577            for (int i = 0; i < getTypeParameterCount(); i++) {
9578              if (!getTypeParameter(i).isInitialized()) {
9579                
9580                return false;
9581              }
9582            }
9583            for (int i = 0; i < getSupertypeCount(); i++) {
9584              if (!getSupertype(i).isInitialized()) {
9585                
9586                return false;
9587              }
9588            }
9589            for (int i = 0; i < getConstructorCount(); i++) {
9590              if (!getConstructor(i).isInitialized()) {
9591                
9592                return false;
9593              }
9594            }
9595            for (int i = 0; i < getFunctionCount(); i++) {
9596              if (!getFunction(i).isInitialized()) {
9597                
9598                return false;
9599              }
9600            }
9601            for (int i = 0; i < getPropertyCount(); i++) {
9602              if (!getProperty(i).isInitialized()) {
9603                
9604                return false;
9605              }
9606            }
9607            for (int i = 0; i < getTypeAliasCount(); i++) {
9608              if (!getTypeAlias(i).isInitialized()) {
9609                
9610                return false;
9611              }
9612            }
9613            for (int i = 0; i < getEnumEntryCount(); i++) {
9614              if (!getEnumEntry(i).isInitialized()) {
9615                
9616                return false;
9617              }
9618            }
9619            if (hasTypeTable()) {
9620              if (!getTypeTable().isInitialized()) {
9621                
9622                return false;
9623              }
9624            }
9625            if (!extensionsAreInitialized()) {
9626              
9627              return false;
9628            }
9629            return true;
9630          }
9631    
9632          public Builder mergeFrom(
9633              org.jetbrains.kotlin.protobuf.CodedInputStream input,
9634              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
9635              throws java.io.IOException {
9636            org.jetbrains.kotlin.serialization.ProtoBuf.Class parsedMessage = null;
9637            try {
9638              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
9639            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
9640              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Class) e.getUnfinishedMessage();
9641              throw e;
9642            } finally {
9643              if (parsedMessage != null) {
9644                mergeFrom(parsedMessage);
9645              }
9646            }
9647            return this;
9648          }
9649          private int bitField0_;
9650    
9651          private int flags_ = 6;
9652          /**
9653           * <code>optional int32 flags = 1 [default = 6];</code>
9654           *
9655           * <pre>
9656           *hasAnnotations
9657           *Visibility
9658           *Modality
9659           *ClassKind
9660           *isInner
9661           *isData
9662           * </pre>
9663           */
9664          public boolean hasFlags() {
9665            return ((bitField0_ & 0x00000001) == 0x00000001);
9666          }
9667          /**
9668           * <code>optional int32 flags = 1 [default = 6];</code>
9669           *
9670           * <pre>
9671           *hasAnnotations
9672           *Visibility
9673           *Modality
9674           *ClassKind
9675           *isInner
9676           *isData
9677           * </pre>
9678           */
9679          public int getFlags() {
9680            return flags_;
9681          }
9682          /**
9683           * <code>optional int32 flags = 1 [default = 6];</code>
9684           *
9685           * <pre>
9686           *hasAnnotations
9687           *Visibility
9688           *Modality
9689           *ClassKind
9690           *isInner
9691           *isData
9692           * </pre>
9693           */
9694          public Builder setFlags(int value) {
9695            bitField0_ |= 0x00000001;
9696            flags_ = value;
9697            
9698            return this;
9699          }
9700          /**
9701           * <code>optional int32 flags = 1 [default = 6];</code>
9702           *
9703           * <pre>
9704           *hasAnnotations
9705           *Visibility
9706           *Modality
9707           *ClassKind
9708           *isInner
9709           *isData
9710           * </pre>
9711           */
9712          public Builder clearFlags() {
9713            bitField0_ = (bitField0_ & ~0x00000001);
9714            flags_ = 6;
9715            
9716            return this;
9717          }
9718    
9719          private int fqName_ ;
9720          /**
9721           * <code>required int32 fq_name = 3;</code>
9722           */
9723          public boolean hasFqName() {
9724            return ((bitField0_ & 0x00000002) == 0x00000002);
9725          }
9726          /**
9727           * <code>required int32 fq_name = 3;</code>
9728           */
9729          public int getFqName() {
9730            return fqName_;
9731          }
9732          /**
9733           * <code>required int32 fq_name = 3;</code>
9734           */
9735          public Builder setFqName(int value) {
9736            bitField0_ |= 0x00000002;
9737            fqName_ = value;
9738            
9739            return this;
9740          }
9741          /**
9742           * <code>required int32 fq_name = 3;</code>
9743           */
9744          public Builder clearFqName() {
9745            bitField0_ = (bitField0_ & ~0x00000002);
9746            fqName_ = 0;
9747            
9748            return this;
9749          }
9750    
9751          private int companionObjectName_ ;
9752          /**
9753           * <code>optional int32 companion_object_name = 4;</code>
9754           */
9755          public boolean hasCompanionObjectName() {
9756            return ((bitField0_ & 0x00000004) == 0x00000004);
9757          }
9758          /**
9759           * <code>optional int32 companion_object_name = 4;</code>
9760           */
9761          public int getCompanionObjectName() {
9762            return companionObjectName_;
9763          }
9764          /**
9765           * <code>optional int32 companion_object_name = 4;</code>
9766           */
9767          public Builder setCompanionObjectName(int value) {
9768            bitField0_ |= 0x00000004;
9769            companionObjectName_ = value;
9770            
9771            return this;
9772          }
9773          /**
9774           * <code>optional int32 companion_object_name = 4;</code>
9775           */
9776          public Builder clearCompanionObjectName() {
9777            bitField0_ = (bitField0_ & ~0x00000004);
9778            companionObjectName_ = 0;
9779            
9780            return this;
9781          }
9782    
9783          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
9784            java.util.Collections.emptyList();
9785          private void ensureTypeParameterIsMutable() {
9786            if (!((bitField0_ & 0x00000008) == 0x00000008)) {
9787              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
9788              bitField0_ |= 0x00000008;
9789             }
9790          }
9791    
9792          /**
9793           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9794           */
9795          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
9796            return java.util.Collections.unmodifiableList(typeParameter_);
9797          }
9798          /**
9799           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9800           */
9801          public int getTypeParameterCount() {
9802            return typeParameter_.size();
9803          }
9804          /**
9805           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9806           */
9807          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
9808            return typeParameter_.get(index);
9809          }
9810          /**
9811           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9812           */
9813          public Builder setTypeParameter(
9814              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9815            if (value == null) {
9816              throw new NullPointerException();
9817            }
9818            ensureTypeParameterIsMutable();
9819            typeParameter_.set(index, value);
9820    
9821            return this;
9822          }
9823          /**
9824           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9825           */
9826          public Builder setTypeParameter(
9827              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9828            ensureTypeParameterIsMutable();
9829            typeParameter_.set(index, builderForValue.build());
9830    
9831            return this;
9832          }
9833          /**
9834           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9835           */
9836          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9837            if (value == null) {
9838              throw new NullPointerException();
9839            }
9840            ensureTypeParameterIsMutable();
9841            typeParameter_.add(value);
9842    
9843            return this;
9844          }
9845          /**
9846           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9847           */
9848          public Builder addTypeParameter(
9849              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9850            if (value == null) {
9851              throw new NullPointerException();
9852            }
9853            ensureTypeParameterIsMutable();
9854            typeParameter_.add(index, value);
9855    
9856            return this;
9857          }
9858          /**
9859           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9860           */
9861          public Builder addTypeParameter(
9862              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9863            ensureTypeParameterIsMutable();
9864            typeParameter_.add(builderForValue.build());
9865    
9866            return this;
9867          }
9868          /**
9869           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9870           */
9871          public Builder addTypeParameter(
9872              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9873            ensureTypeParameterIsMutable();
9874            typeParameter_.add(index, builderForValue.build());
9875    
9876            return this;
9877          }
9878          /**
9879           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9880           */
9881          public Builder addAllTypeParameter(
9882              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
9883            ensureTypeParameterIsMutable();
9884            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
9885                values, typeParameter_);
9886    
9887            return this;
9888          }
9889          /**
9890           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9891           */
9892          public Builder clearTypeParameter() {
9893            typeParameter_ = java.util.Collections.emptyList();
9894            bitField0_ = (bitField0_ & ~0x00000008);
9895    
9896            return this;
9897          }
9898          /**
9899           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9900           */
9901          public Builder removeTypeParameter(int index) {
9902            ensureTypeParameterIsMutable();
9903            typeParameter_.remove(index);
9904    
9905            return this;
9906          }
9907    
9908          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> supertype_ =
9909            java.util.Collections.emptyList();
9910          private void ensureSupertypeIsMutable() {
9911            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
9912              supertype_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(supertype_);
9913              bitField0_ |= 0x00000010;
9914             }
9915          }
9916    
9917          /**
9918           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9919           */
9920          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getSupertypeList() {
9921            return java.util.Collections.unmodifiableList(supertype_);
9922          }
9923          /**
9924           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9925           */
9926          public int getSupertypeCount() {
9927            return supertype_.size();
9928          }
9929          /**
9930           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9931           */
9932          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index) {
9933            return supertype_.get(index);
9934          }
9935          /**
9936           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9937           */
9938          public Builder setSupertype(
9939              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9940            if (value == null) {
9941              throw new NullPointerException();
9942            }
9943            ensureSupertypeIsMutable();
9944            supertype_.set(index, value);
9945    
9946            return this;
9947          }
9948          /**
9949           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9950           */
9951          public Builder setSupertype(
9952              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9953            ensureSupertypeIsMutable();
9954            supertype_.set(index, builderForValue.build());
9955    
9956            return this;
9957          }
9958          /**
9959           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9960           */
9961          public Builder addSupertype(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9962            if (value == null) {
9963              throw new NullPointerException();
9964            }
9965            ensureSupertypeIsMutable();
9966            supertype_.add(value);
9967    
9968            return this;
9969          }
9970          /**
9971           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9972           */
9973          public Builder addSupertype(
9974              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9975            if (value == null) {
9976              throw new NullPointerException();
9977            }
9978            ensureSupertypeIsMutable();
9979            supertype_.add(index, value);
9980    
9981            return this;
9982          }
9983          /**
9984           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9985           */
9986          public Builder addSupertype(
9987              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9988            ensureSupertypeIsMutable();
9989            supertype_.add(builderForValue.build());
9990    
9991            return this;
9992          }
9993          /**
9994           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9995           */
9996          public Builder addSupertype(
9997              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9998            ensureSupertypeIsMutable();
9999            supertype_.add(index, builderForValue.build());
10000    
10001            return this;
10002          }
10003          /**
10004           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
10005           */
10006          public Builder addAllSupertype(
10007              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
10008            ensureSupertypeIsMutable();
10009            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
10010                values, supertype_);
10011    
10012            return this;
10013          }
10014          /**
10015           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
10016           */
10017          public Builder clearSupertype() {
10018            supertype_ = java.util.Collections.emptyList();
10019            bitField0_ = (bitField0_ & ~0x00000010);
10020    
10021            return this;
10022          }
10023          /**
10024           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
10025           */
10026          public Builder removeSupertype(int index) {
10027            ensureSupertypeIsMutable();
10028            supertype_.remove(index);
10029    
10030            return this;
10031          }
10032    
10033          private java.util.List<java.lang.Integer> supertypeId_ = java.util.Collections.emptyList();
10034          private void ensureSupertypeIdIsMutable() {
10035            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
10036              supertypeId_ = new java.util.ArrayList<java.lang.Integer>(supertypeId_);
10037              bitField0_ |= 0x00000020;
10038             }
10039          }
10040          /**
10041           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
10042           */
10043          public java.util.List<java.lang.Integer>
10044              getSupertypeIdList() {
10045            return java.util.Collections.unmodifiableList(supertypeId_);
10046          }
10047          /**
10048           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
10049           */
10050          public int getSupertypeIdCount() {
10051            return supertypeId_.size();
10052          }
10053          /**
10054           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
10055           */
10056          public int getSupertypeId(int index) {
10057            return supertypeId_.get(index);
10058          }
10059          /**
10060           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
10061           */
10062          public Builder setSupertypeId(
10063              int index, int value) {
10064            ensureSupertypeIdIsMutable();
10065            supertypeId_.set(index, value);
10066            
10067            return this;
10068          }
10069          /**
10070           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
10071           */
10072          public Builder addSupertypeId(int value) {
10073            ensureSupertypeIdIsMutable();
10074            supertypeId_.add(value);
10075            
10076            return this;
10077          }
10078          /**
10079           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
10080           */
10081          public Builder addAllSupertypeId(
10082              java.lang.Iterable<? extends java.lang.Integer> values) {
10083            ensureSupertypeIdIsMutable();
10084            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
10085                values, supertypeId_);
10086            
10087            return this;
10088          }
10089          /**
10090           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
10091           */
10092          public Builder clearSupertypeId() {
10093            supertypeId_ = java.util.Collections.emptyList();
10094            bitField0_ = (bitField0_ & ~0x00000020);
10095            
10096            return this;
10097          }
10098    
10099          private java.util.List<java.lang.Integer> nestedClassName_ = java.util.Collections.emptyList();
10100          private void ensureNestedClassNameIsMutable() {
10101            if (!((bitField0_ & 0x00000040) == 0x00000040)) {
10102              nestedClassName_ = new java.util.ArrayList<java.lang.Integer>(nestedClassName_);
10103              bitField0_ |= 0x00000040;
10104             }
10105          }
10106          /**
10107           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
10108           */
10109          public java.util.List<java.lang.Integer>
10110              getNestedClassNameList() {
10111            return java.util.Collections.unmodifiableList(nestedClassName_);
10112          }
10113          /**
10114           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
10115           */
10116          public int getNestedClassNameCount() {
10117            return nestedClassName_.size();
10118          }
10119          /**
10120           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
10121           */
10122          public int getNestedClassName(int index) {
10123            return nestedClassName_.get(index);
10124          }
10125          /**
10126           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
10127           */
10128          public Builder setNestedClassName(
10129              int index, int value) {
10130            ensureNestedClassNameIsMutable();
10131            nestedClassName_.set(index, value);
10132            
10133            return this;
10134          }
10135          /**
10136           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
10137           */
10138          public Builder addNestedClassName(int value) {
10139            ensureNestedClassNameIsMutable();
10140            nestedClassName_.add(value);
10141            
10142            return this;
10143          }
10144          /**
10145           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
10146           */
10147          public Builder addAllNestedClassName(
10148              java.lang.Iterable<? extends java.lang.Integer> values) {
10149            ensureNestedClassNameIsMutable();
10150            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
10151                values, nestedClassName_);
10152            
10153            return this;
10154          }
10155          /**
10156           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
10157           */
10158          public Builder clearNestedClassName() {
10159            nestedClassName_ = java.util.Collections.emptyList();
10160            bitField0_ = (bitField0_ & ~0x00000040);
10161            
10162            return this;
10163          }
10164    
10165          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> constructor_ =
10166            java.util.Collections.emptyList();
10167          private void ensureConstructorIsMutable() {
10168            if (!((bitField0_ & 0x00000080) == 0x00000080)) {
10169              constructor_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor>(constructor_);
10170              bitField0_ |= 0x00000080;
10171             }
10172          }
10173    
10174          /**
10175           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
10176           */
10177          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> getConstructorList() {
10178            return java.util.Collections.unmodifiableList(constructor_);
10179          }
10180          /**
10181           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
10182           */
10183          public int getConstructorCount() {
10184            return constructor_.size();
10185          }
10186          /**
10187           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
10188           */
10189          public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor getConstructor(int index) {
10190            return constructor_.get(index);
10191          }
10192          /**
10193           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
10194           */
10195          public Builder setConstructor(
10196              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Constructor value) {
10197            if (value == null) {
10198              throw new NullPointerException();
10199            }
10200            ensureConstructorIsMutable();
10201            constructor_.set(index, value);
10202    
10203            return this;
10204          }
10205          /**
10206           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
10207           */
10208          public Builder setConstructor(
10209              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.Builder builderForValue) {
10210            ensureConstructorIsMutable();
10211            constructor_.set(index, builderForValue.build());
10212    
10213            return this;
10214          }
10215          /**
10216           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
10217           */
10218          public Builder addConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Constructor value) {
10219            if (value == null) {
10220              throw new NullPointerException();
10221            }
10222            ensureConstructorIsMutable();
10223            constructor_.add(value);
10224    
10225            return this;
10226          }
10227          /**
10228           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
10229           */
10230          public Builder addConstructor(
10231              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Constructor value) {
10232            if (value == null) {
10233              throw new NullPointerException();
10234            }
10235            ensureConstructorIsMutable();
10236            constructor_.add(index, value);
10237    
10238            return this;
10239          }
10240          /**
10241           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
10242           */
10243          public Builder addConstructor(
10244              org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.Builder builderForValue) {
10245            ensureConstructorIsMutable();
10246            constructor_.add(builderForValue.build());
10247    
10248            return this;
10249          }
10250          /**
10251           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
10252           */
10253          public Builder addConstructor(
10254              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.Builder builderForValue) {
10255            ensureConstructorIsMutable();
10256            constructor_.add(index, builderForValue.build());
10257    
10258            return this;
10259          }
10260          /**
10261           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
10262           */
10263          public Builder addAllConstructor(
10264              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> values) {
10265            ensureConstructorIsMutable();
10266            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
10267                values, constructor_);
10268    
10269            return this;
10270          }
10271          /**
10272           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
10273           */
10274          public Builder clearConstructor() {
10275            constructor_ = java.util.Collections.emptyList();
10276            bitField0_ = (bitField0_ & ~0x00000080);
10277    
10278            return this;
10279          }
10280          /**
10281           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
10282           */
10283          public Builder removeConstructor(int index) {
10284            ensureConstructorIsMutable();
10285            constructor_.remove(index);
10286    
10287            return this;
10288          }
10289    
10290          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> function_ =
10291            java.util.Collections.emptyList();
10292          private void ensureFunctionIsMutable() {
10293            if (!((bitField0_ & 0x00000100) == 0x00000100)) {
10294              function_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Function>(function_);
10295              bitField0_ |= 0x00000100;
10296             }
10297          }
10298    
10299          /**
10300           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
10301           */
10302          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> getFunctionList() {
10303            return java.util.Collections.unmodifiableList(function_);
10304          }
10305          /**
10306           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
10307           */
10308          public int getFunctionCount() {
10309            return function_.size();
10310          }
10311          /**
10312           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
10313           */
10314          public org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index) {
10315            return function_.get(index);
10316          }
10317          /**
10318           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
10319           */
10320          public Builder setFunction(
10321              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
10322            if (value == null) {
10323              throw new NullPointerException();
10324            }
10325            ensureFunctionIsMutable();
10326            function_.set(index, value);
10327    
10328            return this;
10329          }
10330          /**
10331           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
10332           */
10333          public Builder setFunction(
10334              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
10335            ensureFunctionIsMutable();
10336            function_.set(index, builderForValue.build());
10337    
10338            return this;
10339          }
10340          /**
10341           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
10342           */
10343          public Builder addFunction(org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
10344            if (value == null) {
10345              throw new NullPointerException();
10346            }
10347            ensureFunctionIsMutable();
10348            function_.add(value);
10349    
10350            return this;
10351          }
10352          /**
10353           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
10354           */
10355          public Builder addFunction(
10356              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
10357            if (value == null) {
10358              throw new NullPointerException();
10359            }
10360            ensureFunctionIsMutable();
10361            function_.add(index, value);
10362    
10363            return this;
10364          }
10365          /**
10366           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
10367           */
10368          public Builder addFunction(
10369              org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
10370            ensureFunctionIsMutable();
10371            function_.add(builderForValue.build());
10372    
10373            return this;
10374          }
10375          /**
10376           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
10377           */
10378          public Builder addFunction(
10379              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
10380            ensureFunctionIsMutable();
10381            function_.add(index, builderForValue.build());
10382    
10383            return this;
10384          }
10385          /**
10386           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
10387           */
10388          public Builder addAllFunction(
10389              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Function> values) {
10390            ensureFunctionIsMutable();
10391            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
10392                values, function_);
10393    
10394            return this;
10395          }
10396          /**
10397           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
10398           */
10399          public Builder clearFunction() {
10400            function_ = java.util.Collections.emptyList();
10401            bitField0_ = (bitField0_ & ~0x00000100);
10402    
10403            return this;
10404          }
10405          /**
10406           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
10407           */
10408          public Builder removeFunction(int index) {
10409            ensureFunctionIsMutable();
10410            function_.remove(index);
10411    
10412            return this;
10413          }
10414    
10415          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> property_ =
10416            java.util.Collections.emptyList();
10417          private void ensurePropertyIsMutable() {
10418            if (!((bitField0_ & 0x00000200) == 0x00000200)) {
10419              property_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Property>(property_);
10420              bitField0_ |= 0x00000200;
10421             }
10422          }
10423    
10424          /**
10425           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
10426           */
10427          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> getPropertyList() {
10428            return java.util.Collections.unmodifiableList(property_);
10429          }
10430          /**
10431           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
10432           */
10433          public int getPropertyCount() {
10434            return property_.size();
10435          }
10436          /**
10437           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
10438           */
10439          public org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index) {
10440            return property_.get(index);
10441          }
10442          /**
10443           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
10444           */
10445          public Builder setProperty(
10446              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
10447            if (value == null) {
10448              throw new NullPointerException();
10449            }
10450            ensurePropertyIsMutable();
10451            property_.set(index, value);
10452    
10453            return this;
10454          }
10455          /**
10456           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
10457           */
10458          public Builder setProperty(
10459              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
10460            ensurePropertyIsMutable();
10461            property_.set(index, builderForValue.build());
10462    
10463            return this;
10464          }
10465          /**
10466           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
10467           */
10468          public Builder addProperty(org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
10469            if (value == null) {
10470              throw new NullPointerException();
10471            }
10472            ensurePropertyIsMutable();
10473            property_.add(value);
10474    
10475            return this;
10476          }
10477          /**
10478           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
10479           */
10480          public Builder addProperty(
10481              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
10482            if (value == null) {
10483              throw new NullPointerException();
10484            }
10485            ensurePropertyIsMutable();
10486            property_.add(index, value);
10487    
10488            return this;
10489          }
10490          /**
10491           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
10492           */
10493          public Builder addProperty(
10494              org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
10495            ensurePropertyIsMutable();
10496            property_.add(builderForValue.build());
10497    
10498            return this;
10499          }
10500          /**
10501           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
10502           */
10503          public Builder addProperty(
10504              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
10505            ensurePropertyIsMutable();
10506            property_.add(index, builderForValue.build());
10507    
10508            return this;
10509          }
10510          /**
10511           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
10512           */
10513          public Builder addAllProperty(
10514              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Property> values) {
10515            ensurePropertyIsMutable();
10516            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
10517                values, property_);
10518    
10519            return this;
10520          }
10521          /**
10522           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
10523           */
10524          public Builder clearProperty() {
10525            property_ = java.util.Collections.emptyList();
10526            bitField0_ = (bitField0_ & ~0x00000200);
10527    
10528            return this;
10529          }
10530          /**
10531           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
10532           */
10533          public Builder removeProperty(int index) {
10534            ensurePropertyIsMutable();
10535            property_.remove(index);
10536    
10537            return this;
10538          }
10539    
10540          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias> typeAlias_ =
10541            java.util.Collections.emptyList();
10542          private void ensureTypeAliasIsMutable() {
10543            if (!((bitField0_ & 0x00000400) == 0x00000400)) {
10544              typeAlias_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias>(typeAlias_);
10545              bitField0_ |= 0x00000400;
10546             }
10547          }
10548    
10549          /**
10550           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 11;</code>
10551           */
10552          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias> getTypeAliasList() {
10553            return java.util.Collections.unmodifiableList(typeAlias_);
10554          }
10555          /**
10556           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 11;</code>
10557           */
10558          public int getTypeAliasCount() {
10559            return typeAlias_.size();
10560          }
10561          /**
10562           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 11;</code>
10563           */
10564          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias getTypeAlias(int index) {
10565            return typeAlias_.get(index);
10566          }
10567          /**
10568           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 11;</code>
10569           */
10570          public Builder setTypeAlias(
10571              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias value) {
10572            if (value == null) {
10573              throw new NullPointerException();
10574            }
10575            ensureTypeAliasIsMutable();
10576            typeAlias_.set(index, value);
10577    
10578            return this;
10579          }
10580          /**
10581           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 11;</code>
10582           */
10583          public Builder setTypeAlias(
10584              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias.Builder builderForValue) {
10585            ensureTypeAliasIsMutable();
10586            typeAlias_.set(index, builderForValue.build());
10587    
10588            return this;
10589          }
10590          /**
10591           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 11;</code>
10592           */
10593          public Builder addTypeAlias(org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias value) {
10594            if (value == null) {
10595              throw new NullPointerException();
10596            }
10597            ensureTypeAliasIsMutable();
10598            typeAlias_.add(value);
10599    
10600            return this;
10601          }
10602          /**
10603           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 11;</code>
10604           */
10605          public Builder addTypeAlias(
10606              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias value) {
10607            if (value == null) {
10608              throw new NullPointerException();
10609            }
10610            ensureTypeAliasIsMutable();
10611            typeAlias_.add(index, value);
10612    
10613            return this;
10614          }
10615          /**
10616           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 11;</code>
10617           */
10618          public Builder addTypeAlias(
10619              org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias.Builder builderForValue) {
10620            ensureTypeAliasIsMutable();
10621            typeAlias_.add(builderForValue.build());
10622    
10623            return this;
10624          }
10625          /**
10626           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 11;</code>
10627           */
10628          public Builder addTypeAlias(
10629              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias.Builder builderForValue) {
10630            ensureTypeAliasIsMutable();
10631            typeAlias_.add(index, builderForValue.build());
10632    
10633            return this;
10634          }
10635          /**
10636           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 11;</code>
10637           */
10638          public Builder addAllTypeAlias(
10639              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias> values) {
10640            ensureTypeAliasIsMutable();
10641            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
10642                values, typeAlias_);
10643    
10644            return this;
10645          }
10646          /**
10647           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 11;</code>
10648           */
10649          public Builder clearTypeAlias() {
10650            typeAlias_ = java.util.Collections.emptyList();
10651            bitField0_ = (bitField0_ & ~0x00000400);
10652    
10653            return this;
10654          }
10655          /**
10656           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 11;</code>
10657           */
10658          public Builder removeTypeAlias(int index) {
10659            ensureTypeAliasIsMutable();
10660            typeAlias_.remove(index);
10661    
10662            return this;
10663          }
10664    
10665          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> enumEntry_ =
10666            java.util.Collections.emptyList();
10667          private void ensureEnumEntryIsMutable() {
10668            if (!((bitField0_ & 0x00000800) == 0x00000800)) {
10669              enumEntry_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry>(enumEntry_);
10670              bitField0_ |= 0x00000800;
10671             }
10672          }
10673    
10674          /**
10675           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
10676           */
10677          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> getEnumEntryList() {
10678            return java.util.Collections.unmodifiableList(enumEntry_);
10679          }
10680          /**
10681           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
10682           */
10683          public int getEnumEntryCount() {
10684            return enumEntry_.size();
10685          }
10686          /**
10687           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
10688           */
10689          public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry getEnumEntry(int index) {
10690            return enumEntry_.get(index);
10691          }
10692          /**
10693           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
10694           */
10695          public Builder setEnumEntry(
10696              int index, org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry value) {
10697            if (value == null) {
10698              throw new NullPointerException();
10699            }
10700            ensureEnumEntryIsMutable();
10701            enumEntry_.set(index, value);
10702    
10703            return this;
10704          }
10705          /**
10706           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
10707           */
10708          public Builder setEnumEntry(
10709              int index, org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.Builder builderForValue) {
10710            ensureEnumEntryIsMutable();
10711            enumEntry_.set(index, builderForValue.build());
10712    
10713            return this;
10714          }
10715          /**
10716           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
10717           */
10718          public Builder addEnumEntry(org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry value) {
10719            if (value == null) {
10720              throw new NullPointerException();
10721            }
10722            ensureEnumEntryIsMutable();
10723            enumEntry_.add(value);
10724    
10725            return this;
10726          }
10727          /**
10728           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
10729           */
10730          public Builder addEnumEntry(
10731              int index, org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry value) {
10732            if (value == null) {
10733              throw new NullPointerException();
10734            }
10735            ensureEnumEntryIsMutable();
10736            enumEntry_.add(index, value);
10737    
10738            return this;
10739          }
10740          /**
10741           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
10742           */
10743          public Builder addEnumEntry(
10744              org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.Builder builderForValue) {
10745            ensureEnumEntryIsMutable();
10746            enumEntry_.add(builderForValue.build());
10747    
10748            return this;
10749          }
10750          /**
10751           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
10752           */
10753          public Builder addEnumEntry(
10754              int index, org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.Builder builderForValue) {
10755            ensureEnumEntryIsMutable();
10756            enumEntry_.add(index, builderForValue.build());
10757    
10758            return this;
10759          }
10760          /**
10761           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
10762           */
10763          public Builder addAllEnumEntry(
10764              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> values) {
10765            ensureEnumEntryIsMutable();
10766            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
10767                values, enumEntry_);
10768    
10769            return this;
10770          }
10771          /**
10772           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
10773           */
10774          public Builder clearEnumEntry() {
10775            enumEntry_ = java.util.Collections.emptyList();
10776            bitField0_ = (bitField0_ & ~0x00000800);
10777    
10778            return this;
10779          }
10780          /**
10781           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
10782           */
10783          public Builder removeEnumEntry(int index) {
10784            ensureEnumEntryIsMutable();
10785            enumEntry_.remove(index);
10786    
10787            return this;
10788          }
10789    
10790          private java.util.List<java.lang.Integer> sealedSubclassFqName_ = java.util.Collections.emptyList();
10791          private void ensureSealedSubclassFqNameIsMutable() {
10792            if (!((bitField0_ & 0x00001000) == 0x00001000)) {
10793              sealedSubclassFqName_ = new java.util.ArrayList<java.lang.Integer>(sealedSubclassFqName_);
10794              bitField0_ |= 0x00001000;
10795             }
10796          }
10797          /**
10798           * <code>repeated int32 sealed_subclass_fq_name = 16 [packed = true];</code>
10799           */
10800          public java.util.List<java.lang.Integer>
10801              getSealedSubclassFqNameList() {
10802            return java.util.Collections.unmodifiableList(sealedSubclassFqName_);
10803          }
10804          /**
10805           * <code>repeated int32 sealed_subclass_fq_name = 16 [packed = true];</code>
10806           */
10807          public int getSealedSubclassFqNameCount() {
10808            return sealedSubclassFqName_.size();
10809          }
10810          /**
10811           * <code>repeated int32 sealed_subclass_fq_name = 16 [packed = true];</code>
10812           */
10813          public int getSealedSubclassFqName(int index) {
10814            return sealedSubclassFqName_.get(index);
10815          }
10816          /**
10817           * <code>repeated int32 sealed_subclass_fq_name = 16 [packed = true];</code>
10818           */
10819          public Builder setSealedSubclassFqName(
10820              int index, int value) {
10821            ensureSealedSubclassFqNameIsMutable();
10822            sealedSubclassFqName_.set(index, value);
10823            
10824            return this;
10825          }
10826          /**
10827           * <code>repeated int32 sealed_subclass_fq_name = 16 [packed = true];</code>
10828           */
10829          public Builder addSealedSubclassFqName(int value) {
10830            ensureSealedSubclassFqNameIsMutable();
10831            sealedSubclassFqName_.add(value);
10832            
10833            return this;
10834          }
10835          /**
10836           * <code>repeated int32 sealed_subclass_fq_name = 16 [packed = true];</code>
10837           */
10838          public Builder addAllSealedSubclassFqName(
10839              java.lang.Iterable<? extends java.lang.Integer> values) {
10840            ensureSealedSubclassFqNameIsMutable();
10841            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
10842                values, sealedSubclassFqName_);
10843            
10844            return this;
10845          }
10846          /**
10847           * <code>repeated int32 sealed_subclass_fq_name = 16 [packed = true];</code>
10848           */
10849          public Builder clearSealedSubclassFqName() {
10850            sealedSubclassFqName_ = java.util.Collections.emptyList();
10851            bitField0_ = (bitField0_ & ~0x00001000);
10852            
10853            return this;
10854          }
10855    
10856          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
10857          /**
10858           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10859           */
10860          public boolean hasTypeTable() {
10861            return ((bitField0_ & 0x00002000) == 0x00002000);
10862          }
10863          /**
10864           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10865           */
10866          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
10867            return typeTable_;
10868          }
10869          /**
10870           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10871           */
10872          public Builder setTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
10873            if (value == null) {
10874              throw new NullPointerException();
10875            }
10876            typeTable_ = value;
10877    
10878            bitField0_ |= 0x00002000;
10879            return this;
10880          }
10881          /**
10882           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10883           */
10884          public Builder setTypeTable(
10885              org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder builderForValue) {
10886            typeTable_ = builderForValue.build();
10887    
10888            bitField0_ |= 0x00002000;
10889            return this;
10890          }
10891          /**
10892           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10893           */
10894          public Builder mergeTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
10895            if (((bitField0_ & 0x00002000) == 0x00002000) &&
10896                typeTable_ != org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance()) {
10897              typeTable_ =
10898                org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.newBuilder(typeTable_).mergeFrom(value).buildPartial();
10899            } else {
10900              typeTable_ = value;
10901            }
10902    
10903            bitField0_ |= 0x00002000;
10904            return this;
10905          }
10906          /**
10907           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10908           */
10909          public Builder clearTypeTable() {
10910            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
10911    
10912            bitField0_ = (bitField0_ & ~0x00002000);
10913            return this;
10914          }
10915    
10916          private int sinceKotlinInfo_ ;
10917          /**
10918           * <code>optional int32 sinceKotlinInfo = 31;</code>
10919           *
10920           * <pre>
10921           * Index into the SinceKotlinInfoTable
10922           * </pre>
10923           */
10924          public boolean hasSinceKotlinInfo() {
10925            return ((bitField0_ & 0x00004000) == 0x00004000);
10926          }
10927          /**
10928           * <code>optional int32 sinceKotlinInfo = 31;</code>
10929           *
10930           * <pre>
10931           * Index into the SinceKotlinInfoTable
10932           * </pre>
10933           */
10934          public int getSinceKotlinInfo() {
10935            return sinceKotlinInfo_;
10936          }
10937          /**
10938           * <code>optional int32 sinceKotlinInfo = 31;</code>
10939           *
10940           * <pre>
10941           * Index into the SinceKotlinInfoTable
10942           * </pre>
10943           */
10944          public Builder setSinceKotlinInfo(int value) {
10945            bitField0_ |= 0x00004000;
10946            sinceKotlinInfo_ = value;
10947            
10948            return this;
10949          }
10950          /**
10951           * <code>optional int32 sinceKotlinInfo = 31;</code>
10952           *
10953           * <pre>
10954           * Index into the SinceKotlinInfoTable
10955           * </pre>
10956           */
10957          public Builder clearSinceKotlinInfo() {
10958            bitField0_ = (bitField0_ & ~0x00004000);
10959            sinceKotlinInfo_ = 0;
10960            
10961            return this;
10962          }
10963    
10964          private org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable sinceKotlinInfoTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance();
10965          /**
10966           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
10967           */
10968          public boolean hasSinceKotlinInfoTable() {
10969            return ((bitField0_ & 0x00008000) == 0x00008000);
10970          }
10971          /**
10972           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
10973           */
10974          public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable getSinceKotlinInfoTable() {
10975            return sinceKotlinInfoTable_;
10976          }
10977          /**
10978           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
10979           */
10980          public Builder setSinceKotlinInfoTable(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable value) {
10981            if (value == null) {
10982              throw new NullPointerException();
10983            }
10984            sinceKotlinInfoTable_ = value;
10985    
10986            bitField0_ |= 0x00008000;
10987            return this;
10988          }
10989          /**
10990           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
10991           */
10992          public Builder setSinceKotlinInfoTable(
10993              org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.Builder builderForValue) {
10994            sinceKotlinInfoTable_ = builderForValue.build();
10995    
10996            bitField0_ |= 0x00008000;
10997            return this;
10998          }
10999          /**
11000           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
11001           */
11002          public Builder mergeSinceKotlinInfoTable(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable value) {
11003            if (((bitField0_ & 0x00008000) == 0x00008000) &&
11004                sinceKotlinInfoTable_ != org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance()) {
11005              sinceKotlinInfoTable_ =
11006                org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.newBuilder(sinceKotlinInfoTable_).mergeFrom(value).buildPartial();
11007            } else {
11008              sinceKotlinInfoTable_ = value;
11009            }
11010    
11011            bitField0_ |= 0x00008000;
11012            return this;
11013          }
11014          /**
11015           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
11016           */
11017          public Builder clearSinceKotlinInfoTable() {
11018            sinceKotlinInfoTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance();
11019    
11020            bitField0_ = (bitField0_ & ~0x00008000);
11021            return this;
11022          }
11023    
11024          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Class)
11025        }
11026    
11027        static {
11028          defaultInstance = new Class(true);
11029          defaultInstance.initFields();
11030        }
11031    
11032        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Class)
11033      }
11034    
11035      public interface PackageOrBuilder extends 
11036          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.Package)
11037           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
11038                ExtendableMessageOrBuilder<Package> {
11039    
11040        /**
11041         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
11042         */
11043        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> 
11044            getFunctionList();
11045        /**
11046         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
11047         */
11048        org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index);
11049        /**
11050         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
11051         */
11052        int getFunctionCount();
11053    
11054        /**
11055         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11056         */
11057        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> 
11058            getPropertyList();
11059        /**
11060         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11061         */
11062        org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index);
11063        /**
11064         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11065         */
11066        int getPropertyCount();
11067    
11068        /**
11069         * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 5;</code>
11070         */
11071        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias> 
11072            getTypeAliasList();
11073        /**
11074         * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 5;</code>
11075         */
11076        org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias getTypeAlias(int index);
11077        /**
11078         * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 5;</code>
11079         */
11080        int getTypeAliasCount();
11081    
11082        /**
11083         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
11084         */
11085        boolean hasTypeTable();
11086        /**
11087         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
11088         */
11089        org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable();
11090    
11091        /**
11092         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
11093         */
11094        boolean hasSinceKotlinInfoTable();
11095        /**
11096         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
11097         */
11098        org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable getSinceKotlinInfoTable();
11099      }
11100      /**
11101       * Protobuf type {@code org.jetbrains.kotlin.serialization.Package}
11102       */
11103      public static final class Package extends
11104          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
11105            Package> implements
11106          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Package)
11107          PackageOrBuilder {
11108        // Use Package.newBuilder() to construct.
11109        private Package(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Package, ?> builder) {
11110          super(builder);
11111          this.unknownFields = builder.getUnknownFields();
11112        }
11113        private Package(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
11114    
11115        private static final Package defaultInstance;
11116        public static Package getDefaultInstance() {
11117          return defaultInstance;
11118        }
11119    
11120        public Package getDefaultInstanceForType() {
11121          return defaultInstance;
11122        }
11123    
11124        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
11125        private Package(
11126            org.jetbrains.kotlin.protobuf.CodedInputStream input,
11127            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11128            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11129          initFields();
11130          int mutable_bitField0_ = 0;
11131          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
11132              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
11133          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
11134              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
11135                  unknownFieldsOutput);
11136          try {
11137            boolean done = false;
11138            while (!done) {
11139              int tag = input.readTag();
11140              switch (tag) {
11141                case 0:
11142                  done = true;
11143                  break;
11144                default: {
11145                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
11146                                         extensionRegistry, tag)) {
11147                    done = true;
11148                  }
11149                  break;
11150                }
11151                case 26: {
11152                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
11153                    function_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Function>();
11154                    mutable_bitField0_ |= 0x00000001;
11155                  }
11156                  function_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Function.PARSER, extensionRegistry));
11157                  break;
11158                }
11159                case 34: {
11160                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
11161                    property_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Property>();
11162                    mutable_bitField0_ |= 0x00000002;
11163                  }
11164                  property_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Property.PARSER, extensionRegistry));
11165                  break;
11166                }
11167                case 42: {
11168                  if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
11169                    typeAlias_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias>();
11170                    mutable_bitField0_ |= 0x00000004;
11171                  }
11172                  typeAlias_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias.PARSER, extensionRegistry));
11173                  break;
11174                }
11175                case 242: {
11176                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder subBuilder = null;
11177                  if (((bitField0_ & 0x00000001) == 0x00000001)) {
11178                    subBuilder = typeTable_.toBuilder();
11179                  }
11180                  typeTable_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.PARSER, extensionRegistry);
11181                  if (subBuilder != null) {
11182                    subBuilder.mergeFrom(typeTable_);
11183                    typeTable_ = subBuilder.buildPartial();
11184                  }
11185                  bitField0_ |= 0x00000001;
11186                  break;
11187                }
11188                case 258: {
11189                  org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.Builder subBuilder = null;
11190                  if (((bitField0_ & 0x00000002) == 0x00000002)) {
11191                    subBuilder = sinceKotlinInfoTable_.toBuilder();
11192                  }
11193                  sinceKotlinInfoTable_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.PARSER, extensionRegistry);
11194                  if (subBuilder != null) {
11195                    subBuilder.mergeFrom(sinceKotlinInfoTable_);
11196                    sinceKotlinInfoTable_ = subBuilder.buildPartial();
11197                  }
11198                  bitField0_ |= 0x00000002;
11199                  break;
11200                }
11201              }
11202            }
11203          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
11204            throw e.setUnfinishedMessage(this);
11205          } catch (java.io.IOException e) {
11206            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
11207                e.getMessage()).setUnfinishedMessage(this);
11208          } finally {
11209            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
11210              function_ = java.util.Collections.unmodifiableList(function_);
11211            }
11212            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
11213              property_ = java.util.Collections.unmodifiableList(property_);
11214            }
11215            if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
11216              typeAlias_ = java.util.Collections.unmodifiableList(typeAlias_);
11217            }
11218            try {
11219              unknownFieldsCodedOutput.flush();
11220            } catch (java.io.IOException e) {
11221            // Should not happen
11222            } finally {
11223              unknownFields = unknownFieldsOutput.toByteString();
11224            }
11225            makeExtensionsImmutable();
11226          }
11227        }
11228        public static org.jetbrains.kotlin.protobuf.Parser<Package> PARSER =
11229            new org.jetbrains.kotlin.protobuf.AbstractParser<Package>() {
11230          public Package parsePartialFrom(
11231              org.jetbrains.kotlin.protobuf.CodedInputStream input,
11232              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11233              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11234            return new Package(input, extensionRegistry);
11235          }
11236        };
11237    
11238        @java.lang.Override
11239        public org.jetbrains.kotlin.protobuf.Parser<Package> getParserForType() {
11240          return PARSER;
11241        }
11242    
11243        private int bitField0_;
11244        public static final int FUNCTION_FIELD_NUMBER = 3;
11245        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> function_;
11246        /**
11247         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
11248         */
11249        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> getFunctionList() {
11250          return function_;
11251        }
11252        /**
11253         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
11254         */
11255        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder> 
11256            getFunctionOrBuilderList() {
11257          return function_;
11258        }
11259        /**
11260         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
11261         */
11262        public int getFunctionCount() {
11263          return function_.size();
11264        }
11265        /**
11266         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
11267         */
11268        public org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index) {
11269          return function_.get(index);
11270        }
11271        /**
11272         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
11273         */
11274        public org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder getFunctionOrBuilder(
11275            int index) {
11276          return function_.get(index);
11277        }
11278    
11279        public static final int PROPERTY_FIELD_NUMBER = 4;
11280        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> property_;
11281        /**
11282         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11283         */
11284        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> getPropertyList() {
11285          return property_;
11286        }
11287        /**
11288         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11289         */
11290        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder> 
11291            getPropertyOrBuilderList() {
11292          return property_;
11293        }
11294        /**
11295         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11296         */
11297        public int getPropertyCount() {
11298          return property_.size();
11299        }
11300        /**
11301         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11302         */
11303        public org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index) {
11304          return property_.get(index);
11305        }
11306        /**
11307         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11308         */
11309        public org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder getPropertyOrBuilder(
11310            int index) {
11311          return property_.get(index);
11312        }
11313    
11314        public static final int TYPE_ALIAS_FIELD_NUMBER = 5;
11315        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias> typeAlias_;
11316        /**
11317         * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 5;</code>
11318         */
11319        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias> getTypeAliasList() {
11320          return typeAlias_;
11321        }
11322        /**
11323         * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 5;</code>
11324         */
11325        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeAliasOrBuilder> 
11326            getTypeAliasOrBuilderList() {
11327          return typeAlias_;
11328        }
11329        /**
11330         * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 5;</code>
11331         */
11332        public int getTypeAliasCount() {
11333          return typeAlias_.size();
11334        }
11335        /**
11336         * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 5;</code>
11337         */
11338        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias getTypeAlias(int index) {
11339          return typeAlias_.get(index);
11340        }
11341        /**
11342         * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 5;</code>
11343         */
11344        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeAliasOrBuilder getTypeAliasOrBuilder(
11345            int index) {
11346          return typeAlias_.get(index);
11347        }
11348    
11349        public static final int TYPE_TABLE_FIELD_NUMBER = 30;
11350        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_;
11351        /**
11352         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
11353         */
11354        public boolean hasTypeTable() {
11355          return ((bitField0_ & 0x00000001) == 0x00000001);
11356        }
11357        /**
11358         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
11359         */
11360        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
11361          return typeTable_;
11362        }
11363    
11364        public static final int SINCE_KOTLIN_INFO_TABLE_FIELD_NUMBER = 32;
11365        private org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable sinceKotlinInfoTable_;
11366        /**
11367         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
11368         */
11369        public boolean hasSinceKotlinInfoTable() {
11370          return ((bitField0_ & 0x00000002) == 0x00000002);
11371        }
11372        /**
11373         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
11374         */
11375        public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable getSinceKotlinInfoTable() {
11376          return sinceKotlinInfoTable_;
11377        }
11378    
11379        private void initFields() {
11380          function_ = java.util.Collections.emptyList();
11381          property_ = java.util.Collections.emptyList();
11382          typeAlias_ = java.util.Collections.emptyList();
11383          typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
11384          sinceKotlinInfoTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance();
11385        }
11386        private byte memoizedIsInitialized = -1;
11387        public final boolean isInitialized() {
11388          byte isInitialized = memoizedIsInitialized;
11389          if (isInitialized == 1) return true;
11390          if (isInitialized == 0) return false;
11391    
11392          for (int i = 0; i < getFunctionCount(); i++) {
11393            if (!getFunction(i).isInitialized()) {
11394              memoizedIsInitialized = 0;
11395              return false;
11396            }
11397          }
11398          for (int i = 0; i < getPropertyCount(); i++) {
11399            if (!getProperty(i).isInitialized()) {
11400              memoizedIsInitialized = 0;
11401              return false;
11402            }
11403          }
11404          for (int i = 0; i < getTypeAliasCount(); i++) {
11405            if (!getTypeAlias(i).isInitialized()) {
11406              memoizedIsInitialized = 0;
11407              return false;
11408            }
11409          }
11410          if (hasTypeTable()) {
11411            if (!getTypeTable().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(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
11425                            throws java.io.IOException {
11426          getSerializedSize();
11427          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
11428            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Package>.ExtensionWriter extensionWriter =
11429              newExtensionWriter();
11430          for (int i = 0; i < function_.size(); i++) {
11431            output.writeMessage(3, function_.get(i));
11432          }
11433          for (int i = 0; i < property_.size(); i++) {
11434            output.writeMessage(4, property_.get(i));
11435          }
11436          for (int i = 0; i < typeAlias_.size(); i++) {
11437            output.writeMessage(5, typeAlias_.get(i));
11438          }
11439          if (((bitField0_ & 0x00000001) == 0x00000001)) {
11440            output.writeMessage(30, typeTable_);
11441          }
11442          if (((bitField0_ & 0x00000002) == 0x00000002)) {
11443            output.writeMessage(32, sinceKotlinInfoTable_);
11444          }
11445          extensionWriter.writeUntil(200, output);
11446          output.writeRawBytes(unknownFields);
11447        }
11448    
11449        private int memoizedSerializedSize = -1;
11450        public int getSerializedSize() {
11451          int size = memoizedSerializedSize;
11452          if (size != -1) return size;
11453    
11454          size = 0;
11455          for (int i = 0; i < function_.size(); i++) {
11456            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
11457              .computeMessageSize(3, function_.get(i));
11458          }
11459          for (int i = 0; i < property_.size(); i++) {
11460            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
11461              .computeMessageSize(4, property_.get(i));
11462          }
11463          for (int i = 0; i < typeAlias_.size(); i++) {
11464            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
11465              .computeMessageSize(5, typeAlias_.get(i));
11466          }
11467          if (((bitField0_ & 0x00000001) == 0x00000001)) {
11468            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
11469              .computeMessageSize(30, typeTable_);
11470          }
11471          if (((bitField0_ & 0x00000002) == 0x00000002)) {
11472            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
11473              .computeMessageSize(32, sinceKotlinInfoTable_);
11474          }
11475          size += extensionsSerializedSize();
11476          size += unknownFields.size();
11477          memoizedSerializedSize = size;
11478          return size;
11479        }
11480    
11481        private static final long serialVersionUID = 0L;
11482        @java.lang.Override
11483        protected java.lang.Object writeReplace()
11484            throws java.io.ObjectStreamException {
11485          return super.writeReplace();
11486        }
11487    
11488        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
11489            org.jetbrains.kotlin.protobuf.ByteString data)
11490            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11491          return PARSER.parseFrom(data);
11492        }
11493        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
11494            org.jetbrains.kotlin.protobuf.ByteString data,
11495            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11496            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11497          return PARSER.parseFrom(data, extensionRegistry);
11498        }
11499        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(byte[] data)
11500            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11501          return PARSER.parseFrom(data);
11502        }
11503        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
11504            byte[] data,
11505            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11506            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11507          return PARSER.parseFrom(data, extensionRegistry);
11508        }
11509        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(java.io.InputStream input)
11510            throws java.io.IOException {
11511          return PARSER.parseFrom(input);
11512        }
11513        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
11514            java.io.InputStream input,
11515            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11516            throws java.io.IOException {
11517          return PARSER.parseFrom(input, extensionRegistry);
11518        }
11519        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseDelimitedFrom(java.io.InputStream input)
11520            throws java.io.IOException {
11521          return PARSER.parseDelimitedFrom(input);
11522        }
11523        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseDelimitedFrom(
11524            java.io.InputStream input,
11525            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11526            throws java.io.IOException {
11527          return PARSER.parseDelimitedFrom(input, extensionRegistry);
11528        }
11529        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
11530            org.jetbrains.kotlin.protobuf.CodedInputStream input)
11531            throws java.io.IOException {
11532          return PARSER.parseFrom(input);
11533        }
11534        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
11535            org.jetbrains.kotlin.protobuf.CodedInputStream input,
11536            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11537            throws java.io.IOException {
11538          return PARSER.parseFrom(input, extensionRegistry);
11539        }
11540    
11541        public static Builder newBuilder() { return Builder.create(); }
11542        public Builder newBuilderForType() { return newBuilder(); }
11543        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Package prototype) {
11544          return newBuilder().mergeFrom(prototype);
11545        }
11546        public Builder toBuilder() { return newBuilder(this); }
11547    
11548        /**
11549         * Protobuf type {@code org.jetbrains.kotlin.serialization.Package}
11550         */
11551        public static final class Builder extends
11552            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
11553              org.jetbrains.kotlin.serialization.ProtoBuf.Package, Builder> implements
11554            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Package)
11555            org.jetbrains.kotlin.serialization.ProtoBuf.PackageOrBuilder {
11556          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Package.newBuilder()
11557          private Builder() {
11558            maybeForceBuilderInitialization();
11559          }
11560    
11561          private void maybeForceBuilderInitialization() {
11562          }
11563          private static Builder create() {
11564            return new Builder();
11565          }
11566    
11567          public Builder clear() {
11568            super.clear();
11569            function_ = java.util.Collections.emptyList();
11570            bitField0_ = (bitField0_ & ~0x00000001);
11571            property_ = java.util.Collections.emptyList();
11572            bitField0_ = (bitField0_ & ~0x00000002);
11573            typeAlias_ = java.util.Collections.emptyList();
11574            bitField0_ = (bitField0_ & ~0x00000004);
11575            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
11576            bitField0_ = (bitField0_ & ~0x00000008);
11577            sinceKotlinInfoTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance();
11578            bitField0_ = (bitField0_ & ~0x00000010);
11579            return this;
11580          }
11581    
11582          public Builder clone() {
11583            return create().mergeFrom(buildPartial());
11584          }
11585    
11586          public org.jetbrains.kotlin.serialization.ProtoBuf.Package getDefaultInstanceForType() {
11587            return org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance();
11588          }
11589    
11590          public org.jetbrains.kotlin.serialization.ProtoBuf.Package build() {
11591            org.jetbrains.kotlin.serialization.ProtoBuf.Package result = buildPartial();
11592            if (!result.isInitialized()) {
11593              throw newUninitializedMessageException(result);
11594            }
11595            return result;
11596          }
11597    
11598          public org.jetbrains.kotlin.serialization.ProtoBuf.Package buildPartial() {
11599            org.jetbrains.kotlin.serialization.ProtoBuf.Package result = new org.jetbrains.kotlin.serialization.ProtoBuf.Package(this);
11600            int from_bitField0_ = bitField0_;
11601            int to_bitField0_ = 0;
11602            if (((bitField0_ & 0x00000001) == 0x00000001)) {
11603              function_ = java.util.Collections.unmodifiableList(function_);
11604              bitField0_ = (bitField0_ & ~0x00000001);
11605            }
11606            result.function_ = function_;
11607            if (((bitField0_ & 0x00000002) == 0x00000002)) {
11608              property_ = java.util.Collections.unmodifiableList(property_);
11609              bitField0_ = (bitField0_ & ~0x00000002);
11610            }
11611            result.property_ = property_;
11612            if (((bitField0_ & 0x00000004) == 0x00000004)) {
11613              typeAlias_ = java.util.Collections.unmodifiableList(typeAlias_);
11614              bitField0_ = (bitField0_ & ~0x00000004);
11615            }
11616            result.typeAlias_ = typeAlias_;
11617            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
11618              to_bitField0_ |= 0x00000001;
11619            }
11620            result.typeTable_ = typeTable_;
11621            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
11622              to_bitField0_ |= 0x00000002;
11623            }
11624            result.sinceKotlinInfoTable_ = sinceKotlinInfoTable_;
11625            result.bitField0_ = to_bitField0_;
11626            return result;
11627          }
11628    
11629          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Package other) {
11630            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance()) return this;
11631            if (!other.function_.isEmpty()) {
11632              if (function_.isEmpty()) {
11633                function_ = other.function_;
11634                bitField0_ = (bitField0_ & ~0x00000001);
11635              } else {
11636                ensureFunctionIsMutable();
11637                function_.addAll(other.function_);
11638              }
11639              
11640            }
11641            if (!other.property_.isEmpty()) {
11642              if (property_.isEmpty()) {
11643                property_ = other.property_;
11644                bitField0_ = (bitField0_ & ~0x00000002);
11645              } else {
11646                ensurePropertyIsMutable();
11647                property_.addAll(other.property_);
11648              }
11649              
11650            }
11651            if (!other.typeAlias_.isEmpty()) {
11652              if (typeAlias_.isEmpty()) {
11653                typeAlias_ = other.typeAlias_;
11654                bitField0_ = (bitField0_ & ~0x00000004);
11655              } else {
11656                ensureTypeAliasIsMutable();
11657                typeAlias_.addAll(other.typeAlias_);
11658              }
11659              
11660            }
11661            if (other.hasTypeTable()) {
11662              mergeTypeTable(other.getTypeTable());
11663            }
11664            if (other.hasSinceKotlinInfoTable()) {
11665              mergeSinceKotlinInfoTable(other.getSinceKotlinInfoTable());
11666            }
11667            this.mergeExtensionFields(other);
11668            setUnknownFields(
11669                getUnknownFields().concat(other.unknownFields));
11670            return this;
11671          }
11672    
11673          public final boolean isInitialized() {
11674            for (int i = 0; i < getFunctionCount(); i++) {
11675              if (!getFunction(i).isInitialized()) {
11676                
11677                return false;
11678              }
11679            }
11680            for (int i = 0; i < getPropertyCount(); i++) {
11681              if (!getProperty(i).isInitialized()) {
11682                
11683                return false;
11684              }
11685            }
11686            for (int i = 0; i < getTypeAliasCount(); i++) {
11687              if (!getTypeAlias(i).isInitialized()) {
11688                
11689                return false;
11690              }
11691            }
11692            if (hasTypeTable()) {
11693              if (!getTypeTable().isInitialized()) {
11694                
11695                return false;
11696              }
11697            }
11698            if (!extensionsAreInitialized()) {
11699              
11700              return false;
11701            }
11702            return true;
11703          }
11704    
11705          public Builder mergeFrom(
11706              org.jetbrains.kotlin.protobuf.CodedInputStream input,
11707              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11708              throws java.io.IOException {
11709            org.jetbrains.kotlin.serialization.ProtoBuf.Package parsedMessage = null;
11710            try {
11711              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
11712            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
11713              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Package) e.getUnfinishedMessage();
11714              throw e;
11715            } finally {
11716              if (parsedMessage != null) {
11717                mergeFrom(parsedMessage);
11718              }
11719            }
11720            return this;
11721          }
11722          private int bitField0_;
11723    
11724          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> function_ =
11725            java.util.Collections.emptyList();
11726          private void ensureFunctionIsMutable() {
11727            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
11728              function_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Function>(function_);
11729              bitField0_ |= 0x00000001;
11730             }
11731          }
11732    
11733          /**
11734           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
11735           */
11736          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> getFunctionList() {
11737            return java.util.Collections.unmodifiableList(function_);
11738          }
11739          /**
11740           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
11741           */
11742          public int getFunctionCount() {
11743            return function_.size();
11744          }
11745          /**
11746           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
11747           */
11748          public org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index) {
11749            return function_.get(index);
11750          }
11751          /**
11752           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
11753           */
11754          public Builder setFunction(
11755              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
11756            if (value == null) {
11757              throw new NullPointerException();
11758            }
11759            ensureFunctionIsMutable();
11760            function_.set(index, value);
11761    
11762            return this;
11763          }
11764          /**
11765           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
11766           */
11767          public Builder setFunction(
11768              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
11769            ensureFunctionIsMutable();
11770            function_.set(index, builderForValue.build());
11771    
11772            return this;
11773          }
11774          /**
11775           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
11776           */
11777          public Builder addFunction(org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
11778            if (value == null) {
11779              throw new NullPointerException();
11780            }
11781            ensureFunctionIsMutable();
11782            function_.add(value);
11783    
11784            return this;
11785          }
11786          /**
11787           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
11788           */
11789          public Builder addFunction(
11790              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
11791            if (value == null) {
11792              throw new NullPointerException();
11793            }
11794            ensureFunctionIsMutable();
11795            function_.add(index, value);
11796    
11797            return this;
11798          }
11799          /**
11800           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
11801           */
11802          public Builder addFunction(
11803              org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
11804            ensureFunctionIsMutable();
11805            function_.add(builderForValue.build());
11806    
11807            return this;
11808          }
11809          /**
11810           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
11811           */
11812          public Builder addFunction(
11813              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
11814            ensureFunctionIsMutable();
11815            function_.add(index, builderForValue.build());
11816    
11817            return this;
11818          }
11819          /**
11820           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
11821           */
11822          public Builder addAllFunction(
11823              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Function> values) {
11824            ensureFunctionIsMutable();
11825            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
11826                values, function_);
11827    
11828            return this;
11829          }
11830          /**
11831           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
11832           */
11833          public Builder clearFunction() {
11834            function_ = java.util.Collections.emptyList();
11835            bitField0_ = (bitField0_ & ~0x00000001);
11836    
11837            return this;
11838          }
11839          /**
11840           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
11841           */
11842          public Builder removeFunction(int index) {
11843            ensureFunctionIsMutable();
11844            function_.remove(index);
11845    
11846            return this;
11847          }
11848    
11849          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> property_ =
11850            java.util.Collections.emptyList();
11851          private void ensurePropertyIsMutable() {
11852            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
11853              property_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Property>(property_);
11854              bitField0_ |= 0x00000002;
11855             }
11856          }
11857    
11858          /**
11859           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11860           */
11861          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> getPropertyList() {
11862            return java.util.Collections.unmodifiableList(property_);
11863          }
11864          /**
11865           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11866           */
11867          public int getPropertyCount() {
11868            return property_.size();
11869          }
11870          /**
11871           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11872           */
11873          public org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index) {
11874            return property_.get(index);
11875          }
11876          /**
11877           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11878           */
11879          public Builder setProperty(
11880              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
11881            if (value == null) {
11882              throw new NullPointerException();
11883            }
11884            ensurePropertyIsMutable();
11885            property_.set(index, value);
11886    
11887            return this;
11888          }
11889          /**
11890           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11891           */
11892          public Builder setProperty(
11893              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
11894            ensurePropertyIsMutable();
11895            property_.set(index, builderForValue.build());
11896    
11897            return this;
11898          }
11899          /**
11900           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11901           */
11902          public Builder addProperty(org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
11903            if (value == null) {
11904              throw new NullPointerException();
11905            }
11906            ensurePropertyIsMutable();
11907            property_.add(value);
11908    
11909            return this;
11910          }
11911          /**
11912           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11913           */
11914          public Builder addProperty(
11915              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
11916            if (value == null) {
11917              throw new NullPointerException();
11918            }
11919            ensurePropertyIsMutable();
11920            property_.add(index, value);
11921    
11922            return this;
11923          }
11924          /**
11925           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11926           */
11927          public Builder addProperty(
11928              org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
11929            ensurePropertyIsMutable();
11930            property_.add(builderForValue.build());
11931    
11932            return this;
11933          }
11934          /**
11935           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11936           */
11937          public Builder addProperty(
11938              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
11939            ensurePropertyIsMutable();
11940            property_.add(index, builderForValue.build());
11941    
11942            return this;
11943          }
11944          /**
11945           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11946           */
11947          public Builder addAllProperty(
11948              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Property> values) {
11949            ensurePropertyIsMutable();
11950            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
11951                values, property_);
11952    
11953            return this;
11954          }
11955          /**
11956           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11957           */
11958          public Builder clearProperty() {
11959            property_ = java.util.Collections.emptyList();
11960            bitField0_ = (bitField0_ & ~0x00000002);
11961    
11962            return this;
11963          }
11964          /**
11965           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11966           */
11967          public Builder removeProperty(int index) {
11968            ensurePropertyIsMutable();
11969            property_.remove(index);
11970    
11971            return this;
11972          }
11973    
11974          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias> typeAlias_ =
11975            java.util.Collections.emptyList();
11976          private void ensureTypeAliasIsMutable() {
11977            if (!((bitField0_ & 0x00000004) == 0x00000004)) {
11978              typeAlias_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias>(typeAlias_);
11979              bitField0_ |= 0x00000004;
11980             }
11981          }
11982    
11983          /**
11984           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 5;</code>
11985           */
11986          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias> getTypeAliasList() {
11987            return java.util.Collections.unmodifiableList(typeAlias_);
11988          }
11989          /**
11990           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 5;</code>
11991           */
11992          public int getTypeAliasCount() {
11993            return typeAlias_.size();
11994          }
11995          /**
11996           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 5;</code>
11997           */
11998          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias getTypeAlias(int index) {
11999            return typeAlias_.get(index);
12000          }
12001          /**
12002           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 5;</code>
12003           */
12004          public Builder setTypeAlias(
12005              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias value) {
12006            if (value == null) {
12007              throw new NullPointerException();
12008            }
12009            ensureTypeAliasIsMutable();
12010            typeAlias_.set(index, value);
12011    
12012            return this;
12013          }
12014          /**
12015           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 5;</code>
12016           */
12017          public Builder setTypeAlias(
12018              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias.Builder builderForValue) {
12019            ensureTypeAliasIsMutable();
12020            typeAlias_.set(index, builderForValue.build());
12021    
12022            return this;
12023          }
12024          /**
12025           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 5;</code>
12026           */
12027          public Builder addTypeAlias(org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias value) {
12028            if (value == null) {
12029              throw new NullPointerException();
12030            }
12031            ensureTypeAliasIsMutable();
12032            typeAlias_.add(value);
12033    
12034            return this;
12035          }
12036          /**
12037           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 5;</code>
12038           */
12039          public Builder addTypeAlias(
12040              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias value) {
12041            if (value == null) {
12042              throw new NullPointerException();
12043            }
12044            ensureTypeAliasIsMutable();
12045            typeAlias_.add(index, value);
12046    
12047            return this;
12048          }
12049          /**
12050           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 5;</code>
12051           */
12052          public Builder addTypeAlias(
12053              org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias.Builder builderForValue) {
12054            ensureTypeAliasIsMutable();
12055            typeAlias_.add(builderForValue.build());
12056    
12057            return this;
12058          }
12059          /**
12060           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 5;</code>
12061           */
12062          public Builder addTypeAlias(
12063              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias.Builder builderForValue) {
12064            ensureTypeAliasIsMutable();
12065            typeAlias_.add(index, builderForValue.build());
12066    
12067            return this;
12068          }
12069          /**
12070           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 5;</code>
12071           */
12072          public Builder addAllTypeAlias(
12073              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias> values) {
12074            ensureTypeAliasIsMutable();
12075            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
12076                values, typeAlias_);
12077    
12078            return this;
12079          }
12080          /**
12081           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 5;</code>
12082           */
12083          public Builder clearTypeAlias() {
12084            typeAlias_ = java.util.Collections.emptyList();
12085            bitField0_ = (bitField0_ & ~0x00000004);
12086    
12087            return this;
12088          }
12089          /**
12090           * <code>repeated .org.jetbrains.kotlin.serialization.TypeAlias type_alias = 5;</code>
12091           */
12092          public Builder removeTypeAlias(int index) {
12093            ensureTypeAliasIsMutable();
12094            typeAlias_.remove(index);
12095    
12096            return this;
12097          }
12098    
12099          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
12100          /**
12101           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
12102           */
12103          public boolean hasTypeTable() {
12104            return ((bitField0_ & 0x00000008) == 0x00000008);
12105          }
12106          /**
12107           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
12108           */
12109          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
12110            return typeTable_;
12111          }
12112          /**
12113           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
12114           */
12115          public Builder setTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
12116            if (value == null) {
12117              throw new NullPointerException();
12118            }
12119            typeTable_ = value;
12120    
12121            bitField0_ |= 0x00000008;
12122            return this;
12123          }
12124          /**
12125           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
12126           */
12127          public Builder setTypeTable(
12128              org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder builderForValue) {
12129            typeTable_ = builderForValue.build();
12130    
12131            bitField0_ |= 0x00000008;
12132            return this;
12133          }
12134          /**
12135           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
12136           */
12137          public Builder mergeTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
12138            if (((bitField0_ & 0x00000008) == 0x00000008) &&
12139                typeTable_ != org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance()) {
12140              typeTable_ =
12141                org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.newBuilder(typeTable_).mergeFrom(value).buildPartial();
12142            } else {
12143              typeTable_ = value;
12144            }
12145    
12146            bitField0_ |= 0x00000008;
12147            return this;
12148          }
12149          /**
12150           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
12151           */
12152          public Builder clearTypeTable() {
12153            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
12154    
12155            bitField0_ = (bitField0_ & ~0x00000008);
12156            return this;
12157          }
12158    
12159          private org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable sinceKotlinInfoTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance();
12160          /**
12161           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
12162           */
12163          public boolean hasSinceKotlinInfoTable() {
12164            return ((bitField0_ & 0x00000010) == 0x00000010);
12165          }
12166          /**
12167           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
12168           */
12169          public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable getSinceKotlinInfoTable() {
12170            return sinceKotlinInfoTable_;
12171          }
12172          /**
12173           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
12174           */
12175          public Builder setSinceKotlinInfoTable(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable value) {
12176            if (value == null) {
12177              throw new NullPointerException();
12178            }
12179            sinceKotlinInfoTable_ = value;
12180    
12181            bitField0_ |= 0x00000010;
12182            return this;
12183          }
12184          /**
12185           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
12186           */
12187          public Builder setSinceKotlinInfoTable(
12188              org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.Builder builderForValue) {
12189            sinceKotlinInfoTable_ = builderForValue.build();
12190    
12191            bitField0_ |= 0x00000010;
12192            return this;
12193          }
12194          /**
12195           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
12196           */
12197          public Builder mergeSinceKotlinInfoTable(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable value) {
12198            if (((bitField0_ & 0x00000010) == 0x00000010) &&
12199                sinceKotlinInfoTable_ != org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance()) {
12200              sinceKotlinInfoTable_ =
12201                org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.newBuilder(sinceKotlinInfoTable_).mergeFrom(value).buildPartial();
12202            } else {
12203              sinceKotlinInfoTable_ = value;
12204            }
12205    
12206            bitField0_ |= 0x00000010;
12207            return this;
12208          }
12209          /**
12210           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
12211           */
12212          public Builder clearSinceKotlinInfoTable() {
12213            sinceKotlinInfoTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance();
12214    
12215            bitField0_ = (bitField0_ & ~0x00000010);
12216            return this;
12217          }
12218    
12219          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Package)
12220        }
12221    
12222        static {
12223          defaultInstance = new Package(true);
12224          defaultInstance.initFields();
12225        }
12226    
12227        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Package)
12228      }
12229    
12230      public interface TypeTableOrBuilder extends
12231          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.TypeTable)
12232          org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
12233    
12234        /**
12235         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
12236         */
12237        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> 
12238            getTypeList();
12239        /**
12240         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
12241         */
12242        org.jetbrains.kotlin.serialization.ProtoBuf.Type getType(int index);
12243        /**
12244         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
12245         */
12246        int getTypeCount();
12247    
12248        /**
12249         * <code>optional int32 first_nullable = 2 [default = -1];</code>
12250         *
12251         * <pre>
12252         * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
12253         * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
12254         * </pre>
12255         */
12256        boolean hasFirstNullable();
12257        /**
12258         * <code>optional int32 first_nullable = 2 [default = -1];</code>
12259         *
12260         * <pre>
12261         * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
12262         * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
12263         * </pre>
12264         */
12265        int getFirstNullable();
12266      }
12267      /**
12268       * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeTable}
12269       */
12270      public static final class TypeTable extends
12271          org.jetbrains.kotlin.protobuf.GeneratedMessageLite implements
12272          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.TypeTable)
12273          TypeTableOrBuilder {
12274        // Use TypeTable.newBuilder() to construct.
12275        private TypeTable(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) {
12276          super(builder);
12277          this.unknownFields = builder.getUnknownFields();
12278        }
12279        private TypeTable(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
12280    
12281        private static final TypeTable defaultInstance;
12282        public static TypeTable getDefaultInstance() {
12283          return defaultInstance;
12284        }
12285    
12286        public TypeTable getDefaultInstanceForType() {
12287          return defaultInstance;
12288        }
12289    
12290        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
12291        private TypeTable(
12292            org.jetbrains.kotlin.protobuf.CodedInputStream input,
12293            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12294            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
12295          initFields();
12296          int mutable_bitField0_ = 0;
12297          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
12298              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
12299          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
12300              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
12301                  unknownFieldsOutput);
12302          try {
12303            boolean done = false;
12304            while (!done) {
12305              int tag = input.readTag();
12306              switch (tag) {
12307                case 0:
12308                  done = true;
12309                  break;
12310                default: {
12311                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
12312                                         extensionRegistry, tag)) {
12313                    done = true;
12314                  }
12315                  break;
12316                }
12317                case 10: {
12318                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
12319                    type_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
12320                    mutable_bitField0_ |= 0x00000001;
12321                  }
12322                  type_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
12323                  break;
12324                }
12325                case 16: {
12326                  bitField0_ |= 0x00000001;
12327                  firstNullable_ = input.readInt32();
12328                  break;
12329                }
12330              }
12331            }
12332          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
12333            throw e.setUnfinishedMessage(this);
12334          } catch (java.io.IOException e) {
12335            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
12336                e.getMessage()).setUnfinishedMessage(this);
12337          } finally {
12338            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
12339              type_ = java.util.Collections.unmodifiableList(type_);
12340            }
12341            try {
12342              unknownFieldsCodedOutput.flush();
12343            } catch (java.io.IOException e) {
12344            // Should not happen
12345            } finally {
12346              unknownFields = unknownFieldsOutput.toByteString();
12347            }
12348            makeExtensionsImmutable();
12349          }
12350        }
12351        public static org.jetbrains.kotlin.protobuf.Parser<TypeTable> PARSER =
12352            new org.jetbrains.kotlin.protobuf.AbstractParser<TypeTable>() {
12353          public TypeTable parsePartialFrom(
12354              org.jetbrains.kotlin.protobuf.CodedInputStream input,
12355              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12356              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
12357            return new TypeTable(input, extensionRegistry);
12358          }
12359        };
12360    
12361        @java.lang.Override
12362        public org.jetbrains.kotlin.protobuf.Parser<TypeTable> getParserForType() {
12363          return PARSER;
12364        }
12365    
12366        private int bitField0_;
12367        public static final int TYPE_FIELD_NUMBER = 1;
12368        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> type_;
12369        /**
12370         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
12371         */
12372        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getTypeList() {
12373          return type_;
12374        }
12375        /**
12376         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
12377         */
12378        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
12379            getTypeOrBuilderList() {
12380          return type_;
12381        }
12382        /**
12383         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
12384         */
12385        public int getTypeCount() {
12386          return type_.size();
12387        }
12388        /**
12389         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
12390         */
12391        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType(int index) {
12392          return type_.get(index);
12393        }
12394        /**
12395         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
12396         */
12397        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getTypeOrBuilder(
12398            int index) {
12399          return type_.get(index);
12400        }
12401    
12402        public static final int FIRST_NULLABLE_FIELD_NUMBER = 2;
12403        private int firstNullable_;
12404        /**
12405         * <code>optional int32 first_nullable = 2 [default = -1];</code>
12406         *
12407         * <pre>
12408         * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
12409         * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
12410         * </pre>
12411         */
12412        public boolean hasFirstNullable() {
12413          return ((bitField0_ & 0x00000001) == 0x00000001);
12414        }
12415        /**
12416         * <code>optional int32 first_nullable = 2 [default = -1];</code>
12417         *
12418         * <pre>
12419         * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
12420         * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
12421         * </pre>
12422         */
12423        public int getFirstNullable() {
12424          return firstNullable_;
12425        }
12426    
12427        private void initFields() {
12428          type_ = java.util.Collections.emptyList();
12429          firstNullable_ = -1;
12430        }
12431        private byte memoizedIsInitialized = -1;
12432        public final boolean isInitialized() {
12433          byte isInitialized = memoizedIsInitialized;
12434          if (isInitialized == 1) return true;
12435          if (isInitialized == 0) return false;
12436    
12437          for (int i = 0; i < getTypeCount(); i++) {
12438            if (!getType(i).isInitialized()) {
12439              memoizedIsInitialized = 0;
12440              return false;
12441            }
12442          }
12443          memoizedIsInitialized = 1;
12444          return true;
12445        }
12446    
12447        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
12448                            throws java.io.IOException {
12449          getSerializedSize();
12450          for (int i = 0; i < type_.size(); i++) {
12451            output.writeMessage(1, type_.get(i));
12452          }
12453          if (((bitField0_ & 0x00000001) == 0x00000001)) {
12454            output.writeInt32(2, firstNullable_);
12455          }
12456          output.writeRawBytes(unknownFields);
12457        }
12458    
12459        private int memoizedSerializedSize = -1;
12460        public int getSerializedSize() {
12461          int size = memoizedSerializedSize;
12462          if (size != -1) return size;
12463    
12464          size = 0;
12465          for (int i = 0; i < type_.size(); i++) {
12466            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
12467              .computeMessageSize(1, type_.get(i));
12468          }
12469          if (((bitField0_ & 0x00000001) == 0x00000001)) {
12470            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
12471              .computeInt32Size(2, firstNullable_);
12472          }
12473          size += unknownFields.size();
12474          memoizedSerializedSize = size;
12475          return size;
12476        }
12477    
12478        private static final long serialVersionUID = 0L;
12479        @java.lang.Override
12480        protected java.lang.Object writeReplace()
12481            throws java.io.ObjectStreamException {
12482          return super.writeReplace();
12483        }
12484    
12485        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
12486            org.jetbrains.kotlin.protobuf.ByteString data)
12487            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
12488          return PARSER.parseFrom(data);
12489        }
12490        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
12491            org.jetbrains.kotlin.protobuf.ByteString data,
12492            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12493            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
12494          return PARSER.parseFrom(data, extensionRegistry);
12495        }
12496        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(byte[] data)
12497            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
12498          return PARSER.parseFrom(data);
12499        }
12500        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
12501            byte[] data,
12502            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12503            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
12504          return PARSER.parseFrom(data, extensionRegistry);
12505        }
12506        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(java.io.InputStream input)
12507            throws java.io.IOException {
12508          return PARSER.parseFrom(input);
12509        }
12510        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
12511            java.io.InputStream input,
12512            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12513            throws java.io.IOException {
12514          return PARSER.parseFrom(input, extensionRegistry);
12515        }
12516        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseDelimitedFrom(java.io.InputStream input)
12517            throws java.io.IOException {
12518          return PARSER.parseDelimitedFrom(input);
12519        }
12520        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseDelimitedFrom(
12521            java.io.InputStream input,
12522            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12523            throws java.io.IOException {
12524          return PARSER.parseDelimitedFrom(input, extensionRegistry);
12525        }
12526        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
12527            org.jetbrains.kotlin.protobuf.CodedInputStream input)
12528            throws java.io.IOException {
12529          return PARSER.parseFrom(input);
12530        }
12531        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
12532            org.jetbrains.kotlin.protobuf.CodedInputStream input,
12533            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12534            throws java.io.IOException {
12535          return PARSER.parseFrom(input, extensionRegistry);
12536        }
12537    
12538        public static Builder newBuilder() { return Builder.create(); }
12539        public Builder newBuilderForType() { return newBuilder(); }
12540        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable prototype) {
12541          return newBuilder().mergeFrom(prototype);
12542        }
12543        public Builder toBuilder() { return newBuilder(this); }
12544    
12545        /**
12546         * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeTable}
12547         */
12548        public static final class Builder extends
12549            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder<
12550              org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable, Builder>
12551            implements
12552            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.TypeTable)
12553            org.jetbrains.kotlin.serialization.ProtoBuf.TypeTableOrBuilder {
12554          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.newBuilder()
12555          private Builder() {
12556            maybeForceBuilderInitialization();
12557          }
12558    
12559          private void maybeForceBuilderInitialization() {
12560          }
12561          private static Builder create() {
12562            return new Builder();
12563          }
12564    
12565          public Builder clear() {
12566            super.clear();
12567            type_ = java.util.Collections.emptyList();
12568            bitField0_ = (bitField0_ & ~0x00000001);
12569            firstNullable_ = -1;
12570            bitField0_ = (bitField0_ & ~0x00000002);
12571            return this;
12572          }
12573    
12574          public Builder clone() {
12575            return create().mergeFrom(buildPartial());
12576          }
12577    
12578          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getDefaultInstanceForType() {
12579            return org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
12580          }
12581    
12582          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable build() {
12583            org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable result = buildPartial();
12584            if (!result.isInitialized()) {
12585              throw newUninitializedMessageException(result);
12586            }
12587            return result;
12588          }
12589    
12590          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable buildPartial() {
12591            org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable result = new org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable(this);
12592            int from_bitField0_ = bitField0_;
12593            int to_bitField0_ = 0;
12594            if (((bitField0_ & 0x00000001) == 0x00000001)) {
12595              type_ = java.util.Collections.unmodifiableList(type_);
12596              bitField0_ = (bitField0_ & ~0x00000001);
12597            }
12598            result.type_ = type_;
12599            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
12600              to_bitField0_ |= 0x00000001;
12601            }
12602            result.firstNullable_ = firstNullable_;
12603            result.bitField0_ = to_bitField0_;
12604            return result;
12605          }
12606    
12607          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable other) {
12608            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance()) return this;
12609            if (!other.type_.isEmpty()) {
12610              if (type_.isEmpty()) {
12611                type_ = other.type_;
12612                bitField0_ = (bitField0_ & ~0x00000001);
12613              } else {
12614                ensureTypeIsMutable();
12615                type_.addAll(other.type_);
12616              }
12617              
12618            }
12619            if (other.hasFirstNullable()) {
12620              setFirstNullable(other.getFirstNullable());
12621            }
12622            setUnknownFields(
12623                getUnknownFields().concat(other.unknownFields));
12624            return this;
12625          }
12626    
12627          public final boolean isInitialized() {
12628            for (int i = 0; i < getTypeCount(); i++) {
12629              if (!getType(i).isInitialized()) {
12630                
12631                return false;
12632              }
12633            }
12634            return true;
12635          }
12636    
12637          public Builder mergeFrom(
12638              org.jetbrains.kotlin.protobuf.CodedInputStream input,
12639              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12640              throws java.io.IOException {
12641            org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parsedMessage = null;
12642            try {
12643              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
12644            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
12645              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable) e.getUnfinishedMessage();
12646              throw e;
12647            } finally {
12648              if (parsedMessage != null) {
12649                mergeFrom(parsedMessage);
12650              }
12651            }
12652            return this;
12653          }
12654          private int bitField0_;
12655    
12656          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> type_ =
12657            java.util.Collections.emptyList();
12658          private void ensureTypeIsMutable() {
12659            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
12660              type_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(type_);
12661              bitField0_ |= 0x00000001;
12662             }
12663          }
12664    
12665          /**
12666           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
12667           */
12668          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getTypeList() {
12669            return java.util.Collections.unmodifiableList(type_);
12670          }
12671          /**
12672           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
12673           */
12674          public int getTypeCount() {
12675            return type_.size();
12676          }
12677          /**
12678           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
12679           */
12680          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType(int index) {
12681            return type_.get(index);
12682          }
12683          /**
12684           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
12685           */
12686          public Builder setType(
12687              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
12688            if (value == null) {
12689              throw new NullPointerException();
12690            }
12691            ensureTypeIsMutable();
12692            type_.set(index, value);
12693    
12694            return this;
12695          }
12696          /**
12697           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
12698           */
12699          public Builder setType(
12700              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
12701            ensureTypeIsMutable();
12702            type_.set(index, builderForValue.build());
12703    
12704            return this;
12705          }
12706          /**
12707           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
12708           */
12709          public Builder addType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
12710            if (value == null) {
12711              throw new NullPointerException();
12712            }
12713            ensureTypeIsMutable();
12714            type_.add(value);
12715    
12716            return this;
12717          }
12718          /**
12719           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
12720           */
12721          public Builder addType(
12722              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
12723            if (value == null) {
12724              throw new NullPointerException();
12725            }
12726            ensureTypeIsMutable();
12727            type_.add(index, value);
12728    
12729            return this;
12730          }
12731          /**
12732           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
12733           */
12734          public Builder addType(
12735              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
12736            ensureTypeIsMutable();
12737            type_.add(builderForValue.build());
12738    
12739            return this;
12740          }
12741          /**
12742           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
12743           */
12744          public Builder addType(
12745              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
12746            ensureTypeIsMutable();
12747            type_.add(index, builderForValue.build());
12748    
12749            return this;
12750          }
12751          /**
12752           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
12753           */
12754          public Builder addAllType(
12755              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
12756            ensureTypeIsMutable();
12757            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
12758                values, type_);
12759    
12760            return this;
12761          }
12762          /**
12763           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
12764           */
12765          public Builder clearType() {
12766            type_ = java.util.Collections.emptyList();
12767            bitField0_ = (bitField0_ & ~0x00000001);
12768    
12769            return this;
12770          }
12771          /**
12772           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
12773           */
12774          public Builder removeType(int index) {
12775            ensureTypeIsMutable();
12776            type_.remove(index);
12777    
12778            return this;
12779          }
12780    
12781          private int firstNullable_ = -1;
12782          /**
12783           * <code>optional int32 first_nullable = 2 [default = -1];</code>
12784           *
12785           * <pre>
12786           * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
12787           * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
12788           * </pre>
12789           */
12790          public boolean hasFirstNullable() {
12791            return ((bitField0_ & 0x00000002) == 0x00000002);
12792          }
12793          /**
12794           * <code>optional int32 first_nullable = 2 [default = -1];</code>
12795           *
12796           * <pre>
12797           * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
12798           * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
12799           * </pre>
12800           */
12801          public int getFirstNullable() {
12802            return firstNullable_;
12803          }
12804          /**
12805           * <code>optional int32 first_nullable = 2 [default = -1];</code>
12806           *
12807           * <pre>
12808           * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
12809           * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
12810           * </pre>
12811           */
12812          public Builder setFirstNullable(int value) {
12813            bitField0_ |= 0x00000002;
12814            firstNullable_ = value;
12815            
12816            return this;
12817          }
12818          /**
12819           * <code>optional int32 first_nullable = 2 [default = -1];</code>
12820           *
12821           * <pre>
12822           * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
12823           * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
12824           * </pre>
12825           */
12826          public Builder clearFirstNullable() {
12827            bitField0_ = (bitField0_ & ~0x00000002);
12828            firstNullable_ = -1;
12829            
12830            return this;
12831          }
12832    
12833          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.TypeTable)
12834        }
12835    
12836        static {
12837          defaultInstance = new TypeTable(true);
12838          defaultInstance.initFields();
12839        }
12840    
12841        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.TypeTable)
12842      }
12843    
12844      public interface ConstructorOrBuilder extends 
12845          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.Constructor)
12846           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
12847                ExtendableMessageOrBuilder<Constructor> {
12848    
12849        /**
12850         * <code>optional int32 flags = 1 [default = 6];</code>
12851         *
12852         * <pre>
12853         *hasAnnotations
12854         *Visibility
12855         *isSecondary
12856         * </pre>
12857         */
12858        boolean hasFlags();
12859        /**
12860         * <code>optional int32 flags = 1 [default = 6];</code>
12861         *
12862         * <pre>
12863         *hasAnnotations
12864         *Visibility
12865         *isSecondary
12866         * </pre>
12867         */
12868        int getFlags();
12869    
12870        /**
12871         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12872         */
12873        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> 
12874            getValueParameterList();
12875        /**
12876         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12877         */
12878        org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index);
12879        /**
12880         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12881         */
12882        int getValueParameterCount();
12883    
12884        /**
12885         * <code>optional int32 sinceKotlinInfo = 31;</code>
12886         *
12887         * <pre>
12888         * Index into the SinceKotlinInfoTable
12889         * </pre>
12890         */
12891        boolean hasSinceKotlinInfo();
12892        /**
12893         * <code>optional int32 sinceKotlinInfo = 31;</code>
12894         *
12895         * <pre>
12896         * Index into the SinceKotlinInfoTable
12897         * </pre>
12898         */
12899        int getSinceKotlinInfo();
12900      }
12901      /**
12902       * Protobuf type {@code org.jetbrains.kotlin.serialization.Constructor}
12903       */
12904      public static final class Constructor extends
12905          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
12906            Constructor> implements
12907          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Constructor)
12908          ConstructorOrBuilder {
12909        // Use Constructor.newBuilder() to construct.
12910        private Constructor(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor, ?> builder) {
12911          super(builder);
12912          this.unknownFields = builder.getUnknownFields();
12913        }
12914        private Constructor(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
12915    
12916        private static final Constructor defaultInstance;
12917        public static Constructor getDefaultInstance() {
12918          return defaultInstance;
12919        }
12920    
12921        public Constructor getDefaultInstanceForType() {
12922          return defaultInstance;
12923        }
12924    
12925        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
12926        private Constructor(
12927            org.jetbrains.kotlin.protobuf.CodedInputStream input,
12928            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12929            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
12930          initFields();
12931          int mutable_bitField0_ = 0;
12932          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
12933              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
12934          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
12935              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
12936                  unknownFieldsOutput);
12937          try {
12938            boolean done = false;
12939            while (!done) {
12940              int tag = input.readTag();
12941              switch (tag) {
12942                case 0:
12943                  done = true;
12944                  break;
12945                default: {
12946                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
12947                                         extensionRegistry, tag)) {
12948                    done = true;
12949                  }
12950                  break;
12951                }
12952                case 8: {
12953                  bitField0_ |= 0x00000001;
12954                  flags_ = input.readInt32();
12955                  break;
12956                }
12957                case 18: {
12958                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
12959                    valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>();
12960                    mutable_bitField0_ |= 0x00000002;
12961                  }
12962                  valueParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.PARSER, extensionRegistry));
12963                  break;
12964                }
12965                case 248: {
12966                  bitField0_ |= 0x00000002;
12967                  sinceKotlinInfo_ = input.readInt32();
12968                  break;
12969                }
12970              }
12971            }
12972          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
12973            throw e.setUnfinishedMessage(this);
12974          } catch (java.io.IOException e) {
12975            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
12976                e.getMessage()).setUnfinishedMessage(this);
12977          } finally {
12978            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
12979              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
12980            }
12981            try {
12982              unknownFieldsCodedOutput.flush();
12983            } catch (java.io.IOException e) {
12984            // Should not happen
12985            } finally {
12986              unknownFields = unknownFieldsOutput.toByteString();
12987            }
12988            makeExtensionsImmutable();
12989          }
12990        }
12991        public static org.jetbrains.kotlin.protobuf.Parser<Constructor> PARSER =
12992            new org.jetbrains.kotlin.protobuf.AbstractParser<Constructor>() {
12993          public Constructor parsePartialFrom(
12994              org.jetbrains.kotlin.protobuf.CodedInputStream input,
12995              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12996              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
12997            return new Constructor(input, extensionRegistry);
12998          }
12999        };
13000    
13001        @java.lang.Override
13002        public org.jetbrains.kotlin.protobuf.Parser<Constructor> getParserForType() {
13003          return PARSER;
13004        }
13005    
13006        private int bitField0_;
13007        public static final int FLAGS_FIELD_NUMBER = 1;
13008        private int flags_;
13009        /**
13010         * <code>optional int32 flags = 1 [default = 6];</code>
13011         *
13012         * <pre>
13013         *hasAnnotations
13014         *Visibility
13015         *isSecondary
13016         * </pre>
13017         */
13018        public boolean hasFlags() {
13019          return ((bitField0_ & 0x00000001) == 0x00000001);
13020        }
13021        /**
13022         * <code>optional int32 flags = 1 [default = 6];</code>
13023         *
13024         * <pre>
13025         *hasAnnotations
13026         *Visibility
13027         *isSecondary
13028         * </pre>
13029         */
13030        public int getFlags() {
13031          return flags_;
13032        }
13033    
13034        public static final int VALUE_PARAMETER_FIELD_NUMBER = 2;
13035        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> valueParameter_;
13036        /**
13037         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
13038         */
13039        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> getValueParameterList() {
13040          return valueParameter_;
13041        }
13042        /**
13043         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
13044         */
13045        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder> 
13046            getValueParameterOrBuilderList() {
13047          return valueParameter_;
13048        }
13049        /**
13050         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
13051         */
13052        public int getValueParameterCount() {
13053          return valueParameter_.size();
13054        }
13055        /**
13056         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
13057         */
13058        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index) {
13059          return valueParameter_.get(index);
13060        }
13061        /**
13062         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
13063         */
13064        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder getValueParameterOrBuilder(
13065            int index) {
13066          return valueParameter_.get(index);
13067        }
13068    
13069        public static final int SINCEKOTLININFO_FIELD_NUMBER = 31;
13070        private int sinceKotlinInfo_;
13071        /**
13072         * <code>optional int32 sinceKotlinInfo = 31;</code>
13073         *
13074         * <pre>
13075         * Index into the SinceKotlinInfoTable
13076         * </pre>
13077         */
13078        public boolean hasSinceKotlinInfo() {
13079          return ((bitField0_ & 0x00000002) == 0x00000002);
13080        }
13081        /**
13082         * <code>optional int32 sinceKotlinInfo = 31;</code>
13083         *
13084         * <pre>
13085         * Index into the SinceKotlinInfoTable
13086         * </pre>
13087         */
13088        public int getSinceKotlinInfo() {
13089          return sinceKotlinInfo_;
13090        }
13091    
13092        private void initFields() {
13093          flags_ = 6;
13094          valueParameter_ = java.util.Collections.emptyList();
13095          sinceKotlinInfo_ = 0;
13096        }
13097        private byte memoizedIsInitialized = -1;
13098        public final boolean isInitialized() {
13099          byte isInitialized = memoizedIsInitialized;
13100          if (isInitialized == 1) return true;
13101          if (isInitialized == 0) return false;
13102    
13103          for (int i = 0; i < getValueParameterCount(); i++) {
13104            if (!getValueParameter(i).isInitialized()) {
13105              memoizedIsInitialized = 0;
13106              return false;
13107            }
13108          }
13109          if (!extensionsAreInitialized()) {
13110            memoizedIsInitialized = 0;
13111            return false;
13112          }
13113          memoizedIsInitialized = 1;
13114          return true;
13115        }
13116    
13117        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
13118                            throws java.io.IOException {
13119          getSerializedSize();
13120          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
13121            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor>.ExtensionWriter extensionWriter =
13122              newExtensionWriter();
13123          if (((bitField0_ & 0x00000001) == 0x00000001)) {
13124            output.writeInt32(1, flags_);
13125          }
13126          for (int i = 0; i < valueParameter_.size(); i++) {
13127            output.writeMessage(2, valueParameter_.get(i));
13128          }
13129          if (((bitField0_ & 0x00000002) == 0x00000002)) {
13130            output.writeInt32(31, sinceKotlinInfo_);
13131          }
13132          extensionWriter.writeUntil(200, output);
13133          output.writeRawBytes(unknownFields);
13134        }
13135    
13136        private int memoizedSerializedSize = -1;
13137        public int getSerializedSize() {
13138          int size = memoizedSerializedSize;
13139          if (size != -1) return size;
13140    
13141          size = 0;
13142          if (((bitField0_ & 0x00000001) == 0x00000001)) {
13143            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
13144              .computeInt32Size(1, flags_);
13145          }
13146          for (int i = 0; i < valueParameter_.size(); i++) {
13147            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
13148              .computeMessageSize(2, valueParameter_.get(i));
13149          }
13150          if (((bitField0_ & 0x00000002) == 0x00000002)) {
13151            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
13152              .computeInt32Size(31, sinceKotlinInfo_);
13153          }
13154          size += extensionsSerializedSize();
13155          size += unknownFields.size();
13156          memoizedSerializedSize = size;
13157          return size;
13158        }
13159    
13160        private static final long serialVersionUID = 0L;
13161        @java.lang.Override
13162        protected java.lang.Object writeReplace()
13163            throws java.io.ObjectStreamException {
13164          return super.writeReplace();
13165        }
13166    
13167        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
13168            org.jetbrains.kotlin.protobuf.ByteString data)
13169            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
13170          return PARSER.parseFrom(data);
13171        }
13172        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
13173            org.jetbrains.kotlin.protobuf.ByteString data,
13174            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
13175            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
13176          return PARSER.parseFrom(data, extensionRegistry);
13177        }
13178        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(byte[] data)
13179            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
13180          return PARSER.parseFrom(data);
13181        }
13182        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
13183            byte[] data,
13184            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
13185            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
13186          return PARSER.parseFrom(data, extensionRegistry);
13187        }
13188        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(java.io.InputStream input)
13189            throws java.io.IOException {
13190          return PARSER.parseFrom(input);
13191        }
13192        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
13193            java.io.InputStream input,
13194            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
13195            throws java.io.IOException {
13196          return PARSER.parseFrom(input, extensionRegistry);
13197        }
13198        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseDelimitedFrom(java.io.InputStream input)
13199            throws java.io.IOException {
13200          return PARSER.parseDelimitedFrom(input);
13201        }
13202        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseDelimitedFrom(
13203            java.io.InputStream input,
13204            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
13205            throws java.io.IOException {
13206          return PARSER.parseDelimitedFrom(input, extensionRegistry);
13207        }
13208        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
13209            org.jetbrains.kotlin.protobuf.CodedInputStream input)
13210            throws java.io.IOException {
13211          return PARSER.parseFrom(input);
13212        }
13213        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
13214            org.jetbrains.kotlin.protobuf.CodedInputStream input,
13215            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
13216            throws java.io.IOException {
13217          return PARSER.parseFrom(input, extensionRegistry);
13218        }
13219    
13220        public static Builder newBuilder() { return Builder.create(); }
13221        public Builder newBuilderForType() { return newBuilder(); }
13222        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Constructor prototype) {
13223          return newBuilder().mergeFrom(prototype);
13224        }
13225        public Builder toBuilder() { return newBuilder(this); }
13226    
13227        /**
13228         * Protobuf type {@code org.jetbrains.kotlin.serialization.Constructor}
13229         */
13230        public static final class Builder extends
13231            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
13232              org.jetbrains.kotlin.serialization.ProtoBuf.Constructor, Builder> implements
13233            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Constructor)
13234            org.jetbrains.kotlin.serialization.ProtoBuf.ConstructorOrBuilder {
13235          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.newBuilder()
13236          private Builder() {
13237            maybeForceBuilderInitialization();
13238          }
13239    
13240          private void maybeForceBuilderInitialization() {
13241          }
13242          private static Builder create() {
13243            return new Builder();
13244          }
13245    
13246          public Builder clear() {
13247            super.clear();
13248            flags_ = 6;
13249            bitField0_ = (bitField0_ & ~0x00000001);
13250            valueParameter_ = java.util.Collections.emptyList();
13251            bitField0_ = (bitField0_ & ~0x00000002);
13252            sinceKotlinInfo_ = 0;
13253            bitField0_ = (bitField0_ & ~0x00000004);
13254            return this;
13255          }
13256    
13257          public Builder clone() {
13258            return create().mergeFrom(buildPartial());
13259          }
13260    
13261          public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor getDefaultInstanceForType() {
13262            return org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.getDefaultInstance();
13263          }
13264    
13265          public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor build() {
13266            org.jetbrains.kotlin.serialization.ProtoBuf.Constructor result = buildPartial();
13267            if (!result.isInitialized()) {
13268              throw newUninitializedMessageException(result);
13269            }
13270            return result;
13271          }
13272    
13273          public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor buildPartial() {
13274            org.jetbrains.kotlin.serialization.ProtoBuf.Constructor result = new org.jetbrains.kotlin.serialization.ProtoBuf.Constructor(this);
13275            int from_bitField0_ = bitField0_;
13276            int to_bitField0_ = 0;
13277            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
13278              to_bitField0_ |= 0x00000001;
13279            }
13280            result.flags_ = flags_;
13281            if (((bitField0_ & 0x00000002) == 0x00000002)) {
13282              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
13283              bitField0_ = (bitField0_ & ~0x00000002);
13284            }
13285            result.valueParameter_ = valueParameter_;
13286            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
13287              to_bitField0_ |= 0x00000002;
13288            }
13289            result.sinceKotlinInfo_ = sinceKotlinInfo_;
13290            result.bitField0_ = to_bitField0_;
13291            return result;
13292          }
13293    
13294          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Constructor other) {
13295            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.getDefaultInstance()) return this;
13296            if (other.hasFlags()) {
13297              setFlags(other.getFlags());
13298            }
13299            if (!other.valueParameter_.isEmpty()) {
13300              if (valueParameter_.isEmpty()) {
13301                valueParameter_ = other.valueParameter_;
13302                bitField0_ = (bitField0_ & ~0x00000002);
13303              } else {
13304                ensureValueParameterIsMutable();
13305                valueParameter_.addAll(other.valueParameter_);
13306              }
13307              
13308            }
13309            if (other.hasSinceKotlinInfo()) {
13310              setSinceKotlinInfo(other.getSinceKotlinInfo());
13311            }
13312            this.mergeExtensionFields(other);
13313            setUnknownFields(
13314                getUnknownFields().concat(other.unknownFields));
13315            return this;
13316          }
13317    
13318          public final boolean isInitialized() {
13319            for (int i = 0; i < getValueParameterCount(); i++) {
13320              if (!getValueParameter(i).isInitialized()) {
13321                
13322                return false;
13323              }
13324            }
13325            if (!extensionsAreInitialized()) {
13326              
13327              return false;
13328            }
13329            return true;
13330          }
13331    
13332          public Builder mergeFrom(
13333              org.jetbrains.kotlin.protobuf.CodedInputStream input,
13334              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
13335              throws java.io.IOException {
13336            org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parsedMessage = null;
13337            try {
13338              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
13339            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
13340              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Constructor) e.getUnfinishedMessage();
13341              throw e;
13342            } finally {
13343              if (parsedMessage != null) {
13344                mergeFrom(parsedMessage);
13345              }
13346            }
13347            return this;
13348          }
13349          private int bitField0_;
13350    
13351          private int flags_ = 6;
13352          /**
13353           * <code>optional int32 flags = 1 [default = 6];</code>
13354           *
13355           * <pre>
13356           *hasAnnotations
13357           *Visibility
13358           *isSecondary
13359           * </pre>
13360           */
13361          public boolean hasFlags() {
13362            return ((bitField0_ & 0x00000001) == 0x00000001);
13363          }
13364          /**
13365           * <code>optional int32 flags = 1 [default = 6];</code>
13366           *
13367           * <pre>
13368           *hasAnnotations
13369           *Visibility
13370           *isSecondary
13371           * </pre>
13372           */
13373          public int getFlags() {
13374            return flags_;
13375          }
13376          /**
13377           * <code>optional int32 flags = 1 [default = 6];</code>
13378           *
13379           * <pre>
13380           *hasAnnotations
13381           *Visibility
13382           *isSecondary
13383           * </pre>
13384           */
13385          public Builder setFlags(int value) {
13386            bitField0_ |= 0x00000001;
13387            flags_ = value;
13388            
13389            return this;
13390          }
13391          /**
13392           * <code>optional int32 flags = 1 [default = 6];</code>
13393           *
13394           * <pre>
13395           *hasAnnotations
13396           *Visibility
13397           *isSecondary
13398           * </pre>
13399           */
13400          public Builder clearFlags() {
13401            bitField0_ = (bitField0_ & ~0x00000001);
13402            flags_ = 6;
13403            
13404            return this;
13405          }
13406    
13407          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> valueParameter_ =
13408            java.util.Collections.emptyList();
13409          private void ensureValueParameterIsMutable() {
13410            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
13411              valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>(valueParameter_);
13412              bitField0_ |= 0x00000002;
13413             }
13414          }
13415    
13416          /**
13417           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
13418           */
13419          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> getValueParameterList() {
13420            return java.util.Collections.unmodifiableList(valueParameter_);
13421          }
13422          /**
13423           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
13424           */
13425          public int getValueParameterCount() {
13426            return valueParameter_.size();
13427          }
13428          /**
13429           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
13430           */
13431          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index) {
13432            return valueParameter_.get(index);
13433          }
13434          /**
13435           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
13436           */
13437          public Builder setValueParameter(
13438              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
13439            if (value == null) {
13440              throw new NullPointerException();
13441            }
13442            ensureValueParameterIsMutable();
13443            valueParameter_.set(index, value);
13444    
13445            return this;
13446          }
13447          /**
13448           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
13449           */
13450          public Builder setValueParameter(
13451              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
13452            ensureValueParameterIsMutable();
13453            valueParameter_.set(index, builderForValue.build());
13454    
13455            return this;
13456          }
13457          /**
13458           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
13459           */
13460          public Builder addValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
13461            if (value == null) {
13462              throw new NullPointerException();
13463            }
13464            ensureValueParameterIsMutable();
13465            valueParameter_.add(value);
13466    
13467            return this;
13468          }
13469          /**
13470           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
13471           */
13472          public Builder addValueParameter(
13473              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
13474            if (value == null) {
13475              throw new NullPointerException();
13476            }
13477            ensureValueParameterIsMutable();
13478            valueParameter_.add(index, value);
13479    
13480            return this;
13481          }
13482          /**
13483           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
13484           */
13485          public Builder addValueParameter(
13486              org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
13487            ensureValueParameterIsMutable();
13488            valueParameter_.add(builderForValue.build());
13489    
13490            return this;
13491          }
13492          /**
13493           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
13494           */
13495          public Builder addValueParameter(
13496              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
13497            ensureValueParameterIsMutable();
13498            valueParameter_.add(index, builderForValue.build());
13499    
13500            return this;
13501          }
13502          /**
13503           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
13504           */
13505          public Builder addAllValueParameter(
13506              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> values) {
13507            ensureValueParameterIsMutable();
13508            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
13509                values, valueParameter_);
13510    
13511            return this;
13512          }
13513          /**
13514           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
13515           */
13516          public Builder clearValueParameter() {
13517            valueParameter_ = java.util.Collections.emptyList();
13518            bitField0_ = (bitField0_ & ~0x00000002);
13519    
13520            return this;
13521          }
13522          /**
13523           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
13524           */
13525          public Builder removeValueParameter(int index) {
13526            ensureValueParameterIsMutable();
13527            valueParameter_.remove(index);
13528    
13529            return this;
13530          }
13531    
13532          private int sinceKotlinInfo_ ;
13533          /**
13534           * <code>optional int32 sinceKotlinInfo = 31;</code>
13535           *
13536           * <pre>
13537           * Index into the SinceKotlinInfoTable
13538           * </pre>
13539           */
13540          public boolean hasSinceKotlinInfo() {
13541            return ((bitField0_ & 0x00000004) == 0x00000004);
13542          }
13543          /**
13544           * <code>optional int32 sinceKotlinInfo = 31;</code>
13545           *
13546           * <pre>
13547           * Index into the SinceKotlinInfoTable
13548           * </pre>
13549           */
13550          public int getSinceKotlinInfo() {
13551            return sinceKotlinInfo_;
13552          }
13553          /**
13554           * <code>optional int32 sinceKotlinInfo = 31;</code>
13555           *
13556           * <pre>
13557           * Index into the SinceKotlinInfoTable
13558           * </pre>
13559           */
13560          public Builder setSinceKotlinInfo(int value) {
13561            bitField0_ |= 0x00000004;
13562            sinceKotlinInfo_ = value;
13563            
13564            return this;
13565          }
13566          /**
13567           * <code>optional int32 sinceKotlinInfo = 31;</code>
13568           *
13569           * <pre>
13570           * Index into the SinceKotlinInfoTable
13571           * </pre>
13572           */
13573          public Builder clearSinceKotlinInfo() {
13574            bitField0_ = (bitField0_ & ~0x00000004);
13575            sinceKotlinInfo_ = 0;
13576            
13577            return this;
13578          }
13579    
13580          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Constructor)
13581        }
13582    
13583        static {
13584          defaultInstance = new Constructor(true);
13585          defaultInstance.initFields();
13586        }
13587    
13588        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Constructor)
13589      }
13590    
13591      public interface FunctionOrBuilder extends 
13592          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.Function)
13593           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
13594                ExtendableMessageOrBuilder<Function> {
13595    
13596        /**
13597         * <code>optional int32 flags = 9 [default = 6];</code>
13598         *
13599         * <pre>
13600         *hasAnnotations
13601         *Visibility
13602         *Modality
13603         *MemberKind
13604         *isOperator
13605         *isInfix
13606         *isInline
13607         *isTailrec
13608         *isExternal
13609         * </pre>
13610         */
13611        boolean hasFlags();
13612        /**
13613         * <code>optional int32 flags = 9 [default = 6];</code>
13614         *
13615         * <pre>
13616         *hasAnnotations
13617         *Visibility
13618         *Modality
13619         *MemberKind
13620         *isOperator
13621         *isInfix
13622         *isInline
13623         *isTailrec
13624         *isExternal
13625         * </pre>
13626         */
13627        int getFlags();
13628    
13629        /**
13630         * <code>optional int32 old_flags = 1 [default = 6];</code>
13631         */
13632        boolean hasOldFlags();
13633        /**
13634         * <code>optional int32 old_flags = 1 [default = 6];</code>
13635         */
13636        int getOldFlags();
13637    
13638        /**
13639         * <code>required int32 name = 2;</code>
13640         */
13641        boolean hasName();
13642        /**
13643         * <code>required int32 name = 2;</code>
13644         */
13645        int getName();
13646    
13647        /**
13648         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13649         */
13650        boolean hasReturnType();
13651        /**
13652         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13653         */
13654        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType();
13655    
13656        /**
13657         * <code>optional int32 return_type_id = 7;</code>
13658         */
13659        boolean hasReturnTypeId();
13660        /**
13661         * <code>optional int32 return_type_id = 7;</code>
13662         */
13663        int getReturnTypeId();
13664    
13665        /**
13666         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13667         */
13668        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
13669            getTypeParameterList();
13670        /**
13671         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13672         */
13673        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
13674        /**
13675         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13676         */
13677        int getTypeParameterCount();
13678    
13679        /**
13680         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13681         */
13682        boolean hasReceiverType();
13683        /**
13684         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13685         */
13686        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType();
13687    
13688        /**
13689         * <code>optional int32 receiver_type_id = 8;</code>
13690         */
13691        boolean hasReceiverTypeId();
13692        /**
13693         * <code>optional int32 receiver_type_id = 8;</code>
13694         */
13695        int getReceiverTypeId();
13696    
13697        /**
13698         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13699         */
13700        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> 
13701            getValueParameterList();
13702        /**
13703         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13704         */
13705        org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index);
13706        /**
13707         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13708         */
13709        int getValueParameterCount();
13710    
13711        /**
13712         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13713         */
13714        boolean hasTypeTable();
13715        /**
13716         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13717         */
13718        org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable();
13719    
13720        /**
13721         * <code>optional int32 sinceKotlinInfo = 31;</code>
13722         *
13723         * <pre>
13724         * Index into the SinceKotlinInfoTable
13725         * </pre>
13726         */
13727        boolean hasSinceKotlinInfo();
13728        /**
13729         * <code>optional int32 sinceKotlinInfo = 31;</code>
13730         *
13731         * <pre>
13732         * Index into the SinceKotlinInfoTable
13733         * </pre>
13734         */
13735        int getSinceKotlinInfo();
13736      }
13737      /**
13738       * Protobuf type {@code org.jetbrains.kotlin.serialization.Function}
13739       */
13740      public static final class Function extends
13741          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
13742            Function> implements
13743          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Function)
13744          FunctionOrBuilder {
13745        // Use Function.newBuilder() to construct.
13746        private Function(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Function, ?> builder) {
13747          super(builder);
13748          this.unknownFields = builder.getUnknownFields();
13749        }
13750        private Function(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
13751    
13752        private static final Function defaultInstance;
13753        public static Function getDefaultInstance() {
13754          return defaultInstance;
13755        }
13756    
13757        public Function getDefaultInstanceForType() {
13758          return defaultInstance;
13759        }
13760    
13761        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
13762        private Function(
13763            org.jetbrains.kotlin.protobuf.CodedInputStream input,
13764            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
13765            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
13766          initFields();
13767          int mutable_bitField0_ = 0;
13768          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
13769              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
13770          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
13771              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
13772                  unknownFieldsOutput);
13773          try {
13774            boolean done = false;
13775            while (!done) {
13776              int tag = input.readTag();
13777              switch (tag) {
13778                case 0:
13779                  done = true;
13780                  break;
13781                default: {
13782                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
13783                                         extensionRegistry, tag)) {
13784                    done = true;
13785                  }
13786                  break;
13787                }
13788                case 8: {
13789                  bitField0_ |= 0x00000002;
13790                  oldFlags_ = input.readInt32();
13791                  break;
13792                }
13793                case 16: {
13794                  bitField0_ |= 0x00000004;
13795                  name_ = input.readInt32();
13796                  break;
13797                }
13798                case 26: {
13799                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
13800                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
13801                    subBuilder = returnType_.toBuilder();
13802                  }
13803                  returnType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
13804                  if (subBuilder != null) {
13805                    subBuilder.mergeFrom(returnType_);
13806                    returnType_ = subBuilder.buildPartial();
13807                  }
13808                  bitField0_ |= 0x00000008;
13809                  break;
13810                }
13811                case 34: {
13812                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
13813                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
13814                    mutable_bitField0_ |= 0x00000020;
13815                  }
13816                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
13817                  break;
13818                }
13819                case 42: {
13820                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
13821                  if (((bitField0_ & 0x00000020) == 0x00000020)) {
13822                    subBuilder = receiverType_.toBuilder();
13823                  }
13824                  receiverType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
13825                  if (subBuilder != null) {
13826                    subBuilder.mergeFrom(receiverType_);
13827                    receiverType_ = subBuilder.buildPartial();
13828                  }
13829                  bitField0_ |= 0x00000020;
13830                  break;
13831                }
13832                case 50: {
13833                  if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
13834                    valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>();
13835                    mutable_bitField0_ |= 0x00000100;
13836                  }
13837                  valueParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.PARSER, extensionRegistry));
13838                  break;
13839                }
13840                case 56: {
13841                  bitField0_ |= 0x00000010;
13842                  returnTypeId_ = input.readInt32();
13843                  break;
13844                }
13845                case 64: {
13846                  bitField0_ |= 0x00000040;
13847                  receiverTypeId_ = input.readInt32();
13848                  break;
13849                }
13850                case 72: {
13851                  bitField0_ |= 0x00000001;
13852                  flags_ = input.readInt32();
13853                  break;
13854                }
13855                case 242: {
13856                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder subBuilder = null;
13857                  if (((bitField0_ & 0x00000080) == 0x00000080)) {
13858                    subBuilder = typeTable_.toBuilder();
13859                  }
13860                  typeTable_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.PARSER, extensionRegistry);
13861                  if (subBuilder != null) {
13862                    subBuilder.mergeFrom(typeTable_);
13863                    typeTable_ = subBuilder.buildPartial();
13864                  }
13865                  bitField0_ |= 0x00000080;
13866                  break;
13867                }
13868                case 248: {
13869                  bitField0_ |= 0x00000100;
13870                  sinceKotlinInfo_ = input.readInt32();
13871                  break;
13872                }
13873              }
13874            }
13875          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
13876            throw e.setUnfinishedMessage(this);
13877          } catch (java.io.IOException e) {
13878            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
13879                e.getMessage()).setUnfinishedMessage(this);
13880          } finally {
13881            if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
13882              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
13883            }
13884            if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
13885              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
13886            }
13887            try {
13888              unknownFieldsCodedOutput.flush();
13889            } catch (java.io.IOException e) {
13890            // Should not happen
13891            } finally {
13892              unknownFields = unknownFieldsOutput.toByteString();
13893            }
13894            makeExtensionsImmutable();
13895          }
13896        }
13897        public static org.jetbrains.kotlin.protobuf.Parser<Function> PARSER =
13898            new org.jetbrains.kotlin.protobuf.AbstractParser<Function>() {
13899          public Function parsePartialFrom(
13900              org.jetbrains.kotlin.protobuf.CodedInputStream input,
13901              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
13902              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
13903            return new Function(input, extensionRegistry);
13904          }
13905        };
13906    
13907        @java.lang.Override
13908        public org.jetbrains.kotlin.protobuf.Parser<Function> getParserForType() {
13909          return PARSER;
13910        }
13911    
13912        private int bitField0_;
13913        public static final int FLAGS_FIELD_NUMBER = 9;
13914        private int flags_;
13915        /**
13916         * <code>optional int32 flags = 9 [default = 6];</code>
13917         *
13918         * <pre>
13919         *hasAnnotations
13920         *Visibility
13921         *Modality
13922         *MemberKind
13923         *isOperator
13924         *isInfix
13925         *isInline
13926         *isTailrec
13927         *isExternal
13928         * </pre>
13929         */
13930        public boolean hasFlags() {
13931          return ((bitField0_ & 0x00000001) == 0x00000001);
13932        }
13933        /**
13934         * <code>optional int32 flags = 9 [default = 6];</code>
13935         *
13936         * <pre>
13937         *hasAnnotations
13938         *Visibility
13939         *Modality
13940         *MemberKind
13941         *isOperator
13942         *isInfix
13943         *isInline
13944         *isTailrec
13945         *isExternal
13946         * </pre>
13947         */
13948        public int getFlags() {
13949          return flags_;
13950        }
13951    
13952        public static final int OLD_FLAGS_FIELD_NUMBER = 1;
13953        private int oldFlags_;
13954        /**
13955         * <code>optional int32 old_flags = 1 [default = 6];</code>
13956         */
13957        public boolean hasOldFlags() {
13958          return ((bitField0_ & 0x00000002) == 0x00000002);
13959        }
13960        /**
13961         * <code>optional int32 old_flags = 1 [default = 6];</code>
13962         */
13963        public int getOldFlags() {
13964          return oldFlags_;
13965        }
13966    
13967        public static final int NAME_FIELD_NUMBER = 2;
13968        private int name_;
13969        /**
13970         * <code>required int32 name = 2;</code>
13971         */
13972        public boolean hasName() {
13973          return ((bitField0_ & 0x00000004) == 0x00000004);
13974        }
13975        /**
13976         * <code>required int32 name = 2;</code>
13977         */
13978        public int getName() {
13979          return name_;
13980        }
13981    
13982        public static final int RETURN_TYPE_FIELD_NUMBER = 3;
13983        private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_;
13984        /**
13985         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13986         */
13987        public boolean hasReturnType() {
13988          return ((bitField0_ & 0x00000008) == 0x00000008);
13989        }
13990        /**
13991         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13992         */
13993        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
13994          return returnType_;
13995        }
13996    
13997        public static final int RETURN_TYPE_ID_FIELD_NUMBER = 7;
13998        private int returnTypeId_;
13999        /**
14000         * <code>optional int32 return_type_id = 7;</code>
14001         */
14002        public boolean hasReturnTypeId() {
14003          return ((bitField0_ & 0x00000010) == 0x00000010);
14004        }
14005        /**
14006         * <code>optional int32 return_type_id = 7;</code>
14007         */
14008        public int getReturnTypeId() {
14009          return returnTypeId_;
14010        }
14011    
14012        public static final int TYPE_PARAMETER_FIELD_NUMBER = 4;
14013        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
14014        /**
14015         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14016         */
14017        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
14018          return typeParameter_;
14019        }
14020        /**
14021         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14022         */
14023        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
14024            getTypeParameterOrBuilderList() {
14025          return typeParameter_;
14026        }
14027        /**
14028         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14029         */
14030        public int getTypeParameterCount() {
14031          return typeParameter_.size();
14032        }
14033        /**
14034         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14035         */
14036        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
14037          return typeParameter_.get(index);
14038        }
14039        /**
14040         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14041         */
14042        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
14043            int index) {
14044          return typeParameter_.get(index);
14045        }
14046    
14047        public static final int RECEIVER_TYPE_FIELD_NUMBER = 5;
14048        private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_;
14049        /**
14050         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14051         */
14052        public boolean hasReceiverType() {
14053          return ((bitField0_ & 0x00000020) == 0x00000020);
14054        }
14055        /**
14056         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14057         */
14058        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
14059          return receiverType_;
14060        }
14061    
14062        public static final int RECEIVER_TYPE_ID_FIELD_NUMBER = 8;
14063        private int receiverTypeId_;
14064        /**
14065         * <code>optional int32 receiver_type_id = 8;</code>
14066         */
14067        public boolean hasReceiverTypeId() {
14068          return ((bitField0_ & 0x00000040) == 0x00000040);
14069        }
14070        /**
14071         * <code>optional int32 receiver_type_id = 8;</code>
14072         */
14073        public int getReceiverTypeId() {
14074          return receiverTypeId_;
14075        }
14076    
14077        public static final int VALUE_PARAMETER_FIELD_NUMBER = 6;
14078        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> valueParameter_;
14079        /**
14080         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
14081         */
14082        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> getValueParameterList() {
14083          return valueParameter_;
14084        }
14085        /**
14086         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
14087         */
14088        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder> 
14089            getValueParameterOrBuilderList() {
14090          return valueParameter_;
14091        }
14092        /**
14093         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
14094         */
14095        public int getValueParameterCount() {
14096          return valueParameter_.size();
14097        }
14098        /**
14099         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
14100         */
14101        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index) {
14102          return valueParameter_.get(index);
14103        }
14104        /**
14105         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
14106         */
14107        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder getValueParameterOrBuilder(
14108            int index) {
14109          return valueParameter_.get(index);
14110        }
14111    
14112        public static final int TYPE_TABLE_FIELD_NUMBER = 30;
14113        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_;
14114        /**
14115         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
14116         */
14117        public boolean hasTypeTable() {
14118          return ((bitField0_ & 0x00000080) == 0x00000080);
14119        }
14120        /**
14121         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
14122         */
14123        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
14124          return typeTable_;
14125        }
14126    
14127        public static final int SINCEKOTLININFO_FIELD_NUMBER = 31;
14128        private int sinceKotlinInfo_;
14129        /**
14130         * <code>optional int32 sinceKotlinInfo = 31;</code>
14131         *
14132         * <pre>
14133         * Index into the SinceKotlinInfoTable
14134         * </pre>
14135         */
14136        public boolean hasSinceKotlinInfo() {
14137          return ((bitField0_ & 0x00000100) == 0x00000100);
14138        }
14139        /**
14140         * <code>optional int32 sinceKotlinInfo = 31;</code>
14141         *
14142         * <pre>
14143         * Index into the SinceKotlinInfoTable
14144         * </pre>
14145         */
14146        public int getSinceKotlinInfo() {
14147          return sinceKotlinInfo_;
14148        }
14149    
14150        private void initFields() {
14151          flags_ = 6;
14152          oldFlags_ = 6;
14153          name_ = 0;
14154          returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14155          returnTypeId_ = 0;
14156          typeParameter_ = java.util.Collections.emptyList();
14157          receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14158          receiverTypeId_ = 0;
14159          valueParameter_ = java.util.Collections.emptyList();
14160          typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
14161          sinceKotlinInfo_ = 0;
14162        }
14163        private byte memoizedIsInitialized = -1;
14164        public final boolean isInitialized() {
14165          byte isInitialized = memoizedIsInitialized;
14166          if (isInitialized == 1) return true;
14167          if (isInitialized == 0) return false;
14168    
14169          if (!hasName()) {
14170            memoizedIsInitialized = 0;
14171            return false;
14172          }
14173          if (hasReturnType()) {
14174            if (!getReturnType().isInitialized()) {
14175              memoizedIsInitialized = 0;
14176              return false;
14177            }
14178          }
14179          for (int i = 0; i < getTypeParameterCount(); i++) {
14180            if (!getTypeParameter(i).isInitialized()) {
14181              memoizedIsInitialized = 0;
14182              return false;
14183            }
14184          }
14185          if (hasReceiverType()) {
14186            if (!getReceiverType().isInitialized()) {
14187              memoizedIsInitialized = 0;
14188              return false;
14189            }
14190          }
14191          for (int i = 0; i < getValueParameterCount(); i++) {
14192            if (!getValueParameter(i).isInitialized()) {
14193              memoizedIsInitialized = 0;
14194              return false;
14195            }
14196          }
14197          if (hasTypeTable()) {
14198            if (!getTypeTable().isInitialized()) {
14199              memoizedIsInitialized = 0;
14200              return false;
14201            }
14202          }
14203          if (!extensionsAreInitialized()) {
14204            memoizedIsInitialized = 0;
14205            return false;
14206          }
14207          memoizedIsInitialized = 1;
14208          return true;
14209        }
14210    
14211        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
14212                            throws java.io.IOException {
14213          getSerializedSize();
14214          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
14215            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Function>.ExtensionWriter extensionWriter =
14216              newExtensionWriter();
14217          if (((bitField0_ & 0x00000002) == 0x00000002)) {
14218            output.writeInt32(1, oldFlags_);
14219          }
14220          if (((bitField0_ & 0x00000004) == 0x00000004)) {
14221            output.writeInt32(2, name_);
14222          }
14223          if (((bitField0_ & 0x00000008) == 0x00000008)) {
14224            output.writeMessage(3, returnType_);
14225          }
14226          for (int i = 0; i < typeParameter_.size(); i++) {
14227            output.writeMessage(4, typeParameter_.get(i));
14228          }
14229          if (((bitField0_ & 0x00000020) == 0x00000020)) {
14230            output.writeMessage(5, receiverType_);
14231          }
14232          for (int i = 0; i < valueParameter_.size(); i++) {
14233            output.writeMessage(6, valueParameter_.get(i));
14234          }
14235          if (((bitField0_ & 0x00000010) == 0x00000010)) {
14236            output.writeInt32(7, returnTypeId_);
14237          }
14238          if (((bitField0_ & 0x00000040) == 0x00000040)) {
14239            output.writeInt32(8, receiverTypeId_);
14240          }
14241          if (((bitField0_ & 0x00000001) == 0x00000001)) {
14242            output.writeInt32(9, flags_);
14243          }
14244          if (((bitField0_ & 0x00000080) == 0x00000080)) {
14245            output.writeMessage(30, typeTable_);
14246          }
14247          if (((bitField0_ & 0x00000100) == 0x00000100)) {
14248            output.writeInt32(31, sinceKotlinInfo_);
14249          }
14250          extensionWriter.writeUntil(200, output);
14251          output.writeRawBytes(unknownFields);
14252        }
14253    
14254        private int memoizedSerializedSize = -1;
14255        public int getSerializedSize() {
14256          int size = memoizedSerializedSize;
14257          if (size != -1) return size;
14258    
14259          size = 0;
14260          if (((bitField0_ & 0x00000002) == 0x00000002)) {
14261            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14262              .computeInt32Size(1, oldFlags_);
14263          }
14264          if (((bitField0_ & 0x00000004) == 0x00000004)) {
14265            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14266              .computeInt32Size(2, name_);
14267          }
14268          if (((bitField0_ & 0x00000008) == 0x00000008)) {
14269            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14270              .computeMessageSize(3, returnType_);
14271          }
14272          for (int i = 0; i < typeParameter_.size(); i++) {
14273            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14274              .computeMessageSize(4, typeParameter_.get(i));
14275          }
14276          if (((bitField0_ & 0x00000020) == 0x00000020)) {
14277            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14278              .computeMessageSize(5, receiverType_);
14279          }
14280          for (int i = 0; i < valueParameter_.size(); i++) {
14281            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14282              .computeMessageSize(6, valueParameter_.get(i));
14283          }
14284          if (((bitField0_ & 0x00000010) == 0x00000010)) {
14285            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14286              .computeInt32Size(7, returnTypeId_);
14287          }
14288          if (((bitField0_ & 0x00000040) == 0x00000040)) {
14289            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14290              .computeInt32Size(8, receiverTypeId_);
14291          }
14292          if (((bitField0_ & 0x00000001) == 0x00000001)) {
14293            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14294              .computeInt32Size(9, flags_);
14295          }
14296          if (((bitField0_ & 0x00000080) == 0x00000080)) {
14297            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14298              .computeMessageSize(30, typeTable_);
14299          }
14300          if (((bitField0_ & 0x00000100) == 0x00000100)) {
14301            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14302              .computeInt32Size(31, sinceKotlinInfo_);
14303          }
14304          size += extensionsSerializedSize();
14305          size += unknownFields.size();
14306          memoizedSerializedSize = size;
14307          return size;
14308        }
14309    
14310        private static final long serialVersionUID = 0L;
14311        @java.lang.Override
14312        protected java.lang.Object writeReplace()
14313            throws java.io.ObjectStreamException {
14314          return super.writeReplace();
14315        }
14316    
14317        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
14318            org.jetbrains.kotlin.protobuf.ByteString data)
14319            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
14320          return PARSER.parseFrom(data);
14321        }
14322        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
14323            org.jetbrains.kotlin.protobuf.ByteString data,
14324            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
14325            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
14326          return PARSER.parseFrom(data, extensionRegistry);
14327        }
14328        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(byte[] data)
14329            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
14330          return PARSER.parseFrom(data);
14331        }
14332        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
14333            byte[] data,
14334            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
14335            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
14336          return PARSER.parseFrom(data, extensionRegistry);
14337        }
14338        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(java.io.InputStream input)
14339            throws java.io.IOException {
14340          return PARSER.parseFrom(input);
14341        }
14342        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
14343            java.io.InputStream input,
14344            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
14345            throws java.io.IOException {
14346          return PARSER.parseFrom(input, extensionRegistry);
14347        }
14348        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseDelimitedFrom(java.io.InputStream input)
14349            throws java.io.IOException {
14350          return PARSER.parseDelimitedFrom(input);
14351        }
14352        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseDelimitedFrom(
14353            java.io.InputStream input,
14354            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
14355            throws java.io.IOException {
14356          return PARSER.parseDelimitedFrom(input, extensionRegistry);
14357        }
14358        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
14359            org.jetbrains.kotlin.protobuf.CodedInputStream input)
14360            throws java.io.IOException {
14361          return PARSER.parseFrom(input);
14362        }
14363        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
14364            org.jetbrains.kotlin.protobuf.CodedInputStream input,
14365            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
14366            throws java.io.IOException {
14367          return PARSER.parseFrom(input, extensionRegistry);
14368        }
14369    
14370        public static Builder newBuilder() { return Builder.create(); }
14371        public Builder newBuilderForType() { return newBuilder(); }
14372        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Function prototype) {
14373          return newBuilder().mergeFrom(prototype);
14374        }
14375        public Builder toBuilder() { return newBuilder(this); }
14376    
14377        /**
14378         * Protobuf type {@code org.jetbrains.kotlin.serialization.Function}
14379         */
14380        public static final class Builder extends
14381            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
14382              org.jetbrains.kotlin.serialization.ProtoBuf.Function, Builder> implements
14383            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Function)
14384            org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder {
14385          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Function.newBuilder()
14386          private Builder() {
14387            maybeForceBuilderInitialization();
14388          }
14389    
14390          private void maybeForceBuilderInitialization() {
14391          }
14392          private static Builder create() {
14393            return new Builder();
14394          }
14395    
14396          public Builder clear() {
14397            super.clear();
14398            flags_ = 6;
14399            bitField0_ = (bitField0_ & ~0x00000001);
14400            oldFlags_ = 6;
14401            bitField0_ = (bitField0_ & ~0x00000002);
14402            name_ = 0;
14403            bitField0_ = (bitField0_ & ~0x00000004);
14404            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14405            bitField0_ = (bitField0_ & ~0x00000008);
14406            returnTypeId_ = 0;
14407            bitField0_ = (bitField0_ & ~0x00000010);
14408            typeParameter_ = java.util.Collections.emptyList();
14409            bitField0_ = (bitField0_ & ~0x00000020);
14410            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14411            bitField0_ = (bitField0_ & ~0x00000040);
14412            receiverTypeId_ = 0;
14413            bitField0_ = (bitField0_ & ~0x00000080);
14414            valueParameter_ = java.util.Collections.emptyList();
14415            bitField0_ = (bitField0_ & ~0x00000100);
14416            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
14417            bitField0_ = (bitField0_ & ~0x00000200);
14418            sinceKotlinInfo_ = 0;
14419            bitField0_ = (bitField0_ & ~0x00000400);
14420            return this;
14421          }
14422    
14423          public Builder clone() {
14424            return create().mergeFrom(buildPartial());
14425          }
14426    
14427          public org.jetbrains.kotlin.serialization.ProtoBuf.Function getDefaultInstanceForType() {
14428            return org.jetbrains.kotlin.serialization.ProtoBuf.Function.getDefaultInstance();
14429          }
14430    
14431          public org.jetbrains.kotlin.serialization.ProtoBuf.Function build() {
14432            org.jetbrains.kotlin.serialization.ProtoBuf.Function result = buildPartial();
14433            if (!result.isInitialized()) {
14434              throw newUninitializedMessageException(result);
14435            }
14436            return result;
14437          }
14438    
14439          public org.jetbrains.kotlin.serialization.ProtoBuf.Function buildPartial() {
14440            org.jetbrains.kotlin.serialization.ProtoBuf.Function result = new org.jetbrains.kotlin.serialization.ProtoBuf.Function(this);
14441            int from_bitField0_ = bitField0_;
14442            int to_bitField0_ = 0;
14443            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
14444              to_bitField0_ |= 0x00000001;
14445            }
14446            result.flags_ = flags_;
14447            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
14448              to_bitField0_ |= 0x00000002;
14449            }
14450            result.oldFlags_ = oldFlags_;
14451            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
14452              to_bitField0_ |= 0x00000004;
14453            }
14454            result.name_ = name_;
14455            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
14456              to_bitField0_ |= 0x00000008;
14457            }
14458            result.returnType_ = returnType_;
14459            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
14460              to_bitField0_ |= 0x00000010;
14461            }
14462            result.returnTypeId_ = returnTypeId_;
14463            if (((bitField0_ & 0x00000020) == 0x00000020)) {
14464              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
14465              bitField0_ = (bitField0_ & ~0x00000020);
14466            }
14467            result.typeParameter_ = typeParameter_;
14468            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
14469              to_bitField0_ |= 0x00000020;
14470            }
14471            result.receiverType_ = receiverType_;
14472            if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
14473              to_bitField0_ |= 0x00000040;
14474            }
14475            result.receiverTypeId_ = receiverTypeId_;
14476            if (((bitField0_ & 0x00000100) == 0x00000100)) {
14477              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
14478              bitField0_ = (bitField0_ & ~0x00000100);
14479            }
14480            result.valueParameter_ = valueParameter_;
14481            if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
14482              to_bitField0_ |= 0x00000080;
14483            }
14484            result.typeTable_ = typeTable_;
14485            if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
14486              to_bitField0_ |= 0x00000100;
14487            }
14488            result.sinceKotlinInfo_ = sinceKotlinInfo_;
14489            result.bitField0_ = to_bitField0_;
14490            return result;
14491          }
14492    
14493          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Function other) {
14494            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Function.getDefaultInstance()) return this;
14495            if (other.hasFlags()) {
14496              setFlags(other.getFlags());
14497            }
14498            if (other.hasOldFlags()) {
14499              setOldFlags(other.getOldFlags());
14500            }
14501            if (other.hasName()) {
14502              setName(other.getName());
14503            }
14504            if (other.hasReturnType()) {
14505              mergeReturnType(other.getReturnType());
14506            }
14507            if (other.hasReturnTypeId()) {
14508              setReturnTypeId(other.getReturnTypeId());
14509            }
14510            if (!other.typeParameter_.isEmpty()) {
14511              if (typeParameter_.isEmpty()) {
14512                typeParameter_ = other.typeParameter_;
14513                bitField0_ = (bitField0_ & ~0x00000020);
14514              } else {
14515                ensureTypeParameterIsMutable();
14516                typeParameter_.addAll(other.typeParameter_);
14517              }
14518              
14519            }
14520            if (other.hasReceiverType()) {
14521              mergeReceiverType(other.getReceiverType());
14522            }
14523            if (other.hasReceiverTypeId()) {
14524              setReceiverTypeId(other.getReceiverTypeId());
14525            }
14526            if (!other.valueParameter_.isEmpty()) {
14527              if (valueParameter_.isEmpty()) {
14528                valueParameter_ = other.valueParameter_;
14529                bitField0_ = (bitField0_ & ~0x00000100);
14530              } else {
14531                ensureValueParameterIsMutable();
14532                valueParameter_.addAll(other.valueParameter_);
14533              }
14534              
14535            }
14536            if (other.hasTypeTable()) {
14537              mergeTypeTable(other.getTypeTable());
14538            }
14539            if (other.hasSinceKotlinInfo()) {
14540              setSinceKotlinInfo(other.getSinceKotlinInfo());
14541            }
14542            this.mergeExtensionFields(other);
14543            setUnknownFields(
14544                getUnknownFields().concat(other.unknownFields));
14545            return this;
14546          }
14547    
14548          public final boolean isInitialized() {
14549            if (!hasName()) {
14550              
14551              return false;
14552            }
14553            if (hasReturnType()) {
14554              if (!getReturnType().isInitialized()) {
14555                
14556                return false;
14557              }
14558            }
14559            for (int i = 0; i < getTypeParameterCount(); i++) {
14560              if (!getTypeParameter(i).isInitialized()) {
14561                
14562                return false;
14563              }
14564            }
14565            if (hasReceiverType()) {
14566              if (!getReceiverType().isInitialized()) {
14567                
14568                return false;
14569              }
14570            }
14571            for (int i = 0; i < getValueParameterCount(); i++) {
14572              if (!getValueParameter(i).isInitialized()) {
14573                
14574                return false;
14575              }
14576            }
14577            if (hasTypeTable()) {
14578              if (!getTypeTable().isInitialized()) {
14579                
14580                return false;
14581              }
14582            }
14583            if (!extensionsAreInitialized()) {
14584              
14585              return false;
14586            }
14587            return true;
14588          }
14589    
14590          public Builder mergeFrom(
14591              org.jetbrains.kotlin.protobuf.CodedInputStream input,
14592              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
14593              throws java.io.IOException {
14594            org.jetbrains.kotlin.serialization.ProtoBuf.Function parsedMessage = null;
14595            try {
14596              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
14597            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
14598              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Function) e.getUnfinishedMessage();
14599              throw e;
14600            } finally {
14601              if (parsedMessage != null) {
14602                mergeFrom(parsedMessage);
14603              }
14604            }
14605            return this;
14606          }
14607          private int bitField0_;
14608    
14609          private int flags_ = 6;
14610          /**
14611           * <code>optional int32 flags = 9 [default = 6];</code>
14612           *
14613           * <pre>
14614           *hasAnnotations
14615           *Visibility
14616           *Modality
14617           *MemberKind
14618           *isOperator
14619           *isInfix
14620           *isInline
14621           *isTailrec
14622           *isExternal
14623           * </pre>
14624           */
14625          public boolean hasFlags() {
14626            return ((bitField0_ & 0x00000001) == 0x00000001);
14627          }
14628          /**
14629           * <code>optional int32 flags = 9 [default = 6];</code>
14630           *
14631           * <pre>
14632           *hasAnnotations
14633           *Visibility
14634           *Modality
14635           *MemberKind
14636           *isOperator
14637           *isInfix
14638           *isInline
14639           *isTailrec
14640           *isExternal
14641           * </pre>
14642           */
14643          public int getFlags() {
14644            return flags_;
14645          }
14646          /**
14647           * <code>optional int32 flags = 9 [default = 6];</code>
14648           *
14649           * <pre>
14650           *hasAnnotations
14651           *Visibility
14652           *Modality
14653           *MemberKind
14654           *isOperator
14655           *isInfix
14656           *isInline
14657           *isTailrec
14658           *isExternal
14659           * </pre>
14660           */
14661          public Builder setFlags(int value) {
14662            bitField0_ |= 0x00000001;
14663            flags_ = value;
14664            
14665            return this;
14666          }
14667          /**
14668           * <code>optional int32 flags = 9 [default = 6];</code>
14669           *
14670           * <pre>
14671           *hasAnnotations
14672           *Visibility
14673           *Modality
14674           *MemberKind
14675           *isOperator
14676           *isInfix
14677           *isInline
14678           *isTailrec
14679           *isExternal
14680           * </pre>
14681           */
14682          public Builder clearFlags() {
14683            bitField0_ = (bitField0_ & ~0x00000001);
14684            flags_ = 6;
14685            
14686            return this;
14687          }
14688    
14689          private int oldFlags_ = 6;
14690          /**
14691           * <code>optional int32 old_flags = 1 [default = 6];</code>
14692           */
14693          public boolean hasOldFlags() {
14694            return ((bitField0_ & 0x00000002) == 0x00000002);
14695          }
14696          /**
14697           * <code>optional int32 old_flags = 1 [default = 6];</code>
14698           */
14699          public int getOldFlags() {
14700            return oldFlags_;
14701          }
14702          /**
14703           * <code>optional int32 old_flags = 1 [default = 6];</code>
14704           */
14705          public Builder setOldFlags(int value) {
14706            bitField0_ |= 0x00000002;
14707            oldFlags_ = value;
14708            
14709            return this;
14710          }
14711          /**
14712           * <code>optional int32 old_flags = 1 [default = 6];</code>
14713           */
14714          public Builder clearOldFlags() {
14715            bitField0_ = (bitField0_ & ~0x00000002);
14716            oldFlags_ = 6;
14717            
14718            return this;
14719          }
14720    
14721          private int name_ ;
14722          /**
14723           * <code>required int32 name = 2;</code>
14724           */
14725          public boolean hasName() {
14726            return ((bitField0_ & 0x00000004) == 0x00000004);
14727          }
14728          /**
14729           * <code>required int32 name = 2;</code>
14730           */
14731          public int getName() {
14732            return name_;
14733          }
14734          /**
14735           * <code>required int32 name = 2;</code>
14736           */
14737          public Builder setName(int value) {
14738            bitField0_ |= 0x00000004;
14739            name_ = value;
14740            
14741            return this;
14742          }
14743          /**
14744           * <code>required int32 name = 2;</code>
14745           */
14746          public Builder clearName() {
14747            bitField0_ = (bitField0_ & ~0x00000004);
14748            name_ = 0;
14749            
14750            return this;
14751          }
14752    
14753          private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14754          /**
14755           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14756           */
14757          public boolean hasReturnType() {
14758            return ((bitField0_ & 0x00000008) == 0x00000008);
14759          }
14760          /**
14761           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14762           */
14763          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
14764            return returnType_;
14765          }
14766          /**
14767           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14768           */
14769          public Builder setReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
14770            if (value == null) {
14771              throw new NullPointerException();
14772            }
14773            returnType_ = value;
14774    
14775            bitField0_ |= 0x00000008;
14776            return this;
14777          }
14778          /**
14779           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14780           */
14781          public Builder setReturnType(
14782              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
14783            returnType_ = builderForValue.build();
14784    
14785            bitField0_ |= 0x00000008;
14786            return this;
14787          }
14788          /**
14789           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14790           */
14791          public Builder mergeReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
14792            if (((bitField0_ & 0x00000008) == 0x00000008) &&
14793                returnType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
14794              returnType_ =
14795                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(returnType_).mergeFrom(value).buildPartial();
14796            } else {
14797              returnType_ = value;
14798            }
14799    
14800            bitField0_ |= 0x00000008;
14801            return this;
14802          }
14803          /**
14804           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14805           */
14806          public Builder clearReturnType() {
14807            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14808    
14809            bitField0_ = (bitField0_ & ~0x00000008);
14810            return this;
14811          }
14812    
14813          private int returnTypeId_ ;
14814          /**
14815           * <code>optional int32 return_type_id = 7;</code>
14816           */
14817          public boolean hasReturnTypeId() {
14818            return ((bitField0_ & 0x00000010) == 0x00000010);
14819          }
14820          /**
14821           * <code>optional int32 return_type_id = 7;</code>
14822           */
14823          public int getReturnTypeId() {
14824            return returnTypeId_;
14825          }
14826          /**
14827           * <code>optional int32 return_type_id = 7;</code>
14828           */
14829          public Builder setReturnTypeId(int value) {
14830            bitField0_ |= 0x00000010;
14831            returnTypeId_ = value;
14832            
14833            return this;
14834          }
14835          /**
14836           * <code>optional int32 return_type_id = 7;</code>
14837           */
14838          public Builder clearReturnTypeId() {
14839            bitField0_ = (bitField0_ & ~0x00000010);
14840            returnTypeId_ = 0;
14841            
14842            return this;
14843          }
14844    
14845          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
14846            java.util.Collections.emptyList();
14847          private void ensureTypeParameterIsMutable() {
14848            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
14849              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
14850              bitField0_ |= 0x00000020;
14851             }
14852          }
14853    
14854          /**
14855           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14856           */
14857          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
14858            return java.util.Collections.unmodifiableList(typeParameter_);
14859          }
14860          /**
14861           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14862           */
14863          public int getTypeParameterCount() {
14864            return typeParameter_.size();
14865          }
14866          /**
14867           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14868           */
14869          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
14870            return typeParameter_.get(index);
14871          }
14872          /**
14873           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14874           */
14875          public Builder setTypeParameter(
14876              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
14877            if (value == null) {
14878              throw new NullPointerException();
14879            }
14880            ensureTypeParameterIsMutable();
14881            typeParameter_.set(index, value);
14882    
14883            return this;
14884          }
14885          /**
14886           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14887           */
14888          public Builder setTypeParameter(
14889              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
14890            ensureTypeParameterIsMutable();
14891            typeParameter_.set(index, builderForValue.build());
14892    
14893            return this;
14894          }
14895          /**
14896           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14897           */
14898          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
14899            if (value == null) {
14900              throw new NullPointerException();
14901            }
14902            ensureTypeParameterIsMutable();
14903            typeParameter_.add(value);
14904    
14905            return this;
14906          }
14907          /**
14908           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14909           */
14910          public Builder addTypeParameter(
14911              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
14912            if (value == null) {
14913              throw new NullPointerException();
14914            }
14915            ensureTypeParameterIsMutable();
14916            typeParameter_.add(index, value);
14917    
14918            return this;
14919          }
14920          /**
14921           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14922           */
14923          public Builder addTypeParameter(
14924              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
14925            ensureTypeParameterIsMutable();
14926            typeParameter_.add(builderForValue.build());
14927    
14928            return this;
14929          }
14930          /**
14931           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14932           */
14933          public Builder addTypeParameter(
14934              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
14935            ensureTypeParameterIsMutable();
14936            typeParameter_.add(index, builderForValue.build());
14937    
14938            return this;
14939          }
14940          /**
14941           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14942           */
14943          public Builder addAllTypeParameter(
14944              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
14945            ensureTypeParameterIsMutable();
14946            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
14947                values, typeParameter_);
14948    
14949            return this;
14950          }
14951          /**
14952           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14953           */
14954          public Builder clearTypeParameter() {
14955            typeParameter_ = java.util.Collections.emptyList();
14956            bitField0_ = (bitField0_ & ~0x00000020);
14957    
14958            return this;
14959          }
14960          /**
14961           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14962           */
14963          public Builder removeTypeParameter(int index) {
14964            ensureTypeParameterIsMutable();
14965            typeParameter_.remove(index);
14966    
14967            return this;
14968          }
14969    
14970          private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14971          /**
14972           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14973           */
14974          public boolean hasReceiverType() {
14975            return ((bitField0_ & 0x00000040) == 0x00000040);
14976          }
14977          /**
14978           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14979           */
14980          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
14981            return receiverType_;
14982          }
14983          /**
14984           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14985           */
14986          public Builder setReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
14987            if (value == null) {
14988              throw new NullPointerException();
14989            }
14990            receiverType_ = value;
14991    
14992            bitField0_ |= 0x00000040;
14993            return this;
14994          }
14995          /**
14996           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14997           */
14998          public Builder setReceiverType(
14999              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
15000            receiverType_ = builderForValue.build();
15001    
15002            bitField0_ |= 0x00000040;
15003            return this;
15004          }
15005          /**
15006           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
15007           */
15008          public Builder mergeReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
15009            if (((bitField0_ & 0x00000040) == 0x00000040) &&
15010                receiverType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
15011              receiverType_ =
15012                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(receiverType_).mergeFrom(value).buildPartial();
15013            } else {
15014              receiverType_ = value;
15015            }
15016    
15017            bitField0_ |= 0x00000040;
15018            return this;
15019          }
15020          /**
15021           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
15022           */
15023          public Builder clearReceiverType() {
15024            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15025    
15026            bitField0_ = (bitField0_ & ~0x00000040);
15027            return this;
15028          }
15029    
15030          private int receiverTypeId_ ;
15031          /**
15032           * <code>optional int32 receiver_type_id = 8;</code>
15033           */
15034          public boolean hasReceiverTypeId() {
15035            return ((bitField0_ & 0x00000080) == 0x00000080);
15036          }
15037          /**
15038           * <code>optional int32 receiver_type_id = 8;</code>
15039           */
15040          public int getReceiverTypeId() {
15041            return receiverTypeId_;
15042          }
15043          /**
15044           * <code>optional int32 receiver_type_id = 8;</code>
15045           */
15046          public Builder setReceiverTypeId(int value) {
15047            bitField0_ |= 0x00000080;
15048            receiverTypeId_ = value;
15049            
15050            return this;
15051          }
15052          /**
15053           * <code>optional int32 receiver_type_id = 8;</code>
15054           */
15055          public Builder clearReceiverTypeId() {
15056            bitField0_ = (bitField0_ & ~0x00000080);
15057            receiverTypeId_ = 0;
15058            
15059            return this;
15060          }
15061    
15062          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> valueParameter_ =
15063            java.util.Collections.emptyList();
15064          private void ensureValueParameterIsMutable() {
15065            if (!((bitField0_ & 0x00000100) == 0x00000100)) {
15066              valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>(valueParameter_);
15067              bitField0_ |= 0x00000100;
15068             }
15069          }
15070    
15071          /**
15072           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
15073           */
15074          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> getValueParameterList() {
15075            return java.util.Collections.unmodifiableList(valueParameter_);
15076          }
15077          /**
15078           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
15079           */
15080          public int getValueParameterCount() {
15081            return valueParameter_.size();
15082          }
15083          /**
15084           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
15085           */
15086          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index) {
15087            return valueParameter_.get(index);
15088          }
15089          /**
15090           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
15091           */
15092          public Builder setValueParameter(
15093              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
15094            if (value == null) {
15095              throw new NullPointerException();
15096            }
15097            ensureValueParameterIsMutable();
15098            valueParameter_.set(index, value);
15099    
15100            return this;
15101          }
15102          /**
15103           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
15104           */
15105          public Builder setValueParameter(
15106              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
15107            ensureValueParameterIsMutable();
15108            valueParameter_.set(index, builderForValue.build());
15109    
15110            return this;
15111          }
15112          /**
15113           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
15114           */
15115          public Builder addValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
15116            if (value == null) {
15117              throw new NullPointerException();
15118            }
15119            ensureValueParameterIsMutable();
15120            valueParameter_.add(value);
15121    
15122            return this;
15123          }
15124          /**
15125           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
15126           */
15127          public Builder addValueParameter(
15128              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
15129            if (value == null) {
15130              throw new NullPointerException();
15131            }
15132            ensureValueParameterIsMutable();
15133            valueParameter_.add(index, value);
15134    
15135            return this;
15136          }
15137          /**
15138           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
15139           */
15140          public Builder addValueParameter(
15141              org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
15142            ensureValueParameterIsMutable();
15143            valueParameter_.add(builderForValue.build());
15144    
15145            return this;
15146          }
15147          /**
15148           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
15149           */
15150          public Builder addValueParameter(
15151              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
15152            ensureValueParameterIsMutable();
15153            valueParameter_.add(index, builderForValue.build());
15154    
15155            return this;
15156          }
15157          /**
15158           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
15159           */
15160          public Builder addAllValueParameter(
15161              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> values) {
15162            ensureValueParameterIsMutable();
15163            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
15164                values, valueParameter_);
15165    
15166            return this;
15167          }
15168          /**
15169           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
15170           */
15171          public Builder clearValueParameter() {
15172            valueParameter_ = java.util.Collections.emptyList();
15173            bitField0_ = (bitField0_ & ~0x00000100);
15174    
15175            return this;
15176          }
15177          /**
15178           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
15179           */
15180          public Builder removeValueParameter(int index) {
15181            ensureValueParameterIsMutable();
15182            valueParameter_.remove(index);
15183    
15184            return this;
15185          }
15186    
15187          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
15188          /**
15189           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
15190           */
15191          public boolean hasTypeTable() {
15192            return ((bitField0_ & 0x00000200) == 0x00000200);
15193          }
15194          /**
15195           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
15196           */
15197          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
15198            return typeTable_;
15199          }
15200          /**
15201           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
15202           */
15203          public Builder setTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
15204            if (value == null) {
15205              throw new NullPointerException();
15206            }
15207            typeTable_ = value;
15208    
15209            bitField0_ |= 0x00000200;
15210            return this;
15211          }
15212          /**
15213           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
15214           */
15215          public Builder setTypeTable(
15216              org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder builderForValue) {
15217            typeTable_ = builderForValue.build();
15218    
15219            bitField0_ |= 0x00000200;
15220            return this;
15221          }
15222          /**
15223           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
15224           */
15225          public Builder mergeTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
15226            if (((bitField0_ & 0x00000200) == 0x00000200) &&
15227                typeTable_ != org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance()) {
15228              typeTable_ =
15229                org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.newBuilder(typeTable_).mergeFrom(value).buildPartial();
15230            } else {
15231              typeTable_ = value;
15232            }
15233    
15234            bitField0_ |= 0x00000200;
15235            return this;
15236          }
15237          /**
15238           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
15239           */
15240          public Builder clearTypeTable() {
15241            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
15242    
15243            bitField0_ = (bitField0_ & ~0x00000200);
15244            return this;
15245          }
15246    
15247          private int sinceKotlinInfo_ ;
15248          /**
15249           * <code>optional int32 sinceKotlinInfo = 31;</code>
15250           *
15251           * <pre>
15252           * Index into the SinceKotlinInfoTable
15253           * </pre>
15254           */
15255          public boolean hasSinceKotlinInfo() {
15256            return ((bitField0_ & 0x00000400) == 0x00000400);
15257          }
15258          /**
15259           * <code>optional int32 sinceKotlinInfo = 31;</code>
15260           *
15261           * <pre>
15262           * Index into the SinceKotlinInfoTable
15263           * </pre>
15264           */
15265          public int getSinceKotlinInfo() {
15266            return sinceKotlinInfo_;
15267          }
15268          /**
15269           * <code>optional int32 sinceKotlinInfo = 31;</code>
15270           *
15271           * <pre>
15272           * Index into the SinceKotlinInfoTable
15273           * </pre>
15274           */
15275          public Builder setSinceKotlinInfo(int value) {
15276            bitField0_ |= 0x00000400;
15277            sinceKotlinInfo_ = value;
15278            
15279            return this;
15280          }
15281          /**
15282           * <code>optional int32 sinceKotlinInfo = 31;</code>
15283           *
15284           * <pre>
15285           * Index into the SinceKotlinInfoTable
15286           * </pre>
15287           */
15288          public Builder clearSinceKotlinInfo() {
15289            bitField0_ = (bitField0_ & ~0x00000400);
15290            sinceKotlinInfo_ = 0;
15291            
15292            return this;
15293          }
15294    
15295          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Function)
15296        }
15297    
15298        static {
15299          defaultInstance = new Function(true);
15300          defaultInstance.initFields();
15301        }
15302    
15303        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Function)
15304      }
15305    
15306      public interface PropertyOrBuilder extends 
15307          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.Property)
15308           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
15309                ExtendableMessageOrBuilder<Property> {
15310    
15311        /**
15312         * <code>optional int32 flags = 11 [default = 518];</code>
15313         *
15314         * <pre>
15315         *hasAnnotations
15316         *Visibility
15317         *Modality
15318         *MemberKind
15319         *isVar
15320         *hasGetter
15321         *hasSetter
15322         *isConst
15323         *lateinit
15324         *hasConstant
15325         *isExternal
15326         *isDelegated
15327         * </pre>
15328         */
15329        boolean hasFlags();
15330        /**
15331         * <code>optional int32 flags = 11 [default = 518];</code>
15332         *
15333         * <pre>
15334         *hasAnnotations
15335         *Visibility
15336         *Modality
15337         *MemberKind
15338         *isVar
15339         *hasGetter
15340         *hasSetter
15341         *isConst
15342         *lateinit
15343         *hasConstant
15344         *isExternal
15345         *isDelegated
15346         * </pre>
15347         */
15348        int getFlags();
15349    
15350        /**
15351         * <code>optional int32 old_flags = 1 [default = 2054];</code>
15352         */
15353        boolean hasOldFlags();
15354        /**
15355         * <code>optional int32 old_flags = 1 [default = 2054];</code>
15356         */
15357        int getOldFlags();
15358    
15359        /**
15360         * <code>required int32 name = 2;</code>
15361         */
15362        boolean hasName();
15363        /**
15364         * <code>required int32 name = 2;</code>
15365         */
15366        int getName();
15367    
15368        /**
15369         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
15370         */
15371        boolean hasReturnType();
15372        /**
15373         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
15374         */
15375        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType();
15376    
15377        /**
15378         * <code>optional int32 return_type_id = 9;</code>
15379         */
15380        boolean hasReturnTypeId();
15381        /**
15382         * <code>optional int32 return_type_id = 9;</code>
15383         */
15384        int getReturnTypeId();
15385    
15386        /**
15387         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15388         */
15389        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
15390            getTypeParameterList();
15391        /**
15392         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15393         */
15394        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
15395        /**
15396         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15397         */
15398        int getTypeParameterCount();
15399    
15400        /**
15401         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
15402         */
15403        boolean hasReceiverType();
15404        /**
15405         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
15406         */
15407        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType();
15408    
15409        /**
15410         * <code>optional int32 receiver_type_id = 10;</code>
15411         */
15412        boolean hasReceiverTypeId();
15413        /**
15414         * <code>optional int32 receiver_type_id = 10;</code>
15415         */
15416        int getReceiverTypeId();
15417    
15418        /**
15419         * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15420         */
15421        boolean hasSetterValueParameter();
15422        /**
15423         * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15424         */
15425        org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getSetterValueParameter();
15426    
15427        /**
15428         * <code>optional int32 getter_flags = 7;</code>
15429         *
15430         * <pre>
15431         *hasAnnotations
15432         *Visibility
15433         *Modality
15434         *isNotDefault
15435         *isExternal
15436         *isInline
15437         * </pre>
15438         */
15439        boolean hasGetterFlags();
15440        /**
15441         * <code>optional int32 getter_flags = 7;</code>
15442         *
15443         * <pre>
15444         *hasAnnotations
15445         *Visibility
15446         *Modality
15447         *isNotDefault
15448         *isExternal
15449         *isInline
15450         * </pre>
15451         */
15452        int getGetterFlags();
15453    
15454        /**
15455         * <code>optional int32 setter_flags = 8;</code>
15456         */
15457        boolean hasSetterFlags();
15458        /**
15459         * <code>optional int32 setter_flags = 8;</code>
15460         */
15461        int getSetterFlags();
15462    
15463        /**
15464         * <code>optional int32 sinceKotlinInfo = 31;</code>
15465         *
15466         * <pre>
15467         * Index into the SinceKotlinInfoTable
15468         * </pre>
15469         */
15470        boolean hasSinceKotlinInfo();
15471        /**
15472         * <code>optional int32 sinceKotlinInfo = 31;</code>
15473         *
15474         * <pre>
15475         * Index into the SinceKotlinInfoTable
15476         * </pre>
15477         */
15478        int getSinceKotlinInfo();
15479      }
15480      /**
15481       * Protobuf type {@code org.jetbrains.kotlin.serialization.Property}
15482       */
15483      public static final class Property extends
15484          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
15485            Property> implements
15486          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Property)
15487          PropertyOrBuilder {
15488        // Use Property.newBuilder() to construct.
15489        private Property(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Property, ?> builder) {
15490          super(builder);
15491          this.unknownFields = builder.getUnknownFields();
15492        }
15493        private Property(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
15494    
15495        private static final Property defaultInstance;
15496        public static Property getDefaultInstance() {
15497          return defaultInstance;
15498        }
15499    
15500        public Property getDefaultInstanceForType() {
15501          return defaultInstance;
15502        }
15503    
15504        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
15505        private Property(
15506            org.jetbrains.kotlin.protobuf.CodedInputStream input,
15507            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
15508            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
15509          initFields();
15510          int mutable_bitField0_ = 0;
15511          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
15512              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
15513          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
15514              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
15515                  unknownFieldsOutput);
15516          try {
15517            boolean done = false;
15518            while (!done) {
15519              int tag = input.readTag();
15520              switch (tag) {
15521                case 0:
15522                  done = true;
15523                  break;
15524                default: {
15525                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
15526                                         extensionRegistry, tag)) {
15527                    done = true;
15528                  }
15529                  break;
15530                }
15531                case 8: {
15532                  bitField0_ |= 0x00000002;
15533                  oldFlags_ = input.readInt32();
15534                  break;
15535                }
15536                case 16: {
15537                  bitField0_ |= 0x00000004;
15538                  name_ = input.readInt32();
15539                  break;
15540                }
15541                case 26: {
15542                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
15543                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
15544                    subBuilder = returnType_.toBuilder();
15545                  }
15546                  returnType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
15547                  if (subBuilder != null) {
15548                    subBuilder.mergeFrom(returnType_);
15549                    returnType_ = subBuilder.buildPartial();
15550                  }
15551                  bitField0_ |= 0x00000008;
15552                  break;
15553                }
15554                case 34: {
15555                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
15556                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
15557                    mutable_bitField0_ |= 0x00000020;
15558                  }
15559                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
15560                  break;
15561                }
15562                case 42: {
15563                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
15564                  if (((bitField0_ & 0x00000020) == 0x00000020)) {
15565                    subBuilder = receiverType_.toBuilder();
15566                  }
15567                  receiverType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
15568                  if (subBuilder != null) {
15569                    subBuilder.mergeFrom(receiverType_);
15570                    receiverType_ = subBuilder.buildPartial();
15571                  }
15572                  bitField0_ |= 0x00000020;
15573                  break;
15574                }
15575                case 50: {
15576                  org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder subBuilder = null;
15577                  if (((bitField0_ & 0x00000080) == 0x00000080)) {
15578                    subBuilder = setterValueParameter_.toBuilder();
15579                  }
15580                  setterValueParameter_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.PARSER, extensionRegistry);
15581                  if (subBuilder != null) {
15582                    subBuilder.mergeFrom(setterValueParameter_);
15583                    setterValueParameter_ = subBuilder.buildPartial();
15584                  }
15585                  bitField0_ |= 0x00000080;
15586                  break;
15587                }
15588                case 56: {
15589                  bitField0_ |= 0x00000100;
15590                  getterFlags_ = input.readInt32();
15591                  break;
15592                }
15593                case 64: {
15594                  bitField0_ |= 0x00000200;
15595                  setterFlags_ = input.readInt32();
15596                  break;
15597                }
15598                case 72: {
15599                  bitField0_ |= 0x00000010;
15600                  returnTypeId_ = input.readInt32();
15601                  break;
15602                }
15603                case 80: {
15604                  bitField0_ |= 0x00000040;
15605                  receiverTypeId_ = input.readInt32();
15606                  break;
15607                }
15608                case 88: {
15609                  bitField0_ |= 0x00000001;
15610                  flags_ = input.readInt32();
15611                  break;
15612                }
15613                case 248: {
15614                  bitField0_ |= 0x00000400;
15615                  sinceKotlinInfo_ = input.readInt32();
15616                  break;
15617                }
15618              }
15619            }
15620          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
15621            throw e.setUnfinishedMessage(this);
15622          } catch (java.io.IOException e) {
15623            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
15624                e.getMessage()).setUnfinishedMessage(this);
15625          } finally {
15626            if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
15627              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
15628            }
15629            try {
15630              unknownFieldsCodedOutput.flush();
15631            } catch (java.io.IOException e) {
15632            // Should not happen
15633            } finally {
15634              unknownFields = unknownFieldsOutput.toByteString();
15635            }
15636            makeExtensionsImmutable();
15637          }
15638        }
15639        public static org.jetbrains.kotlin.protobuf.Parser<Property> PARSER =
15640            new org.jetbrains.kotlin.protobuf.AbstractParser<Property>() {
15641          public Property parsePartialFrom(
15642              org.jetbrains.kotlin.protobuf.CodedInputStream input,
15643              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
15644              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
15645            return new Property(input, extensionRegistry);
15646          }
15647        };
15648    
15649        @java.lang.Override
15650        public org.jetbrains.kotlin.protobuf.Parser<Property> getParserForType() {
15651          return PARSER;
15652        }
15653    
15654        private int bitField0_;
15655        public static final int FLAGS_FIELD_NUMBER = 11;
15656        private int flags_;
15657        /**
15658         * <code>optional int32 flags = 11 [default = 518];</code>
15659         *
15660         * <pre>
15661         *hasAnnotations
15662         *Visibility
15663         *Modality
15664         *MemberKind
15665         *isVar
15666         *hasGetter
15667         *hasSetter
15668         *isConst
15669         *lateinit
15670         *hasConstant
15671         *isExternal
15672         *isDelegated
15673         * </pre>
15674         */
15675        public boolean hasFlags() {
15676          return ((bitField0_ & 0x00000001) == 0x00000001);
15677        }
15678        /**
15679         * <code>optional int32 flags = 11 [default = 518];</code>
15680         *
15681         * <pre>
15682         *hasAnnotations
15683         *Visibility
15684         *Modality
15685         *MemberKind
15686         *isVar
15687         *hasGetter
15688         *hasSetter
15689         *isConst
15690         *lateinit
15691         *hasConstant
15692         *isExternal
15693         *isDelegated
15694         * </pre>
15695         */
15696        public int getFlags() {
15697          return flags_;
15698        }
15699    
15700        public static final int OLD_FLAGS_FIELD_NUMBER = 1;
15701        private int oldFlags_;
15702        /**
15703         * <code>optional int32 old_flags = 1 [default = 2054];</code>
15704         */
15705        public boolean hasOldFlags() {
15706          return ((bitField0_ & 0x00000002) == 0x00000002);
15707        }
15708        /**
15709         * <code>optional int32 old_flags = 1 [default = 2054];</code>
15710         */
15711        public int getOldFlags() {
15712          return oldFlags_;
15713        }
15714    
15715        public static final int NAME_FIELD_NUMBER = 2;
15716        private int name_;
15717        /**
15718         * <code>required int32 name = 2;</code>
15719         */
15720        public boolean hasName() {
15721          return ((bitField0_ & 0x00000004) == 0x00000004);
15722        }
15723        /**
15724         * <code>required int32 name = 2;</code>
15725         */
15726        public int getName() {
15727          return name_;
15728        }
15729    
15730        public static final int RETURN_TYPE_FIELD_NUMBER = 3;
15731        private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_;
15732        /**
15733         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
15734         */
15735        public boolean hasReturnType() {
15736          return ((bitField0_ & 0x00000008) == 0x00000008);
15737        }
15738        /**
15739         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
15740         */
15741        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
15742          return returnType_;
15743        }
15744    
15745        public static final int RETURN_TYPE_ID_FIELD_NUMBER = 9;
15746        private int returnTypeId_;
15747        /**
15748         * <code>optional int32 return_type_id = 9;</code>
15749         */
15750        public boolean hasReturnTypeId() {
15751          return ((bitField0_ & 0x00000010) == 0x00000010);
15752        }
15753        /**
15754         * <code>optional int32 return_type_id = 9;</code>
15755         */
15756        public int getReturnTypeId() {
15757          return returnTypeId_;
15758        }
15759    
15760        public static final int TYPE_PARAMETER_FIELD_NUMBER = 4;
15761        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
15762        /**
15763         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15764         */
15765        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
15766          return typeParameter_;
15767        }
15768        /**
15769         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15770         */
15771        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
15772            getTypeParameterOrBuilderList() {
15773          return typeParameter_;
15774        }
15775        /**
15776         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15777         */
15778        public int getTypeParameterCount() {
15779          return typeParameter_.size();
15780        }
15781        /**
15782         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15783         */
15784        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
15785          return typeParameter_.get(index);
15786        }
15787        /**
15788         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15789         */
15790        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
15791            int index) {
15792          return typeParameter_.get(index);
15793        }
15794    
15795        public static final int RECEIVER_TYPE_FIELD_NUMBER = 5;
15796        private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_;
15797        /**
15798         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
15799         */
15800        public boolean hasReceiverType() {
15801          return ((bitField0_ & 0x00000020) == 0x00000020);
15802        }
15803        /**
15804         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
15805         */
15806        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
15807          return receiverType_;
15808        }
15809    
15810        public static final int RECEIVER_TYPE_ID_FIELD_NUMBER = 10;
15811        private int receiverTypeId_;
15812        /**
15813         * <code>optional int32 receiver_type_id = 10;</code>
15814         */
15815        public boolean hasReceiverTypeId() {
15816          return ((bitField0_ & 0x00000040) == 0x00000040);
15817        }
15818        /**
15819         * <code>optional int32 receiver_type_id = 10;</code>
15820         */
15821        public int getReceiverTypeId() {
15822          return receiverTypeId_;
15823        }
15824    
15825        public static final int SETTER_VALUE_PARAMETER_FIELD_NUMBER = 6;
15826        private org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter setterValueParameter_;
15827        /**
15828         * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15829         */
15830        public boolean hasSetterValueParameter() {
15831          return ((bitField0_ & 0x00000080) == 0x00000080);
15832        }
15833        /**
15834         * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15835         */
15836        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getSetterValueParameter() {
15837          return setterValueParameter_;
15838        }
15839    
15840        public static final int GETTER_FLAGS_FIELD_NUMBER = 7;
15841        private int getterFlags_;
15842        /**
15843         * <code>optional int32 getter_flags = 7;</code>
15844         *
15845         * <pre>
15846         *hasAnnotations
15847         *Visibility
15848         *Modality
15849         *isNotDefault
15850         *isExternal
15851         *isInline
15852         * </pre>
15853         */
15854        public boolean hasGetterFlags() {
15855          return ((bitField0_ & 0x00000100) == 0x00000100);
15856        }
15857        /**
15858         * <code>optional int32 getter_flags = 7;</code>
15859         *
15860         * <pre>
15861         *hasAnnotations
15862         *Visibility
15863         *Modality
15864         *isNotDefault
15865         *isExternal
15866         *isInline
15867         * </pre>
15868         */
15869        public int getGetterFlags() {
15870          return getterFlags_;
15871        }
15872    
15873        public static final int SETTER_FLAGS_FIELD_NUMBER = 8;
15874        private int setterFlags_;
15875        /**
15876         * <code>optional int32 setter_flags = 8;</code>
15877         */
15878        public boolean hasSetterFlags() {
15879          return ((bitField0_ & 0x00000200) == 0x00000200);
15880        }
15881        /**
15882         * <code>optional int32 setter_flags = 8;</code>
15883         */
15884        public int getSetterFlags() {
15885          return setterFlags_;
15886        }
15887    
15888        public static final int SINCEKOTLININFO_FIELD_NUMBER = 31;
15889        private int sinceKotlinInfo_;
15890        /**
15891         * <code>optional int32 sinceKotlinInfo = 31;</code>
15892         *
15893         * <pre>
15894         * Index into the SinceKotlinInfoTable
15895         * </pre>
15896         */
15897        public boolean hasSinceKotlinInfo() {
15898          return ((bitField0_ & 0x00000400) == 0x00000400);
15899        }
15900        /**
15901         * <code>optional int32 sinceKotlinInfo = 31;</code>
15902         *
15903         * <pre>
15904         * Index into the SinceKotlinInfoTable
15905         * </pre>
15906         */
15907        public int getSinceKotlinInfo() {
15908          return sinceKotlinInfo_;
15909        }
15910    
15911        private void initFields() {
15912          flags_ = 518;
15913          oldFlags_ = 2054;
15914          name_ = 0;
15915          returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15916          returnTypeId_ = 0;
15917          typeParameter_ = java.util.Collections.emptyList();
15918          receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15919          receiverTypeId_ = 0;
15920          setterValueParameter_ = org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
15921          getterFlags_ = 0;
15922          setterFlags_ = 0;
15923          sinceKotlinInfo_ = 0;
15924        }
15925        private byte memoizedIsInitialized = -1;
15926        public final boolean isInitialized() {
15927          byte isInitialized = memoizedIsInitialized;
15928          if (isInitialized == 1) return true;
15929          if (isInitialized == 0) return false;
15930    
15931          if (!hasName()) {
15932            memoizedIsInitialized = 0;
15933            return false;
15934          }
15935          if (hasReturnType()) {
15936            if (!getReturnType().isInitialized()) {
15937              memoizedIsInitialized = 0;
15938              return false;
15939            }
15940          }
15941          for (int i = 0; i < getTypeParameterCount(); i++) {
15942            if (!getTypeParameter(i).isInitialized()) {
15943              memoizedIsInitialized = 0;
15944              return false;
15945            }
15946          }
15947          if (hasReceiverType()) {
15948            if (!getReceiverType().isInitialized()) {
15949              memoizedIsInitialized = 0;
15950              return false;
15951            }
15952          }
15953          if (hasSetterValueParameter()) {
15954            if (!getSetterValueParameter().isInitialized()) {
15955              memoizedIsInitialized = 0;
15956              return false;
15957            }
15958          }
15959          if (!extensionsAreInitialized()) {
15960            memoizedIsInitialized = 0;
15961            return false;
15962          }
15963          memoizedIsInitialized = 1;
15964          return true;
15965        }
15966    
15967        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
15968                            throws java.io.IOException {
15969          getSerializedSize();
15970          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
15971            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Property>.ExtensionWriter extensionWriter =
15972              newExtensionWriter();
15973          if (((bitField0_ & 0x00000002) == 0x00000002)) {
15974            output.writeInt32(1, oldFlags_);
15975          }
15976          if (((bitField0_ & 0x00000004) == 0x00000004)) {
15977            output.writeInt32(2, name_);
15978          }
15979          if (((bitField0_ & 0x00000008) == 0x00000008)) {
15980            output.writeMessage(3, returnType_);
15981          }
15982          for (int i = 0; i < typeParameter_.size(); i++) {
15983            output.writeMessage(4, typeParameter_.get(i));
15984          }
15985          if (((bitField0_ & 0x00000020) == 0x00000020)) {
15986            output.writeMessage(5, receiverType_);
15987          }
15988          if (((bitField0_ & 0x00000080) == 0x00000080)) {
15989            output.writeMessage(6, setterValueParameter_);
15990          }
15991          if (((bitField0_ & 0x00000100) == 0x00000100)) {
15992            output.writeInt32(7, getterFlags_);
15993          }
15994          if (((bitField0_ & 0x00000200) == 0x00000200)) {
15995            output.writeInt32(8, setterFlags_);
15996          }
15997          if (((bitField0_ & 0x00000010) == 0x00000010)) {
15998            output.writeInt32(9, returnTypeId_);
15999          }
16000          if (((bitField0_ & 0x00000040) == 0x00000040)) {
16001            output.writeInt32(10, receiverTypeId_);
16002          }
16003          if (((bitField0_ & 0x00000001) == 0x00000001)) {
16004            output.writeInt32(11, flags_);
16005          }
16006          if (((bitField0_ & 0x00000400) == 0x00000400)) {
16007            output.writeInt32(31, sinceKotlinInfo_);
16008          }
16009          extensionWriter.writeUntil(200, output);
16010          output.writeRawBytes(unknownFields);
16011        }
16012    
16013        private int memoizedSerializedSize = -1;
16014        public int getSerializedSize() {
16015          int size = memoizedSerializedSize;
16016          if (size != -1) return size;
16017    
16018          size = 0;
16019          if (((bitField0_ & 0x00000002) == 0x00000002)) {
16020            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
16021              .computeInt32Size(1, oldFlags_);
16022          }
16023          if (((bitField0_ & 0x00000004) == 0x00000004)) {
16024            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
16025              .computeInt32Size(2, name_);
16026          }
16027          if (((bitField0_ & 0x00000008) == 0x00000008)) {
16028            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
16029              .computeMessageSize(3, returnType_);
16030          }
16031          for (int i = 0; i < typeParameter_.size(); i++) {
16032            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
16033              .computeMessageSize(4, typeParameter_.get(i));
16034          }
16035          if (((bitField0_ & 0x00000020) == 0x00000020)) {
16036            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
16037              .computeMessageSize(5, receiverType_);
16038          }
16039          if (((bitField0_ & 0x00000080) == 0x00000080)) {
16040            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
16041              .computeMessageSize(6, setterValueParameter_);
16042          }
16043          if (((bitField0_ & 0x00000100) == 0x00000100)) {
16044            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
16045              .computeInt32Size(7, getterFlags_);
16046          }
16047          if (((bitField0_ & 0x00000200) == 0x00000200)) {
16048            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
16049              .computeInt32Size(8, setterFlags_);
16050          }
16051          if (((bitField0_ & 0x00000010) == 0x00000010)) {
16052            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
16053              .computeInt32Size(9, returnTypeId_);
16054          }
16055          if (((bitField0_ & 0x00000040) == 0x00000040)) {
16056            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
16057              .computeInt32Size(10, receiverTypeId_);
16058          }
16059          if (((bitField0_ & 0x00000001) == 0x00000001)) {
16060            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
16061              .computeInt32Size(11, flags_);
16062          }
16063          if (((bitField0_ & 0x00000400) == 0x00000400)) {
16064            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
16065              .computeInt32Size(31, sinceKotlinInfo_);
16066          }
16067          size += extensionsSerializedSize();
16068          size += unknownFields.size();
16069          memoizedSerializedSize = size;
16070          return size;
16071        }
16072    
16073        private static final long serialVersionUID = 0L;
16074        @java.lang.Override
16075        protected java.lang.Object writeReplace()
16076            throws java.io.ObjectStreamException {
16077          return super.writeReplace();
16078        }
16079    
16080        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
16081            org.jetbrains.kotlin.protobuf.ByteString data)
16082            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
16083          return PARSER.parseFrom(data);
16084        }
16085        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
16086            org.jetbrains.kotlin.protobuf.ByteString data,
16087            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16088            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
16089          return PARSER.parseFrom(data, extensionRegistry);
16090        }
16091        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(byte[] data)
16092            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
16093          return PARSER.parseFrom(data);
16094        }
16095        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
16096            byte[] data,
16097            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16098            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
16099          return PARSER.parseFrom(data, extensionRegistry);
16100        }
16101        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(java.io.InputStream input)
16102            throws java.io.IOException {
16103          return PARSER.parseFrom(input);
16104        }
16105        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
16106            java.io.InputStream input,
16107            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16108            throws java.io.IOException {
16109          return PARSER.parseFrom(input, extensionRegistry);
16110        }
16111        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseDelimitedFrom(java.io.InputStream input)
16112            throws java.io.IOException {
16113          return PARSER.parseDelimitedFrom(input);
16114        }
16115        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseDelimitedFrom(
16116            java.io.InputStream input,
16117            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16118            throws java.io.IOException {
16119          return PARSER.parseDelimitedFrom(input, extensionRegistry);
16120        }
16121        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
16122            org.jetbrains.kotlin.protobuf.CodedInputStream input)
16123            throws java.io.IOException {
16124          return PARSER.parseFrom(input);
16125        }
16126        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
16127            org.jetbrains.kotlin.protobuf.CodedInputStream input,
16128            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16129            throws java.io.IOException {
16130          return PARSER.parseFrom(input, extensionRegistry);
16131        }
16132    
16133        public static Builder newBuilder() { return Builder.create(); }
16134        public Builder newBuilderForType() { return newBuilder(); }
16135        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Property prototype) {
16136          return newBuilder().mergeFrom(prototype);
16137        }
16138        public Builder toBuilder() { return newBuilder(this); }
16139    
16140        /**
16141         * Protobuf type {@code org.jetbrains.kotlin.serialization.Property}
16142         */
16143        public static final class Builder extends
16144            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
16145              org.jetbrains.kotlin.serialization.ProtoBuf.Property, Builder> implements
16146            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Property)
16147            org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder {
16148          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Property.newBuilder()
16149          private Builder() {
16150            maybeForceBuilderInitialization();
16151          }
16152    
16153          private void maybeForceBuilderInitialization() {
16154          }
16155          private static Builder create() {
16156            return new Builder();
16157          }
16158    
16159          public Builder clear() {
16160            super.clear();
16161            flags_ = 518;
16162            bitField0_ = (bitField0_ & ~0x00000001);
16163            oldFlags_ = 2054;
16164            bitField0_ = (bitField0_ & ~0x00000002);
16165            name_ = 0;
16166            bitField0_ = (bitField0_ & ~0x00000004);
16167            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
16168            bitField0_ = (bitField0_ & ~0x00000008);
16169            returnTypeId_ = 0;
16170            bitField0_ = (bitField0_ & ~0x00000010);
16171            typeParameter_ = java.util.Collections.emptyList();
16172            bitField0_ = (bitField0_ & ~0x00000020);
16173            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
16174            bitField0_ = (bitField0_ & ~0x00000040);
16175            receiverTypeId_ = 0;
16176            bitField0_ = (bitField0_ & ~0x00000080);
16177            setterValueParameter_ = org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
16178            bitField0_ = (bitField0_ & ~0x00000100);
16179            getterFlags_ = 0;
16180            bitField0_ = (bitField0_ & ~0x00000200);
16181            setterFlags_ = 0;
16182            bitField0_ = (bitField0_ & ~0x00000400);
16183            sinceKotlinInfo_ = 0;
16184            bitField0_ = (bitField0_ & ~0x00000800);
16185            return this;
16186          }
16187    
16188          public Builder clone() {
16189            return create().mergeFrom(buildPartial());
16190          }
16191    
16192          public org.jetbrains.kotlin.serialization.ProtoBuf.Property getDefaultInstanceForType() {
16193            return org.jetbrains.kotlin.serialization.ProtoBuf.Property.getDefaultInstance();
16194          }
16195    
16196          public org.jetbrains.kotlin.serialization.ProtoBuf.Property build() {
16197            org.jetbrains.kotlin.serialization.ProtoBuf.Property result = buildPartial();
16198            if (!result.isInitialized()) {
16199              throw newUninitializedMessageException(result);
16200            }
16201            return result;
16202          }
16203    
16204          public org.jetbrains.kotlin.serialization.ProtoBuf.Property buildPartial() {
16205            org.jetbrains.kotlin.serialization.ProtoBuf.Property result = new org.jetbrains.kotlin.serialization.ProtoBuf.Property(this);
16206            int from_bitField0_ = bitField0_;
16207            int to_bitField0_ = 0;
16208            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
16209              to_bitField0_ |= 0x00000001;
16210            }
16211            result.flags_ = flags_;
16212            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
16213              to_bitField0_ |= 0x00000002;
16214            }
16215            result.oldFlags_ = oldFlags_;
16216            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
16217              to_bitField0_ |= 0x00000004;
16218            }
16219            result.name_ = name_;
16220            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
16221              to_bitField0_ |= 0x00000008;
16222            }
16223            result.returnType_ = returnType_;
16224            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
16225              to_bitField0_ |= 0x00000010;
16226            }
16227            result.returnTypeId_ = returnTypeId_;
16228            if (((bitField0_ & 0x00000020) == 0x00000020)) {
16229              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
16230              bitField0_ = (bitField0_ & ~0x00000020);
16231            }
16232            result.typeParameter_ = typeParameter_;
16233            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
16234              to_bitField0_ |= 0x00000020;
16235            }
16236            result.receiverType_ = receiverType_;
16237            if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
16238              to_bitField0_ |= 0x00000040;
16239            }
16240            result.receiverTypeId_ = receiverTypeId_;
16241            if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
16242              to_bitField0_ |= 0x00000080;
16243            }
16244            result.setterValueParameter_ = setterValueParameter_;
16245            if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
16246              to_bitField0_ |= 0x00000100;
16247            }
16248            result.getterFlags_ = getterFlags_;
16249            if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
16250              to_bitField0_ |= 0x00000200;
16251            }
16252            result.setterFlags_ = setterFlags_;
16253            if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
16254              to_bitField0_ |= 0x00000400;
16255            }
16256            result.sinceKotlinInfo_ = sinceKotlinInfo_;
16257            result.bitField0_ = to_bitField0_;
16258            return result;
16259          }
16260    
16261          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Property other) {
16262            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Property.getDefaultInstance()) return this;
16263            if (other.hasFlags()) {
16264              setFlags(other.getFlags());
16265            }
16266            if (other.hasOldFlags()) {
16267              setOldFlags(other.getOldFlags());
16268            }
16269            if (other.hasName()) {
16270              setName(other.getName());
16271            }
16272            if (other.hasReturnType()) {
16273              mergeReturnType(other.getReturnType());
16274            }
16275            if (other.hasReturnTypeId()) {
16276              setReturnTypeId(other.getReturnTypeId());
16277            }
16278            if (!other.typeParameter_.isEmpty()) {
16279              if (typeParameter_.isEmpty()) {
16280                typeParameter_ = other.typeParameter_;
16281                bitField0_ = (bitField0_ & ~0x00000020);
16282              } else {
16283                ensureTypeParameterIsMutable();
16284                typeParameter_.addAll(other.typeParameter_);
16285              }
16286              
16287            }
16288            if (other.hasReceiverType()) {
16289              mergeReceiverType(other.getReceiverType());
16290            }
16291            if (other.hasReceiverTypeId()) {
16292              setReceiverTypeId(other.getReceiverTypeId());
16293            }
16294            if (other.hasSetterValueParameter()) {
16295              mergeSetterValueParameter(other.getSetterValueParameter());
16296            }
16297            if (other.hasGetterFlags()) {
16298              setGetterFlags(other.getGetterFlags());
16299            }
16300            if (other.hasSetterFlags()) {
16301              setSetterFlags(other.getSetterFlags());
16302            }
16303            if (other.hasSinceKotlinInfo()) {
16304              setSinceKotlinInfo(other.getSinceKotlinInfo());
16305            }
16306            this.mergeExtensionFields(other);
16307            setUnknownFields(
16308                getUnknownFields().concat(other.unknownFields));
16309            return this;
16310          }
16311    
16312          public final boolean isInitialized() {
16313            if (!hasName()) {
16314              
16315              return false;
16316            }
16317            if (hasReturnType()) {
16318              if (!getReturnType().isInitialized()) {
16319                
16320                return false;
16321              }
16322            }
16323            for (int i = 0; i < getTypeParameterCount(); i++) {
16324              if (!getTypeParameter(i).isInitialized()) {
16325                
16326                return false;
16327              }
16328            }
16329            if (hasReceiverType()) {
16330              if (!getReceiverType().isInitialized()) {
16331                
16332                return false;
16333              }
16334            }
16335            if (hasSetterValueParameter()) {
16336              if (!getSetterValueParameter().isInitialized()) {
16337                
16338                return false;
16339              }
16340            }
16341            if (!extensionsAreInitialized()) {
16342              
16343              return false;
16344            }
16345            return true;
16346          }
16347    
16348          public Builder mergeFrom(
16349              org.jetbrains.kotlin.protobuf.CodedInputStream input,
16350              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16351              throws java.io.IOException {
16352            org.jetbrains.kotlin.serialization.ProtoBuf.Property parsedMessage = null;
16353            try {
16354              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
16355            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
16356              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Property) e.getUnfinishedMessage();
16357              throw e;
16358            } finally {
16359              if (parsedMessage != null) {
16360                mergeFrom(parsedMessage);
16361              }
16362            }
16363            return this;
16364          }
16365          private int bitField0_;
16366    
16367          private int flags_ = 518;
16368          /**
16369           * <code>optional int32 flags = 11 [default = 518];</code>
16370           *
16371           * <pre>
16372           *hasAnnotations
16373           *Visibility
16374           *Modality
16375           *MemberKind
16376           *isVar
16377           *hasGetter
16378           *hasSetter
16379           *isConst
16380           *lateinit
16381           *hasConstant
16382           *isExternal
16383           *isDelegated
16384           * </pre>
16385           */
16386          public boolean hasFlags() {
16387            return ((bitField0_ & 0x00000001) == 0x00000001);
16388          }
16389          /**
16390           * <code>optional int32 flags = 11 [default = 518];</code>
16391           *
16392           * <pre>
16393           *hasAnnotations
16394           *Visibility
16395           *Modality
16396           *MemberKind
16397           *isVar
16398           *hasGetter
16399           *hasSetter
16400           *isConst
16401           *lateinit
16402           *hasConstant
16403           *isExternal
16404           *isDelegated
16405           * </pre>
16406           */
16407          public int getFlags() {
16408            return flags_;
16409          }
16410          /**
16411           * <code>optional int32 flags = 11 [default = 518];</code>
16412           *
16413           * <pre>
16414           *hasAnnotations
16415           *Visibility
16416           *Modality
16417           *MemberKind
16418           *isVar
16419           *hasGetter
16420           *hasSetter
16421           *isConst
16422           *lateinit
16423           *hasConstant
16424           *isExternal
16425           *isDelegated
16426           * </pre>
16427           */
16428          public Builder setFlags(int value) {
16429            bitField0_ |= 0x00000001;
16430            flags_ = value;
16431            
16432            return this;
16433          }
16434          /**
16435           * <code>optional int32 flags = 11 [default = 518];</code>
16436           *
16437           * <pre>
16438           *hasAnnotations
16439           *Visibility
16440           *Modality
16441           *MemberKind
16442           *isVar
16443           *hasGetter
16444           *hasSetter
16445           *isConst
16446           *lateinit
16447           *hasConstant
16448           *isExternal
16449           *isDelegated
16450           * </pre>
16451           */
16452          public Builder clearFlags() {
16453            bitField0_ = (bitField0_ & ~0x00000001);
16454            flags_ = 518;
16455            
16456            return this;
16457          }
16458    
16459          private int oldFlags_ = 2054;
16460          /**
16461           * <code>optional int32 old_flags = 1 [default = 2054];</code>
16462           */
16463          public boolean hasOldFlags() {
16464            return ((bitField0_ & 0x00000002) == 0x00000002);
16465          }
16466          /**
16467           * <code>optional int32 old_flags = 1 [default = 2054];</code>
16468           */
16469          public int getOldFlags() {
16470            return oldFlags_;
16471          }
16472          /**
16473           * <code>optional int32 old_flags = 1 [default = 2054];</code>
16474           */
16475          public Builder setOldFlags(int value) {
16476            bitField0_ |= 0x00000002;
16477            oldFlags_ = value;
16478            
16479            return this;
16480          }
16481          /**
16482           * <code>optional int32 old_flags = 1 [default = 2054];</code>
16483           */
16484          public Builder clearOldFlags() {
16485            bitField0_ = (bitField0_ & ~0x00000002);
16486            oldFlags_ = 2054;
16487            
16488            return this;
16489          }
16490    
16491          private int name_ ;
16492          /**
16493           * <code>required int32 name = 2;</code>
16494           */
16495          public boolean hasName() {
16496            return ((bitField0_ & 0x00000004) == 0x00000004);
16497          }
16498          /**
16499           * <code>required int32 name = 2;</code>
16500           */
16501          public int getName() {
16502            return name_;
16503          }
16504          /**
16505           * <code>required int32 name = 2;</code>
16506           */
16507          public Builder setName(int value) {
16508            bitField0_ |= 0x00000004;
16509            name_ = value;
16510            
16511            return this;
16512          }
16513          /**
16514           * <code>required int32 name = 2;</code>
16515           */
16516          public Builder clearName() {
16517            bitField0_ = (bitField0_ & ~0x00000004);
16518            name_ = 0;
16519            
16520            return this;
16521          }
16522    
16523          private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
16524          /**
16525           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
16526           */
16527          public boolean hasReturnType() {
16528            return ((bitField0_ & 0x00000008) == 0x00000008);
16529          }
16530          /**
16531           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
16532           */
16533          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
16534            return returnType_;
16535          }
16536          /**
16537           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
16538           */
16539          public Builder setReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
16540            if (value == null) {
16541              throw new NullPointerException();
16542            }
16543            returnType_ = value;
16544    
16545            bitField0_ |= 0x00000008;
16546            return this;
16547          }
16548          /**
16549           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
16550           */
16551          public Builder setReturnType(
16552              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
16553            returnType_ = builderForValue.build();
16554    
16555            bitField0_ |= 0x00000008;
16556            return this;
16557          }
16558          /**
16559           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
16560           */
16561          public Builder mergeReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
16562            if (((bitField0_ & 0x00000008) == 0x00000008) &&
16563                returnType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
16564              returnType_ =
16565                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(returnType_).mergeFrom(value).buildPartial();
16566            } else {
16567              returnType_ = value;
16568            }
16569    
16570            bitField0_ |= 0x00000008;
16571            return this;
16572          }
16573          /**
16574           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
16575           */
16576          public Builder clearReturnType() {
16577            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
16578    
16579            bitField0_ = (bitField0_ & ~0x00000008);
16580            return this;
16581          }
16582    
16583          private int returnTypeId_ ;
16584          /**
16585           * <code>optional int32 return_type_id = 9;</code>
16586           */
16587          public boolean hasReturnTypeId() {
16588            return ((bitField0_ & 0x00000010) == 0x00000010);
16589          }
16590          /**
16591           * <code>optional int32 return_type_id = 9;</code>
16592           */
16593          public int getReturnTypeId() {
16594            return returnTypeId_;
16595          }
16596          /**
16597           * <code>optional int32 return_type_id = 9;</code>
16598           */
16599          public Builder setReturnTypeId(int value) {
16600            bitField0_ |= 0x00000010;
16601            returnTypeId_ = value;
16602            
16603            return this;
16604          }
16605          /**
16606           * <code>optional int32 return_type_id = 9;</code>
16607           */
16608          public Builder clearReturnTypeId() {
16609            bitField0_ = (bitField0_ & ~0x00000010);
16610            returnTypeId_ = 0;
16611            
16612            return this;
16613          }
16614    
16615          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
16616            java.util.Collections.emptyList();
16617          private void ensureTypeParameterIsMutable() {
16618            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
16619              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
16620              bitField0_ |= 0x00000020;
16621             }
16622          }
16623    
16624          /**
16625           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
16626           */
16627          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
16628            return java.util.Collections.unmodifiableList(typeParameter_);
16629          }
16630          /**
16631           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
16632           */
16633          public int getTypeParameterCount() {
16634            return typeParameter_.size();
16635          }
16636          /**
16637           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
16638           */
16639          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
16640            return typeParameter_.get(index);
16641          }
16642          /**
16643           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
16644           */
16645          public Builder setTypeParameter(
16646              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
16647            if (value == null) {
16648              throw new NullPointerException();
16649            }
16650            ensureTypeParameterIsMutable();
16651            typeParameter_.set(index, value);
16652    
16653            return this;
16654          }
16655          /**
16656           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
16657           */
16658          public Builder setTypeParameter(
16659              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
16660            ensureTypeParameterIsMutable();
16661            typeParameter_.set(index, builderForValue.build());
16662    
16663            return this;
16664          }
16665          /**
16666           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
16667           */
16668          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
16669            if (value == null) {
16670              throw new NullPointerException();
16671            }
16672            ensureTypeParameterIsMutable();
16673            typeParameter_.add(value);
16674    
16675            return this;
16676          }
16677          /**
16678           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
16679           */
16680          public Builder addTypeParameter(
16681              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
16682            if (value == null) {
16683              throw new NullPointerException();
16684            }
16685            ensureTypeParameterIsMutable();
16686            typeParameter_.add(index, value);
16687    
16688            return this;
16689          }
16690          /**
16691           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
16692           */
16693          public Builder addTypeParameter(
16694              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
16695            ensureTypeParameterIsMutable();
16696            typeParameter_.add(builderForValue.build());
16697    
16698            return this;
16699          }
16700          /**
16701           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
16702           */
16703          public Builder addTypeParameter(
16704              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
16705            ensureTypeParameterIsMutable();
16706            typeParameter_.add(index, builderForValue.build());
16707    
16708            return this;
16709          }
16710          /**
16711           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
16712           */
16713          public Builder addAllTypeParameter(
16714              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
16715            ensureTypeParameterIsMutable();
16716            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
16717                values, typeParameter_);
16718    
16719            return this;
16720          }
16721          /**
16722           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
16723           */
16724          public Builder clearTypeParameter() {
16725            typeParameter_ = java.util.Collections.emptyList();
16726            bitField0_ = (bitField0_ & ~0x00000020);
16727    
16728            return this;
16729          }
16730          /**
16731           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
16732           */
16733          public Builder removeTypeParameter(int index) {
16734            ensureTypeParameterIsMutable();
16735            typeParameter_.remove(index);
16736    
16737            return this;
16738          }
16739    
16740          private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
16741          /**
16742           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
16743           */
16744          public boolean hasReceiverType() {
16745            return ((bitField0_ & 0x00000040) == 0x00000040);
16746          }
16747          /**
16748           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
16749           */
16750          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
16751            return receiverType_;
16752          }
16753          /**
16754           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
16755           */
16756          public Builder setReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
16757            if (value == null) {
16758              throw new NullPointerException();
16759            }
16760            receiverType_ = value;
16761    
16762            bitField0_ |= 0x00000040;
16763            return this;
16764          }
16765          /**
16766           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
16767           */
16768          public Builder setReceiverType(
16769              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
16770            receiverType_ = builderForValue.build();
16771    
16772            bitField0_ |= 0x00000040;
16773            return this;
16774          }
16775          /**
16776           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
16777           */
16778          public Builder mergeReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
16779            if (((bitField0_ & 0x00000040) == 0x00000040) &&
16780                receiverType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
16781              receiverType_ =
16782                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(receiverType_).mergeFrom(value).buildPartial();
16783            } else {
16784              receiverType_ = value;
16785            }
16786    
16787            bitField0_ |= 0x00000040;
16788            return this;
16789          }
16790          /**
16791           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
16792           */
16793          public Builder clearReceiverType() {
16794            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
16795    
16796            bitField0_ = (bitField0_ & ~0x00000040);
16797            return this;
16798          }
16799    
16800          private int receiverTypeId_ ;
16801          /**
16802           * <code>optional int32 receiver_type_id = 10;</code>
16803           */
16804          public boolean hasReceiverTypeId() {
16805            return ((bitField0_ & 0x00000080) == 0x00000080);
16806          }
16807          /**
16808           * <code>optional int32 receiver_type_id = 10;</code>
16809           */
16810          public int getReceiverTypeId() {
16811            return receiverTypeId_;
16812          }
16813          /**
16814           * <code>optional int32 receiver_type_id = 10;</code>
16815           */
16816          public Builder setReceiverTypeId(int value) {
16817            bitField0_ |= 0x00000080;
16818            receiverTypeId_ = value;
16819            
16820            return this;
16821          }
16822          /**
16823           * <code>optional int32 receiver_type_id = 10;</code>
16824           */
16825          public Builder clearReceiverTypeId() {
16826            bitField0_ = (bitField0_ & ~0x00000080);
16827            receiverTypeId_ = 0;
16828            
16829            return this;
16830          }
16831    
16832          private org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter setterValueParameter_ = org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
16833          /**
16834           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
16835           */
16836          public boolean hasSetterValueParameter() {
16837            return ((bitField0_ & 0x00000100) == 0x00000100);
16838          }
16839          /**
16840           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
16841           */
16842          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getSetterValueParameter() {
16843            return setterValueParameter_;
16844          }
16845          /**
16846           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
16847           */
16848          public Builder setSetterValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
16849            if (value == null) {
16850              throw new NullPointerException();
16851            }
16852            setterValueParameter_ = value;
16853    
16854            bitField0_ |= 0x00000100;
16855            return this;
16856          }
16857          /**
16858           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
16859           */
16860          public Builder setSetterValueParameter(
16861              org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
16862            setterValueParameter_ = builderForValue.build();
16863    
16864            bitField0_ |= 0x00000100;
16865            return this;
16866          }
16867          /**
16868           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
16869           */
16870          public Builder mergeSetterValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
16871            if (((bitField0_ & 0x00000100) == 0x00000100) &&
16872                setterValueParameter_ != org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance()) {
16873              setterValueParameter_ =
16874                org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.newBuilder(setterValueParameter_).mergeFrom(value).buildPartial();
16875            } else {
16876              setterValueParameter_ = value;
16877            }
16878    
16879            bitField0_ |= 0x00000100;
16880            return this;
16881          }
16882          /**
16883           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
16884           */
16885          public Builder clearSetterValueParameter() {
16886            setterValueParameter_ = org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
16887    
16888            bitField0_ = (bitField0_ & ~0x00000100);
16889            return this;
16890          }
16891    
16892          private int getterFlags_ ;
16893          /**
16894           * <code>optional int32 getter_flags = 7;</code>
16895           *
16896           * <pre>
16897           *hasAnnotations
16898           *Visibility
16899           *Modality
16900           *isNotDefault
16901           *isExternal
16902           *isInline
16903           * </pre>
16904           */
16905          public boolean hasGetterFlags() {
16906            return ((bitField0_ & 0x00000200) == 0x00000200);
16907          }
16908          /**
16909           * <code>optional int32 getter_flags = 7;</code>
16910           *
16911           * <pre>
16912           *hasAnnotations
16913           *Visibility
16914           *Modality
16915           *isNotDefault
16916           *isExternal
16917           *isInline
16918           * </pre>
16919           */
16920          public int getGetterFlags() {
16921            return getterFlags_;
16922          }
16923          /**
16924           * <code>optional int32 getter_flags = 7;</code>
16925           *
16926           * <pre>
16927           *hasAnnotations
16928           *Visibility
16929           *Modality
16930           *isNotDefault
16931           *isExternal
16932           *isInline
16933           * </pre>
16934           */
16935          public Builder setGetterFlags(int value) {
16936            bitField0_ |= 0x00000200;
16937            getterFlags_ = value;
16938            
16939            return this;
16940          }
16941          /**
16942           * <code>optional int32 getter_flags = 7;</code>
16943           *
16944           * <pre>
16945           *hasAnnotations
16946           *Visibility
16947           *Modality
16948           *isNotDefault
16949           *isExternal
16950           *isInline
16951           * </pre>
16952           */
16953          public Builder clearGetterFlags() {
16954            bitField0_ = (bitField0_ & ~0x00000200);
16955            getterFlags_ = 0;
16956            
16957            return this;
16958          }
16959    
16960          private int setterFlags_ ;
16961          /**
16962           * <code>optional int32 setter_flags = 8;</code>
16963           */
16964          public boolean hasSetterFlags() {
16965            return ((bitField0_ & 0x00000400) == 0x00000400);
16966          }
16967          /**
16968           * <code>optional int32 setter_flags = 8;</code>
16969           */
16970          public int getSetterFlags() {
16971            return setterFlags_;
16972          }
16973          /**
16974           * <code>optional int32 setter_flags = 8;</code>
16975           */
16976          public Builder setSetterFlags(int value) {
16977            bitField0_ |= 0x00000400;
16978            setterFlags_ = value;
16979            
16980            return this;
16981          }
16982          /**
16983           * <code>optional int32 setter_flags = 8;</code>
16984           */
16985          public Builder clearSetterFlags() {
16986            bitField0_ = (bitField0_ & ~0x00000400);
16987            setterFlags_ = 0;
16988            
16989            return this;
16990          }
16991    
16992          private int sinceKotlinInfo_ ;
16993          /**
16994           * <code>optional int32 sinceKotlinInfo = 31;</code>
16995           *
16996           * <pre>
16997           * Index into the SinceKotlinInfoTable
16998           * </pre>
16999           */
17000          public boolean hasSinceKotlinInfo() {
17001            return ((bitField0_ & 0x00000800) == 0x00000800);
17002          }
17003          /**
17004           * <code>optional int32 sinceKotlinInfo = 31;</code>
17005           *
17006           * <pre>
17007           * Index into the SinceKotlinInfoTable
17008           * </pre>
17009           */
17010          public int getSinceKotlinInfo() {
17011            return sinceKotlinInfo_;
17012          }
17013          /**
17014           * <code>optional int32 sinceKotlinInfo = 31;</code>
17015           *
17016           * <pre>
17017           * Index into the SinceKotlinInfoTable
17018           * </pre>
17019           */
17020          public Builder setSinceKotlinInfo(int value) {
17021            bitField0_ |= 0x00000800;
17022            sinceKotlinInfo_ = value;
17023            
17024            return this;
17025          }
17026          /**
17027           * <code>optional int32 sinceKotlinInfo = 31;</code>
17028           *
17029           * <pre>
17030           * Index into the SinceKotlinInfoTable
17031           * </pre>
17032           */
17033          public Builder clearSinceKotlinInfo() {
17034            bitField0_ = (bitField0_ & ~0x00000800);
17035            sinceKotlinInfo_ = 0;
17036            
17037            return this;
17038          }
17039    
17040          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Property)
17041        }
17042    
17043        static {
17044          defaultInstance = new Property(true);
17045          defaultInstance.initFields();
17046        }
17047    
17048        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Property)
17049      }
17050    
17051      public interface ValueParameterOrBuilder extends 
17052          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.ValueParameter)
17053           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
17054                ExtendableMessageOrBuilder<ValueParameter> {
17055    
17056        /**
17057         * <code>optional int32 flags = 1 [default = 0];</code>
17058         *
17059         * <pre>
17060         *declaresDefault
17061         *hasAnnotations
17062         *isCrossinline
17063         *isNoinline
17064         * </pre>
17065         */
17066        boolean hasFlags();
17067        /**
17068         * <code>optional int32 flags = 1 [default = 0];</code>
17069         *
17070         * <pre>
17071         *declaresDefault
17072         *hasAnnotations
17073         *isCrossinline
17074         *isNoinline
17075         * </pre>
17076         */
17077        int getFlags();
17078    
17079        /**
17080         * <code>required int32 name = 2;</code>
17081         */
17082        boolean hasName();
17083        /**
17084         * <code>required int32 name = 2;</code>
17085         */
17086        int getName();
17087    
17088        /**
17089         * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
17090         */
17091        boolean hasType();
17092        /**
17093         * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
17094         */
17095        org.jetbrains.kotlin.serialization.ProtoBuf.Type getType();
17096    
17097        /**
17098         * <code>optional int32 type_id = 5;</code>
17099         */
17100        boolean hasTypeId();
17101        /**
17102         * <code>optional int32 type_id = 5;</code>
17103         */
17104        int getTypeId();
17105    
17106        /**
17107         * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
17108         */
17109        boolean hasVarargElementType();
17110        /**
17111         * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
17112         */
17113        org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType();
17114    
17115        /**
17116         * <code>optional int32 vararg_element_type_id = 6;</code>
17117         */
17118        boolean hasVarargElementTypeId();
17119        /**
17120         * <code>optional int32 vararg_element_type_id = 6;</code>
17121         */
17122        int getVarargElementTypeId();
17123      }
17124      /**
17125       * Protobuf type {@code org.jetbrains.kotlin.serialization.ValueParameter}
17126       */
17127      public static final class ValueParameter extends
17128          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
17129            ValueParameter> implements
17130          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.ValueParameter)
17131          ValueParameterOrBuilder {
17132        // Use ValueParameter.newBuilder() to construct.
17133        private ValueParameter(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter, ?> builder) {
17134          super(builder);
17135          this.unknownFields = builder.getUnknownFields();
17136        }
17137        private ValueParameter(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
17138    
17139        private static final ValueParameter defaultInstance;
17140        public static ValueParameter getDefaultInstance() {
17141          return defaultInstance;
17142        }
17143    
17144        public ValueParameter getDefaultInstanceForType() {
17145          return defaultInstance;
17146        }
17147    
17148        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
17149        private ValueParameter(
17150            org.jetbrains.kotlin.protobuf.CodedInputStream input,
17151            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17152            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
17153          initFields();
17154          int mutable_bitField0_ = 0;
17155          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
17156              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
17157          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
17158              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
17159                  unknownFieldsOutput);
17160          try {
17161            boolean done = false;
17162            while (!done) {
17163              int tag = input.readTag();
17164              switch (tag) {
17165                case 0:
17166                  done = true;
17167                  break;
17168                default: {
17169                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
17170                                         extensionRegistry, tag)) {
17171                    done = true;
17172                  }
17173                  break;
17174                }
17175                case 8: {
17176                  bitField0_ |= 0x00000001;
17177                  flags_ = input.readInt32();
17178                  break;
17179                }
17180                case 16: {
17181                  bitField0_ |= 0x00000002;
17182                  name_ = input.readInt32();
17183                  break;
17184                }
17185                case 26: {
17186                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
17187                  if (((bitField0_ & 0x00000004) == 0x00000004)) {
17188                    subBuilder = type_.toBuilder();
17189                  }
17190                  type_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
17191                  if (subBuilder != null) {
17192                    subBuilder.mergeFrom(type_);
17193                    type_ = subBuilder.buildPartial();
17194                  }
17195                  bitField0_ |= 0x00000004;
17196                  break;
17197                }
17198                case 34: {
17199                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
17200                  if (((bitField0_ & 0x00000010) == 0x00000010)) {
17201                    subBuilder = varargElementType_.toBuilder();
17202                  }
17203                  varargElementType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
17204                  if (subBuilder != null) {
17205                    subBuilder.mergeFrom(varargElementType_);
17206                    varargElementType_ = subBuilder.buildPartial();
17207                  }
17208                  bitField0_ |= 0x00000010;
17209                  break;
17210                }
17211                case 40: {
17212                  bitField0_ |= 0x00000008;
17213                  typeId_ = input.readInt32();
17214                  break;
17215                }
17216                case 48: {
17217                  bitField0_ |= 0x00000020;
17218                  varargElementTypeId_ = input.readInt32();
17219                  break;
17220                }
17221              }
17222            }
17223          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
17224            throw e.setUnfinishedMessage(this);
17225          } catch (java.io.IOException e) {
17226            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
17227                e.getMessage()).setUnfinishedMessage(this);
17228          } finally {
17229            try {
17230              unknownFieldsCodedOutput.flush();
17231            } catch (java.io.IOException e) {
17232            // Should not happen
17233            } finally {
17234              unknownFields = unknownFieldsOutput.toByteString();
17235            }
17236            makeExtensionsImmutable();
17237          }
17238        }
17239        public static org.jetbrains.kotlin.protobuf.Parser<ValueParameter> PARSER =
17240            new org.jetbrains.kotlin.protobuf.AbstractParser<ValueParameter>() {
17241          public ValueParameter parsePartialFrom(
17242              org.jetbrains.kotlin.protobuf.CodedInputStream input,
17243              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17244              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
17245            return new ValueParameter(input, extensionRegistry);
17246          }
17247        };
17248    
17249        @java.lang.Override
17250        public org.jetbrains.kotlin.protobuf.Parser<ValueParameter> getParserForType() {
17251          return PARSER;
17252        }
17253    
17254        private int bitField0_;
17255        public static final int FLAGS_FIELD_NUMBER = 1;
17256        private int flags_;
17257        /**
17258         * <code>optional int32 flags = 1 [default = 0];</code>
17259         *
17260         * <pre>
17261         *declaresDefault
17262         *hasAnnotations
17263         *isCrossinline
17264         *isNoinline
17265         * </pre>
17266         */
17267        public boolean hasFlags() {
17268          return ((bitField0_ & 0x00000001) == 0x00000001);
17269        }
17270        /**
17271         * <code>optional int32 flags = 1 [default = 0];</code>
17272         *
17273         * <pre>
17274         *declaresDefault
17275         *hasAnnotations
17276         *isCrossinline
17277         *isNoinline
17278         * </pre>
17279         */
17280        public int getFlags() {
17281          return flags_;
17282        }
17283    
17284        public static final int NAME_FIELD_NUMBER = 2;
17285        private int name_;
17286        /**
17287         * <code>required int32 name = 2;</code>
17288         */
17289        public boolean hasName() {
17290          return ((bitField0_ & 0x00000002) == 0x00000002);
17291        }
17292        /**
17293         * <code>required int32 name = 2;</code>
17294         */
17295        public int getName() {
17296          return name_;
17297        }
17298    
17299        public static final int TYPE_FIELD_NUMBER = 3;
17300        private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_;
17301        /**
17302         * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
17303         */
17304        public boolean hasType() {
17305          return ((bitField0_ & 0x00000004) == 0x00000004);
17306        }
17307        /**
17308         * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
17309         */
17310        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
17311          return type_;
17312        }
17313    
17314        public static final int TYPE_ID_FIELD_NUMBER = 5;
17315        private int typeId_;
17316        /**
17317         * <code>optional int32 type_id = 5;</code>
17318         */
17319        public boolean hasTypeId() {
17320          return ((bitField0_ & 0x00000008) == 0x00000008);
17321        }
17322        /**
17323         * <code>optional int32 type_id = 5;</code>
17324         */
17325        public int getTypeId() {
17326          return typeId_;
17327        }
17328    
17329        public static final int VARARG_ELEMENT_TYPE_FIELD_NUMBER = 4;
17330        private org.jetbrains.kotlin.serialization.ProtoBuf.Type varargElementType_;
17331        /**
17332         * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
17333         */
17334        public boolean hasVarargElementType() {
17335          return ((bitField0_ & 0x00000010) == 0x00000010);
17336        }
17337        /**
17338         * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
17339         */
17340        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType() {
17341          return varargElementType_;
17342        }
17343    
17344        public static final int VARARG_ELEMENT_TYPE_ID_FIELD_NUMBER = 6;
17345        private int varargElementTypeId_;
17346        /**
17347         * <code>optional int32 vararg_element_type_id = 6;</code>
17348         */
17349        public boolean hasVarargElementTypeId() {
17350          return ((bitField0_ & 0x00000020) == 0x00000020);
17351        }
17352        /**
17353         * <code>optional int32 vararg_element_type_id = 6;</code>
17354         */
17355        public int getVarargElementTypeId() {
17356          return varargElementTypeId_;
17357        }
17358    
17359        private void initFields() {
17360          flags_ = 0;
17361          name_ = 0;
17362          type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
17363          typeId_ = 0;
17364          varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
17365          varargElementTypeId_ = 0;
17366        }
17367        private byte memoizedIsInitialized = -1;
17368        public final boolean isInitialized() {
17369          byte isInitialized = memoizedIsInitialized;
17370          if (isInitialized == 1) return true;
17371          if (isInitialized == 0) return false;
17372    
17373          if (!hasName()) {
17374            memoizedIsInitialized = 0;
17375            return false;
17376          }
17377          if (hasType()) {
17378            if (!getType().isInitialized()) {
17379              memoizedIsInitialized = 0;
17380              return false;
17381            }
17382          }
17383          if (hasVarargElementType()) {
17384            if (!getVarargElementType().isInitialized()) {
17385              memoizedIsInitialized = 0;
17386              return false;
17387            }
17388          }
17389          if (!extensionsAreInitialized()) {
17390            memoizedIsInitialized = 0;
17391            return false;
17392          }
17393          memoizedIsInitialized = 1;
17394          return true;
17395        }
17396    
17397        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
17398                            throws java.io.IOException {
17399          getSerializedSize();
17400          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
17401            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>.ExtensionWriter extensionWriter =
17402              newExtensionWriter();
17403          if (((bitField0_ & 0x00000001) == 0x00000001)) {
17404            output.writeInt32(1, flags_);
17405          }
17406          if (((bitField0_ & 0x00000002) == 0x00000002)) {
17407            output.writeInt32(2, name_);
17408          }
17409          if (((bitField0_ & 0x00000004) == 0x00000004)) {
17410            output.writeMessage(3, type_);
17411          }
17412          if (((bitField0_ & 0x00000010) == 0x00000010)) {
17413            output.writeMessage(4, varargElementType_);
17414          }
17415          if (((bitField0_ & 0x00000008) == 0x00000008)) {
17416            output.writeInt32(5, typeId_);
17417          }
17418          if (((bitField0_ & 0x00000020) == 0x00000020)) {
17419            output.writeInt32(6, varargElementTypeId_);
17420          }
17421          extensionWriter.writeUntil(200, output);
17422          output.writeRawBytes(unknownFields);
17423        }
17424    
17425        private int memoizedSerializedSize = -1;
17426        public int getSerializedSize() {
17427          int size = memoizedSerializedSize;
17428          if (size != -1) return size;
17429    
17430          size = 0;
17431          if (((bitField0_ & 0x00000001) == 0x00000001)) {
17432            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
17433              .computeInt32Size(1, flags_);
17434          }
17435          if (((bitField0_ & 0x00000002) == 0x00000002)) {
17436            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
17437              .computeInt32Size(2, name_);
17438          }
17439          if (((bitField0_ & 0x00000004) == 0x00000004)) {
17440            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
17441              .computeMessageSize(3, type_);
17442          }
17443          if (((bitField0_ & 0x00000010) == 0x00000010)) {
17444            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
17445              .computeMessageSize(4, varargElementType_);
17446          }
17447          if (((bitField0_ & 0x00000008) == 0x00000008)) {
17448            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
17449              .computeInt32Size(5, typeId_);
17450          }
17451          if (((bitField0_ & 0x00000020) == 0x00000020)) {
17452            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
17453              .computeInt32Size(6, varargElementTypeId_);
17454          }
17455          size += extensionsSerializedSize();
17456          size += unknownFields.size();
17457          memoizedSerializedSize = size;
17458          return size;
17459        }
17460    
17461        private static final long serialVersionUID = 0L;
17462        @java.lang.Override
17463        protected java.lang.Object writeReplace()
17464            throws java.io.ObjectStreamException {
17465          return super.writeReplace();
17466        }
17467    
17468        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
17469            org.jetbrains.kotlin.protobuf.ByteString data)
17470            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
17471          return PARSER.parseFrom(data);
17472        }
17473        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
17474            org.jetbrains.kotlin.protobuf.ByteString data,
17475            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17476            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
17477          return PARSER.parseFrom(data, extensionRegistry);
17478        }
17479        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(byte[] data)
17480            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
17481          return PARSER.parseFrom(data);
17482        }
17483        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
17484            byte[] data,
17485            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17486            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
17487          return PARSER.parseFrom(data, extensionRegistry);
17488        }
17489        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(java.io.InputStream input)
17490            throws java.io.IOException {
17491          return PARSER.parseFrom(input);
17492        }
17493        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
17494            java.io.InputStream input,
17495            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17496            throws java.io.IOException {
17497          return PARSER.parseFrom(input, extensionRegistry);
17498        }
17499        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseDelimitedFrom(java.io.InputStream input)
17500            throws java.io.IOException {
17501          return PARSER.parseDelimitedFrom(input);
17502        }
17503        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseDelimitedFrom(
17504            java.io.InputStream input,
17505            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17506            throws java.io.IOException {
17507          return PARSER.parseDelimitedFrom(input, extensionRegistry);
17508        }
17509        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
17510            org.jetbrains.kotlin.protobuf.CodedInputStream input)
17511            throws java.io.IOException {
17512          return PARSER.parseFrom(input);
17513        }
17514        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
17515            org.jetbrains.kotlin.protobuf.CodedInputStream input,
17516            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17517            throws java.io.IOException {
17518          return PARSER.parseFrom(input, extensionRegistry);
17519        }
17520    
17521        public static Builder newBuilder() { return Builder.create(); }
17522        public Builder newBuilderForType() { return newBuilder(); }
17523        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter prototype) {
17524          return newBuilder().mergeFrom(prototype);
17525        }
17526        public Builder toBuilder() { return newBuilder(this); }
17527    
17528        /**
17529         * Protobuf type {@code org.jetbrains.kotlin.serialization.ValueParameter}
17530         */
17531        public static final class Builder extends
17532            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
17533              org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter, Builder> implements
17534            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.ValueParameter)
17535            org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder {
17536          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.newBuilder()
17537          private Builder() {
17538            maybeForceBuilderInitialization();
17539          }
17540    
17541          private void maybeForceBuilderInitialization() {
17542          }
17543          private static Builder create() {
17544            return new Builder();
17545          }
17546    
17547          public Builder clear() {
17548            super.clear();
17549            flags_ = 0;
17550            bitField0_ = (bitField0_ & ~0x00000001);
17551            name_ = 0;
17552            bitField0_ = (bitField0_ & ~0x00000002);
17553            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
17554            bitField0_ = (bitField0_ & ~0x00000004);
17555            typeId_ = 0;
17556            bitField0_ = (bitField0_ & ~0x00000008);
17557            varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
17558            bitField0_ = (bitField0_ & ~0x00000010);
17559            varargElementTypeId_ = 0;
17560            bitField0_ = (bitField0_ & ~0x00000020);
17561            return this;
17562          }
17563    
17564          public Builder clone() {
17565            return create().mergeFrom(buildPartial());
17566          }
17567    
17568          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getDefaultInstanceForType() {
17569            return org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
17570          }
17571    
17572          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter build() {
17573            org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter result = buildPartial();
17574            if (!result.isInitialized()) {
17575              throw newUninitializedMessageException(result);
17576            }
17577            return result;
17578          }
17579    
17580          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter buildPartial() {
17581            org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter result = new org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter(this);
17582            int from_bitField0_ = bitField0_;
17583            int to_bitField0_ = 0;
17584            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
17585              to_bitField0_ |= 0x00000001;
17586            }
17587            result.flags_ = flags_;
17588            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
17589              to_bitField0_ |= 0x00000002;
17590            }
17591            result.name_ = name_;
17592            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
17593              to_bitField0_ |= 0x00000004;
17594            }
17595            result.type_ = type_;
17596            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
17597              to_bitField0_ |= 0x00000008;
17598            }
17599            result.typeId_ = typeId_;
17600            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
17601              to_bitField0_ |= 0x00000010;
17602            }
17603            result.varargElementType_ = varargElementType_;
17604            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
17605              to_bitField0_ |= 0x00000020;
17606            }
17607            result.varargElementTypeId_ = varargElementTypeId_;
17608            result.bitField0_ = to_bitField0_;
17609            return result;
17610          }
17611    
17612          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter other) {
17613            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance()) return this;
17614            if (other.hasFlags()) {
17615              setFlags(other.getFlags());
17616            }
17617            if (other.hasName()) {
17618              setName(other.getName());
17619            }
17620            if (other.hasType()) {
17621              mergeType(other.getType());
17622            }
17623            if (other.hasTypeId()) {
17624              setTypeId(other.getTypeId());
17625            }
17626            if (other.hasVarargElementType()) {
17627              mergeVarargElementType(other.getVarargElementType());
17628            }
17629            if (other.hasVarargElementTypeId()) {
17630              setVarargElementTypeId(other.getVarargElementTypeId());
17631            }
17632            this.mergeExtensionFields(other);
17633            setUnknownFields(
17634                getUnknownFields().concat(other.unknownFields));
17635            return this;
17636          }
17637    
17638          public final boolean isInitialized() {
17639            if (!hasName()) {
17640              
17641              return false;
17642            }
17643            if (hasType()) {
17644              if (!getType().isInitialized()) {
17645                
17646                return false;
17647              }
17648            }
17649            if (hasVarargElementType()) {
17650              if (!getVarargElementType().isInitialized()) {
17651                
17652                return false;
17653              }
17654            }
17655            if (!extensionsAreInitialized()) {
17656              
17657              return false;
17658            }
17659            return true;
17660          }
17661    
17662          public Builder mergeFrom(
17663              org.jetbrains.kotlin.protobuf.CodedInputStream input,
17664              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17665              throws java.io.IOException {
17666            org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parsedMessage = null;
17667            try {
17668              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
17669            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
17670              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter) e.getUnfinishedMessage();
17671              throw e;
17672            } finally {
17673              if (parsedMessage != null) {
17674                mergeFrom(parsedMessage);
17675              }
17676            }
17677            return this;
17678          }
17679          private int bitField0_;
17680    
17681          private int flags_ ;
17682          /**
17683           * <code>optional int32 flags = 1 [default = 0];</code>
17684           *
17685           * <pre>
17686           *declaresDefault
17687           *hasAnnotations
17688           *isCrossinline
17689           *isNoinline
17690           * </pre>
17691           */
17692          public boolean hasFlags() {
17693            return ((bitField0_ & 0x00000001) == 0x00000001);
17694          }
17695          /**
17696           * <code>optional int32 flags = 1 [default = 0];</code>
17697           *
17698           * <pre>
17699           *declaresDefault
17700           *hasAnnotations
17701           *isCrossinline
17702           *isNoinline
17703           * </pre>
17704           */
17705          public int getFlags() {
17706            return flags_;
17707          }
17708          /**
17709           * <code>optional int32 flags = 1 [default = 0];</code>
17710           *
17711           * <pre>
17712           *declaresDefault
17713           *hasAnnotations
17714           *isCrossinline
17715           *isNoinline
17716           * </pre>
17717           */
17718          public Builder setFlags(int value) {
17719            bitField0_ |= 0x00000001;
17720            flags_ = value;
17721            
17722            return this;
17723          }
17724          /**
17725           * <code>optional int32 flags = 1 [default = 0];</code>
17726           *
17727           * <pre>
17728           *declaresDefault
17729           *hasAnnotations
17730           *isCrossinline
17731           *isNoinline
17732           * </pre>
17733           */
17734          public Builder clearFlags() {
17735            bitField0_ = (bitField0_ & ~0x00000001);
17736            flags_ = 0;
17737            
17738            return this;
17739          }
17740    
17741          private int name_ ;
17742          /**
17743           * <code>required int32 name = 2;</code>
17744           */
17745          public boolean hasName() {
17746            return ((bitField0_ & 0x00000002) == 0x00000002);
17747          }
17748          /**
17749           * <code>required int32 name = 2;</code>
17750           */
17751          public int getName() {
17752            return name_;
17753          }
17754          /**
17755           * <code>required int32 name = 2;</code>
17756           */
17757          public Builder setName(int value) {
17758            bitField0_ |= 0x00000002;
17759            name_ = value;
17760            
17761            return this;
17762          }
17763          /**
17764           * <code>required int32 name = 2;</code>
17765           */
17766          public Builder clearName() {
17767            bitField0_ = (bitField0_ & ~0x00000002);
17768            name_ = 0;
17769            
17770            return this;
17771          }
17772    
17773          private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
17774          /**
17775           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
17776           */
17777          public boolean hasType() {
17778            return ((bitField0_ & 0x00000004) == 0x00000004);
17779          }
17780          /**
17781           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
17782           */
17783          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
17784            return type_;
17785          }
17786          /**
17787           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
17788           */
17789          public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
17790            if (value == null) {
17791              throw new NullPointerException();
17792            }
17793            type_ = value;
17794    
17795            bitField0_ |= 0x00000004;
17796            return this;
17797          }
17798          /**
17799           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
17800           */
17801          public Builder setType(
17802              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
17803            type_ = builderForValue.build();
17804    
17805            bitField0_ |= 0x00000004;
17806            return this;
17807          }
17808          /**
17809           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
17810           */
17811          public Builder mergeType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
17812            if (((bitField0_ & 0x00000004) == 0x00000004) &&
17813                type_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
17814              type_ =
17815                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
17816            } else {
17817              type_ = value;
17818            }
17819    
17820            bitField0_ |= 0x00000004;
17821            return this;
17822          }
17823          /**
17824           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
17825           */
17826          public Builder clearType() {
17827            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
17828    
17829            bitField0_ = (bitField0_ & ~0x00000004);
17830            return this;
17831          }
17832    
17833          private int typeId_ ;
17834          /**
17835           * <code>optional int32 type_id = 5;</code>
17836           */
17837          public boolean hasTypeId() {
17838            return ((bitField0_ & 0x00000008) == 0x00000008);
17839          }
17840          /**
17841           * <code>optional int32 type_id = 5;</code>
17842           */
17843          public int getTypeId() {
17844            return typeId_;
17845          }
17846          /**
17847           * <code>optional int32 type_id = 5;</code>
17848           */
17849          public Builder setTypeId(int value) {
17850            bitField0_ |= 0x00000008;
17851            typeId_ = value;
17852            
17853            return this;
17854          }
17855          /**
17856           * <code>optional int32 type_id = 5;</code>
17857           */
17858          public Builder clearTypeId() {
17859            bitField0_ = (bitField0_ & ~0x00000008);
17860            typeId_ = 0;
17861            
17862            return this;
17863          }
17864    
17865          private org.jetbrains.kotlin.serialization.ProtoBuf.Type varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
17866          /**
17867           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
17868           */
17869          public boolean hasVarargElementType() {
17870            return ((bitField0_ & 0x00000010) == 0x00000010);
17871          }
17872          /**
17873           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
17874           */
17875          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType() {
17876            return varargElementType_;
17877          }
17878          /**
17879           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
17880           */
17881          public Builder setVarargElementType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
17882            if (value == null) {
17883              throw new NullPointerException();
17884            }
17885            varargElementType_ = value;
17886    
17887            bitField0_ |= 0x00000010;
17888            return this;
17889          }
17890          /**
17891           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
17892           */
17893          public Builder setVarargElementType(
17894              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
17895            varargElementType_ = builderForValue.build();
17896    
17897            bitField0_ |= 0x00000010;
17898            return this;
17899          }
17900          /**
17901           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
17902           */
17903          public Builder mergeVarargElementType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
17904            if (((bitField0_ & 0x00000010) == 0x00000010) &&
17905                varargElementType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
17906              varargElementType_ =
17907                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(varargElementType_).mergeFrom(value).buildPartial();
17908            } else {
17909              varargElementType_ = value;
17910            }
17911    
17912            bitField0_ |= 0x00000010;
17913            return this;
17914          }
17915          /**
17916           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
17917           */
17918          public Builder clearVarargElementType() {
17919            varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
17920    
17921            bitField0_ = (bitField0_ & ~0x00000010);
17922            return this;
17923          }
17924    
17925          private int varargElementTypeId_ ;
17926          /**
17927           * <code>optional int32 vararg_element_type_id = 6;</code>
17928           */
17929          public boolean hasVarargElementTypeId() {
17930            return ((bitField0_ & 0x00000020) == 0x00000020);
17931          }
17932          /**
17933           * <code>optional int32 vararg_element_type_id = 6;</code>
17934           */
17935          public int getVarargElementTypeId() {
17936            return varargElementTypeId_;
17937          }
17938          /**
17939           * <code>optional int32 vararg_element_type_id = 6;</code>
17940           */
17941          public Builder setVarargElementTypeId(int value) {
17942            bitField0_ |= 0x00000020;
17943            varargElementTypeId_ = value;
17944            
17945            return this;
17946          }
17947          /**
17948           * <code>optional int32 vararg_element_type_id = 6;</code>
17949           */
17950          public Builder clearVarargElementTypeId() {
17951            bitField0_ = (bitField0_ & ~0x00000020);
17952            varargElementTypeId_ = 0;
17953            
17954            return this;
17955          }
17956    
17957          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.ValueParameter)
17958        }
17959    
17960        static {
17961          defaultInstance = new ValueParameter(true);
17962          defaultInstance.initFields();
17963        }
17964    
17965        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.ValueParameter)
17966      }
17967    
17968      public interface TypeAliasOrBuilder extends 
17969          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.TypeAlias)
17970           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
17971                ExtendableMessageOrBuilder<TypeAlias> {
17972    
17973        /**
17974         * <code>optional int32 flags = 1 [default = 6];</code>
17975         *
17976         * <pre>
17977         *hasAnnotations
17978         *Visibility
17979         * </pre>
17980         */
17981        boolean hasFlags();
17982        /**
17983         * <code>optional int32 flags = 1 [default = 6];</code>
17984         *
17985         * <pre>
17986         *hasAnnotations
17987         *Visibility
17988         * </pre>
17989         */
17990        int getFlags();
17991    
17992        /**
17993         * <code>required int32 name = 2;</code>
17994         */
17995        boolean hasName();
17996        /**
17997         * <code>required int32 name = 2;</code>
17998         */
17999        int getName();
18000    
18001        /**
18002         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 3;</code>
18003         */
18004        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
18005            getTypeParameterList();
18006        /**
18007         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 3;</code>
18008         */
18009        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
18010        /**
18011         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 3;</code>
18012         */
18013        int getTypeParameterCount();
18014    
18015        /**
18016         * <code>optional .org.jetbrains.kotlin.serialization.Type underlying_type = 4;</code>
18017         */
18018        boolean hasUnderlyingType();
18019        /**
18020         * <code>optional .org.jetbrains.kotlin.serialization.Type underlying_type = 4;</code>
18021         */
18022        org.jetbrains.kotlin.serialization.ProtoBuf.Type getUnderlyingType();
18023    
18024        /**
18025         * <code>optional int32 underlying_type_id = 5;</code>
18026         */
18027        boolean hasUnderlyingTypeId();
18028        /**
18029         * <code>optional int32 underlying_type_id = 5;</code>
18030         */
18031        int getUnderlyingTypeId();
18032    
18033        /**
18034         * <code>optional .org.jetbrains.kotlin.serialization.Type expanded_type = 6;</code>
18035         */
18036        boolean hasExpandedType();
18037        /**
18038         * <code>optional .org.jetbrains.kotlin.serialization.Type expanded_type = 6;</code>
18039         */
18040        org.jetbrains.kotlin.serialization.ProtoBuf.Type getExpandedType();
18041    
18042        /**
18043         * <code>optional int32 expanded_type_id = 7;</code>
18044         */
18045        boolean hasExpandedTypeId();
18046        /**
18047         * <code>optional int32 expanded_type_id = 7;</code>
18048         */
18049        int getExpandedTypeId();
18050    
18051        /**
18052         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
18053         */
18054        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation> 
18055            getAnnotationList();
18056        /**
18057         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
18058         */
18059        org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getAnnotation(int index);
18060        /**
18061         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
18062         */
18063        int getAnnotationCount();
18064    
18065        /**
18066         * <code>optional int32 sinceKotlinInfo = 31;</code>
18067         *
18068         * <pre>
18069         * Index into the SinceKotlinInfoTable
18070         * </pre>
18071         */
18072        boolean hasSinceKotlinInfo();
18073        /**
18074         * <code>optional int32 sinceKotlinInfo = 31;</code>
18075         *
18076         * <pre>
18077         * Index into the SinceKotlinInfoTable
18078         * </pre>
18079         */
18080        int getSinceKotlinInfo();
18081      }
18082      /**
18083       * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeAlias}
18084       */
18085      public static final class TypeAlias extends
18086          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
18087            TypeAlias> implements
18088          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.TypeAlias)
18089          TypeAliasOrBuilder {
18090        // Use TypeAlias.newBuilder() to construct.
18091        private TypeAlias(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias, ?> builder) {
18092          super(builder);
18093          this.unknownFields = builder.getUnknownFields();
18094        }
18095        private TypeAlias(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
18096    
18097        private static final TypeAlias defaultInstance;
18098        public static TypeAlias getDefaultInstance() {
18099          return defaultInstance;
18100        }
18101    
18102        public TypeAlias getDefaultInstanceForType() {
18103          return defaultInstance;
18104        }
18105    
18106        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
18107        private TypeAlias(
18108            org.jetbrains.kotlin.protobuf.CodedInputStream input,
18109            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
18110            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
18111          initFields();
18112          int mutable_bitField0_ = 0;
18113          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
18114              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
18115          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
18116              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
18117                  unknownFieldsOutput);
18118          try {
18119            boolean done = false;
18120            while (!done) {
18121              int tag = input.readTag();
18122              switch (tag) {
18123                case 0:
18124                  done = true;
18125                  break;
18126                default: {
18127                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
18128                                         extensionRegistry, tag)) {
18129                    done = true;
18130                  }
18131                  break;
18132                }
18133                case 8: {
18134                  bitField0_ |= 0x00000001;
18135                  flags_ = input.readInt32();
18136                  break;
18137                }
18138                case 16: {
18139                  bitField0_ |= 0x00000002;
18140                  name_ = input.readInt32();
18141                  break;
18142                }
18143                case 26: {
18144                  if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
18145                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
18146                    mutable_bitField0_ |= 0x00000004;
18147                  }
18148                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
18149                  break;
18150                }
18151                case 34: {
18152                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
18153                  if (((bitField0_ & 0x00000004) == 0x00000004)) {
18154                    subBuilder = underlyingType_.toBuilder();
18155                  }
18156                  underlyingType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
18157                  if (subBuilder != null) {
18158                    subBuilder.mergeFrom(underlyingType_);
18159                    underlyingType_ = subBuilder.buildPartial();
18160                  }
18161                  bitField0_ |= 0x00000004;
18162                  break;
18163                }
18164                case 40: {
18165                  bitField0_ |= 0x00000008;
18166                  underlyingTypeId_ = input.readInt32();
18167                  break;
18168                }
18169                case 50: {
18170                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
18171                  if (((bitField0_ & 0x00000010) == 0x00000010)) {
18172                    subBuilder = expandedType_.toBuilder();
18173                  }
18174                  expandedType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
18175                  if (subBuilder != null) {
18176                    subBuilder.mergeFrom(expandedType_);
18177                    expandedType_ = subBuilder.buildPartial();
18178                  }
18179                  bitField0_ |= 0x00000010;
18180                  break;
18181                }
18182                case 56: {
18183                  bitField0_ |= 0x00000020;
18184                  expandedTypeId_ = input.readInt32();
18185                  break;
18186                }
18187                case 66: {
18188                  if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
18189                    annotation_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation>();
18190                    mutable_bitField0_ |= 0x00000080;
18191                  }
18192                  annotation_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.PARSER, extensionRegistry));
18193                  break;
18194                }
18195                case 248: {
18196                  bitField0_ |= 0x00000040;
18197                  sinceKotlinInfo_ = input.readInt32();
18198                  break;
18199                }
18200              }
18201            }
18202          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
18203            throw e.setUnfinishedMessage(this);
18204          } catch (java.io.IOException e) {
18205            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
18206                e.getMessage()).setUnfinishedMessage(this);
18207          } finally {
18208            if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
18209              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
18210            }
18211            if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
18212              annotation_ = java.util.Collections.unmodifiableList(annotation_);
18213            }
18214            try {
18215              unknownFieldsCodedOutput.flush();
18216            } catch (java.io.IOException e) {
18217            // Should not happen
18218            } finally {
18219              unknownFields = unknownFieldsOutput.toByteString();
18220            }
18221            makeExtensionsImmutable();
18222          }
18223        }
18224        public static org.jetbrains.kotlin.protobuf.Parser<TypeAlias> PARSER =
18225            new org.jetbrains.kotlin.protobuf.AbstractParser<TypeAlias>() {
18226          public TypeAlias parsePartialFrom(
18227              org.jetbrains.kotlin.protobuf.CodedInputStream input,
18228              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
18229              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
18230            return new TypeAlias(input, extensionRegistry);
18231          }
18232        };
18233    
18234        @java.lang.Override
18235        public org.jetbrains.kotlin.protobuf.Parser<TypeAlias> getParserForType() {
18236          return PARSER;
18237        }
18238    
18239        private int bitField0_;
18240        public static final int FLAGS_FIELD_NUMBER = 1;
18241        private int flags_;
18242        /**
18243         * <code>optional int32 flags = 1 [default = 6];</code>
18244         *
18245         * <pre>
18246         *hasAnnotations
18247         *Visibility
18248         * </pre>
18249         */
18250        public boolean hasFlags() {
18251          return ((bitField0_ & 0x00000001) == 0x00000001);
18252        }
18253        /**
18254         * <code>optional int32 flags = 1 [default = 6];</code>
18255         *
18256         * <pre>
18257         *hasAnnotations
18258         *Visibility
18259         * </pre>
18260         */
18261        public int getFlags() {
18262          return flags_;
18263        }
18264    
18265        public static final int NAME_FIELD_NUMBER = 2;
18266        private int name_;
18267        /**
18268         * <code>required int32 name = 2;</code>
18269         */
18270        public boolean hasName() {
18271          return ((bitField0_ & 0x00000002) == 0x00000002);
18272        }
18273        /**
18274         * <code>required int32 name = 2;</code>
18275         */
18276        public int getName() {
18277          return name_;
18278        }
18279    
18280        public static final int TYPE_PARAMETER_FIELD_NUMBER = 3;
18281        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
18282        /**
18283         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 3;</code>
18284         */
18285        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
18286          return typeParameter_;
18287        }
18288        /**
18289         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 3;</code>
18290         */
18291        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
18292            getTypeParameterOrBuilderList() {
18293          return typeParameter_;
18294        }
18295        /**
18296         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 3;</code>
18297         */
18298        public int getTypeParameterCount() {
18299          return typeParameter_.size();
18300        }
18301        /**
18302         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 3;</code>
18303         */
18304        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
18305          return typeParameter_.get(index);
18306        }
18307        /**
18308         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 3;</code>
18309         */
18310        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
18311            int index) {
18312          return typeParameter_.get(index);
18313        }
18314    
18315        public static final int UNDERLYING_TYPE_FIELD_NUMBER = 4;
18316        private org.jetbrains.kotlin.serialization.ProtoBuf.Type underlyingType_;
18317        /**
18318         * <code>optional .org.jetbrains.kotlin.serialization.Type underlying_type = 4;</code>
18319         */
18320        public boolean hasUnderlyingType() {
18321          return ((bitField0_ & 0x00000004) == 0x00000004);
18322        }
18323        /**
18324         * <code>optional .org.jetbrains.kotlin.serialization.Type underlying_type = 4;</code>
18325         */
18326        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getUnderlyingType() {
18327          return underlyingType_;
18328        }
18329    
18330        public static final int UNDERLYING_TYPE_ID_FIELD_NUMBER = 5;
18331        private int underlyingTypeId_;
18332        /**
18333         * <code>optional int32 underlying_type_id = 5;</code>
18334         */
18335        public boolean hasUnderlyingTypeId() {
18336          return ((bitField0_ & 0x00000008) == 0x00000008);
18337        }
18338        /**
18339         * <code>optional int32 underlying_type_id = 5;</code>
18340         */
18341        public int getUnderlyingTypeId() {
18342          return underlyingTypeId_;
18343        }
18344    
18345        public static final int EXPANDED_TYPE_FIELD_NUMBER = 6;
18346        private org.jetbrains.kotlin.serialization.ProtoBuf.Type expandedType_;
18347        /**
18348         * <code>optional .org.jetbrains.kotlin.serialization.Type expanded_type = 6;</code>
18349         */
18350        public boolean hasExpandedType() {
18351          return ((bitField0_ & 0x00000010) == 0x00000010);
18352        }
18353        /**
18354         * <code>optional .org.jetbrains.kotlin.serialization.Type expanded_type = 6;</code>
18355         */
18356        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getExpandedType() {
18357          return expandedType_;
18358        }
18359    
18360        public static final int EXPANDED_TYPE_ID_FIELD_NUMBER = 7;
18361        private int expandedTypeId_;
18362        /**
18363         * <code>optional int32 expanded_type_id = 7;</code>
18364         */
18365        public boolean hasExpandedTypeId() {
18366          return ((bitField0_ & 0x00000020) == 0x00000020);
18367        }
18368        /**
18369         * <code>optional int32 expanded_type_id = 7;</code>
18370         */
18371        public int getExpandedTypeId() {
18372          return expandedTypeId_;
18373        }
18374    
18375        public static final int ANNOTATION_FIELD_NUMBER = 8;
18376        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation> annotation_;
18377        /**
18378         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
18379         */
18380        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation> getAnnotationList() {
18381          return annotation_;
18382        }
18383        /**
18384         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
18385         */
18386        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.AnnotationOrBuilder> 
18387            getAnnotationOrBuilderList() {
18388          return annotation_;
18389        }
18390        /**
18391         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
18392         */
18393        public int getAnnotationCount() {
18394          return annotation_.size();
18395        }
18396        /**
18397         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
18398         */
18399        public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getAnnotation(int index) {
18400          return annotation_.get(index);
18401        }
18402        /**
18403         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
18404         */
18405        public org.jetbrains.kotlin.serialization.ProtoBuf.AnnotationOrBuilder getAnnotationOrBuilder(
18406            int index) {
18407          return annotation_.get(index);
18408        }
18409    
18410        public static final int SINCEKOTLININFO_FIELD_NUMBER = 31;
18411        private int sinceKotlinInfo_;
18412        /**
18413         * <code>optional int32 sinceKotlinInfo = 31;</code>
18414         *
18415         * <pre>
18416         * Index into the SinceKotlinInfoTable
18417         * </pre>
18418         */
18419        public boolean hasSinceKotlinInfo() {
18420          return ((bitField0_ & 0x00000040) == 0x00000040);
18421        }
18422        /**
18423         * <code>optional int32 sinceKotlinInfo = 31;</code>
18424         *
18425         * <pre>
18426         * Index into the SinceKotlinInfoTable
18427         * </pre>
18428         */
18429        public int getSinceKotlinInfo() {
18430          return sinceKotlinInfo_;
18431        }
18432    
18433        private void initFields() {
18434          flags_ = 6;
18435          name_ = 0;
18436          typeParameter_ = java.util.Collections.emptyList();
18437          underlyingType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
18438          underlyingTypeId_ = 0;
18439          expandedType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
18440          expandedTypeId_ = 0;
18441          annotation_ = java.util.Collections.emptyList();
18442          sinceKotlinInfo_ = 0;
18443        }
18444        private byte memoizedIsInitialized = -1;
18445        public final boolean isInitialized() {
18446          byte isInitialized = memoizedIsInitialized;
18447          if (isInitialized == 1) return true;
18448          if (isInitialized == 0) return false;
18449    
18450          if (!hasName()) {
18451            memoizedIsInitialized = 0;
18452            return false;
18453          }
18454          for (int i = 0; i < getTypeParameterCount(); i++) {
18455            if (!getTypeParameter(i).isInitialized()) {
18456              memoizedIsInitialized = 0;
18457              return false;
18458            }
18459          }
18460          if (hasUnderlyingType()) {
18461            if (!getUnderlyingType().isInitialized()) {
18462              memoizedIsInitialized = 0;
18463              return false;
18464            }
18465          }
18466          if (hasExpandedType()) {
18467            if (!getExpandedType().isInitialized()) {
18468              memoizedIsInitialized = 0;
18469              return false;
18470            }
18471          }
18472          for (int i = 0; i < getAnnotationCount(); i++) {
18473            if (!getAnnotation(i).isInitialized()) {
18474              memoizedIsInitialized = 0;
18475              return false;
18476            }
18477          }
18478          if (!extensionsAreInitialized()) {
18479            memoizedIsInitialized = 0;
18480            return false;
18481          }
18482          memoizedIsInitialized = 1;
18483          return true;
18484        }
18485    
18486        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
18487                            throws java.io.IOException {
18488          getSerializedSize();
18489          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
18490            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias>.ExtensionWriter extensionWriter =
18491              newExtensionWriter();
18492          if (((bitField0_ & 0x00000001) == 0x00000001)) {
18493            output.writeInt32(1, flags_);
18494          }
18495          if (((bitField0_ & 0x00000002) == 0x00000002)) {
18496            output.writeInt32(2, name_);
18497          }
18498          for (int i = 0; i < typeParameter_.size(); i++) {
18499            output.writeMessage(3, typeParameter_.get(i));
18500          }
18501          if (((bitField0_ & 0x00000004) == 0x00000004)) {
18502            output.writeMessage(4, underlyingType_);
18503          }
18504          if (((bitField0_ & 0x00000008) == 0x00000008)) {
18505            output.writeInt32(5, underlyingTypeId_);
18506          }
18507          if (((bitField0_ & 0x00000010) == 0x00000010)) {
18508            output.writeMessage(6, expandedType_);
18509          }
18510          if (((bitField0_ & 0x00000020) == 0x00000020)) {
18511            output.writeInt32(7, expandedTypeId_);
18512          }
18513          for (int i = 0; i < annotation_.size(); i++) {
18514            output.writeMessage(8, annotation_.get(i));
18515          }
18516          if (((bitField0_ & 0x00000040) == 0x00000040)) {
18517            output.writeInt32(31, sinceKotlinInfo_);
18518          }
18519          extensionWriter.writeUntil(200, output);
18520          output.writeRawBytes(unknownFields);
18521        }
18522    
18523        private int memoizedSerializedSize = -1;
18524        public int getSerializedSize() {
18525          int size = memoizedSerializedSize;
18526          if (size != -1) return size;
18527    
18528          size = 0;
18529          if (((bitField0_ & 0x00000001) == 0x00000001)) {
18530            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
18531              .computeInt32Size(1, flags_);
18532          }
18533          if (((bitField0_ & 0x00000002) == 0x00000002)) {
18534            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
18535              .computeInt32Size(2, name_);
18536          }
18537          for (int i = 0; i < typeParameter_.size(); i++) {
18538            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
18539              .computeMessageSize(3, typeParameter_.get(i));
18540          }
18541          if (((bitField0_ & 0x00000004) == 0x00000004)) {
18542            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
18543              .computeMessageSize(4, underlyingType_);
18544          }
18545          if (((bitField0_ & 0x00000008) == 0x00000008)) {
18546            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
18547              .computeInt32Size(5, underlyingTypeId_);
18548          }
18549          if (((bitField0_ & 0x00000010) == 0x00000010)) {
18550            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
18551              .computeMessageSize(6, expandedType_);
18552          }
18553          if (((bitField0_ & 0x00000020) == 0x00000020)) {
18554            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
18555              .computeInt32Size(7, expandedTypeId_);
18556          }
18557          for (int i = 0; i < annotation_.size(); i++) {
18558            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
18559              .computeMessageSize(8, annotation_.get(i));
18560          }
18561          if (((bitField0_ & 0x00000040) == 0x00000040)) {
18562            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
18563              .computeInt32Size(31, sinceKotlinInfo_);
18564          }
18565          size += extensionsSerializedSize();
18566          size += unknownFields.size();
18567          memoizedSerializedSize = size;
18568          return size;
18569        }
18570    
18571        private static final long serialVersionUID = 0L;
18572        @java.lang.Override
18573        protected java.lang.Object writeReplace()
18574            throws java.io.ObjectStreamException {
18575          return super.writeReplace();
18576        }
18577    
18578        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias parseFrom(
18579            org.jetbrains.kotlin.protobuf.ByteString data)
18580            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
18581          return PARSER.parseFrom(data);
18582        }
18583        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias parseFrom(
18584            org.jetbrains.kotlin.protobuf.ByteString data,
18585            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
18586            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
18587          return PARSER.parseFrom(data, extensionRegistry);
18588        }
18589        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias parseFrom(byte[] data)
18590            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
18591          return PARSER.parseFrom(data);
18592        }
18593        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias parseFrom(
18594            byte[] data,
18595            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
18596            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
18597          return PARSER.parseFrom(data, extensionRegistry);
18598        }
18599        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias parseFrom(java.io.InputStream input)
18600            throws java.io.IOException {
18601          return PARSER.parseFrom(input);
18602        }
18603        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias parseFrom(
18604            java.io.InputStream input,
18605            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
18606            throws java.io.IOException {
18607          return PARSER.parseFrom(input, extensionRegistry);
18608        }
18609        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias parseDelimitedFrom(java.io.InputStream input)
18610            throws java.io.IOException {
18611          return PARSER.parseDelimitedFrom(input);
18612        }
18613        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias parseDelimitedFrom(
18614            java.io.InputStream input,
18615            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
18616            throws java.io.IOException {
18617          return PARSER.parseDelimitedFrom(input, extensionRegistry);
18618        }
18619        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias parseFrom(
18620            org.jetbrains.kotlin.protobuf.CodedInputStream input)
18621            throws java.io.IOException {
18622          return PARSER.parseFrom(input);
18623        }
18624        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias parseFrom(
18625            org.jetbrains.kotlin.protobuf.CodedInputStream input,
18626            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
18627            throws java.io.IOException {
18628          return PARSER.parseFrom(input, extensionRegistry);
18629        }
18630    
18631        public static Builder newBuilder() { return Builder.create(); }
18632        public Builder newBuilderForType() { return newBuilder(); }
18633        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias prototype) {
18634          return newBuilder().mergeFrom(prototype);
18635        }
18636        public Builder toBuilder() { return newBuilder(this); }
18637    
18638        /**
18639         * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeAlias}
18640         */
18641        public static final class Builder extends
18642            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
18643              org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias, Builder> implements
18644            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.TypeAlias)
18645            org.jetbrains.kotlin.serialization.ProtoBuf.TypeAliasOrBuilder {
18646          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias.newBuilder()
18647          private Builder() {
18648            maybeForceBuilderInitialization();
18649          }
18650    
18651          private void maybeForceBuilderInitialization() {
18652          }
18653          private static Builder create() {
18654            return new Builder();
18655          }
18656    
18657          public Builder clear() {
18658            super.clear();
18659            flags_ = 6;
18660            bitField0_ = (bitField0_ & ~0x00000001);
18661            name_ = 0;
18662            bitField0_ = (bitField0_ & ~0x00000002);
18663            typeParameter_ = java.util.Collections.emptyList();
18664            bitField0_ = (bitField0_ & ~0x00000004);
18665            underlyingType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
18666            bitField0_ = (bitField0_ & ~0x00000008);
18667            underlyingTypeId_ = 0;
18668            bitField0_ = (bitField0_ & ~0x00000010);
18669            expandedType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
18670            bitField0_ = (bitField0_ & ~0x00000020);
18671            expandedTypeId_ = 0;
18672            bitField0_ = (bitField0_ & ~0x00000040);
18673            annotation_ = java.util.Collections.emptyList();
18674            bitField0_ = (bitField0_ & ~0x00000080);
18675            sinceKotlinInfo_ = 0;
18676            bitField0_ = (bitField0_ & ~0x00000100);
18677            return this;
18678          }
18679    
18680          public Builder clone() {
18681            return create().mergeFrom(buildPartial());
18682          }
18683    
18684          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias getDefaultInstanceForType() {
18685            return org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias.getDefaultInstance();
18686          }
18687    
18688          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias build() {
18689            org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias result = buildPartial();
18690            if (!result.isInitialized()) {
18691              throw newUninitializedMessageException(result);
18692            }
18693            return result;
18694          }
18695    
18696          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias buildPartial() {
18697            org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias result = new org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias(this);
18698            int from_bitField0_ = bitField0_;
18699            int to_bitField0_ = 0;
18700            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
18701              to_bitField0_ |= 0x00000001;
18702            }
18703            result.flags_ = flags_;
18704            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
18705              to_bitField0_ |= 0x00000002;
18706            }
18707            result.name_ = name_;
18708            if (((bitField0_ & 0x00000004) == 0x00000004)) {
18709              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
18710              bitField0_ = (bitField0_ & ~0x00000004);
18711            }
18712            result.typeParameter_ = typeParameter_;
18713            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
18714              to_bitField0_ |= 0x00000004;
18715            }
18716            result.underlyingType_ = underlyingType_;
18717            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
18718              to_bitField0_ |= 0x00000008;
18719            }
18720            result.underlyingTypeId_ = underlyingTypeId_;
18721            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
18722              to_bitField0_ |= 0x00000010;
18723            }
18724            result.expandedType_ = expandedType_;
18725            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
18726              to_bitField0_ |= 0x00000020;
18727            }
18728            result.expandedTypeId_ = expandedTypeId_;
18729            if (((bitField0_ & 0x00000080) == 0x00000080)) {
18730              annotation_ = java.util.Collections.unmodifiableList(annotation_);
18731              bitField0_ = (bitField0_ & ~0x00000080);
18732            }
18733            result.annotation_ = annotation_;
18734            if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
18735              to_bitField0_ |= 0x00000040;
18736            }
18737            result.sinceKotlinInfo_ = sinceKotlinInfo_;
18738            result.bitField0_ = to_bitField0_;
18739            return result;
18740          }
18741    
18742          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias other) {
18743            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias.getDefaultInstance()) return this;
18744            if (other.hasFlags()) {
18745              setFlags(other.getFlags());
18746            }
18747            if (other.hasName()) {
18748              setName(other.getName());
18749            }
18750            if (!other.typeParameter_.isEmpty()) {
18751              if (typeParameter_.isEmpty()) {
18752                typeParameter_ = other.typeParameter_;
18753                bitField0_ = (bitField0_ & ~0x00000004);
18754              } else {
18755                ensureTypeParameterIsMutable();
18756                typeParameter_.addAll(other.typeParameter_);
18757              }
18758              
18759            }
18760            if (other.hasUnderlyingType()) {
18761              mergeUnderlyingType(other.getUnderlyingType());
18762            }
18763            if (other.hasUnderlyingTypeId()) {
18764              setUnderlyingTypeId(other.getUnderlyingTypeId());
18765            }
18766            if (other.hasExpandedType()) {
18767              mergeExpandedType(other.getExpandedType());
18768            }
18769            if (other.hasExpandedTypeId()) {
18770              setExpandedTypeId(other.getExpandedTypeId());
18771            }
18772            if (!other.annotation_.isEmpty()) {
18773              if (annotation_.isEmpty()) {
18774                annotation_ = other.annotation_;
18775                bitField0_ = (bitField0_ & ~0x00000080);
18776              } else {
18777                ensureAnnotationIsMutable();
18778                annotation_.addAll(other.annotation_);
18779              }
18780              
18781            }
18782            if (other.hasSinceKotlinInfo()) {
18783              setSinceKotlinInfo(other.getSinceKotlinInfo());
18784            }
18785            this.mergeExtensionFields(other);
18786            setUnknownFields(
18787                getUnknownFields().concat(other.unknownFields));
18788            return this;
18789          }
18790    
18791          public final boolean isInitialized() {
18792            if (!hasName()) {
18793              
18794              return false;
18795            }
18796            for (int i = 0; i < getTypeParameterCount(); i++) {
18797              if (!getTypeParameter(i).isInitialized()) {
18798                
18799                return false;
18800              }
18801            }
18802            if (hasUnderlyingType()) {
18803              if (!getUnderlyingType().isInitialized()) {
18804                
18805                return false;
18806              }
18807            }
18808            if (hasExpandedType()) {
18809              if (!getExpandedType().isInitialized()) {
18810                
18811                return false;
18812              }
18813            }
18814            for (int i = 0; i < getAnnotationCount(); i++) {
18815              if (!getAnnotation(i).isInitialized()) {
18816                
18817                return false;
18818              }
18819            }
18820            if (!extensionsAreInitialized()) {
18821              
18822              return false;
18823            }
18824            return true;
18825          }
18826    
18827          public Builder mergeFrom(
18828              org.jetbrains.kotlin.protobuf.CodedInputStream input,
18829              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
18830              throws java.io.IOException {
18831            org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias parsedMessage = null;
18832            try {
18833              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
18834            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
18835              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.TypeAlias) e.getUnfinishedMessage();
18836              throw e;
18837            } finally {
18838              if (parsedMessage != null) {
18839                mergeFrom(parsedMessage);
18840              }
18841            }
18842            return this;
18843          }
18844          private int bitField0_;
18845    
18846          private int flags_ = 6;
18847          /**
18848           * <code>optional int32 flags = 1 [default = 6];</code>
18849           *
18850           * <pre>
18851           *hasAnnotations
18852           *Visibility
18853           * </pre>
18854           */
18855          public boolean hasFlags() {
18856            return ((bitField0_ & 0x00000001) == 0x00000001);
18857          }
18858          /**
18859           * <code>optional int32 flags = 1 [default = 6];</code>
18860           *
18861           * <pre>
18862           *hasAnnotations
18863           *Visibility
18864           * </pre>
18865           */
18866          public int getFlags() {
18867            return flags_;
18868          }
18869          /**
18870           * <code>optional int32 flags = 1 [default = 6];</code>
18871           *
18872           * <pre>
18873           *hasAnnotations
18874           *Visibility
18875           * </pre>
18876           */
18877          public Builder setFlags(int value) {
18878            bitField0_ |= 0x00000001;
18879            flags_ = value;
18880            
18881            return this;
18882          }
18883          /**
18884           * <code>optional int32 flags = 1 [default = 6];</code>
18885           *
18886           * <pre>
18887           *hasAnnotations
18888           *Visibility
18889           * </pre>
18890           */
18891          public Builder clearFlags() {
18892            bitField0_ = (bitField0_ & ~0x00000001);
18893            flags_ = 6;
18894            
18895            return this;
18896          }
18897    
18898          private int name_ ;
18899          /**
18900           * <code>required int32 name = 2;</code>
18901           */
18902          public boolean hasName() {
18903            return ((bitField0_ & 0x00000002) == 0x00000002);
18904          }
18905          /**
18906           * <code>required int32 name = 2;</code>
18907           */
18908          public int getName() {
18909            return name_;
18910          }
18911          /**
18912           * <code>required int32 name = 2;</code>
18913           */
18914          public Builder setName(int value) {
18915            bitField0_ |= 0x00000002;
18916            name_ = value;
18917            
18918            return this;
18919          }
18920          /**
18921           * <code>required int32 name = 2;</code>
18922           */
18923          public Builder clearName() {
18924            bitField0_ = (bitField0_ & ~0x00000002);
18925            name_ = 0;
18926            
18927            return this;
18928          }
18929    
18930          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
18931            java.util.Collections.emptyList();
18932          private void ensureTypeParameterIsMutable() {
18933            if (!((bitField0_ & 0x00000004) == 0x00000004)) {
18934              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
18935              bitField0_ |= 0x00000004;
18936             }
18937          }
18938    
18939          /**
18940           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 3;</code>
18941           */
18942          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
18943            return java.util.Collections.unmodifiableList(typeParameter_);
18944          }
18945          /**
18946           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 3;</code>
18947           */
18948          public int getTypeParameterCount() {
18949            return typeParameter_.size();
18950          }
18951          /**
18952           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 3;</code>
18953           */
18954          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
18955            return typeParameter_.get(index);
18956          }
18957          /**
18958           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 3;</code>
18959           */
18960          public Builder setTypeParameter(
18961              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
18962            if (value == null) {
18963              throw new NullPointerException();
18964            }
18965            ensureTypeParameterIsMutable();
18966            typeParameter_.set(index, value);
18967    
18968            return this;
18969          }
18970          /**
18971           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 3;</code>
18972           */
18973          public Builder setTypeParameter(
18974              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
18975            ensureTypeParameterIsMutable();
18976            typeParameter_.set(index, builderForValue.build());
18977    
18978            return this;
18979          }
18980          /**
18981           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 3;</code>
18982           */
18983          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
18984            if (value == null) {
18985              throw new NullPointerException();
18986            }
18987            ensureTypeParameterIsMutable();
18988            typeParameter_.add(value);
18989    
18990            return this;
18991          }
18992          /**
18993           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 3;</code>
18994           */
18995          public Builder addTypeParameter(
18996              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
18997            if (value == null) {
18998              throw new NullPointerException();
18999            }
19000            ensureTypeParameterIsMutable();
19001            typeParameter_.add(index, value);
19002    
19003            return this;
19004          }
19005          /**
19006           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 3;</code>
19007           */
19008          public Builder addTypeParameter(
19009              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
19010            ensureTypeParameterIsMutable();
19011            typeParameter_.add(builderForValue.build());
19012    
19013            return this;
19014          }
19015          /**
19016           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 3;</code>
19017           */
19018          public Builder addTypeParameter(
19019              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
19020            ensureTypeParameterIsMutable();
19021            typeParameter_.add(index, builderForValue.build());
19022    
19023            return this;
19024          }
19025          /**
19026           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 3;</code>
19027           */
19028          public Builder addAllTypeParameter(
19029              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
19030            ensureTypeParameterIsMutable();
19031            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
19032                values, typeParameter_);
19033    
19034            return this;
19035          }
19036          /**
19037           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 3;</code>
19038           */
19039          public Builder clearTypeParameter() {
19040            typeParameter_ = java.util.Collections.emptyList();
19041            bitField0_ = (bitField0_ & ~0x00000004);
19042    
19043            return this;
19044          }
19045          /**
19046           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 3;</code>
19047           */
19048          public Builder removeTypeParameter(int index) {
19049            ensureTypeParameterIsMutable();
19050            typeParameter_.remove(index);
19051    
19052            return this;
19053          }
19054    
19055          private org.jetbrains.kotlin.serialization.ProtoBuf.Type underlyingType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
19056          /**
19057           * <code>optional .org.jetbrains.kotlin.serialization.Type underlying_type = 4;</code>
19058           */
19059          public boolean hasUnderlyingType() {
19060            return ((bitField0_ & 0x00000008) == 0x00000008);
19061          }
19062          /**
19063           * <code>optional .org.jetbrains.kotlin.serialization.Type underlying_type = 4;</code>
19064           */
19065          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getUnderlyingType() {
19066            return underlyingType_;
19067          }
19068          /**
19069           * <code>optional .org.jetbrains.kotlin.serialization.Type underlying_type = 4;</code>
19070           */
19071          public Builder setUnderlyingType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
19072            if (value == null) {
19073              throw new NullPointerException();
19074            }
19075            underlyingType_ = value;
19076    
19077            bitField0_ |= 0x00000008;
19078            return this;
19079          }
19080          /**
19081           * <code>optional .org.jetbrains.kotlin.serialization.Type underlying_type = 4;</code>
19082           */
19083          public Builder setUnderlyingType(
19084              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
19085            underlyingType_ = builderForValue.build();
19086    
19087            bitField0_ |= 0x00000008;
19088            return this;
19089          }
19090          /**
19091           * <code>optional .org.jetbrains.kotlin.serialization.Type underlying_type = 4;</code>
19092           */
19093          public Builder mergeUnderlyingType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
19094            if (((bitField0_ & 0x00000008) == 0x00000008) &&
19095                underlyingType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
19096              underlyingType_ =
19097                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(underlyingType_).mergeFrom(value).buildPartial();
19098            } else {
19099              underlyingType_ = value;
19100            }
19101    
19102            bitField0_ |= 0x00000008;
19103            return this;
19104          }
19105          /**
19106           * <code>optional .org.jetbrains.kotlin.serialization.Type underlying_type = 4;</code>
19107           */
19108          public Builder clearUnderlyingType() {
19109            underlyingType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
19110    
19111            bitField0_ = (bitField0_ & ~0x00000008);
19112            return this;
19113          }
19114    
19115          private int underlyingTypeId_ ;
19116          /**
19117           * <code>optional int32 underlying_type_id = 5;</code>
19118           */
19119          public boolean hasUnderlyingTypeId() {
19120            return ((bitField0_ & 0x00000010) == 0x00000010);
19121          }
19122          /**
19123           * <code>optional int32 underlying_type_id = 5;</code>
19124           */
19125          public int getUnderlyingTypeId() {
19126            return underlyingTypeId_;
19127          }
19128          /**
19129           * <code>optional int32 underlying_type_id = 5;</code>
19130           */
19131          public Builder setUnderlyingTypeId(int value) {
19132            bitField0_ |= 0x00000010;
19133            underlyingTypeId_ = value;
19134            
19135            return this;
19136          }
19137          /**
19138           * <code>optional int32 underlying_type_id = 5;</code>
19139           */
19140          public Builder clearUnderlyingTypeId() {
19141            bitField0_ = (bitField0_ & ~0x00000010);
19142            underlyingTypeId_ = 0;
19143            
19144            return this;
19145          }
19146    
19147          private org.jetbrains.kotlin.serialization.ProtoBuf.Type expandedType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
19148          /**
19149           * <code>optional .org.jetbrains.kotlin.serialization.Type expanded_type = 6;</code>
19150           */
19151          public boolean hasExpandedType() {
19152            return ((bitField0_ & 0x00000020) == 0x00000020);
19153          }
19154          /**
19155           * <code>optional .org.jetbrains.kotlin.serialization.Type expanded_type = 6;</code>
19156           */
19157          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getExpandedType() {
19158            return expandedType_;
19159          }
19160          /**
19161           * <code>optional .org.jetbrains.kotlin.serialization.Type expanded_type = 6;</code>
19162           */
19163          public Builder setExpandedType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
19164            if (value == null) {
19165              throw new NullPointerException();
19166            }
19167            expandedType_ = value;
19168    
19169            bitField0_ |= 0x00000020;
19170            return this;
19171          }
19172          /**
19173           * <code>optional .org.jetbrains.kotlin.serialization.Type expanded_type = 6;</code>
19174           */
19175          public Builder setExpandedType(
19176              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
19177            expandedType_ = builderForValue.build();
19178    
19179            bitField0_ |= 0x00000020;
19180            return this;
19181          }
19182          /**
19183           * <code>optional .org.jetbrains.kotlin.serialization.Type expanded_type = 6;</code>
19184           */
19185          public Builder mergeExpandedType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
19186            if (((bitField0_ & 0x00000020) == 0x00000020) &&
19187                expandedType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
19188              expandedType_ =
19189                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(expandedType_).mergeFrom(value).buildPartial();
19190            } else {
19191              expandedType_ = value;
19192            }
19193    
19194            bitField0_ |= 0x00000020;
19195            return this;
19196          }
19197          /**
19198           * <code>optional .org.jetbrains.kotlin.serialization.Type expanded_type = 6;</code>
19199           */
19200          public Builder clearExpandedType() {
19201            expandedType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
19202    
19203            bitField0_ = (bitField0_ & ~0x00000020);
19204            return this;
19205          }
19206    
19207          private int expandedTypeId_ ;
19208          /**
19209           * <code>optional int32 expanded_type_id = 7;</code>
19210           */
19211          public boolean hasExpandedTypeId() {
19212            return ((bitField0_ & 0x00000040) == 0x00000040);
19213          }
19214          /**
19215           * <code>optional int32 expanded_type_id = 7;</code>
19216           */
19217          public int getExpandedTypeId() {
19218            return expandedTypeId_;
19219          }
19220          /**
19221           * <code>optional int32 expanded_type_id = 7;</code>
19222           */
19223          public Builder setExpandedTypeId(int value) {
19224            bitField0_ |= 0x00000040;
19225            expandedTypeId_ = value;
19226            
19227            return this;
19228          }
19229          /**
19230           * <code>optional int32 expanded_type_id = 7;</code>
19231           */
19232          public Builder clearExpandedTypeId() {
19233            bitField0_ = (bitField0_ & ~0x00000040);
19234            expandedTypeId_ = 0;
19235            
19236            return this;
19237          }
19238    
19239          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation> annotation_ =
19240            java.util.Collections.emptyList();
19241          private void ensureAnnotationIsMutable() {
19242            if (!((bitField0_ & 0x00000080) == 0x00000080)) {
19243              annotation_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation>(annotation_);
19244              bitField0_ |= 0x00000080;
19245             }
19246          }
19247    
19248          /**
19249           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
19250           */
19251          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation> getAnnotationList() {
19252            return java.util.Collections.unmodifiableList(annotation_);
19253          }
19254          /**
19255           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
19256           */
19257          public int getAnnotationCount() {
19258            return annotation_.size();
19259          }
19260          /**
19261           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
19262           */
19263          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getAnnotation(int index) {
19264            return annotation_.get(index);
19265          }
19266          /**
19267           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
19268           */
19269          public Builder setAnnotation(
19270              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation value) {
19271            if (value == null) {
19272              throw new NullPointerException();
19273            }
19274            ensureAnnotationIsMutable();
19275            annotation_.set(index, value);
19276    
19277            return this;
19278          }
19279          /**
19280           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
19281           */
19282          public Builder setAnnotation(
19283              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Builder builderForValue) {
19284            ensureAnnotationIsMutable();
19285            annotation_.set(index, builderForValue.build());
19286    
19287            return this;
19288          }
19289          /**
19290           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
19291           */
19292          public Builder addAnnotation(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation value) {
19293            if (value == null) {
19294              throw new NullPointerException();
19295            }
19296            ensureAnnotationIsMutable();
19297            annotation_.add(value);
19298    
19299            return this;
19300          }
19301          /**
19302           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
19303           */
19304          public Builder addAnnotation(
19305              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation value) {
19306            if (value == null) {
19307              throw new NullPointerException();
19308            }
19309            ensureAnnotationIsMutable();
19310            annotation_.add(index, value);
19311    
19312            return this;
19313          }
19314          /**
19315           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
19316           */
19317          public Builder addAnnotation(
19318              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Builder builderForValue) {
19319            ensureAnnotationIsMutable();
19320            annotation_.add(builderForValue.build());
19321    
19322            return this;
19323          }
19324          /**
19325           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
19326           */
19327          public Builder addAnnotation(
19328              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Builder builderForValue) {
19329            ensureAnnotationIsMutable();
19330            annotation_.add(index, builderForValue.build());
19331    
19332            return this;
19333          }
19334          /**
19335           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
19336           */
19337          public Builder addAllAnnotation(
19338              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Annotation> values) {
19339            ensureAnnotationIsMutable();
19340            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
19341                values, annotation_);
19342    
19343            return this;
19344          }
19345          /**
19346           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
19347           */
19348          public Builder clearAnnotation() {
19349            annotation_ = java.util.Collections.emptyList();
19350            bitField0_ = (bitField0_ & ~0x00000080);
19351    
19352            return this;
19353          }
19354          /**
19355           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
19356           */
19357          public Builder removeAnnotation(int index) {
19358            ensureAnnotationIsMutable();
19359            annotation_.remove(index);
19360    
19361            return this;
19362          }
19363    
19364          private int sinceKotlinInfo_ ;
19365          /**
19366           * <code>optional int32 sinceKotlinInfo = 31;</code>
19367           *
19368           * <pre>
19369           * Index into the SinceKotlinInfoTable
19370           * </pre>
19371           */
19372          public boolean hasSinceKotlinInfo() {
19373            return ((bitField0_ & 0x00000100) == 0x00000100);
19374          }
19375          /**
19376           * <code>optional int32 sinceKotlinInfo = 31;</code>
19377           *
19378           * <pre>
19379           * Index into the SinceKotlinInfoTable
19380           * </pre>
19381           */
19382          public int getSinceKotlinInfo() {
19383            return sinceKotlinInfo_;
19384          }
19385          /**
19386           * <code>optional int32 sinceKotlinInfo = 31;</code>
19387           *
19388           * <pre>
19389           * Index into the SinceKotlinInfoTable
19390           * </pre>
19391           */
19392          public Builder setSinceKotlinInfo(int value) {
19393            bitField0_ |= 0x00000100;
19394            sinceKotlinInfo_ = value;
19395            
19396            return this;
19397          }
19398          /**
19399           * <code>optional int32 sinceKotlinInfo = 31;</code>
19400           *
19401           * <pre>
19402           * Index into the SinceKotlinInfoTable
19403           * </pre>
19404           */
19405          public Builder clearSinceKotlinInfo() {
19406            bitField0_ = (bitField0_ & ~0x00000100);
19407            sinceKotlinInfo_ = 0;
19408            
19409            return this;
19410          }
19411    
19412          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.TypeAlias)
19413        }
19414    
19415        static {
19416          defaultInstance = new TypeAlias(true);
19417          defaultInstance.initFields();
19418        }
19419    
19420        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.TypeAlias)
19421      }
19422    
19423      public interface EnumEntryOrBuilder extends 
19424          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.EnumEntry)
19425           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
19426                ExtendableMessageOrBuilder<EnumEntry> {
19427    
19428        /**
19429         * <code>optional int32 name = 1;</code>
19430         */
19431        boolean hasName();
19432        /**
19433         * <code>optional int32 name = 1;</code>
19434         */
19435        int getName();
19436      }
19437      /**
19438       * Protobuf type {@code org.jetbrains.kotlin.serialization.EnumEntry}
19439       */
19440      public static final class EnumEntry extends
19441          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
19442            EnumEntry> implements
19443          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.EnumEntry)
19444          EnumEntryOrBuilder {
19445        // Use EnumEntry.newBuilder() to construct.
19446        private EnumEntry(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry, ?> builder) {
19447          super(builder);
19448          this.unknownFields = builder.getUnknownFields();
19449        }
19450        private EnumEntry(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
19451    
19452        private static final EnumEntry defaultInstance;
19453        public static EnumEntry getDefaultInstance() {
19454          return defaultInstance;
19455        }
19456    
19457        public EnumEntry getDefaultInstanceForType() {
19458          return defaultInstance;
19459        }
19460    
19461        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
19462        private EnumEntry(
19463            org.jetbrains.kotlin.protobuf.CodedInputStream input,
19464            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
19465            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
19466          initFields();
19467          int mutable_bitField0_ = 0;
19468          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
19469              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
19470          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
19471              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
19472                  unknownFieldsOutput);
19473          try {
19474            boolean done = false;
19475            while (!done) {
19476              int tag = input.readTag();
19477              switch (tag) {
19478                case 0:
19479                  done = true;
19480                  break;
19481                default: {
19482                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
19483                                         extensionRegistry, tag)) {
19484                    done = true;
19485                  }
19486                  break;
19487                }
19488                case 8: {
19489                  bitField0_ |= 0x00000001;
19490                  name_ = input.readInt32();
19491                  break;
19492                }
19493              }
19494            }
19495          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
19496            throw e.setUnfinishedMessage(this);
19497          } catch (java.io.IOException e) {
19498            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
19499                e.getMessage()).setUnfinishedMessage(this);
19500          } finally {
19501            try {
19502              unknownFieldsCodedOutput.flush();
19503            } catch (java.io.IOException e) {
19504            // Should not happen
19505            } finally {
19506              unknownFields = unknownFieldsOutput.toByteString();
19507            }
19508            makeExtensionsImmutable();
19509          }
19510        }
19511        public static org.jetbrains.kotlin.protobuf.Parser<EnumEntry> PARSER =
19512            new org.jetbrains.kotlin.protobuf.AbstractParser<EnumEntry>() {
19513          public EnumEntry parsePartialFrom(
19514              org.jetbrains.kotlin.protobuf.CodedInputStream input,
19515              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
19516              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
19517            return new EnumEntry(input, extensionRegistry);
19518          }
19519        };
19520    
19521        @java.lang.Override
19522        public org.jetbrains.kotlin.protobuf.Parser<EnumEntry> getParserForType() {
19523          return PARSER;
19524        }
19525    
19526        private int bitField0_;
19527        public static final int NAME_FIELD_NUMBER = 1;
19528        private int name_;
19529        /**
19530         * <code>optional int32 name = 1;</code>
19531         */
19532        public boolean hasName() {
19533          return ((bitField0_ & 0x00000001) == 0x00000001);
19534        }
19535        /**
19536         * <code>optional int32 name = 1;</code>
19537         */
19538        public int getName() {
19539          return name_;
19540        }
19541    
19542        private void initFields() {
19543          name_ = 0;
19544        }
19545        private byte memoizedIsInitialized = -1;
19546        public final boolean isInitialized() {
19547          byte isInitialized = memoizedIsInitialized;
19548          if (isInitialized == 1) return true;
19549          if (isInitialized == 0) return false;
19550    
19551          if (!extensionsAreInitialized()) {
19552            memoizedIsInitialized = 0;
19553            return false;
19554          }
19555          memoizedIsInitialized = 1;
19556          return true;
19557        }
19558    
19559        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
19560                            throws java.io.IOException {
19561          getSerializedSize();
19562          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
19563            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry>.ExtensionWriter extensionWriter =
19564              newExtensionWriter();
19565          if (((bitField0_ & 0x00000001) == 0x00000001)) {
19566            output.writeInt32(1, name_);
19567          }
19568          extensionWriter.writeUntil(200, output);
19569          output.writeRawBytes(unknownFields);
19570        }
19571    
19572        private int memoizedSerializedSize = -1;
19573        public int getSerializedSize() {
19574          int size = memoizedSerializedSize;
19575          if (size != -1) return size;
19576    
19577          size = 0;
19578          if (((bitField0_ & 0x00000001) == 0x00000001)) {
19579            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
19580              .computeInt32Size(1, name_);
19581          }
19582          size += extensionsSerializedSize();
19583          size += unknownFields.size();
19584          memoizedSerializedSize = size;
19585          return size;
19586        }
19587    
19588        private static final long serialVersionUID = 0L;
19589        @java.lang.Override
19590        protected java.lang.Object writeReplace()
19591            throws java.io.ObjectStreamException {
19592          return super.writeReplace();
19593        }
19594    
19595        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
19596            org.jetbrains.kotlin.protobuf.ByteString data)
19597            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
19598          return PARSER.parseFrom(data);
19599        }
19600        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
19601            org.jetbrains.kotlin.protobuf.ByteString data,
19602            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
19603            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
19604          return PARSER.parseFrom(data, extensionRegistry);
19605        }
19606        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(byte[] data)
19607            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
19608          return PARSER.parseFrom(data);
19609        }
19610        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
19611            byte[] data,
19612            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
19613            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
19614          return PARSER.parseFrom(data, extensionRegistry);
19615        }
19616        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(java.io.InputStream input)
19617            throws java.io.IOException {
19618          return PARSER.parseFrom(input);
19619        }
19620        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
19621            java.io.InputStream input,
19622            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
19623            throws java.io.IOException {
19624          return PARSER.parseFrom(input, extensionRegistry);
19625        }
19626        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseDelimitedFrom(java.io.InputStream input)
19627            throws java.io.IOException {
19628          return PARSER.parseDelimitedFrom(input);
19629        }
19630        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseDelimitedFrom(
19631            java.io.InputStream input,
19632            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
19633            throws java.io.IOException {
19634          return PARSER.parseDelimitedFrom(input, extensionRegistry);
19635        }
19636        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
19637            org.jetbrains.kotlin.protobuf.CodedInputStream input)
19638            throws java.io.IOException {
19639          return PARSER.parseFrom(input);
19640        }
19641        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
19642            org.jetbrains.kotlin.protobuf.CodedInputStream input,
19643            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
19644            throws java.io.IOException {
19645          return PARSER.parseFrom(input, extensionRegistry);
19646        }
19647    
19648        public static Builder newBuilder() { return Builder.create(); }
19649        public Builder newBuilderForType() { return newBuilder(); }
19650        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry prototype) {
19651          return newBuilder().mergeFrom(prototype);
19652        }
19653        public Builder toBuilder() { return newBuilder(this); }
19654    
19655        /**
19656         * Protobuf type {@code org.jetbrains.kotlin.serialization.EnumEntry}
19657         */
19658        public static final class Builder extends
19659            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
19660              org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry, Builder> implements
19661            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.EnumEntry)
19662            org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntryOrBuilder {
19663          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.newBuilder()
19664          private Builder() {
19665            maybeForceBuilderInitialization();
19666          }
19667    
19668          private void maybeForceBuilderInitialization() {
19669          }
19670          private static Builder create() {
19671            return new Builder();
19672          }
19673    
19674          public Builder clear() {
19675            super.clear();
19676            name_ = 0;
19677            bitField0_ = (bitField0_ & ~0x00000001);
19678            return this;
19679          }
19680    
19681          public Builder clone() {
19682            return create().mergeFrom(buildPartial());
19683          }
19684    
19685          public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry getDefaultInstanceForType() {
19686            return org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.getDefaultInstance();
19687          }
19688    
19689          public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry build() {
19690            org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry result = buildPartial();
19691            if (!result.isInitialized()) {
19692              throw newUninitializedMessageException(result);
19693            }
19694            return result;
19695          }
19696    
19697          public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry buildPartial() {
19698            org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry result = new org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry(this);
19699            int from_bitField0_ = bitField0_;
19700            int to_bitField0_ = 0;
19701            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
19702              to_bitField0_ |= 0x00000001;
19703            }
19704            result.name_ = name_;
19705            result.bitField0_ = to_bitField0_;
19706            return result;
19707          }
19708    
19709          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry other) {
19710            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.getDefaultInstance()) return this;
19711            if (other.hasName()) {
19712              setName(other.getName());
19713            }
19714            this.mergeExtensionFields(other);
19715            setUnknownFields(
19716                getUnknownFields().concat(other.unknownFields));
19717            return this;
19718          }
19719    
19720          public final boolean isInitialized() {
19721            if (!extensionsAreInitialized()) {
19722              
19723              return false;
19724            }
19725            return true;
19726          }
19727    
19728          public Builder mergeFrom(
19729              org.jetbrains.kotlin.protobuf.CodedInputStream input,
19730              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
19731              throws java.io.IOException {
19732            org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parsedMessage = null;
19733            try {
19734              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
19735            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
19736              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry) e.getUnfinishedMessage();
19737              throw e;
19738            } finally {
19739              if (parsedMessage != null) {
19740                mergeFrom(parsedMessage);
19741              }
19742            }
19743            return this;
19744          }
19745          private int bitField0_;
19746    
19747          private int name_ ;
19748          /**
19749           * <code>optional int32 name = 1;</code>
19750           */
19751          public boolean hasName() {
19752            return ((bitField0_ & 0x00000001) == 0x00000001);
19753          }
19754          /**
19755           * <code>optional int32 name = 1;</code>
19756           */
19757          public int getName() {
19758            return name_;
19759          }
19760          /**
19761           * <code>optional int32 name = 1;</code>
19762           */
19763          public Builder setName(int value) {
19764            bitField0_ |= 0x00000001;
19765            name_ = value;
19766            
19767            return this;
19768          }
19769          /**
19770           * <code>optional int32 name = 1;</code>
19771           */
19772          public Builder clearName() {
19773            bitField0_ = (bitField0_ & ~0x00000001);
19774            name_ = 0;
19775            
19776            return this;
19777          }
19778    
19779          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.EnumEntry)
19780        }
19781    
19782        static {
19783          defaultInstance = new EnumEntry(true);
19784          defaultInstance.initFields();
19785        }
19786    
19787        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.EnumEntry)
19788      }
19789    
19790      public interface SinceKotlinInfoOrBuilder extends
19791          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.SinceKotlinInfo)
19792          org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
19793    
19794        /**
19795         * <code>optional int32 version = 1;</code>
19796         *
19797         * <pre>
19798         * Kotlin version, since which this declaration is accessible, in the following format (encoded version is "major.minor.patch"):
19799         * (patch &lt;&lt; 7) + (minor &lt;&lt; 3) + major
19800         * Compilers with version less than this value should report a diagnostic if this declaration is selected as the resolution result
19801         * </pre>
19802         */
19803        boolean hasVersion();
19804        /**
19805         * <code>optional int32 version = 1;</code>
19806         *
19807         * <pre>
19808         * Kotlin version, since which this declaration is accessible, in the following format (encoded version is "major.minor.patch"):
19809         * (patch &lt;&lt; 7) + (minor &lt;&lt; 3) + major
19810         * Compilers with version less than this value should report a diagnostic if this declaration is selected as the resolution result
19811         * </pre>
19812         */
19813        int getVersion();
19814    
19815        /**
19816         * <code>optional int32 version_full = 2;</code>
19817         *
19818         * <pre>
19819         * Version in base 256, in case we run out of space to store the version in the optimized form. Has priority over 'version'.
19820         * (patch &lt;&lt; 16) + (minor &lt;&lt; 8) + major
19821         * </pre>
19822         */
19823        boolean hasVersionFull();
19824        /**
19825         * <code>optional int32 version_full = 2;</code>
19826         *
19827         * <pre>
19828         * Version in base 256, in case we run out of space to store the version in the optimized form. Has priority over 'version'.
19829         * (patch &lt;&lt; 16) + (minor &lt;&lt; 8) + major
19830         * </pre>
19831         */
19832        int getVersionFull();
19833    
19834        /**
19835         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfo.Level level = 3 [default = ERROR];</code>
19836         *
19837         * <pre>
19838         * Level of the reported diagnostic
19839         * </pre>
19840         */
19841        boolean hasLevel();
19842        /**
19843         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfo.Level level = 3 [default = ERROR];</code>
19844         *
19845         * <pre>
19846         * Level of the reported diagnostic
19847         * </pre>
19848         */
19849        org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level getLevel();
19850    
19851        /**
19852         * <code>optional int32 error_code = 4;</code>
19853         *
19854         * <pre>
19855         * Error code, to be looked up on the website
19856         * </pre>
19857         */
19858        boolean hasErrorCode();
19859        /**
19860         * <code>optional int32 error_code = 4;</code>
19861         *
19862         * <pre>
19863         * Error code, to be looked up on the website
19864         * </pre>
19865         */
19866        int getErrorCode();
19867    
19868        /**
19869         * <code>optional int32 message = 5;</code>
19870         *
19871         * <pre>
19872         * Diagnostic message
19873         * </pre>
19874         */
19875        boolean hasMessage();
19876        /**
19877         * <code>optional int32 message = 5;</code>
19878         *
19879         * <pre>
19880         * Diagnostic message
19881         * </pre>
19882         */
19883        int getMessage();
19884      }
19885      /**
19886       * Protobuf type {@code org.jetbrains.kotlin.serialization.SinceKotlinInfo}
19887       */
19888      public static final class SinceKotlinInfo extends
19889          org.jetbrains.kotlin.protobuf.GeneratedMessageLite implements
19890          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.SinceKotlinInfo)
19891          SinceKotlinInfoOrBuilder {
19892        // Use SinceKotlinInfo.newBuilder() to construct.
19893        private SinceKotlinInfo(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) {
19894          super(builder);
19895          this.unknownFields = builder.getUnknownFields();
19896        }
19897        private SinceKotlinInfo(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
19898    
19899        private static final SinceKotlinInfo defaultInstance;
19900        public static SinceKotlinInfo getDefaultInstance() {
19901          return defaultInstance;
19902        }
19903    
19904        public SinceKotlinInfo getDefaultInstanceForType() {
19905          return defaultInstance;
19906        }
19907    
19908        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
19909        private SinceKotlinInfo(
19910            org.jetbrains.kotlin.protobuf.CodedInputStream input,
19911            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
19912            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
19913          initFields();
19914          int mutable_bitField0_ = 0;
19915          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
19916              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
19917          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
19918              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
19919                  unknownFieldsOutput);
19920          try {
19921            boolean done = false;
19922            while (!done) {
19923              int tag = input.readTag();
19924              switch (tag) {
19925                case 0:
19926                  done = true;
19927                  break;
19928                default: {
19929                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
19930                                         extensionRegistry, tag)) {
19931                    done = true;
19932                  }
19933                  break;
19934                }
19935                case 8: {
19936                  bitField0_ |= 0x00000001;
19937                  version_ = input.readInt32();
19938                  break;
19939                }
19940                case 16: {
19941                  bitField0_ |= 0x00000002;
19942                  versionFull_ = input.readInt32();
19943                  break;
19944                }
19945                case 24: {
19946                  int rawValue = input.readEnum();
19947                  org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level value = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level.valueOf(rawValue);
19948                  if (value == null) {
19949                    unknownFieldsCodedOutput.writeRawVarint32(tag);
19950                    unknownFieldsCodedOutput.writeRawVarint32(rawValue);
19951                  } else {
19952                    bitField0_ |= 0x00000004;
19953                    level_ = value;
19954                  }
19955                  break;
19956                }
19957                case 32: {
19958                  bitField0_ |= 0x00000008;
19959                  errorCode_ = input.readInt32();
19960                  break;
19961                }
19962                case 40: {
19963                  bitField0_ |= 0x00000010;
19964                  message_ = input.readInt32();
19965                  break;
19966                }
19967              }
19968            }
19969          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
19970            throw e.setUnfinishedMessage(this);
19971          } catch (java.io.IOException e) {
19972            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
19973                e.getMessage()).setUnfinishedMessage(this);
19974          } finally {
19975            try {
19976              unknownFieldsCodedOutput.flush();
19977            } catch (java.io.IOException e) {
19978            // Should not happen
19979            } finally {
19980              unknownFields = unknownFieldsOutput.toByteString();
19981            }
19982            makeExtensionsImmutable();
19983          }
19984        }
19985        public static org.jetbrains.kotlin.protobuf.Parser<SinceKotlinInfo> PARSER =
19986            new org.jetbrains.kotlin.protobuf.AbstractParser<SinceKotlinInfo>() {
19987          public SinceKotlinInfo parsePartialFrom(
19988              org.jetbrains.kotlin.protobuf.CodedInputStream input,
19989              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
19990              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
19991            return new SinceKotlinInfo(input, extensionRegistry);
19992          }
19993        };
19994    
19995        @java.lang.Override
19996        public org.jetbrains.kotlin.protobuf.Parser<SinceKotlinInfo> getParserForType() {
19997          return PARSER;
19998        }
19999    
20000        /**
20001         * Protobuf enum {@code org.jetbrains.kotlin.serialization.SinceKotlinInfo.Level}
20002         */
20003        public enum Level
20004            implements org.jetbrains.kotlin.protobuf.Internal.EnumLite {
20005          /**
20006           * <code>WARNING = 0;</code>
20007           */
20008          WARNING(0, 0),
20009          /**
20010           * <code>ERROR = 1;</code>
20011           */
20012          ERROR(1, 1),
20013          /**
20014           * <code>HIDDEN = 2;</code>
20015           */
20016          HIDDEN(2, 2),
20017          ;
20018    
20019          /**
20020           * <code>WARNING = 0;</code>
20021           */
20022          public static final int WARNING_VALUE = 0;
20023          /**
20024           * <code>ERROR = 1;</code>
20025           */
20026          public static final int ERROR_VALUE = 1;
20027          /**
20028           * <code>HIDDEN = 2;</code>
20029           */
20030          public static final int HIDDEN_VALUE = 2;
20031    
20032    
20033          public final int getNumber() { return value; }
20034    
20035          public static Level valueOf(int value) {
20036            switch (value) {
20037              case 0: return WARNING;
20038              case 1: return ERROR;
20039              case 2: return HIDDEN;
20040              default: return null;
20041            }
20042          }
20043    
20044          public static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Level>
20045              internalGetValueMap() {
20046            return internalValueMap;
20047          }
20048          private static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Level>
20049              internalValueMap =
20050                new org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Level>() {
20051                  public Level findValueByNumber(int number) {
20052                    return Level.valueOf(number);
20053                  }
20054                };
20055    
20056          private final int value;
20057    
20058          private Level(int index, int value) {
20059            this.value = value;
20060          }
20061    
20062          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.SinceKotlinInfo.Level)
20063        }
20064    
20065        private int bitField0_;
20066        public static final int VERSION_FIELD_NUMBER = 1;
20067        private int version_;
20068        /**
20069         * <code>optional int32 version = 1;</code>
20070         *
20071         * <pre>
20072         * Kotlin version, since which this declaration is accessible, in the following format (encoded version is "major.minor.patch"):
20073         * (patch &lt;&lt; 7) + (minor &lt;&lt; 3) + major
20074         * Compilers with version less than this value should report a diagnostic if this declaration is selected as the resolution result
20075         * </pre>
20076         */
20077        public boolean hasVersion() {
20078          return ((bitField0_ & 0x00000001) == 0x00000001);
20079        }
20080        /**
20081         * <code>optional int32 version = 1;</code>
20082         *
20083         * <pre>
20084         * Kotlin version, since which this declaration is accessible, in the following format (encoded version is "major.minor.patch"):
20085         * (patch &lt;&lt; 7) + (minor &lt;&lt; 3) + major
20086         * Compilers with version less than this value should report a diagnostic if this declaration is selected as the resolution result
20087         * </pre>
20088         */
20089        public int getVersion() {
20090          return version_;
20091        }
20092    
20093        public static final int VERSION_FULL_FIELD_NUMBER = 2;
20094        private int versionFull_;
20095        /**
20096         * <code>optional int32 version_full = 2;</code>
20097         *
20098         * <pre>
20099         * Version in base 256, in case we run out of space to store the version in the optimized form. Has priority over 'version'.
20100         * (patch &lt;&lt; 16) + (minor &lt;&lt; 8) + major
20101         * </pre>
20102         */
20103        public boolean hasVersionFull() {
20104          return ((bitField0_ & 0x00000002) == 0x00000002);
20105        }
20106        /**
20107         * <code>optional int32 version_full = 2;</code>
20108         *
20109         * <pre>
20110         * Version in base 256, in case we run out of space to store the version in the optimized form. Has priority over 'version'.
20111         * (patch &lt;&lt; 16) + (minor &lt;&lt; 8) + major
20112         * </pre>
20113         */
20114        public int getVersionFull() {
20115          return versionFull_;
20116        }
20117    
20118        public static final int LEVEL_FIELD_NUMBER = 3;
20119        private org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level level_;
20120        /**
20121         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfo.Level level = 3 [default = ERROR];</code>
20122         *
20123         * <pre>
20124         * Level of the reported diagnostic
20125         * </pre>
20126         */
20127        public boolean hasLevel() {
20128          return ((bitField0_ & 0x00000004) == 0x00000004);
20129        }
20130        /**
20131         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfo.Level level = 3 [default = ERROR];</code>
20132         *
20133         * <pre>
20134         * Level of the reported diagnostic
20135         * </pre>
20136         */
20137        public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level getLevel() {
20138          return level_;
20139        }
20140    
20141        public static final int ERROR_CODE_FIELD_NUMBER = 4;
20142        private int errorCode_;
20143        /**
20144         * <code>optional int32 error_code = 4;</code>
20145         *
20146         * <pre>
20147         * Error code, to be looked up on the website
20148         * </pre>
20149         */
20150        public boolean hasErrorCode() {
20151          return ((bitField0_ & 0x00000008) == 0x00000008);
20152        }
20153        /**
20154         * <code>optional int32 error_code = 4;</code>
20155         *
20156         * <pre>
20157         * Error code, to be looked up on the website
20158         * </pre>
20159         */
20160        public int getErrorCode() {
20161          return errorCode_;
20162        }
20163    
20164        public static final int MESSAGE_FIELD_NUMBER = 5;
20165        private int message_;
20166        /**
20167         * <code>optional int32 message = 5;</code>
20168         *
20169         * <pre>
20170         * Diagnostic message
20171         * </pre>
20172         */
20173        public boolean hasMessage() {
20174          return ((bitField0_ & 0x00000010) == 0x00000010);
20175        }
20176        /**
20177         * <code>optional int32 message = 5;</code>
20178         *
20179         * <pre>
20180         * Diagnostic message
20181         * </pre>
20182         */
20183        public int getMessage() {
20184          return message_;
20185        }
20186    
20187        private void initFields() {
20188          version_ = 0;
20189          versionFull_ = 0;
20190          level_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level.ERROR;
20191          errorCode_ = 0;
20192          message_ = 0;
20193        }
20194        private byte memoizedIsInitialized = -1;
20195        public final boolean isInitialized() {
20196          byte isInitialized = memoizedIsInitialized;
20197          if (isInitialized == 1) return true;
20198          if (isInitialized == 0) return false;
20199    
20200          memoizedIsInitialized = 1;
20201          return true;
20202        }
20203    
20204        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
20205                            throws java.io.IOException {
20206          getSerializedSize();
20207          if (((bitField0_ & 0x00000001) == 0x00000001)) {
20208            output.writeInt32(1, version_);
20209          }
20210          if (((bitField0_ & 0x00000002) == 0x00000002)) {
20211            output.writeInt32(2, versionFull_);
20212          }
20213          if (((bitField0_ & 0x00000004) == 0x00000004)) {
20214            output.writeEnum(3, level_.getNumber());
20215          }
20216          if (((bitField0_ & 0x00000008) == 0x00000008)) {
20217            output.writeInt32(4, errorCode_);
20218          }
20219          if (((bitField0_ & 0x00000010) == 0x00000010)) {
20220            output.writeInt32(5, message_);
20221          }
20222          output.writeRawBytes(unknownFields);
20223        }
20224    
20225        private int memoizedSerializedSize = -1;
20226        public int getSerializedSize() {
20227          int size = memoizedSerializedSize;
20228          if (size != -1) return size;
20229    
20230          size = 0;
20231          if (((bitField0_ & 0x00000001) == 0x00000001)) {
20232            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
20233              .computeInt32Size(1, version_);
20234          }
20235          if (((bitField0_ & 0x00000002) == 0x00000002)) {
20236            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
20237              .computeInt32Size(2, versionFull_);
20238          }
20239          if (((bitField0_ & 0x00000004) == 0x00000004)) {
20240            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
20241              .computeEnumSize(3, level_.getNumber());
20242          }
20243          if (((bitField0_ & 0x00000008) == 0x00000008)) {
20244            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
20245              .computeInt32Size(4, errorCode_);
20246          }
20247          if (((bitField0_ & 0x00000010) == 0x00000010)) {
20248            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
20249              .computeInt32Size(5, message_);
20250          }
20251          size += unknownFields.size();
20252          memoizedSerializedSize = size;
20253          return size;
20254        }
20255    
20256        private static final long serialVersionUID = 0L;
20257        @java.lang.Override
20258        protected java.lang.Object writeReplace()
20259            throws java.io.ObjectStreamException {
20260          return super.writeReplace();
20261        }
20262    
20263        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parseFrom(
20264            org.jetbrains.kotlin.protobuf.ByteString data)
20265            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
20266          return PARSER.parseFrom(data);
20267        }
20268        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parseFrom(
20269            org.jetbrains.kotlin.protobuf.ByteString data,
20270            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
20271            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
20272          return PARSER.parseFrom(data, extensionRegistry);
20273        }
20274        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parseFrom(byte[] data)
20275            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
20276          return PARSER.parseFrom(data);
20277        }
20278        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parseFrom(
20279            byte[] data,
20280            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
20281            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
20282          return PARSER.parseFrom(data, extensionRegistry);
20283        }
20284        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parseFrom(java.io.InputStream input)
20285            throws java.io.IOException {
20286          return PARSER.parseFrom(input);
20287        }
20288        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parseFrom(
20289            java.io.InputStream input,
20290            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
20291            throws java.io.IOException {
20292          return PARSER.parseFrom(input, extensionRegistry);
20293        }
20294        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parseDelimitedFrom(java.io.InputStream input)
20295            throws java.io.IOException {
20296          return PARSER.parseDelimitedFrom(input);
20297        }
20298        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parseDelimitedFrom(
20299            java.io.InputStream input,
20300            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
20301            throws java.io.IOException {
20302          return PARSER.parseDelimitedFrom(input, extensionRegistry);
20303        }
20304        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parseFrom(
20305            org.jetbrains.kotlin.protobuf.CodedInputStream input)
20306            throws java.io.IOException {
20307          return PARSER.parseFrom(input);
20308        }
20309        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parseFrom(
20310            org.jetbrains.kotlin.protobuf.CodedInputStream input,
20311            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
20312            throws java.io.IOException {
20313          return PARSER.parseFrom(input, extensionRegistry);
20314        }
20315    
20316        public static Builder newBuilder() { return Builder.create(); }
20317        public Builder newBuilderForType() { return newBuilder(); }
20318        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo prototype) {
20319          return newBuilder().mergeFrom(prototype);
20320        }
20321        public Builder toBuilder() { return newBuilder(this); }
20322    
20323        /**
20324         * Protobuf type {@code org.jetbrains.kotlin.serialization.SinceKotlinInfo}
20325         */
20326        public static final class Builder extends
20327            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder<
20328              org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo, Builder>
20329            implements
20330            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.SinceKotlinInfo)
20331            org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoOrBuilder {
20332          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.newBuilder()
20333          private Builder() {
20334            maybeForceBuilderInitialization();
20335          }
20336    
20337          private void maybeForceBuilderInitialization() {
20338          }
20339          private static Builder create() {
20340            return new Builder();
20341          }
20342    
20343          public Builder clear() {
20344            super.clear();
20345            version_ = 0;
20346            bitField0_ = (bitField0_ & ~0x00000001);
20347            versionFull_ = 0;
20348            bitField0_ = (bitField0_ & ~0x00000002);
20349            level_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level.ERROR;
20350            bitField0_ = (bitField0_ & ~0x00000004);
20351            errorCode_ = 0;
20352            bitField0_ = (bitField0_ & ~0x00000008);
20353            message_ = 0;
20354            bitField0_ = (bitField0_ & ~0x00000010);
20355            return this;
20356          }
20357    
20358          public Builder clone() {
20359            return create().mergeFrom(buildPartial());
20360          }
20361    
20362          public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo getDefaultInstanceForType() {
20363            return org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.getDefaultInstance();
20364          }
20365    
20366          public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo build() {
20367            org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo result = buildPartial();
20368            if (!result.isInitialized()) {
20369              throw newUninitializedMessageException(result);
20370            }
20371            return result;
20372          }
20373    
20374          public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo buildPartial() {
20375            org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo result = new org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo(this);
20376            int from_bitField0_ = bitField0_;
20377            int to_bitField0_ = 0;
20378            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
20379              to_bitField0_ |= 0x00000001;
20380            }
20381            result.version_ = version_;
20382            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
20383              to_bitField0_ |= 0x00000002;
20384            }
20385            result.versionFull_ = versionFull_;
20386            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
20387              to_bitField0_ |= 0x00000004;
20388            }
20389            result.level_ = level_;
20390            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
20391              to_bitField0_ |= 0x00000008;
20392            }
20393            result.errorCode_ = errorCode_;
20394            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
20395              to_bitField0_ |= 0x00000010;
20396            }
20397            result.message_ = message_;
20398            result.bitField0_ = to_bitField0_;
20399            return result;
20400          }
20401    
20402          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo other) {
20403            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.getDefaultInstance()) return this;
20404            if (other.hasVersion()) {
20405              setVersion(other.getVersion());
20406            }
20407            if (other.hasVersionFull()) {
20408              setVersionFull(other.getVersionFull());
20409            }
20410            if (other.hasLevel()) {
20411              setLevel(other.getLevel());
20412            }
20413            if (other.hasErrorCode()) {
20414              setErrorCode(other.getErrorCode());
20415            }
20416            if (other.hasMessage()) {
20417              setMessage(other.getMessage());
20418            }
20419            setUnknownFields(
20420                getUnknownFields().concat(other.unknownFields));
20421            return this;
20422          }
20423    
20424          public final boolean isInitialized() {
20425            return true;
20426          }
20427    
20428          public Builder mergeFrom(
20429              org.jetbrains.kotlin.protobuf.CodedInputStream input,
20430              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
20431              throws java.io.IOException {
20432            org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parsedMessage = null;
20433            try {
20434              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
20435            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
20436              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo) e.getUnfinishedMessage();
20437              throw e;
20438            } finally {
20439              if (parsedMessage != null) {
20440                mergeFrom(parsedMessage);
20441              }
20442            }
20443            return this;
20444          }
20445          private int bitField0_;
20446    
20447          private int version_ ;
20448          /**
20449           * <code>optional int32 version = 1;</code>
20450           *
20451           * <pre>
20452           * Kotlin version, since which this declaration is accessible, in the following format (encoded version is "major.minor.patch"):
20453           * (patch &lt;&lt; 7) + (minor &lt;&lt; 3) + major
20454           * Compilers with version less than this value should report a diagnostic if this declaration is selected as the resolution result
20455           * </pre>
20456           */
20457          public boolean hasVersion() {
20458            return ((bitField0_ & 0x00000001) == 0x00000001);
20459          }
20460          /**
20461           * <code>optional int32 version = 1;</code>
20462           *
20463           * <pre>
20464           * Kotlin version, since which this declaration is accessible, in the following format (encoded version is "major.minor.patch"):
20465           * (patch &lt;&lt; 7) + (minor &lt;&lt; 3) + major
20466           * Compilers with version less than this value should report a diagnostic if this declaration is selected as the resolution result
20467           * </pre>
20468           */
20469          public int getVersion() {
20470            return version_;
20471          }
20472          /**
20473           * <code>optional int32 version = 1;</code>
20474           *
20475           * <pre>
20476           * Kotlin version, since which this declaration is accessible, in the following format (encoded version is "major.minor.patch"):
20477           * (patch &lt;&lt; 7) + (minor &lt;&lt; 3) + major
20478           * Compilers with version less than this value should report a diagnostic if this declaration is selected as the resolution result
20479           * </pre>
20480           */
20481          public Builder setVersion(int value) {
20482            bitField0_ |= 0x00000001;
20483            version_ = value;
20484            
20485            return this;
20486          }
20487          /**
20488           * <code>optional int32 version = 1;</code>
20489           *
20490           * <pre>
20491           * Kotlin version, since which this declaration is accessible, in the following format (encoded version is "major.minor.patch"):
20492           * (patch &lt;&lt; 7) + (minor &lt;&lt; 3) + major
20493           * Compilers with version less than this value should report a diagnostic if this declaration is selected as the resolution result
20494           * </pre>
20495           */
20496          public Builder clearVersion() {
20497            bitField0_ = (bitField0_ & ~0x00000001);
20498            version_ = 0;
20499            
20500            return this;
20501          }
20502    
20503          private int versionFull_ ;
20504          /**
20505           * <code>optional int32 version_full = 2;</code>
20506           *
20507           * <pre>
20508           * Version in base 256, in case we run out of space to store the version in the optimized form. Has priority over 'version'.
20509           * (patch &lt;&lt; 16) + (minor &lt;&lt; 8) + major
20510           * </pre>
20511           */
20512          public boolean hasVersionFull() {
20513            return ((bitField0_ & 0x00000002) == 0x00000002);
20514          }
20515          /**
20516           * <code>optional int32 version_full = 2;</code>
20517           *
20518           * <pre>
20519           * Version in base 256, in case we run out of space to store the version in the optimized form. Has priority over 'version'.
20520           * (patch &lt;&lt; 16) + (minor &lt;&lt; 8) + major
20521           * </pre>
20522           */
20523          public int getVersionFull() {
20524            return versionFull_;
20525          }
20526          /**
20527           * <code>optional int32 version_full = 2;</code>
20528           *
20529           * <pre>
20530           * Version in base 256, in case we run out of space to store the version in the optimized form. Has priority over 'version'.
20531           * (patch &lt;&lt; 16) + (minor &lt;&lt; 8) + major
20532           * </pre>
20533           */
20534          public Builder setVersionFull(int value) {
20535            bitField0_ |= 0x00000002;
20536            versionFull_ = value;
20537            
20538            return this;
20539          }
20540          /**
20541           * <code>optional int32 version_full = 2;</code>
20542           *
20543           * <pre>
20544           * Version in base 256, in case we run out of space to store the version in the optimized form. Has priority over 'version'.
20545           * (patch &lt;&lt; 16) + (minor &lt;&lt; 8) + major
20546           * </pre>
20547           */
20548          public Builder clearVersionFull() {
20549            bitField0_ = (bitField0_ & ~0x00000002);
20550            versionFull_ = 0;
20551            
20552            return this;
20553          }
20554    
20555          private org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level level_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level.ERROR;
20556          /**
20557           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfo.Level level = 3 [default = ERROR];</code>
20558           *
20559           * <pre>
20560           * Level of the reported diagnostic
20561           * </pre>
20562           */
20563          public boolean hasLevel() {
20564            return ((bitField0_ & 0x00000004) == 0x00000004);
20565          }
20566          /**
20567           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfo.Level level = 3 [default = ERROR];</code>
20568           *
20569           * <pre>
20570           * Level of the reported diagnostic
20571           * </pre>
20572           */
20573          public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level getLevel() {
20574            return level_;
20575          }
20576          /**
20577           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfo.Level level = 3 [default = ERROR];</code>
20578           *
20579           * <pre>
20580           * Level of the reported diagnostic
20581           * </pre>
20582           */
20583          public Builder setLevel(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level value) {
20584            if (value == null) {
20585              throw new NullPointerException();
20586            }
20587            bitField0_ |= 0x00000004;
20588            level_ = value;
20589            
20590            return this;
20591          }
20592          /**
20593           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfo.Level level = 3 [default = ERROR];</code>
20594           *
20595           * <pre>
20596           * Level of the reported diagnostic
20597           * </pre>
20598           */
20599          public Builder clearLevel() {
20600            bitField0_ = (bitField0_ & ~0x00000004);
20601            level_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level.ERROR;
20602            
20603            return this;
20604          }
20605    
20606          private int errorCode_ ;
20607          /**
20608           * <code>optional int32 error_code = 4;</code>
20609           *
20610           * <pre>
20611           * Error code, to be looked up on the website
20612           * </pre>
20613           */
20614          public boolean hasErrorCode() {
20615            return ((bitField0_ & 0x00000008) == 0x00000008);
20616          }
20617          /**
20618           * <code>optional int32 error_code = 4;</code>
20619           *
20620           * <pre>
20621           * Error code, to be looked up on the website
20622           * </pre>
20623           */
20624          public int getErrorCode() {
20625            return errorCode_;
20626          }
20627          /**
20628           * <code>optional int32 error_code = 4;</code>
20629           *
20630           * <pre>
20631           * Error code, to be looked up on the website
20632           * </pre>
20633           */
20634          public Builder setErrorCode(int value) {
20635            bitField0_ |= 0x00000008;
20636            errorCode_ = value;
20637            
20638            return this;
20639          }
20640          /**
20641           * <code>optional int32 error_code = 4;</code>
20642           *
20643           * <pre>
20644           * Error code, to be looked up on the website
20645           * </pre>
20646           */
20647          public Builder clearErrorCode() {
20648            bitField0_ = (bitField0_ & ~0x00000008);
20649            errorCode_ = 0;
20650            
20651            return this;
20652          }
20653    
20654          private int message_ ;
20655          /**
20656           * <code>optional int32 message = 5;</code>
20657           *
20658           * <pre>
20659           * Diagnostic message
20660           * </pre>
20661           */
20662          public boolean hasMessage() {
20663            return ((bitField0_ & 0x00000010) == 0x00000010);
20664          }
20665          /**
20666           * <code>optional int32 message = 5;</code>
20667           *
20668           * <pre>
20669           * Diagnostic message
20670           * </pre>
20671           */
20672          public int getMessage() {
20673            return message_;
20674          }
20675          /**
20676           * <code>optional int32 message = 5;</code>
20677           *
20678           * <pre>
20679           * Diagnostic message
20680           * </pre>
20681           */
20682          public Builder setMessage(int value) {
20683            bitField0_ |= 0x00000010;
20684            message_ = value;
20685            
20686            return this;
20687          }
20688          /**
20689           * <code>optional int32 message = 5;</code>
20690           *
20691           * <pre>
20692           * Diagnostic message
20693           * </pre>
20694           */
20695          public Builder clearMessage() {
20696            bitField0_ = (bitField0_ & ~0x00000010);
20697            message_ = 0;
20698            
20699            return this;
20700          }
20701    
20702          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.SinceKotlinInfo)
20703        }
20704    
20705        static {
20706          defaultInstance = new SinceKotlinInfo(true);
20707          defaultInstance.initFields();
20708        }
20709    
20710        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.SinceKotlinInfo)
20711      }
20712    
20713      public interface SinceKotlinInfoTableOrBuilder extends
20714          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.SinceKotlinInfoTable)
20715          org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
20716    
20717        /**
20718         * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
20719         */
20720        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo> 
20721            getInfoList();
20722        /**
20723         * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
20724         */
20725        org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo getInfo(int index);
20726        /**
20727         * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
20728         */
20729        int getInfoCount();
20730      }
20731      /**
20732       * Protobuf type {@code org.jetbrains.kotlin.serialization.SinceKotlinInfoTable}
20733       */
20734      public static final class SinceKotlinInfoTable extends
20735          org.jetbrains.kotlin.protobuf.GeneratedMessageLite implements
20736          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.SinceKotlinInfoTable)
20737          SinceKotlinInfoTableOrBuilder {
20738        // Use SinceKotlinInfoTable.newBuilder() to construct.
20739        private SinceKotlinInfoTable(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) {
20740          super(builder);
20741          this.unknownFields = builder.getUnknownFields();
20742        }
20743        private SinceKotlinInfoTable(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
20744    
20745        private static final SinceKotlinInfoTable defaultInstance;
20746        public static SinceKotlinInfoTable getDefaultInstance() {
20747          return defaultInstance;
20748        }
20749    
20750        public SinceKotlinInfoTable getDefaultInstanceForType() {
20751          return defaultInstance;
20752        }
20753    
20754        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
20755        private SinceKotlinInfoTable(
20756            org.jetbrains.kotlin.protobuf.CodedInputStream input,
20757            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
20758            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
20759          initFields();
20760          int mutable_bitField0_ = 0;
20761          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
20762              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
20763          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
20764              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
20765                  unknownFieldsOutput);
20766          try {
20767            boolean done = false;
20768            while (!done) {
20769              int tag = input.readTag();
20770              switch (tag) {
20771                case 0:
20772                  done = true;
20773                  break;
20774                default: {
20775                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
20776                                         extensionRegistry, tag)) {
20777                    done = true;
20778                  }
20779                  break;
20780                }
20781                case 10: {
20782                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
20783                    info_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo>();
20784                    mutable_bitField0_ |= 0x00000001;
20785                  }
20786                  info_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.PARSER, extensionRegistry));
20787                  break;
20788                }
20789              }
20790            }
20791          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
20792            throw e.setUnfinishedMessage(this);
20793          } catch (java.io.IOException e) {
20794            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
20795                e.getMessage()).setUnfinishedMessage(this);
20796          } finally {
20797            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
20798              info_ = java.util.Collections.unmodifiableList(info_);
20799            }
20800            try {
20801              unknownFieldsCodedOutput.flush();
20802            } catch (java.io.IOException e) {
20803            // Should not happen
20804            } finally {
20805              unknownFields = unknownFieldsOutput.toByteString();
20806            }
20807            makeExtensionsImmutable();
20808          }
20809        }
20810        public static org.jetbrains.kotlin.protobuf.Parser<SinceKotlinInfoTable> PARSER =
20811            new org.jetbrains.kotlin.protobuf.AbstractParser<SinceKotlinInfoTable>() {
20812          public SinceKotlinInfoTable parsePartialFrom(
20813              org.jetbrains.kotlin.protobuf.CodedInputStream input,
20814              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
20815              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
20816            return new SinceKotlinInfoTable(input, extensionRegistry);
20817          }
20818        };
20819    
20820        @java.lang.Override
20821        public org.jetbrains.kotlin.protobuf.Parser<SinceKotlinInfoTable> getParserForType() {
20822          return PARSER;
20823        }
20824    
20825        public static final int INFO_FIELD_NUMBER = 1;
20826        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo> info_;
20827        /**
20828         * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
20829         */
20830        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo> getInfoList() {
20831          return info_;
20832        }
20833        /**
20834         * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
20835         */
20836        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoOrBuilder> 
20837            getInfoOrBuilderList() {
20838          return info_;
20839        }
20840        /**
20841         * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
20842         */
20843        public int getInfoCount() {
20844          return info_.size();
20845        }
20846        /**
20847         * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
20848         */
20849        public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo getInfo(int index) {
20850          return info_.get(index);
20851        }
20852        /**
20853         * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
20854         */
20855        public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoOrBuilder getInfoOrBuilder(
20856            int index) {
20857          return info_.get(index);
20858        }
20859    
20860        private void initFields() {
20861          info_ = java.util.Collections.emptyList();
20862        }
20863        private byte memoizedIsInitialized = -1;
20864        public final boolean isInitialized() {
20865          byte isInitialized = memoizedIsInitialized;
20866          if (isInitialized == 1) return true;
20867          if (isInitialized == 0) return false;
20868    
20869          memoizedIsInitialized = 1;
20870          return true;
20871        }
20872    
20873        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
20874                            throws java.io.IOException {
20875          getSerializedSize();
20876          for (int i = 0; i < info_.size(); i++) {
20877            output.writeMessage(1, info_.get(i));
20878          }
20879          output.writeRawBytes(unknownFields);
20880        }
20881    
20882        private int memoizedSerializedSize = -1;
20883        public int getSerializedSize() {
20884          int size = memoizedSerializedSize;
20885          if (size != -1) return size;
20886    
20887          size = 0;
20888          for (int i = 0; i < info_.size(); i++) {
20889            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
20890              .computeMessageSize(1, info_.get(i));
20891          }
20892          size += unknownFields.size();
20893          memoizedSerializedSize = size;
20894          return size;
20895        }
20896    
20897        private static final long serialVersionUID = 0L;
20898        @java.lang.Override
20899        protected java.lang.Object writeReplace()
20900            throws java.io.ObjectStreamException {
20901          return super.writeReplace();
20902        }
20903    
20904        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parseFrom(
20905            org.jetbrains.kotlin.protobuf.ByteString data)
20906            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
20907          return PARSER.parseFrom(data);
20908        }
20909        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parseFrom(
20910            org.jetbrains.kotlin.protobuf.ByteString data,
20911            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
20912            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
20913          return PARSER.parseFrom(data, extensionRegistry);
20914        }
20915        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parseFrom(byte[] data)
20916            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
20917          return PARSER.parseFrom(data);
20918        }
20919        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parseFrom(
20920            byte[] data,
20921            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
20922            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
20923          return PARSER.parseFrom(data, extensionRegistry);
20924        }
20925        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parseFrom(java.io.InputStream input)
20926            throws java.io.IOException {
20927          return PARSER.parseFrom(input);
20928        }
20929        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parseFrom(
20930            java.io.InputStream input,
20931            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
20932            throws java.io.IOException {
20933          return PARSER.parseFrom(input, extensionRegistry);
20934        }
20935        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parseDelimitedFrom(java.io.InputStream input)
20936            throws java.io.IOException {
20937          return PARSER.parseDelimitedFrom(input);
20938        }
20939        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parseDelimitedFrom(
20940            java.io.InputStream input,
20941            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
20942            throws java.io.IOException {
20943          return PARSER.parseDelimitedFrom(input, extensionRegistry);
20944        }
20945        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parseFrom(
20946            org.jetbrains.kotlin.protobuf.CodedInputStream input)
20947            throws java.io.IOException {
20948          return PARSER.parseFrom(input);
20949        }
20950        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parseFrom(
20951            org.jetbrains.kotlin.protobuf.CodedInputStream input,
20952            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
20953            throws java.io.IOException {
20954          return PARSER.parseFrom(input, extensionRegistry);
20955        }
20956    
20957        public static Builder newBuilder() { return Builder.create(); }
20958        public Builder newBuilderForType() { return newBuilder(); }
20959        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable prototype) {
20960          return newBuilder().mergeFrom(prototype);
20961        }
20962        public Builder toBuilder() { return newBuilder(this); }
20963    
20964        /**
20965         * Protobuf type {@code org.jetbrains.kotlin.serialization.SinceKotlinInfoTable}
20966         */
20967        public static final class Builder extends
20968            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder<
20969              org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable, Builder>
20970            implements
20971            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.SinceKotlinInfoTable)
20972            org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTableOrBuilder {
20973          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.newBuilder()
20974          private Builder() {
20975            maybeForceBuilderInitialization();
20976          }
20977    
20978          private void maybeForceBuilderInitialization() {
20979          }
20980          private static Builder create() {
20981            return new Builder();
20982          }
20983    
20984          public Builder clear() {
20985            super.clear();
20986            info_ = java.util.Collections.emptyList();
20987            bitField0_ = (bitField0_ & ~0x00000001);
20988            return this;
20989          }
20990    
20991          public Builder clone() {
20992            return create().mergeFrom(buildPartial());
20993          }
20994    
20995          public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable getDefaultInstanceForType() {
20996            return org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance();
20997          }
20998    
20999          public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable build() {
21000            org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable result = buildPartial();
21001            if (!result.isInitialized()) {
21002              throw newUninitializedMessageException(result);
21003            }
21004            return result;
21005          }
21006    
21007          public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable buildPartial() {
21008            org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable result = new org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable(this);
21009            int from_bitField0_ = bitField0_;
21010            if (((bitField0_ & 0x00000001) == 0x00000001)) {
21011              info_ = java.util.Collections.unmodifiableList(info_);
21012              bitField0_ = (bitField0_ & ~0x00000001);
21013            }
21014            result.info_ = info_;
21015            return result;
21016          }
21017    
21018          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable other) {
21019            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance()) return this;
21020            if (!other.info_.isEmpty()) {
21021              if (info_.isEmpty()) {
21022                info_ = other.info_;
21023                bitField0_ = (bitField0_ & ~0x00000001);
21024              } else {
21025                ensureInfoIsMutable();
21026                info_.addAll(other.info_);
21027              }
21028              
21029            }
21030            setUnknownFields(
21031                getUnknownFields().concat(other.unknownFields));
21032            return this;
21033          }
21034    
21035          public final boolean isInitialized() {
21036            return true;
21037          }
21038    
21039          public Builder mergeFrom(
21040              org.jetbrains.kotlin.protobuf.CodedInputStream input,
21041              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
21042              throws java.io.IOException {
21043            org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parsedMessage = null;
21044            try {
21045              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
21046            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
21047              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable) e.getUnfinishedMessage();
21048              throw e;
21049            } finally {
21050              if (parsedMessage != null) {
21051                mergeFrom(parsedMessage);
21052              }
21053            }
21054            return this;
21055          }
21056          private int bitField0_;
21057    
21058          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo> info_ =
21059            java.util.Collections.emptyList();
21060          private void ensureInfoIsMutable() {
21061            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
21062              info_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo>(info_);
21063              bitField0_ |= 0x00000001;
21064             }
21065          }
21066    
21067          /**
21068           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
21069           */
21070          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo> getInfoList() {
21071            return java.util.Collections.unmodifiableList(info_);
21072          }
21073          /**
21074           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
21075           */
21076          public int getInfoCount() {
21077            return info_.size();
21078          }
21079          /**
21080           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
21081           */
21082          public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo getInfo(int index) {
21083            return info_.get(index);
21084          }
21085          /**
21086           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
21087           */
21088          public Builder setInfo(
21089              int index, org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo value) {
21090            if (value == null) {
21091              throw new NullPointerException();
21092            }
21093            ensureInfoIsMutable();
21094            info_.set(index, value);
21095    
21096            return this;
21097          }
21098          /**
21099           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
21100           */
21101          public Builder setInfo(
21102              int index, org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Builder builderForValue) {
21103            ensureInfoIsMutable();
21104            info_.set(index, builderForValue.build());
21105    
21106            return this;
21107          }
21108          /**
21109           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
21110           */
21111          public Builder addInfo(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo value) {
21112            if (value == null) {
21113              throw new NullPointerException();
21114            }
21115            ensureInfoIsMutable();
21116            info_.add(value);
21117    
21118            return this;
21119          }
21120          /**
21121           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
21122           */
21123          public Builder addInfo(
21124              int index, org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo value) {
21125            if (value == null) {
21126              throw new NullPointerException();
21127            }
21128            ensureInfoIsMutable();
21129            info_.add(index, value);
21130    
21131            return this;
21132          }
21133          /**
21134           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
21135           */
21136          public Builder addInfo(
21137              org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Builder builderForValue) {
21138            ensureInfoIsMutable();
21139            info_.add(builderForValue.build());
21140    
21141            return this;
21142          }
21143          /**
21144           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
21145           */
21146          public Builder addInfo(
21147              int index, org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Builder builderForValue) {
21148            ensureInfoIsMutable();
21149            info_.add(index, builderForValue.build());
21150    
21151            return this;
21152          }
21153          /**
21154           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
21155           */
21156          public Builder addAllInfo(
21157              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo> values) {
21158            ensureInfoIsMutable();
21159            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
21160                values, info_);
21161    
21162            return this;
21163          }
21164          /**
21165           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
21166           */
21167          public Builder clearInfo() {
21168            info_ = java.util.Collections.emptyList();
21169            bitField0_ = (bitField0_ & ~0x00000001);
21170    
21171            return this;
21172          }
21173          /**
21174           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
21175           */
21176          public Builder removeInfo(int index) {
21177            ensureInfoIsMutable();
21178            info_.remove(index);
21179    
21180            return this;
21181          }
21182    
21183          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.SinceKotlinInfoTable)
21184        }
21185    
21186        static {
21187          defaultInstance = new SinceKotlinInfoTable(true);
21188          defaultInstance.initFields();
21189        }
21190    
21191        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.SinceKotlinInfoTable)
21192      }
21193    
21194    
21195      static {
21196      }
21197    
21198      // @@protoc_insertion_point(outer_class_scope)
21199    }