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 .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
4440         */
4441        boolean hasOuterType();
4442        /**
4443         * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
4444         */
4445        org.jetbrains.kotlin.serialization.ProtoBuf.Type getOuterType();
4446    
4447        /**
4448         * <code>optional int32 outer_type_id = 11;</code>
4449         */
4450        boolean hasOuterTypeId();
4451        /**
4452         * <code>optional int32 outer_type_id = 11;</code>
4453         */
4454        int getOuterTypeId();
4455      }
4456      /**
4457       * Protobuf type {@code org.jetbrains.kotlin.serialization.Type}
4458       */
4459      public static final class Type extends
4460          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
4461            Type> implements
4462          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Type)
4463          TypeOrBuilder {
4464        // Use Type.newBuilder() to construct.
4465        private Type(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Type, ?> builder) {
4466          super(builder);
4467          this.unknownFields = builder.getUnknownFields();
4468        }
4469        private Type(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
4470    
4471        private static final Type defaultInstance;
4472        public static Type getDefaultInstance() {
4473          return defaultInstance;
4474        }
4475    
4476        public Type getDefaultInstanceForType() {
4477          return defaultInstance;
4478        }
4479    
4480        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
4481        private Type(
4482            org.jetbrains.kotlin.protobuf.CodedInputStream input,
4483            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
4484            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
4485          initFields();
4486          int mutable_bitField0_ = 0;
4487          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
4488              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
4489          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
4490              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
4491                  unknownFieldsOutput);
4492          try {
4493            boolean done = false;
4494            while (!done) {
4495              int tag = input.readTag();
4496              switch (tag) {
4497                case 0:
4498                  done = true;
4499                  break;
4500                default: {
4501                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
4502                                         extensionRegistry, tag)) {
4503                    done = true;
4504                  }
4505                  break;
4506                }
4507                case 18: {
4508                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
4509                    argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument>();
4510                    mutable_bitField0_ |= 0x00000001;
4511                  }
4512                  argument_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.PARSER, extensionRegistry));
4513                  break;
4514                }
4515                case 24: {
4516                  bitField0_ |= 0x00000001;
4517                  nullable_ = input.readBool();
4518                  break;
4519                }
4520                case 32: {
4521                  bitField0_ |= 0x00000002;
4522                  flexibleTypeCapabilitiesId_ = input.readInt32();
4523                  break;
4524                }
4525                case 42: {
4526                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
4527                  if (((bitField0_ & 0x00000004) == 0x00000004)) {
4528                    subBuilder = flexibleUpperBound_.toBuilder();
4529                  }
4530                  flexibleUpperBound_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
4531                  if (subBuilder != null) {
4532                    subBuilder.mergeFrom(flexibleUpperBound_);
4533                    flexibleUpperBound_ = subBuilder.buildPartial();
4534                  }
4535                  bitField0_ |= 0x00000004;
4536                  break;
4537                }
4538                case 48: {
4539                  bitField0_ |= 0x00000010;
4540                  className_ = input.readInt32();
4541                  break;
4542                }
4543                case 56: {
4544                  bitField0_ |= 0x00000020;
4545                  typeParameter_ = input.readInt32();
4546                  break;
4547                }
4548                case 64: {
4549                  bitField0_ |= 0x00000008;
4550                  flexibleUpperBoundId_ = input.readInt32();
4551                  break;
4552                }
4553                case 72: {
4554                  bitField0_ |= 0x00000040;
4555                  typeParameterName_ = input.readInt32();
4556                  break;
4557                }
4558                case 82: {
4559                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
4560                  if (((bitField0_ & 0x00000080) == 0x00000080)) {
4561                    subBuilder = outerType_.toBuilder();
4562                  }
4563                  outerType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
4564                  if (subBuilder != null) {
4565                    subBuilder.mergeFrom(outerType_);
4566                    outerType_ = subBuilder.buildPartial();
4567                  }
4568                  bitField0_ |= 0x00000080;
4569                  break;
4570                }
4571                case 88: {
4572                  bitField0_ |= 0x00000100;
4573                  outerTypeId_ = input.readInt32();
4574                  break;
4575                }
4576              }
4577            }
4578          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
4579            throw e.setUnfinishedMessage(this);
4580          } catch (java.io.IOException e) {
4581            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
4582                e.getMessage()).setUnfinishedMessage(this);
4583          } finally {
4584            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
4585              argument_ = java.util.Collections.unmodifiableList(argument_);
4586            }
4587            try {
4588              unknownFieldsCodedOutput.flush();
4589            } catch (java.io.IOException e) {
4590            // Should not happen
4591            } finally {
4592              unknownFields = unknownFieldsOutput.toByteString();
4593            }
4594            makeExtensionsImmutable();
4595          }
4596        }
4597        public static org.jetbrains.kotlin.protobuf.Parser<Type> PARSER =
4598            new org.jetbrains.kotlin.protobuf.AbstractParser<Type>() {
4599          public Type parsePartialFrom(
4600              org.jetbrains.kotlin.protobuf.CodedInputStream input,
4601              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
4602              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
4603            return new Type(input, extensionRegistry);
4604          }
4605        };
4606    
4607        @java.lang.Override
4608        public org.jetbrains.kotlin.protobuf.Parser<Type> getParserForType() {
4609          return PARSER;
4610        }
4611    
4612        public interface ArgumentOrBuilder extends
4613            // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.Type.Argument)
4614            org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
4615    
4616          /**
4617           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
4618           */
4619          boolean hasProjection();
4620          /**
4621           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
4622           */
4623          org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection();
4624    
4625          /**
4626           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
4627           *
4628           * <pre>
4629           * When projection is STAR, no type is written, otherwise type must be specified
4630           * </pre>
4631           */
4632          boolean hasType();
4633          /**
4634           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
4635           *
4636           * <pre>
4637           * When projection is STAR, no type is written, otherwise type must be specified
4638           * </pre>
4639           */
4640          org.jetbrains.kotlin.serialization.ProtoBuf.Type getType();
4641    
4642          /**
4643           * <code>optional int32 type_id = 3;</code>
4644           */
4645          boolean hasTypeId();
4646          /**
4647           * <code>optional int32 type_id = 3;</code>
4648           */
4649          int getTypeId();
4650        }
4651        /**
4652         * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Argument}
4653         */
4654        public static final class Argument extends
4655            org.jetbrains.kotlin.protobuf.GeneratedMessageLite implements
4656            // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Type.Argument)
4657            ArgumentOrBuilder {
4658          // Use Argument.newBuilder() to construct.
4659          private Argument(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) {
4660            super(builder);
4661            this.unknownFields = builder.getUnknownFields();
4662          }
4663          private Argument(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
4664    
4665          private static final Argument defaultInstance;
4666          public static Argument getDefaultInstance() {
4667            return defaultInstance;
4668          }
4669    
4670          public Argument getDefaultInstanceForType() {
4671            return defaultInstance;
4672          }
4673    
4674          private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
4675          private Argument(
4676              org.jetbrains.kotlin.protobuf.CodedInputStream input,
4677              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
4678              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
4679            initFields();
4680            int mutable_bitField0_ = 0;
4681            org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
4682                org.jetbrains.kotlin.protobuf.ByteString.newOutput();
4683            org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
4684                org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
4685                    unknownFieldsOutput);
4686            try {
4687              boolean done = false;
4688              while (!done) {
4689                int tag = input.readTag();
4690                switch (tag) {
4691                  case 0:
4692                    done = true;
4693                    break;
4694                  default: {
4695                    if (!parseUnknownField(input, unknownFieldsCodedOutput,
4696                                           extensionRegistry, tag)) {
4697                      done = true;
4698                    }
4699                    break;
4700                  }
4701                  case 8: {
4702                    int rawValue = input.readEnum();
4703                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection value = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.valueOf(rawValue);
4704                    if (value == null) {
4705                      unknownFieldsCodedOutput.writeRawVarint32(tag);
4706                      unknownFieldsCodedOutput.writeRawVarint32(rawValue);
4707                    } else {
4708                      bitField0_ |= 0x00000001;
4709                      projection_ = value;
4710                    }
4711                    break;
4712                  }
4713                  case 18: {
4714                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
4715                    if (((bitField0_ & 0x00000002) == 0x00000002)) {
4716                      subBuilder = type_.toBuilder();
4717                    }
4718                    type_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
4719                    if (subBuilder != null) {
4720                      subBuilder.mergeFrom(type_);
4721                      type_ = subBuilder.buildPartial();
4722                    }
4723                    bitField0_ |= 0x00000002;
4724                    break;
4725                  }
4726                  case 24: {
4727                    bitField0_ |= 0x00000004;
4728                    typeId_ = input.readInt32();
4729                    break;
4730                  }
4731                }
4732              }
4733            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
4734              throw e.setUnfinishedMessage(this);
4735            } catch (java.io.IOException e) {
4736              throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
4737                  e.getMessage()).setUnfinishedMessage(this);
4738            } finally {
4739              try {
4740                unknownFieldsCodedOutput.flush();
4741              } catch (java.io.IOException e) {
4742              // Should not happen
4743              } finally {
4744                unknownFields = unknownFieldsOutput.toByteString();
4745              }
4746              makeExtensionsImmutable();
4747            }
4748          }
4749          public static org.jetbrains.kotlin.protobuf.Parser<Argument> PARSER =
4750              new org.jetbrains.kotlin.protobuf.AbstractParser<Argument>() {
4751            public Argument parsePartialFrom(
4752                org.jetbrains.kotlin.protobuf.CodedInputStream input,
4753                org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
4754                throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
4755              return new Argument(input, extensionRegistry);
4756            }
4757          };
4758    
4759          @java.lang.Override
4760          public org.jetbrains.kotlin.protobuf.Parser<Argument> getParserForType() {
4761            return PARSER;
4762          }
4763    
4764          /**
4765           * Protobuf enum {@code org.jetbrains.kotlin.serialization.Type.Argument.Projection}
4766           */
4767          public enum Projection
4768              implements org.jetbrains.kotlin.protobuf.Internal.EnumLite {
4769            /**
4770             * <code>IN = 0;</code>
4771             */
4772            IN(0, 0),
4773            /**
4774             * <code>OUT = 1;</code>
4775             */
4776            OUT(1, 1),
4777            /**
4778             * <code>INV = 2;</code>
4779             */
4780            INV(2, 2),
4781            /**
4782             * <code>STAR = 3;</code>
4783             */
4784            STAR(3, 3),
4785            ;
4786    
4787            /**
4788             * <code>IN = 0;</code>
4789             */
4790            public static final int IN_VALUE = 0;
4791            /**
4792             * <code>OUT = 1;</code>
4793             */
4794            public static final int OUT_VALUE = 1;
4795            /**
4796             * <code>INV = 2;</code>
4797             */
4798            public static final int INV_VALUE = 2;
4799            /**
4800             * <code>STAR = 3;</code>
4801             */
4802            public static final int STAR_VALUE = 3;
4803    
4804    
4805            public final int getNumber() { return value; }
4806    
4807            public static Projection valueOf(int value) {
4808              switch (value) {
4809                case 0: return IN;
4810                case 1: return OUT;
4811                case 2: return INV;
4812                case 3: return STAR;
4813                default: return null;
4814              }
4815            }
4816    
4817            public static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Projection>
4818                internalGetValueMap() {
4819              return internalValueMap;
4820            }
4821            private static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Projection>
4822                internalValueMap =
4823                  new org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Projection>() {
4824                    public Projection findValueByNumber(int number) {
4825                      return Projection.valueOf(number);
4826                    }
4827                  };
4828    
4829            private final int value;
4830    
4831            private Projection(int index, int value) {
4832              this.value = value;
4833            }
4834    
4835            // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Type.Argument.Projection)
4836          }
4837    
4838          private int bitField0_;
4839          public static final int PROJECTION_FIELD_NUMBER = 1;
4840          private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection projection_;
4841          /**
4842           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
4843           */
4844          public boolean hasProjection() {
4845            return ((bitField0_ & 0x00000001) == 0x00000001);
4846          }
4847          /**
4848           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
4849           */
4850          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
4851            return projection_;
4852          }
4853    
4854          public static final int TYPE_FIELD_NUMBER = 2;
4855          private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_;
4856          /**
4857           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
4858           *
4859           * <pre>
4860           * When projection is STAR, no type is written, otherwise type must be specified
4861           * </pre>
4862           */
4863          public boolean hasType() {
4864            return ((bitField0_ & 0x00000002) == 0x00000002);
4865          }
4866          /**
4867           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
4868           *
4869           * <pre>
4870           * When projection is STAR, no type is written, otherwise type must be specified
4871           * </pre>
4872           */
4873          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
4874            return type_;
4875          }
4876    
4877          public static final int TYPE_ID_FIELD_NUMBER = 3;
4878          private int typeId_;
4879          /**
4880           * <code>optional int32 type_id = 3;</code>
4881           */
4882          public boolean hasTypeId() {
4883            return ((bitField0_ & 0x00000004) == 0x00000004);
4884          }
4885          /**
4886           * <code>optional int32 type_id = 3;</code>
4887           */
4888          public int getTypeId() {
4889            return typeId_;
4890          }
4891    
4892          private void initFields() {
4893            projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
4894            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
4895            typeId_ = 0;
4896          }
4897          private byte memoizedIsInitialized = -1;
4898          public final boolean isInitialized() {
4899            byte isInitialized = memoizedIsInitialized;
4900            if (isInitialized == 1) return true;
4901            if (isInitialized == 0) return false;
4902    
4903            if (hasType()) {
4904              if (!getType().isInitialized()) {
4905                memoizedIsInitialized = 0;
4906                return false;
4907              }
4908            }
4909            memoizedIsInitialized = 1;
4910            return true;
4911          }
4912    
4913          public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
4914                              throws java.io.IOException {
4915            getSerializedSize();
4916            if (((bitField0_ & 0x00000001) == 0x00000001)) {
4917              output.writeEnum(1, projection_.getNumber());
4918            }
4919            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4920              output.writeMessage(2, type_);
4921            }
4922            if (((bitField0_ & 0x00000004) == 0x00000004)) {
4923              output.writeInt32(3, typeId_);
4924            }
4925            output.writeRawBytes(unknownFields);
4926          }
4927    
4928          private int memoizedSerializedSize = -1;
4929          public int getSerializedSize() {
4930            int size = memoizedSerializedSize;
4931            if (size != -1) return size;
4932    
4933            size = 0;
4934            if (((bitField0_ & 0x00000001) == 0x00000001)) {
4935              size += org.jetbrains.kotlin.protobuf.CodedOutputStream
4936                .computeEnumSize(1, projection_.getNumber());
4937            }
4938            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4939              size += org.jetbrains.kotlin.protobuf.CodedOutputStream
4940                .computeMessageSize(2, type_);
4941            }
4942            if (((bitField0_ & 0x00000004) == 0x00000004)) {
4943              size += org.jetbrains.kotlin.protobuf.CodedOutputStream
4944                .computeInt32Size(3, typeId_);
4945            }
4946            size += unknownFields.size();
4947            memoizedSerializedSize = size;
4948            return size;
4949          }
4950    
4951          private static final long serialVersionUID = 0L;
4952          @java.lang.Override
4953          protected java.lang.Object writeReplace()
4954              throws java.io.ObjectStreamException {
4955            return super.writeReplace();
4956          }
4957    
4958          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
4959              org.jetbrains.kotlin.protobuf.ByteString data)
4960              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
4961            return PARSER.parseFrom(data);
4962          }
4963          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
4964              org.jetbrains.kotlin.protobuf.ByteString data,
4965              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
4966              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
4967            return PARSER.parseFrom(data, extensionRegistry);
4968          }
4969          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(byte[] data)
4970              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
4971            return PARSER.parseFrom(data);
4972          }
4973          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
4974              byte[] data,
4975              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
4976              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
4977            return PARSER.parseFrom(data, extensionRegistry);
4978          }
4979          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(java.io.InputStream input)
4980              throws java.io.IOException {
4981            return PARSER.parseFrom(input);
4982          }
4983          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
4984              java.io.InputStream input,
4985              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
4986              throws java.io.IOException {
4987            return PARSER.parseFrom(input, extensionRegistry);
4988          }
4989          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(java.io.InputStream input)
4990              throws java.io.IOException {
4991            return PARSER.parseDelimitedFrom(input);
4992          }
4993          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(
4994              java.io.InputStream input,
4995              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
4996              throws java.io.IOException {
4997            return PARSER.parseDelimitedFrom(input, extensionRegistry);
4998          }
4999          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5000              org.jetbrains.kotlin.protobuf.CodedInputStream input)
5001              throws java.io.IOException {
5002            return PARSER.parseFrom(input);
5003          }
5004          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
5005              org.jetbrains.kotlin.protobuf.CodedInputStream input,
5006              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
5007              throws java.io.IOException {
5008            return PARSER.parseFrom(input, extensionRegistry);
5009          }
5010    
5011          public static Builder newBuilder() { return Builder.create(); }
5012          public Builder newBuilderForType() { return newBuilder(); }
5013          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument prototype) {
5014            return newBuilder().mergeFrom(prototype);
5015          }
5016          public Builder toBuilder() { return newBuilder(this); }
5017    
5018          /**
5019           * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Argument}
5020           */
5021          public static final class Builder extends
5022              org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder<
5023                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument, Builder>
5024              implements
5025              // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Type.Argument)
5026              org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder {
5027            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.newBuilder()
5028            private Builder() {
5029              maybeForceBuilderInitialization();
5030            }
5031    
5032            private void maybeForceBuilderInitialization() {
5033            }
5034            private static Builder create() {
5035              return new Builder();
5036            }
5037    
5038            public Builder clear() {
5039              super.clear();
5040              projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5041              bitField0_ = (bitField0_ & ~0x00000001);
5042              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5043              bitField0_ = (bitField0_ & ~0x00000002);
5044              typeId_ = 0;
5045              bitField0_ = (bitField0_ & ~0x00000004);
5046              return this;
5047            }
5048    
5049            public Builder clone() {
5050              return create().mergeFrom(buildPartial());
5051            }
5052    
5053            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getDefaultInstanceForType() {
5054              return org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.getDefaultInstance();
5055            }
5056    
5057            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument build() {
5058              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument result = buildPartial();
5059              if (!result.isInitialized()) {
5060                throw newUninitializedMessageException(result);
5061              }
5062              return result;
5063            }
5064    
5065            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument buildPartial() {
5066              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument result = new org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument(this);
5067              int from_bitField0_ = bitField0_;
5068              int to_bitField0_ = 0;
5069              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
5070                to_bitField0_ |= 0x00000001;
5071              }
5072              result.projection_ = projection_;
5073              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
5074                to_bitField0_ |= 0x00000002;
5075              }
5076              result.type_ = type_;
5077              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
5078                to_bitField0_ |= 0x00000004;
5079              }
5080              result.typeId_ = typeId_;
5081              result.bitField0_ = to_bitField0_;
5082              return result;
5083            }
5084    
5085            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument other) {
5086              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.getDefaultInstance()) return this;
5087              if (other.hasProjection()) {
5088                setProjection(other.getProjection());
5089              }
5090              if (other.hasType()) {
5091                mergeType(other.getType());
5092              }
5093              if (other.hasTypeId()) {
5094                setTypeId(other.getTypeId());
5095              }
5096              setUnknownFields(
5097                  getUnknownFields().concat(other.unknownFields));
5098              return this;
5099            }
5100    
5101            public final boolean isInitialized() {
5102              if (hasType()) {
5103                if (!getType().isInitialized()) {
5104                  
5105                  return false;
5106                }
5107              }
5108              return true;
5109            }
5110    
5111            public Builder mergeFrom(
5112                org.jetbrains.kotlin.protobuf.CodedInputStream input,
5113                org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
5114                throws java.io.IOException {
5115              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parsedMessage = null;
5116              try {
5117                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
5118              } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
5119                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument) e.getUnfinishedMessage();
5120                throw e;
5121              } finally {
5122                if (parsedMessage != null) {
5123                  mergeFrom(parsedMessage);
5124                }
5125              }
5126              return this;
5127            }
5128            private int bitField0_;
5129    
5130            private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5131            /**
5132             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5133             */
5134            public boolean hasProjection() {
5135              return ((bitField0_ & 0x00000001) == 0x00000001);
5136            }
5137            /**
5138             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5139             */
5140            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
5141              return projection_;
5142            }
5143            /**
5144             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5145             */
5146            public Builder setProjection(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection value) {
5147              if (value == null) {
5148                throw new NullPointerException();
5149              }
5150              bitField0_ |= 0x00000001;
5151              projection_ = value;
5152              
5153              return this;
5154            }
5155            /**
5156             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5157             */
5158            public Builder clearProjection() {
5159              bitField0_ = (bitField0_ & ~0x00000001);
5160              projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5161              
5162              return this;
5163            }
5164    
5165            private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5166            /**
5167             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5168             *
5169             * <pre>
5170             * When projection is STAR, no type is written, otherwise type must be specified
5171             * </pre>
5172             */
5173            public boolean hasType() {
5174              return ((bitField0_ & 0x00000002) == 0x00000002);
5175            }
5176            /**
5177             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5178             *
5179             * <pre>
5180             * When projection is STAR, no type is written, otherwise type must be specified
5181             * </pre>
5182             */
5183            public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
5184              return type_;
5185            }
5186            /**
5187             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5188             *
5189             * <pre>
5190             * When projection is STAR, no type is written, otherwise type must be specified
5191             * </pre>
5192             */
5193            public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
5194              if (value == null) {
5195                throw new NullPointerException();
5196              }
5197              type_ = value;
5198    
5199              bitField0_ |= 0x00000002;
5200              return this;
5201            }
5202            /**
5203             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5204             *
5205             * <pre>
5206             * When projection is STAR, no type is written, otherwise type must be specified
5207             * </pre>
5208             */
5209            public Builder setType(
5210                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
5211              type_ = builderForValue.build();
5212    
5213              bitField0_ |= 0x00000002;
5214              return this;
5215            }
5216            /**
5217             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5218             *
5219             * <pre>
5220             * When projection is STAR, no type is written, otherwise type must be specified
5221             * </pre>
5222             */
5223            public Builder mergeType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
5224              if (((bitField0_ & 0x00000002) == 0x00000002) &&
5225                  type_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
5226                type_ =
5227                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
5228              } else {
5229                type_ = value;
5230              }
5231    
5232              bitField0_ |= 0x00000002;
5233              return this;
5234            }
5235            /**
5236             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5237             *
5238             * <pre>
5239             * When projection is STAR, no type is written, otherwise type must be specified
5240             * </pre>
5241             */
5242            public Builder clearType() {
5243              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5244    
5245              bitField0_ = (bitField0_ & ~0x00000002);
5246              return this;
5247            }
5248    
5249            private int typeId_ ;
5250            /**
5251             * <code>optional int32 type_id = 3;</code>
5252             */
5253            public boolean hasTypeId() {
5254              return ((bitField0_ & 0x00000004) == 0x00000004);
5255            }
5256            /**
5257             * <code>optional int32 type_id = 3;</code>
5258             */
5259            public int getTypeId() {
5260              return typeId_;
5261            }
5262            /**
5263             * <code>optional int32 type_id = 3;</code>
5264             */
5265            public Builder setTypeId(int value) {
5266              bitField0_ |= 0x00000004;
5267              typeId_ = value;
5268              
5269              return this;
5270            }
5271            /**
5272             * <code>optional int32 type_id = 3;</code>
5273             */
5274            public Builder clearTypeId() {
5275              bitField0_ = (bitField0_ & ~0x00000004);
5276              typeId_ = 0;
5277              
5278              return this;
5279            }
5280    
5281            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Type.Argument)
5282          }
5283    
5284          static {
5285            defaultInstance = new Argument(true);
5286            defaultInstance.initFields();
5287          }
5288    
5289          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Type.Argument)
5290        }
5291    
5292        private int bitField0_;
5293        public static final int ARGUMENT_FIELD_NUMBER = 2;
5294        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> argument_;
5295        /**
5296         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5297         */
5298        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> getArgumentList() {
5299          return argument_;
5300        }
5301        /**
5302         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5303         */
5304        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder> 
5305            getArgumentOrBuilderList() {
5306          return argument_;
5307        }
5308        /**
5309         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5310         */
5311        public int getArgumentCount() {
5312          return argument_.size();
5313        }
5314        /**
5315         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5316         */
5317        public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index) {
5318          return argument_.get(index);
5319        }
5320        /**
5321         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5322         */
5323        public org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder getArgumentOrBuilder(
5324            int index) {
5325          return argument_.get(index);
5326        }
5327    
5328        public static final int NULLABLE_FIELD_NUMBER = 3;
5329        private boolean nullable_;
5330        /**
5331         * <code>optional bool nullable = 3 [default = false];</code>
5332         */
5333        public boolean hasNullable() {
5334          return ((bitField0_ & 0x00000001) == 0x00000001);
5335        }
5336        /**
5337         * <code>optional bool nullable = 3 [default = false];</code>
5338         */
5339        public boolean getNullable() {
5340          return nullable_;
5341        }
5342    
5343        public static final int FLEXIBLE_TYPE_CAPABILITIES_ID_FIELD_NUMBER = 4;
5344        private int flexibleTypeCapabilitiesId_;
5345        /**
5346         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5347         *
5348         * <pre>
5349         * If this field is set, the type is flexible.
5350         * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5351         * </pre>
5352         */
5353        public boolean hasFlexibleTypeCapabilitiesId() {
5354          return ((bitField0_ & 0x00000002) == 0x00000002);
5355        }
5356        /**
5357         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5358         *
5359         * <pre>
5360         * If this field is set, the type is flexible.
5361         * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5362         * </pre>
5363         */
5364        public int getFlexibleTypeCapabilitiesId() {
5365          return flexibleTypeCapabilitiesId_;
5366        }
5367    
5368        public static final int FLEXIBLE_UPPER_BOUND_FIELD_NUMBER = 5;
5369        private org.jetbrains.kotlin.serialization.ProtoBuf.Type flexibleUpperBound_;
5370        /**
5371         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5372         */
5373        public boolean hasFlexibleUpperBound() {
5374          return ((bitField0_ & 0x00000004) == 0x00000004);
5375        }
5376        /**
5377         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5378         */
5379        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound() {
5380          return flexibleUpperBound_;
5381        }
5382    
5383        public static final int FLEXIBLE_UPPER_BOUND_ID_FIELD_NUMBER = 8;
5384        private int flexibleUpperBoundId_;
5385        /**
5386         * <code>optional int32 flexible_upper_bound_id = 8;</code>
5387         */
5388        public boolean hasFlexibleUpperBoundId() {
5389          return ((bitField0_ & 0x00000008) == 0x00000008);
5390        }
5391        /**
5392         * <code>optional int32 flexible_upper_bound_id = 8;</code>
5393         */
5394        public int getFlexibleUpperBoundId() {
5395          return flexibleUpperBoundId_;
5396        }
5397    
5398        public static final int CLASS_NAME_FIELD_NUMBER = 6;
5399        private int className_;
5400        /**
5401         * <code>optional int32 class_name = 6;</code>
5402         */
5403        public boolean hasClassName() {
5404          return ((bitField0_ & 0x00000010) == 0x00000010);
5405        }
5406        /**
5407         * <code>optional int32 class_name = 6;</code>
5408         */
5409        public int getClassName() {
5410          return className_;
5411        }
5412    
5413        public static final int TYPE_PARAMETER_FIELD_NUMBER = 7;
5414        private int typeParameter_;
5415        /**
5416         * <code>optional int32 type_parameter = 7;</code>
5417         *
5418         * <pre>
5419         * id of the type parameter
5420         * </pre>
5421         */
5422        public boolean hasTypeParameter() {
5423          return ((bitField0_ & 0x00000020) == 0x00000020);
5424        }
5425        /**
5426         * <code>optional int32 type_parameter = 7;</code>
5427         *
5428         * <pre>
5429         * id of the type parameter
5430         * </pre>
5431         */
5432        public int getTypeParameter() {
5433          return typeParameter_;
5434        }
5435    
5436        public static final int TYPE_PARAMETER_NAME_FIELD_NUMBER = 9;
5437        private int typeParameterName_;
5438        /**
5439         * <code>optional int32 type_parameter_name = 9;</code>
5440         *
5441         * <pre>
5442         * Name of the type parameter in the immediate owner
5443         * </pre>
5444         */
5445        public boolean hasTypeParameterName() {
5446          return ((bitField0_ & 0x00000040) == 0x00000040);
5447        }
5448        /**
5449         * <code>optional int32 type_parameter_name = 9;</code>
5450         *
5451         * <pre>
5452         * Name of the type parameter in the immediate owner
5453         * </pre>
5454         */
5455        public int getTypeParameterName() {
5456          return typeParameterName_;
5457        }
5458    
5459        public static final int OUTER_TYPE_FIELD_NUMBER = 10;
5460        private org.jetbrains.kotlin.serialization.ProtoBuf.Type outerType_;
5461        /**
5462         * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
5463         */
5464        public boolean hasOuterType() {
5465          return ((bitField0_ & 0x00000080) == 0x00000080);
5466        }
5467        /**
5468         * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
5469         */
5470        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getOuterType() {
5471          return outerType_;
5472        }
5473    
5474        public static final int OUTER_TYPE_ID_FIELD_NUMBER = 11;
5475        private int outerTypeId_;
5476        /**
5477         * <code>optional int32 outer_type_id = 11;</code>
5478         */
5479        public boolean hasOuterTypeId() {
5480          return ((bitField0_ & 0x00000100) == 0x00000100);
5481        }
5482        /**
5483         * <code>optional int32 outer_type_id = 11;</code>
5484         */
5485        public int getOuterTypeId() {
5486          return outerTypeId_;
5487        }
5488    
5489        private void initFields() {
5490          argument_ = java.util.Collections.emptyList();
5491          nullable_ = false;
5492          flexibleTypeCapabilitiesId_ = 0;
5493          flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5494          flexibleUpperBoundId_ = 0;
5495          className_ = 0;
5496          typeParameter_ = 0;
5497          typeParameterName_ = 0;
5498          outerType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5499          outerTypeId_ = 0;
5500        }
5501        private byte memoizedIsInitialized = -1;
5502        public final boolean isInitialized() {
5503          byte isInitialized = memoizedIsInitialized;
5504          if (isInitialized == 1) return true;
5505          if (isInitialized == 0) return false;
5506    
5507          for (int i = 0; i < getArgumentCount(); i++) {
5508            if (!getArgument(i).isInitialized()) {
5509              memoizedIsInitialized = 0;
5510              return false;
5511            }
5512          }
5513          if (hasFlexibleUpperBound()) {
5514            if (!getFlexibleUpperBound().isInitialized()) {
5515              memoizedIsInitialized = 0;
5516              return false;
5517            }
5518          }
5519          if (hasOuterType()) {
5520            if (!getOuterType().isInitialized()) {
5521              memoizedIsInitialized = 0;
5522              return false;
5523            }
5524          }
5525          if (!extensionsAreInitialized()) {
5526            memoizedIsInitialized = 0;
5527            return false;
5528          }
5529          memoizedIsInitialized = 1;
5530          return true;
5531        }
5532    
5533        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
5534                            throws java.io.IOException {
5535          getSerializedSize();
5536          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
5537            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Type>.ExtensionWriter extensionWriter =
5538              newExtensionWriter();
5539          for (int i = 0; i < argument_.size(); i++) {
5540            output.writeMessage(2, argument_.get(i));
5541          }
5542          if (((bitField0_ & 0x00000001) == 0x00000001)) {
5543            output.writeBool(3, nullable_);
5544          }
5545          if (((bitField0_ & 0x00000002) == 0x00000002)) {
5546            output.writeInt32(4, flexibleTypeCapabilitiesId_);
5547          }
5548          if (((bitField0_ & 0x00000004) == 0x00000004)) {
5549            output.writeMessage(5, flexibleUpperBound_);
5550          }
5551          if (((bitField0_ & 0x00000010) == 0x00000010)) {
5552            output.writeInt32(6, className_);
5553          }
5554          if (((bitField0_ & 0x00000020) == 0x00000020)) {
5555            output.writeInt32(7, typeParameter_);
5556          }
5557          if (((bitField0_ & 0x00000008) == 0x00000008)) {
5558            output.writeInt32(8, flexibleUpperBoundId_);
5559          }
5560          if (((bitField0_ & 0x00000040) == 0x00000040)) {
5561            output.writeInt32(9, typeParameterName_);
5562          }
5563          if (((bitField0_ & 0x00000080) == 0x00000080)) {
5564            output.writeMessage(10, outerType_);
5565          }
5566          if (((bitField0_ & 0x00000100) == 0x00000100)) {
5567            output.writeInt32(11, outerTypeId_);
5568          }
5569          extensionWriter.writeUntil(200, output);
5570          output.writeRawBytes(unknownFields);
5571        }
5572    
5573        private int memoizedSerializedSize = -1;
5574        public int getSerializedSize() {
5575          int size = memoizedSerializedSize;
5576          if (size != -1) return size;
5577    
5578          size = 0;
5579          for (int i = 0; i < argument_.size(); i++) {
5580            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5581              .computeMessageSize(2, argument_.get(i));
5582          }
5583          if (((bitField0_ & 0x00000001) == 0x00000001)) {
5584            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5585              .computeBoolSize(3, nullable_);
5586          }
5587          if (((bitField0_ & 0x00000002) == 0x00000002)) {
5588            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5589              .computeInt32Size(4, flexibleTypeCapabilitiesId_);
5590          }
5591          if (((bitField0_ & 0x00000004) == 0x00000004)) {
5592            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5593              .computeMessageSize(5, flexibleUpperBound_);
5594          }
5595          if (((bitField0_ & 0x00000010) == 0x00000010)) {
5596            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5597              .computeInt32Size(6, className_);
5598          }
5599          if (((bitField0_ & 0x00000020) == 0x00000020)) {
5600            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5601              .computeInt32Size(7, typeParameter_);
5602          }
5603          if (((bitField0_ & 0x00000008) == 0x00000008)) {
5604            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5605              .computeInt32Size(8, flexibleUpperBoundId_);
5606          }
5607          if (((bitField0_ & 0x00000040) == 0x00000040)) {
5608            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5609              .computeInt32Size(9, typeParameterName_);
5610          }
5611          if (((bitField0_ & 0x00000080) == 0x00000080)) {
5612            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5613              .computeMessageSize(10, outerType_);
5614          }
5615          if (((bitField0_ & 0x00000100) == 0x00000100)) {
5616            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
5617              .computeInt32Size(11, outerTypeId_);
5618          }
5619          size += extensionsSerializedSize();
5620          size += unknownFields.size();
5621          memoizedSerializedSize = size;
5622          return size;
5623        }
5624    
5625        private static final long serialVersionUID = 0L;
5626        @java.lang.Override
5627        protected java.lang.Object writeReplace()
5628            throws java.io.ObjectStreamException {
5629          return super.writeReplace();
5630        }
5631    
5632        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5633            org.jetbrains.kotlin.protobuf.ByteString data)
5634            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
5635          return PARSER.parseFrom(data);
5636        }
5637        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5638            org.jetbrains.kotlin.protobuf.ByteString data,
5639            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
5640            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
5641          return PARSER.parseFrom(data, extensionRegistry);
5642        }
5643        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(byte[] data)
5644            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
5645          return PARSER.parseFrom(data);
5646        }
5647        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5648            byte[] data,
5649            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
5650            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
5651          return PARSER.parseFrom(data, extensionRegistry);
5652        }
5653        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(java.io.InputStream input)
5654            throws java.io.IOException {
5655          return PARSER.parseFrom(input);
5656        }
5657        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5658            java.io.InputStream input,
5659            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
5660            throws java.io.IOException {
5661          return PARSER.parseFrom(input, extensionRegistry);
5662        }
5663        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseDelimitedFrom(java.io.InputStream input)
5664            throws java.io.IOException {
5665          return PARSER.parseDelimitedFrom(input);
5666        }
5667        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseDelimitedFrom(
5668            java.io.InputStream input,
5669            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
5670            throws java.io.IOException {
5671          return PARSER.parseDelimitedFrom(input, extensionRegistry);
5672        }
5673        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5674            org.jetbrains.kotlin.protobuf.CodedInputStream input)
5675            throws java.io.IOException {
5676          return PARSER.parseFrom(input);
5677        }
5678        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5679            org.jetbrains.kotlin.protobuf.CodedInputStream input,
5680            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
5681            throws java.io.IOException {
5682          return PARSER.parseFrom(input, extensionRegistry);
5683        }
5684    
5685        public static Builder newBuilder() { return Builder.create(); }
5686        public Builder newBuilderForType() { return newBuilder(); }
5687        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Type prototype) {
5688          return newBuilder().mergeFrom(prototype);
5689        }
5690        public Builder toBuilder() { return newBuilder(this); }
5691    
5692        /**
5693         * Protobuf type {@code org.jetbrains.kotlin.serialization.Type}
5694         */
5695        public static final class Builder extends
5696            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
5697              org.jetbrains.kotlin.serialization.ProtoBuf.Type, Builder> implements
5698            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Type)
5699            org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder {
5700          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder()
5701          private Builder() {
5702            maybeForceBuilderInitialization();
5703          }
5704    
5705          private void maybeForceBuilderInitialization() {
5706          }
5707          private static Builder create() {
5708            return new Builder();
5709          }
5710    
5711          public Builder clear() {
5712            super.clear();
5713            argument_ = java.util.Collections.emptyList();
5714            bitField0_ = (bitField0_ & ~0x00000001);
5715            nullable_ = false;
5716            bitField0_ = (bitField0_ & ~0x00000002);
5717            flexibleTypeCapabilitiesId_ = 0;
5718            bitField0_ = (bitField0_ & ~0x00000004);
5719            flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5720            bitField0_ = (bitField0_ & ~0x00000008);
5721            flexibleUpperBoundId_ = 0;
5722            bitField0_ = (bitField0_ & ~0x00000010);
5723            className_ = 0;
5724            bitField0_ = (bitField0_ & ~0x00000020);
5725            typeParameter_ = 0;
5726            bitField0_ = (bitField0_ & ~0x00000040);
5727            typeParameterName_ = 0;
5728            bitField0_ = (bitField0_ & ~0x00000080);
5729            outerType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5730            bitField0_ = (bitField0_ & ~0x00000100);
5731            outerTypeId_ = 0;
5732            bitField0_ = (bitField0_ & ~0x00000200);
5733            return this;
5734          }
5735    
5736          public Builder clone() {
5737            return create().mergeFrom(buildPartial());
5738          }
5739    
5740          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getDefaultInstanceForType() {
5741            return org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5742          }
5743    
5744          public org.jetbrains.kotlin.serialization.ProtoBuf.Type build() {
5745            org.jetbrains.kotlin.serialization.ProtoBuf.Type result = buildPartial();
5746            if (!result.isInitialized()) {
5747              throw newUninitializedMessageException(result);
5748            }
5749            return result;
5750          }
5751    
5752          public org.jetbrains.kotlin.serialization.ProtoBuf.Type buildPartial() {
5753            org.jetbrains.kotlin.serialization.ProtoBuf.Type result = new org.jetbrains.kotlin.serialization.ProtoBuf.Type(this);
5754            int from_bitField0_ = bitField0_;
5755            int to_bitField0_ = 0;
5756            if (((bitField0_ & 0x00000001) == 0x00000001)) {
5757              argument_ = java.util.Collections.unmodifiableList(argument_);
5758              bitField0_ = (bitField0_ & ~0x00000001);
5759            }
5760            result.argument_ = argument_;
5761            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
5762              to_bitField0_ |= 0x00000001;
5763            }
5764            result.nullable_ = nullable_;
5765            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
5766              to_bitField0_ |= 0x00000002;
5767            }
5768            result.flexibleTypeCapabilitiesId_ = flexibleTypeCapabilitiesId_;
5769            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
5770              to_bitField0_ |= 0x00000004;
5771            }
5772            result.flexibleUpperBound_ = flexibleUpperBound_;
5773            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
5774              to_bitField0_ |= 0x00000008;
5775            }
5776            result.flexibleUpperBoundId_ = flexibleUpperBoundId_;
5777            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
5778              to_bitField0_ |= 0x00000010;
5779            }
5780            result.className_ = className_;
5781            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
5782              to_bitField0_ |= 0x00000020;
5783            }
5784            result.typeParameter_ = typeParameter_;
5785            if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
5786              to_bitField0_ |= 0x00000040;
5787            }
5788            result.typeParameterName_ = typeParameterName_;
5789            if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
5790              to_bitField0_ |= 0x00000080;
5791            }
5792            result.outerType_ = outerType_;
5793            if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
5794              to_bitField0_ |= 0x00000100;
5795            }
5796            result.outerTypeId_ = outerTypeId_;
5797            result.bitField0_ = to_bitField0_;
5798            return result;
5799          }
5800    
5801          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Type other) {
5802            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) return this;
5803            if (!other.argument_.isEmpty()) {
5804              if (argument_.isEmpty()) {
5805                argument_ = other.argument_;
5806                bitField0_ = (bitField0_ & ~0x00000001);
5807              } else {
5808                ensureArgumentIsMutable();
5809                argument_.addAll(other.argument_);
5810              }
5811              
5812            }
5813            if (other.hasNullable()) {
5814              setNullable(other.getNullable());
5815            }
5816            if (other.hasFlexibleTypeCapabilitiesId()) {
5817              setFlexibleTypeCapabilitiesId(other.getFlexibleTypeCapabilitiesId());
5818            }
5819            if (other.hasFlexibleUpperBound()) {
5820              mergeFlexibleUpperBound(other.getFlexibleUpperBound());
5821            }
5822            if (other.hasFlexibleUpperBoundId()) {
5823              setFlexibleUpperBoundId(other.getFlexibleUpperBoundId());
5824            }
5825            if (other.hasClassName()) {
5826              setClassName(other.getClassName());
5827            }
5828            if (other.hasTypeParameter()) {
5829              setTypeParameter(other.getTypeParameter());
5830            }
5831            if (other.hasTypeParameterName()) {
5832              setTypeParameterName(other.getTypeParameterName());
5833            }
5834            if (other.hasOuterType()) {
5835              mergeOuterType(other.getOuterType());
5836            }
5837            if (other.hasOuterTypeId()) {
5838              setOuterTypeId(other.getOuterTypeId());
5839            }
5840            this.mergeExtensionFields(other);
5841            setUnknownFields(
5842                getUnknownFields().concat(other.unknownFields));
5843            return this;
5844          }
5845    
5846          public final boolean isInitialized() {
5847            for (int i = 0; i < getArgumentCount(); i++) {
5848              if (!getArgument(i).isInitialized()) {
5849                
5850                return false;
5851              }
5852            }
5853            if (hasFlexibleUpperBound()) {
5854              if (!getFlexibleUpperBound().isInitialized()) {
5855                
5856                return false;
5857              }
5858            }
5859            if (hasOuterType()) {
5860              if (!getOuterType().isInitialized()) {
5861                
5862                return false;
5863              }
5864            }
5865            if (!extensionsAreInitialized()) {
5866              
5867              return false;
5868            }
5869            return true;
5870          }
5871    
5872          public Builder mergeFrom(
5873              org.jetbrains.kotlin.protobuf.CodedInputStream input,
5874              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
5875              throws java.io.IOException {
5876            org.jetbrains.kotlin.serialization.ProtoBuf.Type parsedMessage = null;
5877            try {
5878              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
5879            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
5880              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Type) e.getUnfinishedMessage();
5881              throw e;
5882            } finally {
5883              if (parsedMessage != null) {
5884                mergeFrom(parsedMessage);
5885              }
5886            }
5887            return this;
5888          }
5889          private int bitField0_;
5890    
5891          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> argument_ =
5892            java.util.Collections.emptyList();
5893          private void ensureArgumentIsMutable() {
5894            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
5895              argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument>(argument_);
5896              bitField0_ |= 0x00000001;
5897             }
5898          }
5899    
5900          /**
5901           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5902           */
5903          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> getArgumentList() {
5904            return java.util.Collections.unmodifiableList(argument_);
5905          }
5906          /**
5907           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5908           */
5909          public int getArgumentCount() {
5910            return argument_.size();
5911          }
5912          /**
5913           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5914           */
5915          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index) {
5916            return argument_.get(index);
5917          }
5918          /**
5919           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5920           */
5921          public Builder setArgument(
5922              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
5923            if (value == null) {
5924              throw new NullPointerException();
5925            }
5926            ensureArgumentIsMutable();
5927            argument_.set(index, value);
5928    
5929            return this;
5930          }
5931          /**
5932           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5933           */
5934          public Builder setArgument(
5935              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
5936            ensureArgumentIsMutable();
5937            argument_.set(index, builderForValue.build());
5938    
5939            return this;
5940          }
5941          /**
5942           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5943           */
5944          public Builder addArgument(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
5945            if (value == null) {
5946              throw new NullPointerException();
5947            }
5948            ensureArgumentIsMutable();
5949            argument_.add(value);
5950    
5951            return this;
5952          }
5953          /**
5954           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5955           */
5956          public Builder addArgument(
5957              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
5958            if (value == null) {
5959              throw new NullPointerException();
5960            }
5961            ensureArgumentIsMutable();
5962            argument_.add(index, value);
5963    
5964            return this;
5965          }
5966          /**
5967           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5968           */
5969          public Builder addArgument(
5970              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
5971            ensureArgumentIsMutable();
5972            argument_.add(builderForValue.build());
5973    
5974            return this;
5975          }
5976          /**
5977           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5978           */
5979          public Builder addArgument(
5980              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
5981            ensureArgumentIsMutable();
5982            argument_.add(index, builderForValue.build());
5983    
5984            return this;
5985          }
5986          /**
5987           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5988           */
5989          public Builder addAllArgument(
5990              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> values) {
5991            ensureArgumentIsMutable();
5992            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
5993                values, argument_);
5994    
5995            return this;
5996          }
5997          /**
5998           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5999           */
6000          public Builder clearArgument() {
6001            argument_ = java.util.Collections.emptyList();
6002            bitField0_ = (bitField0_ & ~0x00000001);
6003    
6004            return this;
6005          }
6006          /**
6007           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
6008           */
6009          public Builder removeArgument(int index) {
6010            ensureArgumentIsMutable();
6011            argument_.remove(index);
6012    
6013            return this;
6014          }
6015    
6016          private boolean nullable_ ;
6017          /**
6018           * <code>optional bool nullable = 3 [default = false];</code>
6019           */
6020          public boolean hasNullable() {
6021            return ((bitField0_ & 0x00000002) == 0x00000002);
6022          }
6023          /**
6024           * <code>optional bool nullable = 3 [default = false];</code>
6025           */
6026          public boolean getNullable() {
6027            return nullable_;
6028          }
6029          /**
6030           * <code>optional bool nullable = 3 [default = false];</code>
6031           */
6032          public Builder setNullable(boolean value) {
6033            bitField0_ |= 0x00000002;
6034            nullable_ = value;
6035            
6036            return this;
6037          }
6038          /**
6039           * <code>optional bool nullable = 3 [default = false];</code>
6040           */
6041          public Builder clearNullable() {
6042            bitField0_ = (bitField0_ & ~0x00000002);
6043            nullable_ = false;
6044            
6045            return this;
6046          }
6047    
6048          private int flexibleTypeCapabilitiesId_ ;
6049          /**
6050           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6051           *
6052           * <pre>
6053           * If this field is set, the type is flexible.
6054           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6055           * </pre>
6056           */
6057          public boolean hasFlexibleTypeCapabilitiesId() {
6058            return ((bitField0_ & 0x00000004) == 0x00000004);
6059          }
6060          /**
6061           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6062           *
6063           * <pre>
6064           * If this field is set, the type is flexible.
6065           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6066           * </pre>
6067           */
6068          public int getFlexibleTypeCapabilitiesId() {
6069            return flexibleTypeCapabilitiesId_;
6070          }
6071          /**
6072           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6073           *
6074           * <pre>
6075           * If this field is set, the type is flexible.
6076           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6077           * </pre>
6078           */
6079          public Builder setFlexibleTypeCapabilitiesId(int value) {
6080            bitField0_ |= 0x00000004;
6081            flexibleTypeCapabilitiesId_ = value;
6082            
6083            return this;
6084          }
6085          /**
6086           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6087           *
6088           * <pre>
6089           * If this field is set, the type is flexible.
6090           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6091           * </pre>
6092           */
6093          public Builder clearFlexibleTypeCapabilitiesId() {
6094            bitField0_ = (bitField0_ & ~0x00000004);
6095            flexibleTypeCapabilitiesId_ = 0;
6096            
6097            return this;
6098          }
6099    
6100          private org.jetbrains.kotlin.serialization.ProtoBuf.Type flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6101          /**
6102           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6103           */
6104          public boolean hasFlexibleUpperBound() {
6105            return ((bitField0_ & 0x00000008) == 0x00000008);
6106          }
6107          /**
6108           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6109           */
6110          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound() {
6111            return flexibleUpperBound_;
6112          }
6113          /**
6114           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6115           */
6116          public Builder setFlexibleUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6117            if (value == null) {
6118              throw new NullPointerException();
6119            }
6120            flexibleUpperBound_ = value;
6121    
6122            bitField0_ |= 0x00000008;
6123            return this;
6124          }
6125          /**
6126           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6127           */
6128          public Builder setFlexibleUpperBound(
6129              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
6130            flexibleUpperBound_ = builderForValue.build();
6131    
6132            bitField0_ |= 0x00000008;
6133            return this;
6134          }
6135          /**
6136           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6137           */
6138          public Builder mergeFlexibleUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6139            if (((bitField0_ & 0x00000008) == 0x00000008) &&
6140                flexibleUpperBound_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
6141              flexibleUpperBound_ =
6142                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(flexibleUpperBound_).mergeFrom(value).buildPartial();
6143            } else {
6144              flexibleUpperBound_ = value;
6145            }
6146    
6147            bitField0_ |= 0x00000008;
6148            return this;
6149          }
6150          /**
6151           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6152           */
6153          public Builder clearFlexibleUpperBound() {
6154            flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6155    
6156            bitField0_ = (bitField0_ & ~0x00000008);
6157            return this;
6158          }
6159    
6160          private int flexibleUpperBoundId_ ;
6161          /**
6162           * <code>optional int32 flexible_upper_bound_id = 8;</code>
6163           */
6164          public boolean hasFlexibleUpperBoundId() {
6165            return ((bitField0_ & 0x00000010) == 0x00000010);
6166          }
6167          /**
6168           * <code>optional int32 flexible_upper_bound_id = 8;</code>
6169           */
6170          public int getFlexibleUpperBoundId() {
6171            return flexibleUpperBoundId_;
6172          }
6173          /**
6174           * <code>optional int32 flexible_upper_bound_id = 8;</code>
6175           */
6176          public Builder setFlexibleUpperBoundId(int value) {
6177            bitField0_ |= 0x00000010;
6178            flexibleUpperBoundId_ = value;
6179            
6180            return this;
6181          }
6182          /**
6183           * <code>optional int32 flexible_upper_bound_id = 8;</code>
6184           */
6185          public Builder clearFlexibleUpperBoundId() {
6186            bitField0_ = (bitField0_ & ~0x00000010);
6187            flexibleUpperBoundId_ = 0;
6188            
6189            return this;
6190          }
6191    
6192          private int className_ ;
6193          /**
6194           * <code>optional int32 class_name = 6;</code>
6195           */
6196          public boolean hasClassName() {
6197            return ((bitField0_ & 0x00000020) == 0x00000020);
6198          }
6199          /**
6200           * <code>optional int32 class_name = 6;</code>
6201           */
6202          public int getClassName() {
6203            return className_;
6204          }
6205          /**
6206           * <code>optional int32 class_name = 6;</code>
6207           */
6208          public Builder setClassName(int value) {
6209            bitField0_ |= 0x00000020;
6210            className_ = value;
6211            
6212            return this;
6213          }
6214          /**
6215           * <code>optional int32 class_name = 6;</code>
6216           */
6217          public Builder clearClassName() {
6218            bitField0_ = (bitField0_ & ~0x00000020);
6219            className_ = 0;
6220            
6221            return this;
6222          }
6223    
6224          private int typeParameter_ ;
6225          /**
6226           * <code>optional int32 type_parameter = 7;</code>
6227           *
6228           * <pre>
6229           * id of the type parameter
6230           * </pre>
6231           */
6232          public boolean hasTypeParameter() {
6233            return ((bitField0_ & 0x00000040) == 0x00000040);
6234          }
6235          /**
6236           * <code>optional int32 type_parameter = 7;</code>
6237           *
6238           * <pre>
6239           * id of the type parameter
6240           * </pre>
6241           */
6242          public int getTypeParameter() {
6243            return typeParameter_;
6244          }
6245          /**
6246           * <code>optional int32 type_parameter = 7;</code>
6247           *
6248           * <pre>
6249           * id of the type parameter
6250           * </pre>
6251           */
6252          public Builder setTypeParameter(int value) {
6253            bitField0_ |= 0x00000040;
6254            typeParameter_ = value;
6255            
6256            return this;
6257          }
6258          /**
6259           * <code>optional int32 type_parameter = 7;</code>
6260           *
6261           * <pre>
6262           * id of the type parameter
6263           * </pre>
6264           */
6265          public Builder clearTypeParameter() {
6266            bitField0_ = (bitField0_ & ~0x00000040);
6267            typeParameter_ = 0;
6268            
6269            return this;
6270          }
6271    
6272          private int typeParameterName_ ;
6273          /**
6274           * <code>optional int32 type_parameter_name = 9;</code>
6275           *
6276           * <pre>
6277           * Name of the type parameter in the immediate owner
6278           * </pre>
6279           */
6280          public boolean hasTypeParameterName() {
6281            return ((bitField0_ & 0x00000080) == 0x00000080);
6282          }
6283          /**
6284           * <code>optional int32 type_parameter_name = 9;</code>
6285           *
6286           * <pre>
6287           * Name of the type parameter in the immediate owner
6288           * </pre>
6289           */
6290          public int getTypeParameterName() {
6291            return typeParameterName_;
6292          }
6293          /**
6294           * <code>optional int32 type_parameter_name = 9;</code>
6295           *
6296           * <pre>
6297           * Name of the type parameter in the immediate owner
6298           * </pre>
6299           */
6300          public Builder setTypeParameterName(int value) {
6301            bitField0_ |= 0x00000080;
6302            typeParameterName_ = value;
6303            
6304            return this;
6305          }
6306          /**
6307           * <code>optional int32 type_parameter_name = 9;</code>
6308           *
6309           * <pre>
6310           * Name of the type parameter in the immediate owner
6311           * </pre>
6312           */
6313          public Builder clearTypeParameterName() {
6314            bitField0_ = (bitField0_ & ~0x00000080);
6315            typeParameterName_ = 0;
6316            
6317            return this;
6318          }
6319    
6320          private org.jetbrains.kotlin.serialization.ProtoBuf.Type outerType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6321          /**
6322           * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
6323           */
6324          public boolean hasOuterType() {
6325            return ((bitField0_ & 0x00000100) == 0x00000100);
6326          }
6327          /**
6328           * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
6329           */
6330          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getOuterType() {
6331            return outerType_;
6332          }
6333          /**
6334           * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
6335           */
6336          public Builder setOuterType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6337            if (value == null) {
6338              throw new NullPointerException();
6339            }
6340            outerType_ = value;
6341    
6342            bitField0_ |= 0x00000100;
6343            return this;
6344          }
6345          /**
6346           * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
6347           */
6348          public Builder setOuterType(
6349              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
6350            outerType_ = builderForValue.build();
6351    
6352            bitField0_ |= 0x00000100;
6353            return this;
6354          }
6355          /**
6356           * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
6357           */
6358          public Builder mergeOuterType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6359            if (((bitField0_ & 0x00000100) == 0x00000100) &&
6360                outerType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
6361              outerType_ =
6362                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(outerType_).mergeFrom(value).buildPartial();
6363            } else {
6364              outerType_ = value;
6365            }
6366    
6367            bitField0_ |= 0x00000100;
6368            return this;
6369          }
6370          /**
6371           * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
6372           */
6373          public Builder clearOuterType() {
6374            outerType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6375    
6376            bitField0_ = (bitField0_ & ~0x00000100);
6377            return this;
6378          }
6379    
6380          private int outerTypeId_ ;
6381          /**
6382           * <code>optional int32 outer_type_id = 11;</code>
6383           */
6384          public boolean hasOuterTypeId() {
6385            return ((bitField0_ & 0x00000200) == 0x00000200);
6386          }
6387          /**
6388           * <code>optional int32 outer_type_id = 11;</code>
6389           */
6390          public int getOuterTypeId() {
6391            return outerTypeId_;
6392          }
6393          /**
6394           * <code>optional int32 outer_type_id = 11;</code>
6395           */
6396          public Builder setOuterTypeId(int value) {
6397            bitField0_ |= 0x00000200;
6398            outerTypeId_ = value;
6399            
6400            return this;
6401          }
6402          /**
6403           * <code>optional int32 outer_type_id = 11;</code>
6404           */
6405          public Builder clearOuterTypeId() {
6406            bitField0_ = (bitField0_ & ~0x00000200);
6407            outerTypeId_ = 0;
6408            
6409            return this;
6410          }
6411    
6412          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Type)
6413        }
6414    
6415        static {
6416          defaultInstance = new Type(true);
6417          defaultInstance.initFields();
6418        }
6419    
6420        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Type)
6421      }
6422    
6423      public interface TypeParameterOrBuilder extends 
6424          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.TypeParameter)
6425           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
6426                ExtendableMessageOrBuilder<TypeParameter> {
6427    
6428        /**
6429         * <code>required int32 id = 1;</code>
6430         */
6431        boolean hasId();
6432        /**
6433         * <code>required int32 id = 1;</code>
6434         */
6435        int getId();
6436    
6437        /**
6438         * <code>required int32 name = 2;</code>
6439         */
6440        boolean hasName();
6441        /**
6442         * <code>required int32 name = 2;</code>
6443         */
6444        int getName();
6445    
6446        /**
6447         * <code>optional bool reified = 3 [default = false];</code>
6448         */
6449        boolean hasReified();
6450        /**
6451         * <code>optional bool reified = 3 [default = false];</code>
6452         */
6453        boolean getReified();
6454    
6455        /**
6456         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6457         */
6458        boolean hasVariance();
6459        /**
6460         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6461         */
6462        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance();
6463    
6464        /**
6465         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6466         */
6467        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> 
6468            getUpperBoundList();
6469        /**
6470         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6471         */
6472        org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index);
6473        /**
6474         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6475         */
6476        int getUpperBoundCount();
6477    
6478        /**
6479         * <code>repeated int32 upper_bound_id = 6;</code>
6480         */
6481        java.util.List<java.lang.Integer> getUpperBoundIdList();
6482        /**
6483         * <code>repeated int32 upper_bound_id = 6;</code>
6484         */
6485        int getUpperBoundIdCount();
6486        /**
6487         * <code>repeated int32 upper_bound_id = 6;</code>
6488         */
6489        int getUpperBoundId(int index);
6490      }
6491      /**
6492       * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeParameter}
6493       */
6494      public static final class TypeParameter extends
6495          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
6496            TypeParameter> implements
6497          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.TypeParameter)
6498          TypeParameterOrBuilder {
6499        // Use TypeParameter.newBuilder() to construct.
6500        private TypeParameter(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter, ?> builder) {
6501          super(builder);
6502          this.unknownFields = builder.getUnknownFields();
6503        }
6504        private TypeParameter(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
6505    
6506        private static final TypeParameter defaultInstance;
6507        public static TypeParameter getDefaultInstance() {
6508          return defaultInstance;
6509        }
6510    
6511        public TypeParameter getDefaultInstanceForType() {
6512          return defaultInstance;
6513        }
6514    
6515        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
6516        private TypeParameter(
6517            org.jetbrains.kotlin.protobuf.CodedInputStream input,
6518            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
6519            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
6520          initFields();
6521          int mutable_bitField0_ = 0;
6522          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
6523              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
6524          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
6525              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
6526                  unknownFieldsOutput);
6527          try {
6528            boolean done = false;
6529            while (!done) {
6530              int tag = input.readTag();
6531              switch (tag) {
6532                case 0:
6533                  done = true;
6534                  break;
6535                default: {
6536                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
6537                                         extensionRegistry, tag)) {
6538                    done = true;
6539                  }
6540                  break;
6541                }
6542                case 8: {
6543                  bitField0_ |= 0x00000001;
6544                  id_ = input.readInt32();
6545                  break;
6546                }
6547                case 16: {
6548                  bitField0_ |= 0x00000002;
6549                  name_ = input.readInt32();
6550                  break;
6551                }
6552                case 24: {
6553                  bitField0_ |= 0x00000004;
6554                  reified_ = input.readBool();
6555                  break;
6556                }
6557                case 32: {
6558                  int rawValue = input.readEnum();
6559                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance value = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.valueOf(rawValue);
6560                  if (value == null) {
6561                    unknownFieldsCodedOutput.writeRawVarint32(tag);
6562                    unknownFieldsCodedOutput.writeRawVarint32(rawValue);
6563                  } else {
6564                    bitField0_ |= 0x00000008;
6565                    variance_ = value;
6566                  }
6567                  break;
6568                }
6569                case 42: {
6570                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
6571                    upperBound_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
6572                    mutable_bitField0_ |= 0x00000010;
6573                  }
6574                  upperBound_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
6575                  break;
6576                }
6577                case 48: {
6578                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
6579                    upperBoundId_ = new java.util.ArrayList<java.lang.Integer>();
6580                    mutable_bitField0_ |= 0x00000020;
6581                  }
6582                  upperBoundId_.add(input.readInt32());
6583                  break;
6584                }
6585                case 50: {
6586                  int length = input.readRawVarint32();
6587                  int limit = input.pushLimit(length);
6588                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
6589                    upperBoundId_ = new java.util.ArrayList<java.lang.Integer>();
6590                    mutable_bitField0_ |= 0x00000020;
6591                  }
6592                  while (input.getBytesUntilLimit() > 0) {
6593                    upperBoundId_.add(input.readInt32());
6594                  }
6595                  input.popLimit(limit);
6596                  break;
6597                }
6598              }
6599            }
6600          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
6601            throw e.setUnfinishedMessage(this);
6602          } catch (java.io.IOException e) {
6603            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
6604                e.getMessage()).setUnfinishedMessage(this);
6605          } finally {
6606            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
6607              upperBound_ = java.util.Collections.unmodifiableList(upperBound_);
6608            }
6609            if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
6610              upperBoundId_ = java.util.Collections.unmodifiableList(upperBoundId_);
6611            }
6612            try {
6613              unknownFieldsCodedOutput.flush();
6614            } catch (java.io.IOException e) {
6615            // Should not happen
6616            } finally {
6617              unknownFields = unknownFieldsOutput.toByteString();
6618            }
6619            makeExtensionsImmutable();
6620          }
6621        }
6622        public static org.jetbrains.kotlin.protobuf.Parser<TypeParameter> PARSER =
6623            new org.jetbrains.kotlin.protobuf.AbstractParser<TypeParameter>() {
6624          public TypeParameter parsePartialFrom(
6625              org.jetbrains.kotlin.protobuf.CodedInputStream input,
6626              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
6627              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
6628            return new TypeParameter(input, extensionRegistry);
6629          }
6630        };
6631    
6632        @java.lang.Override
6633        public org.jetbrains.kotlin.protobuf.Parser<TypeParameter> getParserForType() {
6634          return PARSER;
6635        }
6636    
6637        /**
6638         * Protobuf enum {@code org.jetbrains.kotlin.serialization.TypeParameter.Variance}
6639         */
6640        public enum Variance
6641            implements org.jetbrains.kotlin.protobuf.Internal.EnumLite {
6642          /**
6643           * <code>IN = 0;</code>
6644           */
6645          IN(0, 0),
6646          /**
6647           * <code>OUT = 1;</code>
6648           */
6649          OUT(1, 1),
6650          /**
6651           * <code>INV = 2;</code>
6652           */
6653          INV(2, 2),
6654          ;
6655    
6656          /**
6657           * <code>IN = 0;</code>
6658           */
6659          public static final int IN_VALUE = 0;
6660          /**
6661           * <code>OUT = 1;</code>
6662           */
6663          public static final int OUT_VALUE = 1;
6664          /**
6665           * <code>INV = 2;</code>
6666           */
6667          public static final int INV_VALUE = 2;
6668    
6669    
6670          public final int getNumber() { return value; }
6671    
6672          public static Variance valueOf(int value) {
6673            switch (value) {
6674              case 0: return IN;
6675              case 1: return OUT;
6676              case 2: return INV;
6677              default: return null;
6678            }
6679          }
6680    
6681          public static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Variance>
6682              internalGetValueMap() {
6683            return internalValueMap;
6684          }
6685          private static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Variance>
6686              internalValueMap =
6687                new org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Variance>() {
6688                  public Variance findValueByNumber(int number) {
6689                    return Variance.valueOf(number);
6690                  }
6691                };
6692    
6693          private final int value;
6694    
6695          private Variance(int index, int value) {
6696            this.value = value;
6697          }
6698    
6699          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.TypeParameter.Variance)
6700        }
6701    
6702        private int bitField0_;
6703        public static final int ID_FIELD_NUMBER = 1;
6704        private int id_;
6705        /**
6706         * <code>required int32 id = 1;</code>
6707         */
6708        public boolean hasId() {
6709          return ((bitField0_ & 0x00000001) == 0x00000001);
6710        }
6711        /**
6712         * <code>required int32 id = 1;</code>
6713         */
6714        public int getId() {
6715          return id_;
6716        }
6717    
6718        public static final int NAME_FIELD_NUMBER = 2;
6719        private int name_;
6720        /**
6721         * <code>required int32 name = 2;</code>
6722         */
6723        public boolean hasName() {
6724          return ((bitField0_ & 0x00000002) == 0x00000002);
6725        }
6726        /**
6727         * <code>required int32 name = 2;</code>
6728         */
6729        public int getName() {
6730          return name_;
6731        }
6732    
6733        public static final int REIFIED_FIELD_NUMBER = 3;
6734        private boolean reified_;
6735        /**
6736         * <code>optional bool reified = 3 [default = false];</code>
6737         */
6738        public boolean hasReified() {
6739          return ((bitField0_ & 0x00000004) == 0x00000004);
6740        }
6741        /**
6742         * <code>optional bool reified = 3 [default = false];</code>
6743         */
6744        public boolean getReified() {
6745          return reified_;
6746        }
6747    
6748        public static final int VARIANCE_FIELD_NUMBER = 4;
6749        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance variance_;
6750        /**
6751         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6752         */
6753        public boolean hasVariance() {
6754          return ((bitField0_ & 0x00000008) == 0x00000008);
6755        }
6756        /**
6757         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6758         */
6759        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
6760          return variance_;
6761        }
6762    
6763        public static final int UPPER_BOUND_FIELD_NUMBER = 5;
6764        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> upperBound_;
6765        /**
6766         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6767         */
6768        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getUpperBoundList() {
6769          return upperBound_;
6770        }
6771        /**
6772         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6773         */
6774        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
6775            getUpperBoundOrBuilderList() {
6776          return upperBound_;
6777        }
6778        /**
6779         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6780         */
6781        public int getUpperBoundCount() {
6782          return upperBound_.size();
6783        }
6784        /**
6785         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6786         */
6787        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index) {
6788          return upperBound_.get(index);
6789        }
6790        /**
6791         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6792         */
6793        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getUpperBoundOrBuilder(
6794            int index) {
6795          return upperBound_.get(index);
6796        }
6797    
6798        public static final int UPPER_BOUND_ID_FIELD_NUMBER = 6;
6799        private java.util.List<java.lang.Integer> upperBoundId_;
6800        /**
6801         * <code>repeated int32 upper_bound_id = 6;</code>
6802         */
6803        public java.util.List<java.lang.Integer>
6804            getUpperBoundIdList() {
6805          return upperBoundId_;
6806        }
6807        /**
6808         * <code>repeated int32 upper_bound_id = 6;</code>
6809         */
6810        public int getUpperBoundIdCount() {
6811          return upperBoundId_.size();
6812        }
6813        /**
6814         * <code>repeated int32 upper_bound_id = 6;</code>
6815         */
6816        public int getUpperBoundId(int index) {
6817          return upperBoundId_.get(index);
6818        }
6819    
6820        private void initFields() {
6821          id_ = 0;
6822          name_ = 0;
6823          reified_ = false;
6824          variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
6825          upperBound_ = java.util.Collections.emptyList();
6826          upperBoundId_ = java.util.Collections.emptyList();
6827        }
6828        private byte memoizedIsInitialized = -1;
6829        public final boolean isInitialized() {
6830          byte isInitialized = memoizedIsInitialized;
6831          if (isInitialized == 1) return true;
6832          if (isInitialized == 0) return false;
6833    
6834          if (!hasId()) {
6835            memoizedIsInitialized = 0;
6836            return false;
6837          }
6838          if (!hasName()) {
6839            memoizedIsInitialized = 0;
6840            return false;
6841          }
6842          for (int i = 0; i < getUpperBoundCount(); i++) {
6843            if (!getUpperBound(i).isInitialized()) {
6844              memoizedIsInitialized = 0;
6845              return false;
6846            }
6847          }
6848          if (!extensionsAreInitialized()) {
6849            memoizedIsInitialized = 0;
6850            return false;
6851          }
6852          memoizedIsInitialized = 1;
6853          return true;
6854        }
6855    
6856        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
6857                            throws java.io.IOException {
6858          getSerializedSize();
6859          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
6860            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>.ExtensionWriter extensionWriter =
6861              newExtensionWriter();
6862          if (((bitField0_ & 0x00000001) == 0x00000001)) {
6863            output.writeInt32(1, id_);
6864          }
6865          if (((bitField0_ & 0x00000002) == 0x00000002)) {
6866            output.writeInt32(2, name_);
6867          }
6868          if (((bitField0_ & 0x00000004) == 0x00000004)) {
6869            output.writeBool(3, reified_);
6870          }
6871          if (((bitField0_ & 0x00000008) == 0x00000008)) {
6872            output.writeEnum(4, variance_.getNumber());
6873          }
6874          for (int i = 0; i < upperBound_.size(); i++) {
6875            output.writeMessage(5, upperBound_.get(i));
6876          }
6877          for (int i = 0; i < upperBoundId_.size(); i++) {
6878            output.writeInt32(6, upperBoundId_.get(i));
6879          }
6880          extensionWriter.writeUntil(1000, output);
6881          output.writeRawBytes(unknownFields);
6882        }
6883    
6884        private int memoizedSerializedSize = -1;
6885        public int getSerializedSize() {
6886          int size = memoizedSerializedSize;
6887          if (size != -1) return size;
6888    
6889          size = 0;
6890          if (((bitField0_ & 0x00000001) == 0x00000001)) {
6891            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
6892              .computeInt32Size(1, id_);
6893          }
6894          if (((bitField0_ & 0x00000002) == 0x00000002)) {
6895            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
6896              .computeInt32Size(2, name_);
6897          }
6898          if (((bitField0_ & 0x00000004) == 0x00000004)) {
6899            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
6900              .computeBoolSize(3, reified_);
6901          }
6902          if (((bitField0_ & 0x00000008) == 0x00000008)) {
6903            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
6904              .computeEnumSize(4, variance_.getNumber());
6905          }
6906          for (int i = 0; i < upperBound_.size(); i++) {
6907            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
6908              .computeMessageSize(5, upperBound_.get(i));
6909          }
6910          {
6911            int dataSize = 0;
6912            for (int i = 0; i < upperBoundId_.size(); i++) {
6913              dataSize += org.jetbrains.kotlin.protobuf.CodedOutputStream
6914                .computeInt32SizeNoTag(upperBoundId_.get(i));
6915            }
6916            size += dataSize;
6917            size += 1 * getUpperBoundIdList().size();
6918          }
6919          size += extensionsSerializedSize();
6920          size += unknownFields.size();
6921          memoizedSerializedSize = size;
6922          return size;
6923        }
6924    
6925        private static final long serialVersionUID = 0L;
6926        @java.lang.Override
6927        protected java.lang.Object writeReplace()
6928            throws java.io.ObjectStreamException {
6929          return super.writeReplace();
6930        }
6931    
6932        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6933            org.jetbrains.kotlin.protobuf.ByteString data)
6934            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
6935          return PARSER.parseFrom(data);
6936        }
6937        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6938            org.jetbrains.kotlin.protobuf.ByteString data,
6939            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
6940            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
6941          return PARSER.parseFrom(data, extensionRegistry);
6942        }
6943        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(byte[] data)
6944            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
6945          return PARSER.parseFrom(data);
6946        }
6947        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6948            byte[] data,
6949            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
6950            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
6951          return PARSER.parseFrom(data, extensionRegistry);
6952        }
6953        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(java.io.InputStream input)
6954            throws java.io.IOException {
6955          return PARSER.parseFrom(input);
6956        }
6957        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6958            java.io.InputStream input,
6959            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
6960            throws java.io.IOException {
6961          return PARSER.parseFrom(input, extensionRegistry);
6962        }
6963        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(java.io.InputStream input)
6964            throws java.io.IOException {
6965          return PARSER.parseDelimitedFrom(input);
6966        }
6967        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(
6968            java.io.InputStream input,
6969            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
6970            throws java.io.IOException {
6971          return PARSER.parseDelimitedFrom(input, extensionRegistry);
6972        }
6973        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6974            org.jetbrains.kotlin.protobuf.CodedInputStream input)
6975            throws java.io.IOException {
6976          return PARSER.parseFrom(input);
6977        }
6978        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6979            org.jetbrains.kotlin.protobuf.CodedInputStream input,
6980            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
6981            throws java.io.IOException {
6982          return PARSER.parseFrom(input, extensionRegistry);
6983        }
6984    
6985        public static Builder newBuilder() { return Builder.create(); }
6986        public Builder newBuilderForType() { return newBuilder(); }
6987        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter prototype) {
6988          return newBuilder().mergeFrom(prototype);
6989        }
6990        public Builder toBuilder() { return newBuilder(this); }
6991    
6992        /**
6993         * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeParameter}
6994         */
6995        public static final class Builder extends
6996            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
6997              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter, Builder> implements
6998            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.TypeParameter)
6999            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder {
7000          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.newBuilder()
7001          private Builder() {
7002            maybeForceBuilderInitialization();
7003          }
7004    
7005          private void maybeForceBuilderInitialization() {
7006          }
7007          private static Builder create() {
7008            return new Builder();
7009          }
7010    
7011          public Builder clear() {
7012            super.clear();
7013            id_ = 0;
7014            bitField0_ = (bitField0_ & ~0x00000001);
7015            name_ = 0;
7016            bitField0_ = (bitField0_ & ~0x00000002);
7017            reified_ = false;
7018            bitField0_ = (bitField0_ & ~0x00000004);
7019            variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
7020            bitField0_ = (bitField0_ & ~0x00000008);
7021            upperBound_ = java.util.Collections.emptyList();
7022            bitField0_ = (bitField0_ & ~0x00000010);
7023            upperBoundId_ = java.util.Collections.emptyList();
7024            bitField0_ = (bitField0_ & ~0x00000020);
7025            return this;
7026          }
7027    
7028          public Builder clone() {
7029            return create().mergeFrom(buildPartial());
7030          }
7031    
7032          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getDefaultInstanceForType() {
7033            return org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.getDefaultInstance();
7034          }
7035    
7036          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter build() {
7037            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter result = buildPartial();
7038            if (!result.isInitialized()) {
7039              throw newUninitializedMessageException(result);
7040            }
7041            return result;
7042          }
7043    
7044          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter buildPartial() {
7045            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter result = new org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter(this);
7046            int from_bitField0_ = bitField0_;
7047            int to_bitField0_ = 0;
7048            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
7049              to_bitField0_ |= 0x00000001;
7050            }
7051            result.id_ = id_;
7052            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
7053              to_bitField0_ |= 0x00000002;
7054            }
7055            result.name_ = name_;
7056            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
7057              to_bitField0_ |= 0x00000004;
7058            }
7059            result.reified_ = reified_;
7060            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
7061              to_bitField0_ |= 0x00000008;
7062            }
7063            result.variance_ = variance_;
7064            if (((bitField0_ & 0x00000010) == 0x00000010)) {
7065              upperBound_ = java.util.Collections.unmodifiableList(upperBound_);
7066              bitField0_ = (bitField0_ & ~0x00000010);
7067            }
7068            result.upperBound_ = upperBound_;
7069            if (((bitField0_ & 0x00000020) == 0x00000020)) {
7070              upperBoundId_ = java.util.Collections.unmodifiableList(upperBoundId_);
7071              bitField0_ = (bitField0_ & ~0x00000020);
7072            }
7073            result.upperBoundId_ = upperBoundId_;
7074            result.bitField0_ = to_bitField0_;
7075            return result;
7076          }
7077    
7078          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter other) {
7079            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.getDefaultInstance()) return this;
7080            if (other.hasId()) {
7081              setId(other.getId());
7082            }
7083            if (other.hasName()) {
7084              setName(other.getName());
7085            }
7086            if (other.hasReified()) {
7087              setReified(other.getReified());
7088            }
7089            if (other.hasVariance()) {
7090              setVariance(other.getVariance());
7091            }
7092            if (!other.upperBound_.isEmpty()) {
7093              if (upperBound_.isEmpty()) {
7094                upperBound_ = other.upperBound_;
7095                bitField0_ = (bitField0_ & ~0x00000010);
7096              } else {
7097                ensureUpperBoundIsMutable();
7098                upperBound_.addAll(other.upperBound_);
7099              }
7100              
7101            }
7102            if (!other.upperBoundId_.isEmpty()) {
7103              if (upperBoundId_.isEmpty()) {
7104                upperBoundId_ = other.upperBoundId_;
7105                bitField0_ = (bitField0_ & ~0x00000020);
7106              } else {
7107                ensureUpperBoundIdIsMutable();
7108                upperBoundId_.addAll(other.upperBoundId_);
7109              }
7110              
7111            }
7112            this.mergeExtensionFields(other);
7113            setUnknownFields(
7114                getUnknownFields().concat(other.unknownFields));
7115            return this;
7116          }
7117    
7118          public final boolean isInitialized() {
7119            if (!hasId()) {
7120              
7121              return false;
7122            }
7123            if (!hasName()) {
7124              
7125              return false;
7126            }
7127            for (int i = 0; i < getUpperBoundCount(); i++) {
7128              if (!getUpperBound(i).isInitialized()) {
7129                
7130                return false;
7131              }
7132            }
7133            if (!extensionsAreInitialized()) {
7134              
7135              return false;
7136            }
7137            return true;
7138          }
7139    
7140          public Builder mergeFrom(
7141              org.jetbrains.kotlin.protobuf.CodedInputStream input,
7142              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
7143              throws java.io.IOException {
7144            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parsedMessage = null;
7145            try {
7146              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
7147            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
7148              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter) e.getUnfinishedMessage();
7149              throw e;
7150            } finally {
7151              if (parsedMessage != null) {
7152                mergeFrom(parsedMessage);
7153              }
7154            }
7155            return this;
7156          }
7157          private int bitField0_;
7158    
7159          private int id_ ;
7160          /**
7161           * <code>required int32 id = 1;</code>
7162           */
7163          public boolean hasId() {
7164            return ((bitField0_ & 0x00000001) == 0x00000001);
7165          }
7166          /**
7167           * <code>required int32 id = 1;</code>
7168           */
7169          public int getId() {
7170            return id_;
7171          }
7172          /**
7173           * <code>required int32 id = 1;</code>
7174           */
7175          public Builder setId(int value) {
7176            bitField0_ |= 0x00000001;
7177            id_ = value;
7178            
7179            return this;
7180          }
7181          /**
7182           * <code>required int32 id = 1;</code>
7183           */
7184          public Builder clearId() {
7185            bitField0_ = (bitField0_ & ~0x00000001);
7186            id_ = 0;
7187            
7188            return this;
7189          }
7190    
7191          private int name_ ;
7192          /**
7193           * <code>required int32 name = 2;</code>
7194           */
7195          public boolean hasName() {
7196            return ((bitField0_ & 0x00000002) == 0x00000002);
7197          }
7198          /**
7199           * <code>required int32 name = 2;</code>
7200           */
7201          public int getName() {
7202            return name_;
7203          }
7204          /**
7205           * <code>required int32 name = 2;</code>
7206           */
7207          public Builder setName(int value) {
7208            bitField0_ |= 0x00000002;
7209            name_ = value;
7210            
7211            return this;
7212          }
7213          /**
7214           * <code>required int32 name = 2;</code>
7215           */
7216          public Builder clearName() {
7217            bitField0_ = (bitField0_ & ~0x00000002);
7218            name_ = 0;
7219            
7220            return this;
7221          }
7222    
7223          private boolean reified_ ;
7224          /**
7225           * <code>optional bool reified = 3 [default = false];</code>
7226           */
7227          public boolean hasReified() {
7228            return ((bitField0_ & 0x00000004) == 0x00000004);
7229          }
7230          /**
7231           * <code>optional bool reified = 3 [default = false];</code>
7232           */
7233          public boolean getReified() {
7234            return reified_;
7235          }
7236          /**
7237           * <code>optional bool reified = 3 [default = false];</code>
7238           */
7239          public Builder setReified(boolean value) {
7240            bitField0_ |= 0x00000004;
7241            reified_ = value;
7242            
7243            return this;
7244          }
7245          /**
7246           * <code>optional bool reified = 3 [default = false];</code>
7247           */
7248          public Builder clearReified() {
7249            bitField0_ = (bitField0_ & ~0x00000004);
7250            reified_ = false;
7251            
7252            return this;
7253          }
7254    
7255          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
7256          /**
7257           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7258           */
7259          public boolean hasVariance() {
7260            return ((bitField0_ & 0x00000008) == 0x00000008);
7261          }
7262          /**
7263           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7264           */
7265          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
7266            return variance_;
7267          }
7268          /**
7269           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7270           */
7271          public Builder setVariance(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance value) {
7272            if (value == null) {
7273              throw new NullPointerException();
7274            }
7275            bitField0_ |= 0x00000008;
7276            variance_ = value;
7277            
7278            return this;
7279          }
7280          /**
7281           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7282           */
7283          public Builder clearVariance() {
7284            bitField0_ = (bitField0_ & ~0x00000008);
7285            variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
7286            
7287            return this;
7288          }
7289    
7290          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> upperBound_ =
7291            java.util.Collections.emptyList();
7292          private void ensureUpperBoundIsMutable() {
7293            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
7294              upperBound_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(upperBound_);
7295              bitField0_ |= 0x00000010;
7296             }
7297          }
7298    
7299          /**
7300           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7301           */
7302          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getUpperBoundList() {
7303            return java.util.Collections.unmodifiableList(upperBound_);
7304          }
7305          /**
7306           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7307           */
7308          public int getUpperBoundCount() {
7309            return upperBound_.size();
7310          }
7311          /**
7312           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7313           */
7314          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index) {
7315            return upperBound_.get(index);
7316          }
7317          /**
7318           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7319           */
7320          public Builder setUpperBound(
7321              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7322            if (value == null) {
7323              throw new NullPointerException();
7324            }
7325            ensureUpperBoundIsMutable();
7326            upperBound_.set(index, value);
7327    
7328            return this;
7329          }
7330          /**
7331           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7332           */
7333          public Builder setUpperBound(
7334              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7335            ensureUpperBoundIsMutable();
7336            upperBound_.set(index, builderForValue.build());
7337    
7338            return this;
7339          }
7340          /**
7341           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7342           */
7343          public Builder addUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7344            if (value == null) {
7345              throw new NullPointerException();
7346            }
7347            ensureUpperBoundIsMutable();
7348            upperBound_.add(value);
7349    
7350            return this;
7351          }
7352          /**
7353           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7354           */
7355          public Builder addUpperBound(
7356              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7357            if (value == null) {
7358              throw new NullPointerException();
7359            }
7360            ensureUpperBoundIsMutable();
7361            upperBound_.add(index, value);
7362    
7363            return this;
7364          }
7365          /**
7366           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7367           */
7368          public Builder addUpperBound(
7369              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7370            ensureUpperBoundIsMutable();
7371            upperBound_.add(builderForValue.build());
7372    
7373            return this;
7374          }
7375          /**
7376           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7377           */
7378          public Builder addUpperBound(
7379              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7380            ensureUpperBoundIsMutable();
7381            upperBound_.add(index, builderForValue.build());
7382    
7383            return this;
7384          }
7385          /**
7386           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7387           */
7388          public Builder addAllUpperBound(
7389              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
7390            ensureUpperBoundIsMutable();
7391            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
7392                values, upperBound_);
7393    
7394            return this;
7395          }
7396          /**
7397           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7398           */
7399          public Builder clearUpperBound() {
7400            upperBound_ = java.util.Collections.emptyList();
7401            bitField0_ = (bitField0_ & ~0x00000010);
7402    
7403            return this;
7404          }
7405          /**
7406           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7407           */
7408          public Builder removeUpperBound(int index) {
7409            ensureUpperBoundIsMutable();
7410            upperBound_.remove(index);
7411    
7412            return this;
7413          }
7414    
7415          private java.util.List<java.lang.Integer> upperBoundId_ = java.util.Collections.emptyList();
7416          private void ensureUpperBoundIdIsMutable() {
7417            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
7418              upperBoundId_ = new java.util.ArrayList<java.lang.Integer>(upperBoundId_);
7419              bitField0_ |= 0x00000020;
7420             }
7421          }
7422          /**
7423           * <code>repeated int32 upper_bound_id = 6;</code>
7424           */
7425          public java.util.List<java.lang.Integer>
7426              getUpperBoundIdList() {
7427            return java.util.Collections.unmodifiableList(upperBoundId_);
7428          }
7429          /**
7430           * <code>repeated int32 upper_bound_id = 6;</code>
7431           */
7432          public int getUpperBoundIdCount() {
7433            return upperBoundId_.size();
7434          }
7435          /**
7436           * <code>repeated int32 upper_bound_id = 6;</code>
7437           */
7438          public int getUpperBoundId(int index) {
7439            return upperBoundId_.get(index);
7440          }
7441          /**
7442           * <code>repeated int32 upper_bound_id = 6;</code>
7443           */
7444          public Builder setUpperBoundId(
7445              int index, int value) {
7446            ensureUpperBoundIdIsMutable();
7447            upperBoundId_.set(index, value);
7448            
7449            return this;
7450          }
7451          /**
7452           * <code>repeated int32 upper_bound_id = 6;</code>
7453           */
7454          public Builder addUpperBoundId(int value) {
7455            ensureUpperBoundIdIsMutable();
7456            upperBoundId_.add(value);
7457            
7458            return this;
7459          }
7460          /**
7461           * <code>repeated int32 upper_bound_id = 6;</code>
7462           */
7463          public Builder addAllUpperBoundId(
7464              java.lang.Iterable<? extends java.lang.Integer> values) {
7465            ensureUpperBoundIdIsMutable();
7466            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
7467                values, upperBoundId_);
7468            
7469            return this;
7470          }
7471          /**
7472           * <code>repeated int32 upper_bound_id = 6;</code>
7473           */
7474          public Builder clearUpperBoundId() {
7475            upperBoundId_ = java.util.Collections.emptyList();
7476            bitField0_ = (bitField0_ & ~0x00000020);
7477            
7478            return this;
7479          }
7480    
7481          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.TypeParameter)
7482        }
7483    
7484        static {
7485          defaultInstance = new TypeParameter(true);
7486          defaultInstance.initFields();
7487        }
7488    
7489        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.TypeParameter)
7490      }
7491    
7492      public interface ClassOrBuilder extends 
7493          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.Class)
7494           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
7495                ExtendableMessageOrBuilder<Class> {
7496    
7497        /**
7498         * <code>optional int32 flags = 1 [default = 6];</code>
7499         *
7500         * <pre>
7501         *hasAnnotations
7502         *Visibility
7503         *Modality
7504         *ClassKind
7505         *isInner
7506         *isData
7507         * </pre>
7508         */
7509        boolean hasFlags();
7510        /**
7511         * <code>optional int32 flags = 1 [default = 6];</code>
7512         *
7513         * <pre>
7514         *hasAnnotations
7515         *Visibility
7516         *Modality
7517         *ClassKind
7518         *isInner
7519         *isData
7520         * </pre>
7521         */
7522        int getFlags();
7523    
7524        /**
7525         * <code>required int32 fq_name = 3;</code>
7526         */
7527        boolean hasFqName();
7528        /**
7529         * <code>required int32 fq_name = 3;</code>
7530         */
7531        int getFqName();
7532    
7533        /**
7534         * <code>optional int32 companion_object_name = 4;</code>
7535         */
7536        boolean hasCompanionObjectName();
7537        /**
7538         * <code>optional int32 companion_object_name = 4;</code>
7539         */
7540        int getCompanionObjectName();
7541    
7542        /**
7543         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7544         */
7545        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
7546            getTypeParameterList();
7547        /**
7548         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7549         */
7550        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
7551        /**
7552         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7553         */
7554        int getTypeParameterCount();
7555    
7556        /**
7557         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7558         */
7559        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> 
7560            getSupertypeList();
7561        /**
7562         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7563         */
7564        org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index);
7565        /**
7566         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7567         */
7568        int getSupertypeCount();
7569    
7570        /**
7571         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
7572         */
7573        java.util.List<java.lang.Integer> getSupertypeIdList();
7574        /**
7575         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
7576         */
7577        int getSupertypeIdCount();
7578        /**
7579         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
7580         */
7581        int getSupertypeId(int index);
7582    
7583        /**
7584         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
7585         */
7586        java.util.List<java.lang.Integer> getNestedClassNameList();
7587        /**
7588         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
7589         */
7590        int getNestedClassNameCount();
7591        /**
7592         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
7593         */
7594        int getNestedClassName(int index);
7595    
7596        /**
7597         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
7598         */
7599        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> 
7600            getConstructorList();
7601        /**
7602         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
7603         */
7604        org.jetbrains.kotlin.serialization.ProtoBuf.Constructor getConstructor(int index);
7605        /**
7606         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
7607         */
7608        int getConstructorCount();
7609    
7610        /**
7611         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
7612         */
7613        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> 
7614            getFunctionList();
7615        /**
7616         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
7617         */
7618        org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index);
7619        /**
7620         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
7621         */
7622        int getFunctionCount();
7623    
7624        /**
7625         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
7626         */
7627        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> 
7628            getPropertyList();
7629        /**
7630         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
7631         */
7632        org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index);
7633        /**
7634         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
7635         */
7636        int getPropertyCount();
7637    
7638        /**
7639         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
7640         */
7641        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> 
7642            getEnumEntryList();
7643        /**
7644         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
7645         */
7646        org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry getEnumEntry(int index);
7647        /**
7648         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
7649         */
7650        int getEnumEntryCount();
7651    
7652        /**
7653         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
7654         */
7655        boolean hasTypeTable();
7656        /**
7657         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
7658         */
7659        org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable();
7660    
7661        /**
7662         * <code>optional int32 sinceKotlinInfo = 31;</code>
7663         *
7664         * <pre>
7665         * Index into the SinceKotlinInfoTable
7666         * </pre>
7667         */
7668        boolean hasSinceKotlinInfo();
7669        /**
7670         * <code>optional int32 sinceKotlinInfo = 31;</code>
7671         *
7672         * <pre>
7673         * Index into the SinceKotlinInfoTable
7674         * </pre>
7675         */
7676        int getSinceKotlinInfo();
7677    
7678        /**
7679         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
7680         */
7681        boolean hasSinceKotlinInfoTable();
7682        /**
7683         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
7684         */
7685        org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable getSinceKotlinInfoTable();
7686      }
7687      /**
7688       * Protobuf type {@code org.jetbrains.kotlin.serialization.Class}
7689       */
7690      public static final class Class extends
7691          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
7692            Class> implements
7693          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Class)
7694          ClassOrBuilder {
7695        // Use Class.newBuilder() to construct.
7696        private Class(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Class, ?> builder) {
7697          super(builder);
7698          this.unknownFields = builder.getUnknownFields();
7699        }
7700        private Class(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
7701    
7702        private static final Class defaultInstance;
7703        public static Class getDefaultInstance() {
7704          return defaultInstance;
7705        }
7706    
7707        public Class getDefaultInstanceForType() {
7708          return defaultInstance;
7709        }
7710    
7711        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
7712        private Class(
7713            org.jetbrains.kotlin.protobuf.CodedInputStream input,
7714            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
7715            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
7716          initFields();
7717          int mutable_bitField0_ = 0;
7718          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
7719              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
7720          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
7721              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
7722                  unknownFieldsOutput);
7723          try {
7724            boolean done = false;
7725            while (!done) {
7726              int tag = input.readTag();
7727              switch (tag) {
7728                case 0:
7729                  done = true;
7730                  break;
7731                default: {
7732                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
7733                                         extensionRegistry, tag)) {
7734                    done = true;
7735                  }
7736                  break;
7737                }
7738                case 8: {
7739                  bitField0_ |= 0x00000001;
7740                  flags_ = input.readInt32();
7741                  break;
7742                }
7743                case 16: {
7744                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
7745                    supertypeId_ = new java.util.ArrayList<java.lang.Integer>();
7746                    mutable_bitField0_ |= 0x00000020;
7747                  }
7748                  supertypeId_.add(input.readInt32());
7749                  break;
7750                }
7751                case 18: {
7752                  int length = input.readRawVarint32();
7753                  int limit = input.pushLimit(length);
7754                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
7755                    supertypeId_ = new java.util.ArrayList<java.lang.Integer>();
7756                    mutable_bitField0_ |= 0x00000020;
7757                  }
7758                  while (input.getBytesUntilLimit() > 0) {
7759                    supertypeId_.add(input.readInt32());
7760                  }
7761                  input.popLimit(limit);
7762                  break;
7763                }
7764                case 24: {
7765                  bitField0_ |= 0x00000002;
7766                  fqName_ = input.readInt32();
7767                  break;
7768                }
7769                case 32: {
7770                  bitField0_ |= 0x00000004;
7771                  companionObjectName_ = input.readInt32();
7772                  break;
7773                }
7774                case 42: {
7775                  if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
7776                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
7777                    mutable_bitField0_ |= 0x00000008;
7778                  }
7779                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
7780                  break;
7781                }
7782                case 50: {
7783                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7784                    supertype_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
7785                    mutable_bitField0_ |= 0x00000010;
7786                  }
7787                  supertype_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
7788                  break;
7789                }
7790                case 56: {
7791                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
7792                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
7793                    mutable_bitField0_ |= 0x00000040;
7794                  }
7795                  nestedClassName_.add(input.readInt32());
7796                  break;
7797                }
7798                case 58: {
7799                  int length = input.readRawVarint32();
7800                  int limit = input.pushLimit(length);
7801                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) {
7802                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
7803                    mutable_bitField0_ |= 0x00000040;
7804                  }
7805                  while (input.getBytesUntilLimit() > 0) {
7806                    nestedClassName_.add(input.readInt32());
7807                  }
7808                  input.popLimit(limit);
7809                  break;
7810                }
7811                case 66: {
7812                  if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
7813                    constructor_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor>();
7814                    mutable_bitField0_ |= 0x00000080;
7815                  }
7816                  constructor_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.PARSER, extensionRegistry));
7817                  break;
7818                }
7819                case 74: {
7820                  if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
7821                    function_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Function>();
7822                    mutable_bitField0_ |= 0x00000100;
7823                  }
7824                  function_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Function.PARSER, extensionRegistry));
7825                  break;
7826                }
7827                case 82: {
7828                  if (!((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
7829                    property_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Property>();
7830                    mutable_bitField0_ |= 0x00000200;
7831                  }
7832                  property_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Property.PARSER, extensionRegistry));
7833                  break;
7834                }
7835                case 106: {
7836                  if (!((mutable_bitField0_ & 0x00000400) == 0x00000400)) {
7837                    enumEntry_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry>();
7838                    mutable_bitField0_ |= 0x00000400;
7839                  }
7840                  enumEntry_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.PARSER, extensionRegistry));
7841                  break;
7842                }
7843                case 242: {
7844                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder subBuilder = null;
7845                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
7846                    subBuilder = typeTable_.toBuilder();
7847                  }
7848                  typeTable_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.PARSER, extensionRegistry);
7849                  if (subBuilder != null) {
7850                    subBuilder.mergeFrom(typeTable_);
7851                    typeTable_ = subBuilder.buildPartial();
7852                  }
7853                  bitField0_ |= 0x00000008;
7854                  break;
7855                }
7856                case 248: {
7857                  bitField0_ |= 0x00000010;
7858                  sinceKotlinInfo_ = input.readInt32();
7859                  break;
7860                }
7861                case 258: {
7862                  org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.Builder subBuilder = null;
7863                  if (((bitField0_ & 0x00000020) == 0x00000020)) {
7864                    subBuilder = sinceKotlinInfoTable_.toBuilder();
7865                  }
7866                  sinceKotlinInfoTable_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.PARSER, extensionRegistry);
7867                  if (subBuilder != null) {
7868                    subBuilder.mergeFrom(sinceKotlinInfoTable_);
7869                    sinceKotlinInfoTable_ = subBuilder.buildPartial();
7870                  }
7871                  bitField0_ |= 0x00000020;
7872                  break;
7873                }
7874              }
7875            }
7876          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
7877            throw e.setUnfinishedMessage(this);
7878          } catch (java.io.IOException e) {
7879            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
7880                e.getMessage()).setUnfinishedMessage(this);
7881          } finally {
7882            if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
7883              supertypeId_ = java.util.Collections.unmodifiableList(supertypeId_);
7884            }
7885            if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
7886              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
7887            }
7888            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7889              supertype_ = java.util.Collections.unmodifiableList(supertype_);
7890            }
7891            if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
7892              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
7893            }
7894            if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
7895              constructor_ = java.util.Collections.unmodifiableList(constructor_);
7896            }
7897            if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
7898              function_ = java.util.Collections.unmodifiableList(function_);
7899            }
7900            if (((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
7901              property_ = java.util.Collections.unmodifiableList(property_);
7902            }
7903            if (((mutable_bitField0_ & 0x00000400) == 0x00000400)) {
7904              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
7905            }
7906            try {
7907              unknownFieldsCodedOutput.flush();
7908            } catch (java.io.IOException e) {
7909            // Should not happen
7910            } finally {
7911              unknownFields = unknownFieldsOutput.toByteString();
7912            }
7913            makeExtensionsImmutable();
7914          }
7915        }
7916        public static org.jetbrains.kotlin.protobuf.Parser<Class> PARSER =
7917            new org.jetbrains.kotlin.protobuf.AbstractParser<Class>() {
7918          public Class parsePartialFrom(
7919              org.jetbrains.kotlin.protobuf.CodedInputStream input,
7920              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
7921              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
7922            return new Class(input, extensionRegistry);
7923          }
7924        };
7925    
7926        @java.lang.Override
7927        public org.jetbrains.kotlin.protobuf.Parser<Class> getParserForType() {
7928          return PARSER;
7929        }
7930    
7931        /**
7932         * Protobuf enum {@code org.jetbrains.kotlin.serialization.Class.Kind}
7933         */
7934        public enum Kind
7935            implements org.jetbrains.kotlin.protobuf.Internal.EnumLite {
7936          /**
7937           * <code>CLASS = 0;</code>
7938           *
7939           * <pre>
7940           * 3 bits
7941           * </pre>
7942           */
7943          CLASS(0, 0),
7944          /**
7945           * <code>INTERFACE = 1;</code>
7946           */
7947          INTERFACE(1, 1),
7948          /**
7949           * <code>ENUM_CLASS = 2;</code>
7950           */
7951          ENUM_CLASS(2, 2),
7952          /**
7953           * <code>ENUM_ENTRY = 3;</code>
7954           */
7955          ENUM_ENTRY(3, 3),
7956          /**
7957           * <code>ANNOTATION_CLASS = 4;</code>
7958           */
7959          ANNOTATION_CLASS(4, 4),
7960          /**
7961           * <code>OBJECT = 5;</code>
7962           */
7963          OBJECT(5, 5),
7964          /**
7965           * <code>COMPANION_OBJECT = 6;</code>
7966           */
7967          COMPANION_OBJECT(6, 6),
7968          ;
7969    
7970          /**
7971           * <code>CLASS = 0;</code>
7972           *
7973           * <pre>
7974           * 3 bits
7975           * </pre>
7976           */
7977          public static final int CLASS_VALUE = 0;
7978          /**
7979           * <code>INTERFACE = 1;</code>
7980           */
7981          public static final int INTERFACE_VALUE = 1;
7982          /**
7983           * <code>ENUM_CLASS = 2;</code>
7984           */
7985          public static final int ENUM_CLASS_VALUE = 2;
7986          /**
7987           * <code>ENUM_ENTRY = 3;</code>
7988           */
7989          public static final int ENUM_ENTRY_VALUE = 3;
7990          /**
7991           * <code>ANNOTATION_CLASS = 4;</code>
7992           */
7993          public static final int ANNOTATION_CLASS_VALUE = 4;
7994          /**
7995           * <code>OBJECT = 5;</code>
7996           */
7997          public static final int OBJECT_VALUE = 5;
7998          /**
7999           * <code>COMPANION_OBJECT = 6;</code>
8000           */
8001          public static final int COMPANION_OBJECT_VALUE = 6;
8002    
8003    
8004          public final int getNumber() { return value; }
8005    
8006          public static Kind valueOf(int value) {
8007            switch (value) {
8008              case 0: return CLASS;
8009              case 1: return INTERFACE;
8010              case 2: return ENUM_CLASS;
8011              case 3: return ENUM_ENTRY;
8012              case 4: return ANNOTATION_CLASS;
8013              case 5: return OBJECT;
8014              case 6: return COMPANION_OBJECT;
8015              default: return null;
8016            }
8017          }
8018    
8019          public static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Kind>
8020              internalGetValueMap() {
8021            return internalValueMap;
8022          }
8023          private static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Kind>
8024              internalValueMap =
8025                new org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Kind>() {
8026                  public Kind findValueByNumber(int number) {
8027                    return Kind.valueOf(number);
8028                  }
8029                };
8030    
8031          private final int value;
8032    
8033          private Kind(int index, int value) {
8034            this.value = value;
8035          }
8036    
8037          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Class.Kind)
8038        }
8039    
8040        private int bitField0_;
8041        public static final int FLAGS_FIELD_NUMBER = 1;
8042        private int flags_;
8043        /**
8044         * <code>optional int32 flags = 1 [default = 6];</code>
8045         *
8046         * <pre>
8047         *hasAnnotations
8048         *Visibility
8049         *Modality
8050         *ClassKind
8051         *isInner
8052         *isData
8053         * </pre>
8054         */
8055        public boolean hasFlags() {
8056          return ((bitField0_ & 0x00000001) == 0x00000001);
8057        }
8058        /**
8059         * <code>optional int32 flags = 1 [default = 6];</code>
8060         *
8061         * <pre>
8062         *hasAnnotations
8063         *Visibility
8064         *Modality
8065         *ClassKind
8066         *isInner
8067         *isData
8068         * </pre>
8069         */
8070        public int getFlags() {
8071          return flags_;
8072        }
8073    
8074        public static final int FQ_NAME_FIELD_NUMBER = 3;
8075        private int fqName_;
8076        /**
8077         * <code>required int32 fq_name = 3;</code>
8078         */
8079        public boolean hasFqName() {
8080          return ((bitField0_ & 0x00000002) == 0x00000002);
8081        }
8082        /**
8083         * <code>required int32 fq_name = 3;</code>
8084         */
8085        public int getFqName() {
8086          return fqName_;
8087        }
8088    
8089        public static final int COMPANION_OBJECT_NAME_FIELD_NUMBER = 4;
8090        private int companionObjectName_;
8091        /**
8092         * <code>optional int32 companion_object_name = 4;</code>
8093         */
8094        public boolean hasCompanionObjectName() {
8095          return ((bitField0_ & 0x00000004) == 0x00000004);
8096        }
8097        /**
8098         * <code>optional int32 companion_object_name = 4;</code>
8099         */
8100        public int getCompanionObjectName() {
8101          return companionObjectName_;
8102        }
8103    
8104        public static final int TYPE_PARAMETER_FIELD_NUMBER = 5;
8105        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
8106        /**
8107         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8108         */
8109        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
8110          return typeParameter_;
8111        }
8112        /**
8113         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8114         */
8115        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
8116            getTypeParameterOrBuilderList() {
8117          return typeParameter_;
8118        }
8119        /**
8120         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8121         */
8122        public int getTypeParameterCount() {
8123          return typeParameter_.size();
8124        }
8125        /**
8126         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8127         */
8128        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
8129          return typeParameter_.get(index);
8130        }
8131        /**
8132         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8133         */
8134        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
8135            int index) {
8136          return typeParameter_.get(index);
8137        }
8138    
8139        public static final int SUPERTYPE_FIELD_NUMBER = 6;
8140        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> supertype_;
8141        /**
8142         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8143         */
8144        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getSupertypeList() {
8145          return supertype_;
8146        }
8147        /**
8148         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8149         */
8150        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
8151            getSupertypeOrBuilderList() {
8152          return supertype_;
8153        }
8154        /**
8155         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8156         */
8157        public int getSupertypeCount() {
8158          return supertype_.size();
8159        }
8160        /**
8161         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8162         */
8163        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index) {
8164          return supertype_.get(index);
8165        }
8166        /**
8167         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8168         */
8169        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getSupertypeOrBuilder(
8170            int index) {
8171          return supertype_.get(index);
8172        }
8173    
8174        public static final int SUPERTYPE_ID_FIELD_NUMBER = 2;
8175        private java.util.List<java.lang.Integer> supertypeId_;
8176        /**
8177         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
8178         */
8179        public java.util.List<java.lang.Integer>
8180            getSupertypeIdList() {
8181          return supertypeId_;
8182        }
8183        /**
8184         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
8185         */
8186        public int getSupertypeIdCount() {
8187          return supertypeId_.size();
8188        }
8189        /**
8190         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
8191         */
8192        public int getSupertypeId(int index) {
8193          return supertypeId_.get(index);
8194        }
8195        private int supertypeIdMemoizedSerializedSize = -1;
8196    
8197        public static final int NESTED_CLASS_NAME_FIELD_NUMBER = 7;
8198        private java.util.List<java.lang.Integer> nestedClassName_;
8199        /**
8200         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
8201         */
8202        public java.util.List<java.lang.Integer>
8203            getNestedClassNameList() {
8204          return nestedClassName_;
8205        }
8206        /**
8207         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
8208         */
8209        public int getNestedClassNameCount() {
8210          return nestedClassName_.size();
8211        }
8212        /**
8213         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
8214         */
8215        public int getNestedClassName(int index) {
8216          return nestedClassName_.get(index);
8217        }
8218        private int nestedClassNameMemoizedSerializedSize = -1;
8219    
8220        public static final int CONSTRUCTOR_FIELD_NUMBER = 8;
8221        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> constructor_;
8222        /**
8223         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8224         */
8225        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> getConstructorList() {
8226          return constructor_;
8227        }
8228        /**
8229         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8230         */
8231        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ConstructorOrBuilder> 
8232            getConstructorOrBuilderList() {
8233          return constructor_;
8234        }
8235        /**
8236         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8237         */
8238        public int getConstructorCount() {
8239          return constructor_.size();
8240        }
8241        /**
8242         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8243         */
8244        public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor getConstructor(int index) {
8245          return constructor_.get(index);
8246        }
8247        /**
8248         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8249         */
8250        public org.jetbrains.kotlin.serialization.ProtoBuf.ConstructorOrBuilder getConstructorOrBuilder(
8251            int index) {
8252          return constructor_.get(index);
8253        }
8254    
8255        public static final int FUNCTION_FIELD_NUMBER = 9;
8256        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> function_;
8257        /**
8258         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8259         */
8260        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> getFunctionList() {
8261          return function_;
8262        }
8263        /**
8264         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8265         */
8266        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder> 
8267            getFunctionOrBuilderList() {
8268          return function_;
8269        }
8270        /**
8271         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8272         */
8273        public int getFunctionCount() {
8274          return function_.size();
8275        }
8276        /**
8277         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8278         */
8279        public org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index) {
8280          return function_.get(index);
8281        }
8282        /**
8283         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8284         */
8285        public org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder getFunctionOrBuilder(
8286            int index) {
8287          return function_.get(index);
8288        }
8289    
8290        public static final int PROPERTY_FIELD_NUMBER = 10;
8291        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> property_;
8292        /**
8293         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8294         */
8295        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> getPropertyList() {
8296          return property_;
8297        }
8298        /**
8299         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8300         */
8301        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder> 
8302            getPropertyOrBuilderList() {
8303          return property_;
8304        }
8305        /**
8306         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8307         */
8308        public int getPropertyCount() {
8309          return property_.size();
8310        }
8311        /**
8312         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8313         */
8314        public org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index) {
8315          return property_.get(index);
8316        }
8317        /**
8318         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8319         */
8320        public org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder getPropertyOrBuilder(
8321            int index) {
8322          return property_.get(index);
8323        }
8324    
8325        public static final int ENUM_ENTRY_FIELD_NUMBER = 13;
8326        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> enumEntry_;
8327        /**
8328         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8329         */
8330        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> getEnumEntryList() {
8331          return enumEntry_;
8332        }
8333        /**
8334         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8335         */
8336        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntryOrBuilder> 
8337            getEnumEntryOrBuilderList() {
8338          return enumEntry_;
8339        }
8340        /**
8341         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8342         */
8343        public int getEnumEntryCount() {
8344          return enumEntry_.size();
8345        }
8346        /**
8347         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8348         */
8349        public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry getEnumEntry(int index) {
8350          return enumEntry_.get(index);
8351        }
8352        /**
8353         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8354         */
8355        public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntryOrBuilder getEnumEntryOrBuilder(
8356            int index) {
8357          return enumEntry_.get(index);
8358        }
8359    
8360        public static final int TYPE_TABLE_FIELD_NUMBER = 30;
8361        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_;
8362        /**
8363         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
8364         */
8365        public boolean hasTypeTable() {
8366          return ((bitField0_ & 0x00000008) == 0x00000008);
8367        }
8368        /**
8369         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
8370         */
8371        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
8372          return typeTable_;
8373        }
8374    
8375        public static final int SINCEKOTLININFO_FIELD_NUMBER = 31;
8376        private int sinceKotlinInfo_;
8377        /**
8378         * <code>optional int32 sinceKotlinInfo = 31;</code>
8379         *
8380         * <pre>
8381         * Index into the SinceKotlinInfoTable
8382         * </pre>
8383         */
8384        public boolean hasSinceKotlinInfo() {
8385          return ((bitField0_ & 0x00000010) == 0x00000010);
8386        }
8387        /**
8388         * <code>optional int32 sinceKotlinInfo = 31;</code>
8389         *
8390         * <pre>
8391         * Index into the SinceKotlinInfoTable
8392         * </pre>
8393         */
8394        public int getSinceKotlinInfo() {
8395          return sinceKotlinInfo_;
8396        }
8397    
8398        public static final int SINCE_KOTLIN_INFO_TABLE_FIELD_NUMBER = 32;
8399        private org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable sinceKotlinInfoTable_;
8400        /**
8401         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
8402         */
8403        public boolean hasSinceKotlinInfoTable() {
8404          return ((bitField0_ & 0x00000020) == 0x00000020);
8405        }
8406        /**
8407         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
8408         */
8409        public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable getSinceKotlinInfoTable() {
8410          return sinceKotlinInfoTable_;
8411        }
8412    
8413        private void initFields() {
8414          flags_ = 6;
8415          fqName_ = 0;
8416          companionObjectName_ = 0;
8417          typeParameter_ = java.util.Collections.emptyList();
8418          supertype_ = java.util.Collections.emptyList();
8419          supertypeId_ = java.util.Collections.emptyList();
8420          nestedClassName_ = java.util.Collections.emptyList();
8421          constructor_ = java.util.Collections.emptyList();
8422          function_ = java.util.Collections.emptyList();
8423          property_ = java.util.Collections.emptyList();
8424          enumEntry_ = java.util.Collections.emptyList();
8425          typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
8426          sinceKotlinInfo_ = 0;
8427          sinceKotlinInfoTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance();
8428        }
8429        private byte memoizedIsInitialized = -1;
8430        public final boolean isInitialized() {
8431          byte isInitialized = memoizedIsInitialized;
8432          if (isInitialized == 1) return true;
8433          if (isInitialized == 0) return false;
8434    
8435          if (!hasFqName()) {
8436            memoizedIsInitialized = 0;
8437            return false;
8438          }
8439          for (int i = 0; i < getTypeParameterCount(); i++) {
8440            if (!getTypeParameter(i).isInitialized()) {
8441              memoizedIsInitialized = 0;
8442              return false;
8443            }
8444          }
8445          for (int i = 0; i < getSupertypeCount(); i++) {
8446            if (!getSupertype(i).isInitialized()) {
8447              memoizedIsInitialized = 0;
8448              return false;
8449            }
8450          }
8451          for (int i = 0; i < getConstructorCount(); i++) {
8452            if (!getConstructor(i).isInitialized()) {
8453              memoizedIsInitialized = 0;
8454              return false;
8455            }
8456          }
8457          for (int i = 0; i < getFunctionCount(); i++) {
8458            if (!getFunction(i).isInitialized()) {
8459              memoizedIsInitialized = 0;
8460              return false;
8461            }
8462          }
8463          for (int i = 0; i < getPropertyCount(); i++) {
8464            if (!getProperty(i).isInitialized()) {
8465              memoizedIsInitialized = 0;
8466              return false;
8467            }
8468          }
8469          for (int i = 0; i < getEnumEntryCount(); i++) {
8470            if (!getEnumEntry(i).isInitialized()) {
8471              memoizedIsInitialized = 0;
8472              return false;
8473            }
8474          }
8475          if (hasTypeTable()) {
8476            if (!getTypeTable().isInitialized()) {
8477              memoizedIsInitialized = 0;
8478              return false;
8479            }
8480          }
8481          if (!extensionsAreInitialized()) {
8482            memoizedIsInitialized = 0;
8483            return false;
8484          }
8485          memoizedIsInitialized = 1;
8486          return true;
8487        }
8488    
8489        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
8490                            throws java.io.IOException {
8491          getSerializedSize();
8492          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
8493            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Class>.ExtensionWriter extensionWriter =
8494              newExtensionWriter();
8495          if (((bitField0_ & 0x00000001) == 0x00000001)) {
8496            output.writeInt32(1, flags_);
8497          }
8498          if (getSupertypeIdList().size() > 0) {
8499            output.writeRawVarint32(18);
8500            output.writeRawVarint32(supertypeIdMemoizedSerializedSize);
8501          }
8502          for (int i = 0; i < supertypeId_.size(); i++) {
8503            output.writeInt32NoTag(supertypeId_.get(i));
8504          }
8505          if (((bitField0_ & 0x00000002) == 0x00000002)) {
8506            output.writeInt32(3, fqName_);
8507          }
8508          if (((bitField0_ & 0x00000004) == 0x00000004)) {
8509            output.writeInt32(4, companionObjectName_);
8510          }
8511          for (int i = 0; i < typeParameter_.size(); i++) {
8512            output.writeMessage(5, typeParameter_.get(i));
8513          }
8514          for (int i = 0; i < supertype_.size(); i++) {
8515            output.writeMessage(6, supertype_.get(i));
8516          }
8517          if (getNestedClassNameList().size() > 0) {
8518            output.writeRawVarint32(58);
8519            output.writeRawVarint32(nestedClassNameMemoizedSerializedSize);
8520          }
8521          for (int i = 0; i < nestedClassName_.size(); i++) {
8522            output.writeInt32NoTag(nestedClassName_.get(i));
8523          }
8524          for (int i = 0; i < constructor_.size(); i++) {
8525            output.writeMessage(8, constructor_.get(i));
8526          }
8527          for (int i = 0; i < function_.size(); i++) {
8528            output.writeMessage(9, function_.get(i));
8529          }
8530          for (int i = 0; i < property_.size(); i++) {
8531            output.writeMessage(10, property_.get(i));
8532          }
8533          for (int i = 0; i < enumEntry_.size(); i++) {
8534            output.writeMessage(13, enumEntry_.get(i));
8535          }
8536          if (((bitField0_ & 0x00000008) == 0x00000008)) {
8537            output.writeMessage(30, typeTable_);
8538          }
8539          if (((bitField0_ & 0x00000010) == 0x00000010)) {
8540            output.writeInt32(31, sinceKotlinInfo_);
8541          }
8542          if (((bitField0_ & 0x00000020) == 0x00000020)) {
8543            output.writeMessage(32, sinceKotlinInfoTable_);
8544          }
8545          extensionWriter.writeUntil(200, output);
8546          output.writeRawBytes(unknownFields);
8547        }
8548    
8549        private int memoizedSerializedSize = -1;
8550        public int getSerializedSize() {
8551          int size = memoizedSerializedSize;
8552          if (size != -1) return size;
8553    
8554          size = 0;
8555          if (((bitField0_ & 0x00000001) == 0x00000001)) {
8556            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8557              .computeInt32Size(1, flags_);
8558          }
8559          {
8560            int dataSize = 0;
8561            for (int i = 0; i < supertypeId_.size(); i++) {
8562              dataSize += org.jetbrains.kotlin.protobuf.CodedOutputStream
8563                .computeInt32SizeNoTag(supertypeId_.get(i));
8564            }
8565            size += dataSize;
8566            if (!getSupertypeIdList().isEmpty()) {
8567              size += 1;
8568              size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8569                  .computeInt32SizeNoTag(dataSize);
8570            }
8571            supertypeIdMemoizedSerializedSize = dataSize;
8572          }
8573          if (((bitField0_ & 0x00000002) == 0x00000002)) {
8574            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8575              .computeInt32Size(3, fqName_);
8576          }
8577          if (((bitField0_ & 0x00000004) == 0x00000004)) {
8578            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8579              .computeInt32Size(4, companionObjectName_);
8580          }
8581          for (int i = 0; i < typeParameter_.size(); i++) {
8582            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8583              .computeMessageSize(5, typeParameter_.get(i));
8584          }
8585          for (int i = 0; i < supertype_.size(); i++) {
8586            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8587              .computeMessageSize(6, supertype_.get(i));
8588          }
8589          {
8590            int dataSize = 0;
8591            for (int i = 0; i < nestedClassName_.size(); i++) {
8592              dataSize += org.jetbrains.kotlin.protobuf.CodedOutputStream
8593                .computeInt32SizeNoTag(nestedClassName_.get(i));
8594            }
8595            size += dataSize;
8596            if (!getNestedClassNameList().isEmpty()) {
8597              size += 1;
8598              size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8599                  .computeInt32SizeNoTag(dataSize);
8600            }
8601            nestedClassNameMemoizedSerializedSize = dataSize;
8602          }
8603          for (int i = 0; i < constructor_.size(); i++) {
8604            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8605              .computeMessageSize(8, constructor_.get(i));
8606          }
8607          for (int i = 0; i < function_.size(); i++) {
8608            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8609              .computeMessageSize(9, function_.get(i));
8610          }
8611          for (int i = 0; i < property_.size(); i++) {
8612            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8613              .computeMessageSize(10, property_.get(i));
8614          }
8615          for (int i = 0; i < enumEntry_.size(); i++) {
8616            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8617              .computeMessageSize(13, enumEntry_.get(i));
8618          }
8619          if (((bitField0_ & 0x00000008) == 0x00000008)) {
8620            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8621              .computeMessageSize(30, typeTable_);
8622          }
8623          if (((bitField0_ & 0x00000010) == 0x00000010)) {
8624            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8625              .computeInt32Size(31, sinceKotlinInfo_);
8626          }
8627          if (((bitField0_ & 0x00000020) == 0x00000020)) {
8628            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8629              .computeMessageSize(32, sinceKotlinInfoTable_);
8630          }
8631          size += extensionsSerializedSize();
8632          size += unknownFields.size();
8633          memoizedSerializedSize = size;
8634          return size;
8635        }
8636    
8637        private static final long serialVersionUID = 0L;
8638        @java.lang.Override
8639        protected java.lang.Object writeReplace()
8640            throws java.io.ObjectStreamException {
8641          return super.writeReplace();
8642        }
8643    
8644        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8645            org.jetbrains.kotlin.protobuf.ByteString data)
8646            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
8647          return PARSER.parseFrom(data);
8648        }
8649        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8650            org.jetbrains.kotlin.protobuf.ByteString data,
8651            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
8652            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
8653          return PARSER.parseFrom(data, extensionRegistry);
8654        }
8655        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(byte[] data)
8656            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
8657          return PARSER.parseFrom(data);
8658        }
8659        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8660            byte[] data,
8661            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
8662            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
8663          return PARSER.parseFrom(data, extensionRegistry);
8664        }
8665        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(java.io.InputStream input)
8666            throws java.io.IOException {
8667          return PARSER.parseFrom(input);
8668        }
8669        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8670            java.io.InputStream input,
8671            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
8672            throws java.io.IOException {
8673          return PARSER.parseFrom(input, extensionRegistry);
8674        }
8675        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseDelimitedFrom(java.io.InputStream input)
8676            throws java.io.IOException {
8677          return PARSER.parseDelimitedFrom(input);
8678        }
8679        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseDelimitedFrom(
8680            java.io.InputStream input,
8681            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
8682            throws java.io.IOException {
8683          return PARSER.parseDelimitedFrom(input, extensionRegistry);
8684        }
8685        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8686            org.jetbrains.kotlin.protobuf.CodedInputStream input)
8687            throws java.io.IOException {
8688          return PARSER.parseFrom(input);
8689        }
8690        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8691            org.jetbrains.kotlin.protobuf.CodedInputStream input,
8692            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
8693            throws java.io.IOException {
8694          return PARSER.parseFrom(input, extensionRegistry);
8695        }
8696    
8697        public static Builder newBuilder() { return Builder.create(); }
8698        public Builder newBuilderForType() { return newBuilder(); }
8699        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Class prototype) {
8700          return newBuilder().mergeFrom(prototype);
8701        }
8702        public Builder toBuilder() { return newBuilder(this); }
8703    
8704        /**
8705         * Protobuf type {@code org.jetbrains.kotlin.serialization.Class}
8706         */
8707        public static final class Builder extends
8708            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
8709              org.jetbrains.kotlin.serialization.ProtoBuf.Class, Builder> implements
8710            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Class)
8711            org.jetbrains.kotlin.serialization.ProtoBuf.ClassOrBuilder {
8712          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Class.newBuilder()
8713          private Builder() {
8714            maybeForceBuilderInitialization();
8715          }
8716    
8717          private void maybeForceBuilderInitialization() {
8718          }
8719          private static Builder create() {
8720            return new Builder();
8721          }
8722    
8723          public Builder clear() {
8724            super.clear();
8725            flags_ = 6;
8726            bitField0_ = (bitField0_ & ~0x00000001);
8727            fqName_ = 0;
8728            bitField0_ = (bitField0_ & ~0x00000002);
8729            companionObjectName_ = 0;
8730            bitField0_ = (bitField0_ & ~0x00000004);
8731            typeParameter_ = java.util.Collections.emptyList();
8732            bitField0_ = (bitField0_ & ~0x00000008);
8733            supertype_ = java.util.Collections.emptyList();
8734            bitField0_ = (bitField0_ & ~0x00000010);
8735            supertypeId_ = java.util.Collections.emptyList();
8736            bitField0_ = (bitField0_ & ~0x00000020);
8737            nestedClassName_ = java.util.Collections.emptyList();
8738            bitField0_ = (bitField0_ & ~0x00000040);
8739            constructor_ = java.util.Collections.emptyList();
8740            bitField0_ = (bitField0_ & ~0x00000080);
8741            function_ = java.util.Collections.emptyList();
8742            bitField0_ = (bitField0_ & ~0x00000100);
8743            property_ = java.util.Collections.emptyList();
8744            bitField0_ = (bitField0_ & ~0x00000200);
8745            enumEntry_ = java.util.Collections.emptyList();
8746            bitField0_ = (bitField0_ & ~0x00000400);
8747            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
8748            bitField0_ = (bitField0_ & ~0x00000800);
8749            sinceKotlinInfo_ = 0;
8750            bitField0_ = (bitField0_ & ~0x00001000);
8751            sinceKotlinInfoTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance();
8752            bitField0_ = (bitField0_ & ~0x00002000);
8753            return this;
8754          }
8755    
8756          public Builder clone() {
8757            return create().mergeFrom(buildPartial());
8758          }
8759    
8760          public org.jetbrains.kotlin.serialization.ProtoBuf.Class getDefaultInstanceForType() {
8761            return org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance();
8762          }
8763    
8764          public org.jetbrains.kotlin.serialization.ProtoBuf.Class build() {
8765            org.jetbrains.kotlin.serialization.ProtoBuf.Class result = buildPartial();
8766            if (!result.isInitialized()) {
8767              throw newUninitializedMessageException(result);
8768            }
8769            return result;
8770          }
8771    
8772          public org.jetbrains.kotlin.serialization.ProtoBuf.Class buildPartial() {
8773            org.jetbrains.kotlin.serialization.ProtoBuf.Class result = new org.jetbrains.kotlin.serialization.ProtoBuf.Class(this);
8774            int from_bitField0_ = bitField0_;
8775            int to_bitField0_ = 0;
8776            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
8777              to_bitField0_ |= 0x00000001;
8778            }
8779            result.flags_ = flags_;
8780            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
8781              to_bitField0_ |= 0x00000002;
8782            }
8783            result.fqName_ = fqName_;
8784            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
8785              to_bitField0_ |= 0x00000004;
8786            }
8787            result.companionObjectName_ = companionObjectName_;
8788            if (((bitField0_ & 0x00000008) == 0x00000008)) {
8789              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
8790              bitField0_ = (bitField0_ & ~0x00000008);
8791            }
8792            result.typeParameter_ = typeParameter_;
8793            if (((bitField0_ & 0x00000010) == 0x00000010)) {
8794              supertype_ = java.util.Collections.unmodifiableList(supertype_);
8795              bitField0_ = (bitField0_ & ~0x00000010);
8796            }
8797            result.supertype_ = supertype_;
8798            if (((bitField0_ & 0x00000020) == 0x00000020)) {
8799              supertypeId_ = java.util.Collections.unmodifiableList(supertypeId_);
8800              bitField0_ = (bitField0_ & ~0x00000020);
8801            }
8802            result.supertypeId_ = supertypeId_;
8803            if (((bitField0_ & 0x00000040) == 0x00000040)) {
8804              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
8805              bitField0_ = (bitField0_ & ~0x00000040);
8806            }
8807            result.nestedClassName_ = nestedClassName_;
8808            if (((bitField0_ & 0x00000080) == 0x00000080)) {
8809              constructor_ = java.util.Collections.unmodifiableList(constructor_);
8810              bitField0_ = (bitField0_ & ~0x00000080);
8811            }
8812            result.constructor_ = constructor_;
8813            if (((bitField0_ & 0x00000100) == 0x00000100)) {
8814              function_ = java.util.Collections.unmodifiableList(function_);
8815              bitField0_ = (bitField0_ & ~0x00000100);
8816            }
8817            result.function_ = function_;
8818            if (((bitField0_ & 0x00000200) == 0x00000200)) {
8819              property_ = java.util.Collections.unmodifiableList(property_);
8820              bitField0_ = (bitField0_ & ~0x00000200);
8821            }
8822            result.property_ = property_;
8823            if (((bitField0_ & 0x00000400) == 0x00000400)) {
8824              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
8825              bitField0_ = (bitField0_ & ~0x00000400);
8826            }
8827            result.enumEntry_ = enumEntry_;
8828            if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
8829              to_bitField0_ |= 0x00000008;
8830            }
8831            result.typeTable_ = typeTable_;
8832            if (((from_bitField0_ & 0x00001000) == 0x00001000)) {
8833              to_bitField0_ |= 0x00000010;
8834            }
8835            result.sinceKotlinInfo_ = sinceKotlinInfo_;
8836            if (((from_bitField0_ & 0x00002000) == 0x00002000)) {
8837              to_bitField0_ |= 0x00000020;
8838            }
8839            result.sinceKotlinInfoTable_ = sinceKotlinInfoTable_;
8840            result.bitField0_ = to_bitField0_;
8841            return result;
8842          }
8843    
8844          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Class other) {
8845            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance()) return this;
8846            if (other.hasFlags()) {
8847              setFlags(other.getFlags());
8848            }
8849            if (other.hasFqName()) {
8850              setFqName(other.getFqName());
8851            }
8852            if (other.hasCompanionObjectName()) {
8853              setCompanionObjectName(other.getCompanionObjectName());
8854            }
8855            if (!other.typeParameter_.isEmpty()) {
8856              if (typeParameter_.isEmpty()) {
8857                typeParameter_ = other.typeParameter_;
8858                bitField0_ = (bitField0_ & ~0x00000008);
8859              } else {
8860                ensureTypeParameterIsMutable();
8861                typeParameter_.addAll(other.typeParameter_);
8862              }
8863              
8864            }
8865            if (!other.supertype_.isEmpty()) {
8866              if (supertype_.isEmpty()) {
8867                supertype_ = other.supertype_;
8868                bitField0_ = (bitField0_ & ~0x00000010);
8869              } else {
8870                ensureSupertypeIsMutable();
8871                supertype_.addAll(other.supertype_);
8872              }
8873              
8874            }
8875            if (!other.supertypeId_.isEmpty()) {
8876              if (supertypeId_.isEmpty()) {
8877                supertypeId_ = other.supertypeId_;
8878                bitField0_ = (bitField0_ & ~0x00000020);
8879              } else {
8880                ensureSupertypeIdIsMutable();
8881                supertypeId_.addAll(other.supertypeId_);
8882              }
8883              
8884            }
8885            if (!other.nestedClassName_.isEmpty()) {
8886              if (nestedClassName_.isEmpty()) {
8887                nestedClassName_ = other.nestedClassName_;
8888                bitField0_ = (bitField0_ & ~0x00000040);
8889              } else {
8890                ensureNestedClassNameIsMutable();
8891                nestedClassName_.addAll(other.nestedClassName_);
8892              }
8893              
8894            }
8895            if (!other.constructor_.isEmpty()) {
8896              if (constructor_.isEmpty()) {
8897                constructor_ = other.constructor_;
8898                bitField0_ = (bitField0_ & ~0x00000080);
8899              } else {
8900                ensureConstructorIsMutable();
8901                constructor_.addAll(other.constructor_);
8902              }
8903              
8904            }
8905            if (!other.function_.isEmpty()) {
8906              if (function_.isEmpty()) {
8907                function_ = other.function_;
8908                bitField0_ = (bitField0_ & ~0x00000100);
8909              } else {
8910                ensureFunctionIsMutable();
8911                function_.addAll(other.function_);
8912              }
8913              
8914            }
8915            if (!other.property_.isEmpty()) {
8916              if (property_.isEmpty()) {
8917                property_ = other.property_;
8918                bitField0_ = (bitField0_ & ~0x00000200);
8919              } else {
8920                ensurePropertyIsMutable();
8921                property_.addAll(other.property_);
8922              }
8923              
8924            }
8925            if (!other.enumEntry_.isEmpty()) {
8926              if (enumEntry_.isEmpty()) {
8927                enumEntry_ = other.enumEntry_;
8928                bitField0_ = (bitField0_ & ~0x00000400);
8929              } else {
8930                ensureEnumEntryIsMutable();
8931                enumEntry_.addAll(other.enumEntry_);
8932              }
8933              
8934            }
8935            if (other.hasTypeTable()) {
8936              mergeTypeTable(other.getTypeTable());
8937            }
8938            if (other.hasSinceKotlinInfo()) {
8939              setSinceKotlinInfo(other.getSinceKotlinInfo());
8940            }
8941            if (other.hasSinceKotlinInfoTable()) {
8942              mergeSinceKotlinInfoTable(other.getSinceKotlinInfoTable());
8943            }
8944            this.mergeExtensionFields(other);
8945            setUnknownFields(
8946                getUnknownFields().concat(other.unknownFields));
8947            return this;
8948          }
8949    
8950          public final boolean isInitialized() {
8951            if (!hasFqName()) {
8952              
8953              return false;
8954            }
8955            for (int i = 0; i < getTypeParameterCount(); i++) {
8956              if (!getTypeParameter(i).isInitialized()) {
8957                
8958                return false;
8959              }
8960            }
8961            for (int i = 0; i < getSupertypeCount(); i++) {
8962              if (!getSupertype(i).isInitialized()) {
8963                
8964                return false;
8965              }
8966            }
8967            for (int i = 0; i < getConstructorCount(); i++) {
8968              if (!getConstructor(i).isInitialized()) {
8969                
8970                return false;
8971              }
8972            }
8973            for (int i = 0; i < getFunctionCount(); i++) {
8974              if (!getFunction(i).isInitialized()) {
8975                
8976                return false;
8977              }
8978            }
8979            for (int i = 0; i < getPropertyCount(); i++) {
8980              if (!getProperty(i).isInitialized()) {
8981                
8982                return false;
8983              }
8984            }
8985            for (int i = 0; i < getEnumEntryCount(); i++) {
8986              if (!getEnumEntry(i).isInitialized()) {
8987                
8988                return false;
8989              }
8990            }
8991            if (hasTypeTable()) {
8992              if (!getTypeTable().isInitialized()) {
8993                
8994                return false;
8995              }
8996            }
8997            if (!extensionsAreInitialized()) {
8998              
8999              return false;
9000            }
9001            return true;
9002          }
9003    
9004          public Builder mergeFrom(
9005              org.jetbrains.kotlin.protobuf.CodedInputStream input,
9006              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
9007              throws java.io.IOException {
9008            org.jetbrains.kotlin.serialization.ProtoBuf.Class parsedMessage = null;
9009            try {
9010              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
9011            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
9012              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Class) e.getUnfinishedMessage();
9013              throw e;
9014            } finally {
9015              if (parsedMessage != null) {
9016                mergeFrom(parsedMessage);
9017              }
9018            }
9019            return this;
9020          }
9021          private int bitField0_;
9022    
9023          private int flags_ = 6;
9024          /**
9025           * <code>optional int32 flags = 1 [default = 6];</code>
9026           *
9027           * <pre>
9028           *hasAnnotations
9029           *Visibility
9030           *Modality
9031           *ClassKind
9032           *isInner
9033           *isData
9034           * </pre>
9035           */
9036          public boolean hasFlags() {
9037            return ((bitField0_ & 0x00000001) == 0x00000001);
9038          }
9039          /**
9040           * <code>optional int32 flags = 1 [default = 6];</code>
9041           *
9042           * <pre>
9043           *hasAnnotations
9044           *Visibility
9045           *Modality
9046           *ClassKind
9047           *isInner
9048           *isData
9049           * </pre>
9050           */
9051          public int getFlags() {
9052            return flags_;
9053          }
9054          /**
9055           * <code>optional int32 flags = 1 [default = 6];</code>
9056           *
9057           * <pre>
9058           *hasAnnotations
9059           *Visibility
9060           *Modality
9061           *ClassKind
9062           *isInner
9063           *isData
9064           * </pre>
9065           */
9066          public Builder setFlags(int value) {
9067            bitField0_ |= 0x00000001;
9068            flags_ = value;
9069            
9070            return this;
9071          }
9072          /**
9073           * <code>optional int32 flags = 1 [default = 6];</code>
9074           *
9075           * <pre>
9076           *hasAnnotations
9077           *Visibility
9078           *Modality
9079           *ClassKind
9080           *isInner
9081           *isData
9082           * </pre>
9083           */
9084          public Builder clearFlags() {
9085            bitField0_ = (bitField0_ & ~0x00000001);
9086            flags_ = 6;
9087            
9088            return this;
9089          }
9090    
9091          private int fqName_ ;
9092          /**
9093           * <code>required int32 fq_name = 3;</code>
9094           */
9095          public boolean hasFqName() {
9096            return ((bitField0_ & 0x00000002) == 0x00000002);
9097          }
9098          /**
9099           * <code>required int32 fq_name = 3;</code>
9100           */
9101          public int getFqName() {
9102            return fqName_;
9103          }
9104          /**
9105           * <code>required int32 fq_name = 3;</code>
9106           */
9107          public Builder setFqName(int value) {
9108            bitField0_ |= 0x00000002;
9109            fqName_ = value;
9110            
9111            return this;
9112          }
9113          /**
9114           * <code>required int32 fq_name = 3;</code>
9115           */
9116          public Builder clearFqName() {
9117            bitField0_ = (bitField0_ & ~0x00000002);
9118            fqName_ = 0;
9119            
9120            return this;
9121          }
9122    
9123          private int companionObjectName_ ;
9124          /**
9125           * <code>optional int32 companion_object_name = 4;</code>
9126           */
9127          public boolean hasCompanionObjectName() {
9128            return ((bitField0_ & 0x00000004) == 0x00000004);
9129          }
9130          /**
9131           * <code>optional int32 companion_object_name = 4;</code>
9132           */
9133          public int getCompanionObjectName() {
9134            return companionObjectName_;
9135          }
9136          /**
9137           * <code>optional int32 companion_object_name = 4;</code>
9138           */
9139          public Builder setCompanionObjectName(int value) {
9140            bitField0_ |= 0x00000004;
9141            companionObjectName_ = value;
9142            
9143            return this;
9144          }
9145          /**
9146           * <code>optional int32 companion_object_name = 4;</code>
9147           */
9148          public Builder clearCompanionObjectName() {
9149            bitField0_ = (bitField0_ & ~0x00000004);
9150            companionObjectName_ = 0;
9151            
9152            return this;
9153          }
9154    
9155          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
9156            java.util.Collections.emptyList();
9157          private void ensureTypeParameterIsMutable() {
9158            if (!((bitField0_ & 0x00000008) == 0x00000008)) {
9159              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
9160              bitField0_ |= 0x00000008;
9161             }
9162          }
9163    
9164          /**
9165           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9166           */
9167          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
9168            return java.util.Collections.unmodifiableList(typeParameter_);
9169          }
9170          /**
9171           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9172           */
9173          public int getTypeParameterCount() {
9174            return typeParameter_.size();
9175          }
9176          /**
9177           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9178           */
9179          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
9180            return typeParameter_.get(index);
9181          }
9182          /**
9183           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9184           */
9185          public Builder setTypeParameter(
9186              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9187            if (value == null) {
9188              throw new NullPointerException();
9189            }
9190            ensureTypeParameterIsMutable();
9191            typeParameter_.set(index, value);
9192    
9193            return this;
9194          }
9195          /**
9196           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9197           */
9198          public Builder setTypeParameter(
9199              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9200            ensureTypeParameterIsMutable();
9201            typeParameter_.set(index, builderForValue.build());
9202    
9203            return this;
9204          }
9205          /**
9206           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9207           */
9208          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9209            if (value == null) {
9210              throw new NullPointerException();
9211            }
9212            ensureTypeParameterIsMutable();
9213            typeParameter_.add(value);
9214    
9215            return this;
9216          }
9217          /**
9218           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9219           */
9220          public Builder addTypeParameter(
9221              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9222            if (value == null) {
9223              throw new NullPointerException();
9224            }
9225            ensureTypeParameterIsMutable();
9226            typeParameter_.add(index, value);
9227    
9228            return this;
9229          }
9230          /**
9231           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9232           */
9233          public Builder addTypeParameter(
9234              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9235            ensureTypeParameterIsMutable();
9236            typeParameter_.add(builderForValue.build());
9237    
9238            return this;
9239          }
9240          /**
9241           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9242           */
9243          public Builder addTypeParameter(
9244              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9245            ensureTypeParameterIsMutable();
9246            typeParameter_.add(index, builderForValue.build());
9247    
9248            return this;
9249          }
9250          /**
9251           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9252           */
9253          public Builder addAllTypeParameter(
9254              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
9255            ensureTypeParameterIsMutable();
9256            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
9257                values, typeParameter_);
9258    
9259            return this;
9260          }
9261          /**
9262           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9263           */
9264          public Builder clearTypeParameter() {
9265            typeParameter_ = java.util.Collections.emptyList();
9266            bitField0_ = (bitField0_ & ~0x00000008);
9267    
9268            return this;
9269          }
9270          /**
9271           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9272           */
9273          public Builder removeTypeParameter(int index) {
9274            ensureTypeParameterIsMutable();
9275            typeParameter_.remove(index);
9276    
9277            return this;
9278          }
9279    
9280          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> supertype_ =
9281            java.util.Collections.emptyList();
9282          private void ensureSupertypeIsMutable() {
9283            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
9284              supertype_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(supertype_);
9285              bitField0_ |= 0x00000010;
9286             }
9287          }
9288    
9289          /**
9290           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9291           */
9292          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getSupertypeList() {
9293            return java.util.Collections.unmodifiableList(supertype_);
9294          }
9295          /**
9296           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9297           */
9298          public int getSupertypeCount() {
9299            return supertype_.size();
9300          }
9301          /**
9302           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9303           */
9304          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index) {
9305            return supertype_.get(index);
9306          }
9307          /**
9308           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9309           */
9310          public Builder setSupertype(
9311              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9312            if (value == null) {
9313              throw new NullPointerException();
9314            }
9315            ensureSupertypeIsMutable();
9316            supertype_.set(index, value);
9317    
9318            return this;
9319          }
9320          /**
9321           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9322           */
9323          public Builder setSupertype(
9324              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9325            ensureSupertypeIsMutable();
9326            supertype_.set(index, builderForValue.build());
9327    
9328            return this;
9329          }
9330          /**
9331           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9332           */
9333          public Builder addSupertype(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9334            if (value == null) {
9335              throw new NullPointerException();
9336            }
9337            ensureSupertypeIsMutable();
9338            supertype_.add(value);
9339    
9340            return this;
9341          }
9342          /**
9343           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9344           */
9345          public Builder addSupertype(
9346              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9347            if (value == null) {
9348              throw new NullPointerException();
9349            }
9350            ensureSupertypeIsMutable();
9351            supertype_.add(index, value);
9352    
9353            return this;
9354          }
9355          /**
9356           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9357           */
9358          public Builder addSupertype(
9359              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9360            ensureSupertypeIsMutable();
9361            supertype_.add(builderForValue.build());
9362    
9363            return this;
9364          }
9365          /**
9366           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9367           */
9368          public Builder addSupertype(
9369              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9370            ensureSupertypeIsMutable();
9371            supertype_.add(index, builderForValue.build());
9372    
9373            return this;
9374          }
9375          /**
9376           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9377           */
9378          public Builder addAllSupertype(
9379              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
9380            ensureSupertypeIsMutable();
9381            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
9382                values, supertype_);
9383    
9384            return this;
9385          }
9386          /**
9387           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9388           */
9389          public Builder clearSupertype() {
9390            supertype_ = java.util.Collections.emptyList();
9391            bitField0_ = (bitField0_ & ~0x00000010);
9392    
9393            return this;
9394          }
9395          /**
9396           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9397           */
9398          public Builder removeSupertype(int index) {
9399            ensureSupertypeIsMutable();
9400            supertype_.remove(index);
9401    
9402            return this;
9403          }
9404    
9405          private java.util.List<java.lang.Integer> supertypeId_ = java.util.Collections.emptyList();
9406          private void ensureSupertypeIdIsMutable() {
9407            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
9408              supertypeId_ = new java.util.ArrayList<java.lang.Integer>(supertypeId_);
9409              bitField0_ |= 0x00000020;
9410             }
9411          }
9412          /**
9413           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9414           */
9415          public java.util.List<java.lang.Integer>
9416              getSupertypeIdList() {
9417            return java.util.Collections.unmodifiableList(supertypeId_);
9418          }
9419          /**
9420           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9421           */
9422          public int getSupertypeIdCount() {
9423            return supertypeId_.size();
9424          }
9425          /**
9426           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9427           */
9428          public int getSupertypeId(int index) {
9429            return supertypeId_.get(index);
9430          }
9431          /**
9432           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9433           */
9434          public Builder setSupertypeId(
9435              int index, int value) {
9436            ensureSupertypeIdIsMutable();
9437            supertypeId_.set(index, value);
9438            
9439            return this;
9440          }
9441          /**
9442           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9443           */
9444          public Builder addSupertypeId(int value) {
9445            ensureSupertypeIdIsMutable();
9446            supertypeId_.add(value);
9447            
9448            return this;
9449          }
9450          /**
9451           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9452           */
9453          public Builder addAllSupertypeId(
9454              java.lang.Iterable<? extends java.lang.Integer> values) {
9455            ensureSupertypeIdIsMutable();
9456            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
9457                values, supertypeId_);
9458            
9459            return this;
9460          }
9461          /**
9462           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9463           */
9464          public Builder clearSupertypeId() {
9465            supertypeId_ = java.util.Collections.emptyList();
9466            bitField0_ = (bitField0_ & ~0x00000020);
9467            
9468            return this;
9469          }
9470    
9471          private java.util.List<java.lang.Integer> nestedClassName_ = java.util.Collections.emptyList();
9472          private void ensureNestedClassNameIsMutable() {
9473            if (!((bitField0_ & 0x00000040) == 0x00000040)) {
9474              nestedClassName_ = new java.util.ArrayList<java.lang.Integer>(nestedClassName_);
9475              bitField0_ |= 0x00000040;
9476             }
9477          }
9478          /**
9479           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9480           */
9481          public java.util.List<java.lang.Integer>
9482              getNestedClassNameList() {
9483            return java.util.Collections.unmodifiableList(nestedClassName_);
9484          }
9485          /**
9486           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9487           */
9488          public int getNestedClassNameCount() {
9489            return nestedClassName_.size();
9490          }
9491          /**
9492           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9493           */
9494          public int getNestedClassName(int index) {
9495            return nestedClassName_.get(index);
9496          }
9497          /**
9498           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9499           */
9500          public Builder setNestedClassName(
9501              int index, int value) {
9502            ensureNestedClassNameIsMutable();
9503            nestedClassName_.set(index, value);
9504            
9505            return this;
9506          }
9507          /**
9508           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9509           */
9510          public Builder addNestedClassName(int value) {
9511            ensureNestedClassNameIsMutable();
9512            nestedClassName_.add(value);
9513            
9514            return this;
9515          }
9516          /**
9517           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9518           */
9519          public Builder addAllNestedClassName(
9520              java.lang.Iterable<? extends java.lang.Integer> values) {
9521            ensureNestedClassNameIsMutable();
9522            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
9523                values, nestedClassName_);
9524            
9525            return this;
9526          }
9527          /**
9528           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9529           */
9530          public Builder clearNestedClassName() {
9531            nestedClassName_ = java.util.Collections.emptyList();
9532            bitField0_ = (bitField0_ & ~0x00000040);
9533            
9534            return this;
9535          }
9536    
9537          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> constructor_ =
9538            java.util.Collections.emptyList();
9539          private void ensureConstructorIsMutable() {
9540            if (!((bitField0_ & 0x00000080) == 0x00000080)) {
9541              constructor_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor>(constructor_);
9542              bitField0_ |= 0x00000080;
9543             }
9544          }
9545    
9546          /**
9547           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9548           */
9549          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> getConstructorList() {
9550            return java.util.Collections.unmodifiableList(constructor_);
9551          }
9552          /**
9553           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9554           */
9555          public int getConstructorCount() {
9556            return constructor_.size();
9557          }
9558          /**
9559           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9560           */
9561          public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor getConstructor(int index) {
9562            return constructor_.get(index);
9563          }
9564          /**
9565           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9566           */
9567          public Builder setConstructor(
9568              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Constructor value) {
9569            if (value == null) {
9570              throw new NullPointerException();
9571            }
9572            ensureConstructorIsMutable();
9573            constructor_.set(index, value);
9574    
9575            return this;
9576          }
9577          /**
9578           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9579           */
9580          public Builder setConstructor(
9581              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.Builder builderForValue) {
9582            ensureConstructorIsMutable();
9583            constructor_.set(index, builderForValue.build());
9584    
9585            return this;
9586          }
9587          /**
9588           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9589           */
9590          public Builder addConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Constructor value) {
9591            if (value == null) {
9592              throw new NullPointerException();
9593            }
9594            ensureConstructorIsMutable();
9595            constructor_.add(value);
9596    
9597            return this;
9598          }
9599          /**
9600           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9601           */
9602          public Builder addConstructor(
9603              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Constructor value) {
9604            if (value == null) {
9605              throw new NullPointerException();
9606            }
9607            ensureConstructorIsMutable();
9608            constructor_.add(index, value);
9609    
9610            return this;
9611          }
9612          /**
9613           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9614           */
9615          public Builder addConstructor(
9616              org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.Builder builderForValue) {
9617            ensureConstructorIsMutable();
9618            constructor_.add(builderForValue.build());
9619    
9620            return this;
9621          }
9622          /**
9623           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9624           */
9625          public Builder addConstructor(
9626              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.Builder builderForValue) {
9627            ensureConstructorIsMutable();
9628            constructor_.add(index, builderForValue.build());
9629    
9630            return this;
9631          }
9632          /**
9633           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9634           */
9635          public Builder addAllConstructor(
9636              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> values) {
9637            ensureConstructorIsMutable();
9638            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
9639                values, constructor_);
9640    
9641            return this;
9642          }
9643          /**
9644           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9645           */
9646          public Builder clearConstructor() {
9647            constructor_ = java.util.Collections.emptyList();
9648            bitField0_ = (bitField0_ & ~0x00000080);
9649    
9650            return this;
9651          }
9652          /**
9653           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9654           */
9655          public Builder removeConstructor(int index) {
9656            ensureConstructorIsMutable();
9657            constructor_.remove(index);
9658    
9659            return this;
9660          }
9661    
9662          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> function_ =
9663            java.util.Collections.emptyList();
9664          private void ensureFunctionIsMutable() {
9665            if (!((bitField0_ & 0x00000100) == 0x00000100)) {
9666              function_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Function>(function_);
9667              bitField0_ |= 0x00000100;
9668             }
9669          }
9670    
9671          /**
9672           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9673           */
9674          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> getFunctionList() {
9675            return java.util.Collections.unmodifiableList(function_);
9676          }
9677          /**
9678           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9679           */
9680          public int getFunctionCount() {
9681            return function_.size();
9682          }
9683          /**
9684           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9685           */
9686          public org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index) {
9687            return function_.get(index);
9688          }
9689          /**
9690           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9691           */
9692          public Builder setFunction(
9693              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
9694            if (value == null) {
9695              throw new NullPointerException();
9696            }
9697            ensureFunctionIsMutable();
9698            function_.set(index, value);
9699    
9700            return this;
9701          }
9702          /**
9703           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9704           */
9705          public Builder setFunction(
9706              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
9707            ensureFunctionIsMutable();
9708            function_.set(index, builderForValue.build());
9709    
9710            return this;
9711          }
9712          /**
9713           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9714           */
9715          public Builder addFunction(org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
9716            if (value == null) {
9717              throw new NullPointerException();
9718            }
9719            ensureFunctionIsMutable();
9720            function_.add(value);
9721    
9722            return this;
9723          }
9724          /**
9725           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9726           */
9727          public Builder addFunction(
9728              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
9729            if (value == null) {
9730              throw new NullPointerException();
9731            }
9732            ensureFunctionIsMutable();
9733            function_.add(index, value);
9734    
9735            return this;
9736          }
9737          /**
9738           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9739           */
9740          public Builder addFunction(
9741              org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
9742            ensureFunctionIsMutable();
9743            function_.add(builderForValue.build());
9744    
9745            return this;
9746          }
9747          /**
9748           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9749           */
9750          public Builder addFunction(
9751              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
9752            ensureFunctionIsMutable();
9753            function_.add(index, builderForValue.build());
9754    
9755            return this;
9756          }
9757          /**
9758           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9759           */
9760          public Builder addAllFunction(
9761              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Function> values) {
9762            ensureFunctionIsMutable();
9763            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
9764                values, function_);
9765    
9766            return this;
9767          }
9768          /**
9769           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9770           */
9771          public Builder clearFunction() {
9772            function_ = java.util.Collections.emptyList();
9773            bitField0_ = (bitField0_ & ~0x00000100);
9774    
9775            return this;
9776          }
9777          /**
9778           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9779           */
9780          public Builder removeFunction(int index) {
9781            ensureFunctionIsMutable();
9782            function_.remove(index);
9783    
9784            return this;
9785          }
9786    
9787          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> property_ =
9788            java.util.Collections.emptyList();
9789          private void ensurePropertyIsMutable() {
9790            if (!((bitField0_ & 0x00000200) == 0x00000200)) {
9791              property_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Property>(property_);
9792              bitField0_ |= 0x00000200;
9793             }
9794          }
9795    
9796          /**
9797           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9798           */
9799          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> getPropertyList() {
9800            return java.util.Collections.unmodifiableList(property_);
9801          }
9802          /**
9803           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9804           */
9805          public int getPropertyCount() {
9806            return property_.size();
9807          }
9808          /**
9809           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9810           */
9811          public org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index) {
9812            return property_.get(index);
9813          }
9814          /**
9815           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9816           */
9817          public Builder setProperty(
9818              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
9819            if (value == null) {
9820              throw new NullPointerException();
9821            }
9822            ensurePropertyIsMutable();
9823            property_.set(index, value);
9824    
9825            return this;
9826          }
9827          /**
9828           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9829           */
9830          public Builder setProperty(
9831              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
9832            ensurePropertyIsMutable();
9833            property_.set(index, builderForValue.build());
9834    
9835            return this;
9836          }
9837          /**
9838           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9839           */
9840          public Builder addProperty(org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
9841            if (value == null) {
9842              throw new NullPointerException();
9843            }
9844            ensurePropertyIsMutable();
9845            property_.add(value);
9846    
9847            return this;
9848          }
9849          /**
9850           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9851           */
9852          public Builder addProperty(
9853              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
9854            if (value == null) {
9855              throw new NullPointerException();
9856            }
9857            ensurePropertyIsMutable();
9858            property_.add(index, value);
9859    
9860            return this;
9861          }
9862          /**
9863           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9864           */
9865          public Builder addProperty(
9866              org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
9867            ensurePropertyIsMutable();
9868            property_.add(builderForValue.build());
9869    
9870            return this;
9871          }
9872          /**
9873           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9874           */
9875          public Builder addProperty(
9876              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
9877            ensurePropertyIsMutable();
9878            property_.add(index, builderForValue.build());
9879    
9880            return this;
9881          }
9882          /**
9883           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9884           */
9885          public Builder addAllProperty(
9886              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Property> values) {
9887            ensurePropertyIsMutable();
9888            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
9889                values, property_);
9890    
9891            return this;
9892          }
9893          /**
9894           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9895           */
9896          public Builder clearProperty() {
9897            property_ = java.util.Collections.emptyList();
9898            bitField0_ = (bitField0_ & ~0x00000200);
9899    
9900            return this;
9901          }
9902          /**
9903           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9904           */
9905          public Builder removeProperty(int index) {
9906            ensurePropertyIsMutable();
9907            property_.remove(index);
9908    
9909            return this;
9910          }
9911    
9912          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> enumEntry_ =
9913            java.util.Collections.emptyList();
9914          private void ensureEnumEntryIsMutable() {
9915            if (!((bitField0_ & 0x00000400) == 0x00000400)) {
9916              enumEntry_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry>(enumEntry_);
9917              bitField0_ |= 0x00000400;
9918             }
9919          }
9920    
9921          /**
9922           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9923           */
9924          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> getEnumEntryList() {
9925            return java.util.Collections.unmodifiableList(enumEntry_);
9926          }
9927          /**
9928           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9929           */
9930          public int getEnumEntryCount() {
9931            return enumEntry_.size();
9932          }
9933          /**
9934           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9935           */
9936          public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry getEnumEntry(int index) {
9937            return enumEntry_.get(index);
9938          }
9939          /**
9940           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9941           */
9942          public Builder setEnumEntry(
9943              int index, org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry value) {
9944            if (value == null) {
9945              throw new NullPointerException();
9946            }
9947            ensureEnumEntryIsMutable();
9948            enumEntry_.set(index, value);
9949    
9950            return this;
9951          }
9952          /**
9953           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9954           */
9955          public Builder setEnumEntry(
9956              int index, org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.Builder builderForValue) {
9957            ensureEnumEntryIsMutable();
9958            enumEntry_.set(index, builderForValue.build());
9959    
9960            return this;
9961          }
9962          /**
9963           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9964           */
9965          public Builder addEnumEntry(org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry value) {
9966            if (value == null) {
9967              throw new NullPointerException();
9968            }
9969            ensureEnumEntryIsMutable();
9970            enumEntry_.add(value);
9971    
9972            return this;
9973          }
9974          /**
9975           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9976           */
9977          public Builder addEnumEntry(
9978              int index, org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry value) {
9979            if (value == null) {
9980              throw new NullPointerException();
9981            }
9982            ensureEnumEntryIsMutable();
9983            enumEntry_.add(index, value);
9984    
9985            return this;
9986          }
9987          /**
9988           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9989           */
9990          public Builder addEnumEntry(
9991              org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.Builder builderForValue) {
9992            ensureEnumEntryIsMutable();
9993            enumEntry_.add(builderForValue.build());
9994    
9995            return this;
9996          }
9997          /**
9998           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9999           */
10000          public Builder addEnumEntry(
10001              int index, org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.Builder builderForValue) {
10002            ensureEnumEntryIsMutable();
10003            enumEntry_.add(index, builderForValue.build());
10004    
10005            return this;
10006          }
10007          /**
10008           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
10009           */
10010          public Builder addAllEnumEntry(
10011              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> values) {
10012            ensureEnumEntryIsMutable();
10013            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
10014                values, enumEntry_);
10015    
10016            return this;
10017          }
10018          /**
10019           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
10020           */
10021          public Builder clearEnumEntry() {
10022            enumEntry_ = java.util.Collections.emptyList();
10023            bitField0_ = (bitField0_ & ~0x00000400);
10024    
10025            return this;
10026          }
10027          /**
10028           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
10029           */
10030          public Builder removeEnumEntry(int index) {
10031            ensureEnumEntryIsMutable();
10032            enumEntry_.remove(index);
10033    
10034            return this;
10035          }
10036    
10037          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
10038          /**
10039           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10040           */
10041          public boolean hasTypeTable() {
10042            return ((bitField0_ & 0x00000800) == 0x00000800);
10043          }
10044          /**
10045           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10046           */
10047          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
10048            return typeTable_;
10049          }
10050          /**
10051           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10052           */
10053          public Builder setTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
10054            if (value == null) {
10055              throw new NullPointerException();
10056            }
10057            typeTable_ = value;
10058    
10059            bitField0_ |= 0x00000800;
10060            return this;
10061          }
10062          /**
10063           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10064           */
10065          public Builder setTypeTable(
10066              org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder builderForValue) {
10067            typeTable_ = builderForValue.build();
10068    
10069            bitField0_ |= 0x00000800;
10070            return this;
10071          }
10072          /**
10073           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10074           */
10075          public Builder mergeTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
10076            if (((bitField0_ & 0x00000800) == 0x00000800) &&
10077                typeTable_ != org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance()) {
10078              typeTable_ =
10079                org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.newBuilder(typeTable_).mergeFrom(value).buildPartial();
10080            } else {
10081              typeTable_ = value;
10082            }
10083    
10084            bitField0_ |= 0x00000800;
10085            return this;
10086          }
10087          /**
10088           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10089           */
10090          public Builder clearTypeTable() {
10091            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
10092    
10093            bitField0_ = (bitField0_ & ~0x00000800);
10094            return this;
10095          }
10096    
10097          private int sinceKotlinInfo_ ;
10098          /**
10099           * <code>optional int32 sinceKotlinInfo = 31;</code>
10100           *
10101           * <pre>
10102           * Index into the SinceKotlinInfoTable
10103           * </pre>
10104           */
10105          public boolean hasSinceKotlinInfo() {
10106            return ((bitField0_ & 0x00001000) == 0x00001000);
10107          }
10108          /**
10109           * <code>optional int32 sinceKotlinInfo = 31;</code>
10110           *
10111           * <pre>
10112           * Index into the SinceKotlinInfoTable
10113           * </pre>
10114           */
10115          public int getSinceKotlinInfo() {
10116            return sinceKotlinInfo_;
10117          }
10118          /**
10119           * <code>optional int32 sinceKotlinInfo = 31;</code>
10120           *
10121           * <pre>
10122           * Index into the SinceKotlinInfoTable
10123           * </pre>
10124           */
10125          public Builder setSinceKotlinInfo(int value) {
10126            bitField0_ |= 0x00001000;
10127            sinceKotlinInfo_ = value;
10128            
10129            return this;
10130          }
10131          /**
10132           * <code>optional int32 sinceKotlinInfo = 31;</code>
10133           *
10134           * <pre>
10135           * Index into the SinceKotlinInfoTable
10136           * </pre>
10137           */
10138          public Builder clearSinceKotlinInfo() {
10139            bitField0_ = (bitField0_ & ~0x00001000);
10140            sinceKotlinInfo_ = 0;
10141            
10142            return this;
10143          }
10144    
10145          private org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable sinceKotlinInfoTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance();
10146          /**
10147           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
10148           */
10149          public boolean hasSinceKotlinInfoTable() {
10150            return ((bitField0_ & 0x00002000) == 0x00002000);
10151          }
10152          /**
10153           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
10154           */
10155          public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable getSinceKotlinInfoTable() {
10156            return sinceKotlinInfoTable_;
10157          }
10158          /**
10159           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
10160           */
10161          public Builder setSinceKotlinInfoTable(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable value) {
10162            if (value == null) {
10163              throw new NullPointerException();
10164            }
10165            sinceKotlinInfoTable_ = value;
10166    
10167            bitField0_ |= 0x00002000;
10168            return this;
10169          }
10170          /**
10171           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
10172           */
10173          public Builder setSinceKotlinInfoTable(
10174              org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.Builder builderForValue) {
10175            sinceKotlinInfoTable_ = builderForValue.build();
10176    
10177            bitField0_ |= 0x00002000;
10178            return this;
10179          }
10180          /**
10181           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
10182           */
10183          public Builder mergeSinceKotlinInfoTable(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable value) {
10184            if (((bitField0_ & 0x00002000) == 0x00002000) &&
10185                sinceKotlinInfoTable_ != org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance()) {
10186              sinceKotlinInfoTable_ =
10187                org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.newBuilder(sinceKotlinInfoTable_).mergeFrom(value).buildPartial();
10188            } else {
10189              sinceKotlinInfoTable_ = value;
10190            }
10191    
10192            bitField0_ |= 0x00002000;
10193            return this;
10194          }
10195          /**
10196           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
10197           */
10198          public Builder clearSinceKotlinInfoTable() {
10199            sinceKotlinInfoTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance();
10200    
10201            bitField0_ = (bitField0_ & ~0x00002000);
10202            return this;
10203          }
10204    
10205          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Class)
10206        }
10207    
10208        static {
10209          defaultInstance = new Class(true);
10210          defaultInstance.initFields();
10211        }
10212    
10213        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Class)
10214      }
10215    
10216      public interface PackageOrBuilder extends 
10217          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.Package)
10218           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
10219                ExtendableMessageOrBuilder<Package> {
10220    
10221        /**
10222         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10223         */
10224        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> 
10225            getFunctionList();
10226        /**
10227         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10228         */
10229        org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index);
10230        /**
10231         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10232         */
10233        int getFunctionCount();
10234    
10235        /**
10236         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10237         */
10238        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> 
10239            getPropertyList();
10240        /**
10241         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10242         */
10243        org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index);
10244        /**
10245         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10246         */
10247        int getPropertyCount();
10248    
10249        /**
10250         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10251         */
10252        boolean hasTypeTable();
10253        /**
10254         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10255         */
10256        org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable();
10257    
10258        /**
10259         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
10260         */
10261        boolean hasSinceKotlinInfoTable();
10262        /**
10263         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
10264         */
10265        org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable getSinceKotlinInfoTable();
10266      }
10267      /**
10268       * Protobuf type {@code org.jetbrains.kotlin.serialization.Package}
10269       */
10270      public static final class Package extends
10271          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
10272            Package> implements
10273          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Package)
10274          PackageOrBuilder {
10275        // Use Package.newBuilder() to construct.
10276        private Package(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Package, ?> builder) {
10277          super(builder);
10278          this.unknownFields = builder.getUnknownFields();
10279        }
10280        private Package(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
10281    
10282        private static final Package defaultInstance;
10283        public static Package getDefaultInstance() {
10284          return defaultInstance;
10285        }
10286    
10287        public Package getDefaultInstanceForType() {
10288          return defaultInstance;
10289        }
10290    
10291        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
10292        private Package(
10293            org.jetbrains.kotlin.protobuf.CodedInputStream input,
10294            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
10295            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
10296          initFields();
10297          int mutable_bitField0_ = 0;
10298          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
10299              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
10300          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
10301              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
10302                  unknownFieldsOutput);
10303          try {
10304            boolean done = false;
10305            while (!done) {
10306              int tag = input.readTag();
10307              switch (tag) {
10308                case 0:
10309                  done = true;
10310                  break;
10311                default: {
10312                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
10313                                         extensionRegistry, tag)) {
10314                    done = true;
10315                  }
10316                  break;
10317                }
10318                case 26: {
10319                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
10320                    function_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Function>();
10321                    mutable_bitField0_ |= 0x00000001;
10322                  }
10323                  function_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Function.PARSER, extensionRegistry));
10324                  break;
10325                }
10326                case 34: {
10327                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
10328                    property_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Property>();
10329                    mutable_bitField0_ |= 0x00000002;
10330                  }
10331                  property_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Property.PARSER, extensionRegistry));
10332                  break;
10333                }
10334                case 242: {
10335                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder subBuilder = null;
10336                  if (((bitField0_ & 0x00000001) == 0x00000001)) {
10337                    subBuilder = typeTable_.toBuilder();
10338                  }
10339                  typeTable_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.PARSER, extensionRegistry);
10340                  if (subBuilder != null) {
10341                    subBuilder.mergeFrom(typeTable_);
10342                    typeTable_ = subBuilder.buildPartial();
10343                  }
10344                  bitField0_ |= 0x00000001;
10345                  break;
10346                }
10347                case 258: {
10348                  org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.Builder subBuilder = null;
10349                  if (((bitField0_ & 0x00000002) == 0x00000002)) {
10350                    subBuilder = sinceKotlinInfoTable_.toBuilder();
10351                  }
10352                  sinceKotlinInfoTable_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.PARSER, extensionRegistry);
10353                  if (subBuilder != null) {
10354                    subBuilder.mergeFrom(sinceKotlinInfoTable_);
10355                    sinceKotlinInfoTable_ = subBuilder.buildPartial();
10356                  }
10357                  bitField0_ |= 0x00000002;
10358                  break;
10359                }
10360              }
10361            }
10362          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
10363            throw e.setUnfinishedMessage(this);
10364          } catch (java.io.IOException e) {
10365            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
10366                e.getMessage()).setUnfinishedMessage(this);
10367          } finally {
10368            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
10369              function_ = java.util.Collections.unmodifiableList(function_);
10370            }
10371            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
10372              property_ = java.util.Collections.unmodifiableList(property_);
10373            }
10374            try {
10375              unknownFieldsCodedOutput.flush();
10376            } catch (java.io.IOException e) {
10377            // Should not happen
10378            } finally {
10379              unknownFields = unknownFieldsOutput.toByteString();
10380            }
10381            makeExtensionsImmutable();
10382          }
10383        }
10384        public static org.jetbrains.kotlin.protobuf.Parser<Package> PARSER =
10385            new org.jetbrains.kotlin.protobuf.AbstractParser<Package>() {
10386          public Package parsePartialFrom(
10387              org.jetbrains.kotlin.protobuf.CodedInputStream input,
10388              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
10389              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
10390            return new Package(input, extensionRegistry);
10391          }
10392        };
10393    
10394        @java.lang.Override
10395        public org.jetbrains.kotlin.protobuf.Parser<Package> getParserForType() {
10396          return PARSER;
10397        }
10398    
10399        private int bitField0_;
10400        public static final int FUNCTION_FIELD_NUMBER = 3;
10401        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> function_;
10402        /**
10403         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10404         */
10405        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> getFunctionList() {
10406          return function_;
10407        }
10408        /**
10409         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10410         */
10411        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder> 
10412            getFunctionOrBuilderList() {
10413          return function_;
10414        }
10415        /**
10416         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10417         */
10418        public int getFunctionCount() {
10419          return function_.size();
10420        }
10421        /**
10422         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10423         */
10424        public org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index) {
10425          return function_.get(index);
10426        }
10427        /**
10428         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10429         */
10430        public org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder getFunctionOrBuilder(
10431            int index) {
10432          return function_.get(index);
10433        }
10434    
10435        public static final int PROPERTY_FIELD_NUMBER = 4;
10436        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> property_;
10437        /**
10438         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10439         */
10440        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> getPropertyList() {
10441          return property_;
10442        }
10443        /**
10444         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10445         */
10446        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder> 
10447            getPropertyOrBuilderList() {
10448          return property_;
10449        }
10450        /**
10451         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10452         */
10453        public int getPropertyCount() {
10454          return property_.size();
10455        }
10456        /**
10457         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10458         */
10459        public org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index) {
10460          return property_.get(index);
10461        }
10462        /**
10463         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10464         */
10465        public org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder getPropertyOrBuilder(
10466            int index) {
10467          return property_.get(index);
10468        }
10469    
10470        public static final int TYPE_TABLE_FIELD_NUMBER = 30;
10471        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_;
10472        /**
10473         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10474         */
10475        public boolean hasTypeTable() {
10476          return ((bitField0_ & 0x00000001) == 0x00000001);
10477        }
10478        /**
10479         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10480         */
10481        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
10482          return typeTable_;
10483        }
10484    
10485        public static final int SINCE_KOTLIN_INFO_TABLE_FIELD_NUMBER = 32;
10486        private org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable sinceKotlinInfoTable_;
10487        /**
10488         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
10489         */
10490        public boolean hasSinceKotlinInfoTable() {
10491          return ((bitField0_ & 0x00000002) == 0x00000002);
10492        }
10493        /**
10494         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
10495         */
10496        public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable getSinceKotlinInfoTable() {
10497          return sinceKotlinInfoTable_;
10498        }
10499    
10500        private void initFields() {
10501          function_ = java.util.Collections.emptyList();
10502          property_ = java.util.Collections.emptyList();
10503          typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
10504          sinceKotlinInfoTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance();
10505        }
10506        private byte memoizedIsInitialized = -1;
10507        public final boolean isInitialized() {
10508          byte isInitialized = memoizedIsInitialized;
10509          if (isInitialized == 1) return true;
10510          if (isInitialized == 0) return false;
10511    
10512          for (int i = 0; i < getFunctionCount(); i++) {
10513            if (!getFunction(i).isInitialized()) {
10514              memoizedIsInitialized = 0;
10515              return false;
10516            }
10517          }
10518          for (int i = 0; i < getPropertyCount(); i++) {
10519            if (!getProperty(i).isInitialized()) {
10520              memoizedIsInitialized = 0;
10521              return false;
10522            }
10523          }
10524          if (hasTypeTable()) {
10525            if (!getTypeTable().isInitialized()) {
10526              memoizedIsInitialized = 0;
10527              return false;
10528            }
10529          }
10530          if (!extensionsAreInitialized()) {
10531            memoizedIsInitialized = 0;
10532            return false;
10533          }
10534          memoizedIsInitialized = 1;
10535          return true;
10536        }
10537    
10538        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
10539                            throws java.io.IOException {
10540          getSerializedSize();
10541          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
10542            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Package>.ExtensionWriter extensionWriter =
10543              newExtensionWriter();
10544          for (int i = 0; i < function_.size(); i++) {
10545            output.writeMessage(3, function_.get(i));
10546          }
10547          for (int i = 0; i < property_.size(); i++) {
10548            output.writeMessage(4, property_.get(i));
10549          }
10550          if (((bitField0_ & 0x00000001) == 0x00000001)) {
10551            output.writeMessage(30, typeTable_);
10552          }
10553          if (((bitField0_ & 0x00000002) == 0x00000002)) {
10554            output.writeMessage(32, sinceKotlinInfoTable_);
10555          }
10556          extensionWriter.writeUntil(200, output);
10557          output.writeRawBytes(unknownFields);
10558        }
10559    
10560        private int memoizedSerializedSize = -1;
10561        public int getSerializedSize() {
10562          int size = memoizedSerializedSize;
10563          if (size != -1) return size;
10564    
10565          size = 0;
10566          for (int i = 0; i < function_.size(); i++) {
10567            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
10568              .computeMessageSize(3, function_.get(i));
10569          }
10570          for (int i = 0; i < property_.size(); i++) {
10571            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
10572              .computeMessageSize(4, property_.get(i));
10573          }
10574          if (((bitField0_ & 0x00000001) == 0x00000001)) {
10575            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
10576              .computeMessageSize(30, typeTable_);
10577          }
10578          if (((bitField0_ & 0x00000002) == 0x00000002)) {
10579            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
10580              .computeMessageSize(32, sinceKotlinInfoTable_);
10581          }
10582          size += extensionsSerializedSize();
10583          size += unknownFields.size();
10584          memoizedSerializedSize = size;
10585          return size;
10586        }
10587    
10588        private static final long serialVersionUID = 0L;
10589        @java.lang.Override
10590        protected java.lang.Object writeReplace()
10591            throws java.io.ObjectStreamException {
10592          return super.writeReplace();
10593        }
10594    
10595        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10596            org.jetbrains.kotlin.protobuf.ByteString data)
10597            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
10598          return PARSER.parseFrom(data);
10599        }
10600        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10601            org.jetbrains.kotlin.protobuf.ByteString data,
10602            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
10603            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
10604          return PARSER.parseFrom(data, extensionRegistry);
10605        }
10606        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(byte[] data)
10607            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
10608          return PARSER.parseFrom(data);
10609        }
10610        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10611            byte[] data,
10612            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
10613            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
10614          return PARSER.parseFrom(data, extensionRegistry);
10615        }
10616        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(java.io.InputStream input)
10617            throws java.io.IOException {
10618          return PARSER.parseFrom(input);
10619        }
10620        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10621            java.io.InputStream input,
10622            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
10623            throws java.io.IOException {
10624          return PARSER.parseFrom(input, extensionRegistry);
10625        }
10626        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseDelimitedFrom(java.io.InputStream input)
10627            throws java.io.IOException {
10628          return PARSER.parseDelimitedFrom(input);
10629        }
10630        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseDelimitedFrom(
10631            java.io.InputStream input,
10632            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
10633            throws java.io.IOException {
10634          return PARSER.parseDelimitedFrom(input, extensionRegistry);
10635        }
10636        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10637            org.jetbrains.kotlin.protobuf.CodedInputStream input)
10638            throws java.io.IOException {
10639          return PARSER.parseFrom(input);
10640        }
10641        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10642            org.jetbrains.kotlin.protobuf.CodedInputStream input,
10643            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
10644            throws java.io.IOException {
10645          return PARSER.parseFrom(input, extensionRegistry);
10646        }
10647    
10648        public static Builder newBuilder() { return Builder.create(); }
10649        public Builder newBuilderForType() { return newBuilder(); }
10650        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Package prototype) {
10651          return newBuilder().mergeFrom(prototype);
10652        }
10653        public Builder toBuilder() { return newBuilder(this); }
10654    
10655        /**
10656         * Protobuf type {@code org.jetbrains.kotlin.serialization.Package}
10657         */
10658        public static final class Builder extends
10659            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
10660              org.jetbrains.kotlin.serialization.ProtoBuf.Package, Builder> implements
10661            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Package)
10662            org.jetbrains.kotlin.serialization.ProtoBuf.PackageOrBuilder {
10663          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Package.newBuilder()
10664          private Builder() {
10665            maybeForceBuilderInitialization();
10666          }
10667    
10668          private void maybeForceBuilderInitialization() {
10669          }
10670          private static Builder create() {
10671            return new Builder();
10672          }
10673    
10674          public Builder clear() {
10675            super.clear();
10676            function_ = java.util.Collections.emptyList();
10677            bitField0_ = (bitField0_ & ~0x00000001);
10678            property_ = java.util.Collections.emptyList();
10679            bitField0_ = (bitField0_ & ~0x00000002);
10680            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
10681            bitField0_ = (bitField0_ & ~0x00000004);
10682            sinceKotlinInfoTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance();
10683            bitField0_ = (bitField0_ & ~0x00000008);
10684            return this;
10685          }
10686    
10687          public Builder clone() {
10688            return create().mergeFrom(buildPartial());
10689          }
10690    
10691          public org.jetbrains.kotlin.serialization.ProtoBuf.Package getDefaultInstanceForType() {
10692            return org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance();
10693          }
10694    
10695          public org.jetbrains.kotlin.serialization.ProtoBuf.Package build() {
10696            org.jetbrains.kotlin.serialization.ProtoBuf.Package result = buildPartial();
10697            if (!result.isInitialized()) {
10698              throw newUninitializedMessageException(result);
10699            }
10700            return result;
10701          }
10702    
10703          public org.jetbrains.kotlin.serialization.ProtoBuf.Package buildPartial() {
10704            org.jetbrains.kotlin.serialization.ProtoBuf.Package result = new org.jetbrains.kotlin.serialization.ProtoBuf.Package(this);
10705            int from_bitField0_ = bitField0_;
10706            int to_bitField0_ = 0;
10707            if (((bitField0_ & 0x00000001) == 0x00000001)) {
10708              function_ = java.util.Collections.unmodifiableList(function_);
10709              bitField0_ = (bitField0_ & ~0x00000001);
10710            }
10711            result.function_ = function_;
10712            if (((bitField0_ & 0x00000002) == 0x00000002)) {
10713              property_ = java.util.Collections.unmodifiableList(property_);
10714              bitField0_ = (bitField0_ & ~0x00000002);
10715            }
10716            result.property_ = property_;
10717            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
10718              to_bitField0_ |= 0x00000001;
10719            }
10720            result.typeTable_ = typeTable_;
10721            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
10722              to_bitField0_ |= 0x00000002;
10723            }
10724            result.sinceKotlinInfoTable_ = sinceKotlinInfoTable_;
10725            result.bitField0_ = to_bitField0_;
10726            return result;
10727          }
10728    
10729          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Package other) {
10730            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance()) return this;
10731            if (!other.function_.isEmpty()) {
10732              if (function_.isEmpty()) {
10733                function_ = other.function_;
10734                bitField0_ = (bitField0_ & ~0x00000001);
10735              } else {
10736                ensureFunctionIsMutable();
10737                function_.addAll(other.function_);
10738              }
10739              
10740            }
10741            if (!other.property_.isEmpty()) {
10742              if (property_.isEmpty()) {
10743                property_ = other.property_;
10744                bitField0_ = (bitField0_ & ~0x00000002);
10745              } else {
10746                ensurePropertyIsMutable();
10747                property_.addAll(other.property_);
10748              }
10749              
10750            }
10751            if (other.hasTypeTable()) {
10752              mergeTypeTable(other.getTypeTable());
10753            }
10754            if (other.hasSinceKotlinInfoTable()) {
10755              mergeSinceKotlinInfoTable(other.getSinceKotlinInfoTable());
10756            }
10757            this.mergeExtensionFields(other);
10758            setUnknownFields(
10759                getUnknownFields().concat(other.unknownFields));
10760            return this;
10761          }
10762    
10763          public final boolean isInitialized() {
10764            for (int i = 0; i < getFunctionCount(); i++) {
10765              if (!getFunction(i).isInitialized()) {
10766                
10767                return false;
10768              }
10769            }
10770            for (int i = 0; i < getPropertyCount(); i++) {
10771              if (!getProperty(i).isInitialized()) {
10772                
10773                return false;
10774              }
10775            }
10776            if (hasTypeTable()) {
10777              if (!getTypeTable().isInitialized()) {
10778                
10779                return false;
10780              }
10781            }
10782            if (!extensionsAreInitialized()) {
10783              
10784              return false;
10785            }
10786            return true;
10787          }
10788    
10789          public Builder mergeFrom(
10790              org.jetbrains.kotlin.protobuf.CodedInputStream input,
10791              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
10792              throws java.io.IOException {
10793            org.jetbrains.kotlin.serialization.ProtoBuf.Package parsedMessage = null;
10794            try {
10795              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
10796            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
10797              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Package) e.getUnfinishedMessage();
10798              throw e;
10799            } finally {
10800              if (parsedMessage != null) {
10801                mergeFrom(parsedMessage);
10802              }
10803            }
10804            return this;
10805          }
10806          private int bitField0_;
10807    
10808          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> function_ =
10809            java.util.Collections.emptyList();
10810          private void ensureFunctionIsMutable() {
10811            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
10812              function_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Function>(function_);
10813              bitField0_ |= 0x00000001;
10814             }
10815          }
10816    
10817          /**
10818           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10819           */
10820          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> getFunctionList() {
10821            return java.util.Collections.unmodifiableList(function_);
10822          }
10823          /**
10824           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10825           */
10826          public int getFunctionCount() {
10827            return function_.size();
10828          }
10829          /**
10830           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10831           */
10832          public org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index) {
10833            return function_.get(index);
10834          }
10835          /**
10836           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10837           */
10838          public Builder setFunction(
10839              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
10840            if (value == null) {
10841              throw new NullPointerException();
10842            }
10843            ensureFunctionIsMutable();
10844            function_.set(index, value);
10845    
10846            return this;
10847          }
10848          /**
10849           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10850           */
10851          public Builder setFunction(
10852              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
10853            ensureFunctionIsMutable();
10854            function_.set(index, builderForValue.build());
10855    
10856            return this;
10857          }
10858          /**
10859           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10860           */
10861          public Builder addFunction(org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
10862            if (value == null) {
10863              throw new NullPointerException();
10864            }
10865            ensureFunctionIsMutable();
10866            function_.add(value);
10867    
10868            return this;
10869          }
10870          /**
10871           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10872           */
10873          public Builder addFunction(
10874              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
10875            if (value == null) {
10876              throw new NullPointerException();
10877            }
10878            ensureFunctionIsMutable();
10879            function_.add(index, value);
10880    
10881            return this;
10882          }
10883          /**
10884           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10885           */
10886          public Builder addFunction(
10887              org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
10888            ensureFunctionIsMutable();
10889            function_.add(builderForValue.build());
10890    
10891            return this;
10892          }
10893          /**
10894           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10895           */
10896          public Builder addFunction(
10897              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
10898            ensureFunctionIsMutable();
10899            function_.add(index, builderForValue.build());
10900    
10901            return this;
10902          }
10903          /**
10904           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10905           */
10906          public Builder addAllFunction(
10907              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Function> values) {
10908            ensureFunctionIsMutable();
10909            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
10910                values, function_);
10911    
10912            return this;
10913          }
10914          /**
10915           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10916           */
10917          public Builder clearFunction() {
10918            function_ = java.util.Collections.emptyList();
10919            bitField0_ = (bitField0_ & ~0x00000001);
10920    
10921            return this;
10922          }
10923          /**
10924           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10925           */
10926          public Builder removeFunction(int index) {
10927            ensureFunctionIsMutable();
10928            function_.remove(index);
10929    
10930            return this;
10931          }
10932    
10933          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> property_ =
10934            java.util.Collections.emptyList();
10935          private void ensurePropertyIsMutable() {
10936            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
10937              property_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Property>(property_);
10938              bitField0_ |= 0x00000002;
10939             }
10940          }
10941    
10942          /**
10943           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10944           */
10945          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> getPropertyList() {
10946            return java.util.Collections.unmodifiableList(property_);
10947          }
10948          /**
10949           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10950           */
10951          public int getPropertyCount() {
10952            return property_.size();
10953          }
10954          /**
10955           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10956           */
10957          public org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index) {
10958            return property_.get(index);
10959          }
10960          /**
10961           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10962           */
10963          public Builder setProperty(
10964              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
10965            if (value == null) {
10966              throw new NullPointerException();
10967            }
10968            ensurePropertyIsMutable();
10969            property_.set(index, value);
10970    
10971            return this;
10972          }
10973          /**
10974           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10975           */
10976          public Builder setProperty(
10977              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
10978            ensurePropertyIsMutable();
10979            property_.set(index, builderForValue.build());
10980    
10981            return this;
10982          }
10983          /**
10984           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10985           */
10986          public Builder addProperty(org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
10987            if (value == null) {
10988              throw new NullPointerException();
10989            }
10990            ensurePropertyIsMutable();
10991            property_.add(value);
10992    
10993            return this;
10994          }
10995          /**
10996           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10997           */
10998          public Builder addProperty(
10999              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
11000            if (value == null) {
11001              throw new NullPointerException();
11002            }
11003            ensurePropertyIsMutable();
11004            property_.add(index, value);
11005    
11006            return this;
11007          }
11008          /**
11009           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11010           */
11011          public Builder addProperty(
11012              org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
11013            ensurePropertyIsMutable();
11014            property_.add(builderForValue.build());
11015    
11016            return this;
11017          }
11018          /**
11019           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11020           */
11021          public Builder addProperty(
11022              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
11023            ensurePropertyIsMutable();
11024            property_.add(index, builderForValue.build());
11025    
11026            return this;
11027          }
11028          /**
11029           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11030           */
11031          public Builder addAllProperty(
11032              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Property> values) {
11033            ensurePropertyIsMutable();
11034            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
11035                values, property_);
11036    
11037            return this;
11038          }
11039          /**
11040           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11041           */
11042          public Builder clearProperty() {
11043            property_ = java.util.Collections.emptyList();
11044            bitField0_ = (bitField0_ & ~0x00000002);
11045    
11046            return this;
11047          }
11048          /**
11049           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
11050           */
11051          public Builder removeProperty(int index) {
11052            ensurePropertyIsMutable();
11053            property_.remove(index);
11054    
11055            return this;
11056          }
11057    
11058          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
11059          /**
11060           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
11061           */
11062          public boolean hasTypeTable() {
11063            return ((bitField0_ & 0x00000004) == 0x00000004);
11064          }
11065          /**
11066           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
11067           */
11068          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
11069            return typeTable_;
11070          }
11071          /**
11072           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
11073           */
11074          public Builder setTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
11075            if (value == null) {
11076              throw new NullPointerException();
11077            }
11078            typeTable_ = value;
11079    
11080            bitField0_ |= 0x00000004;
11081            return this;
11082          }
11083          /**
11084           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
11085           */
11086          public Builder setTypeTable(
11087              org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder builderForValue) {
11088            typeTable_ = builderForValue.build();
11089    
11090            bitField0_ |= 0x00000004;
11091            return this;
11092          }
11093          /**
11094           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
11095           */
11096          public Builder mergeTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
11097            if (((bitField0_ & 0x00000004) == 0x00000004) &&
11098                typeTable_ != org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance()) {
11099              typeTable_ =
11100                org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.newBuilder(typeTable_).mergeFrom(value).buildPartial();
11101            } else {
11102              typeTable_ = value;
11103            }
11104    
11105            bitField0_ |= 0x00000004;
11106            return this;
11107          }
11108          /**
11109           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
11110           */
11111          public Builder clearTypeTable() {
11112            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
11113    
11114            bitField0_ = (bitField0_ & ~0x00000004);
11115            return this;
11116          }
11117    
11118          private org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable sinceKotlinInfoTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance();
11119          /**
11120           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
11121           */
11122          public boolean hasSinceKotlinInfoTable() {
11123            return ((bitField0_ & 0x00000008) == 0x00000008);
11124          }
11125          /**
11126           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
11127           */
11128          public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable getSinceKotlinInfoTable() {
11129            return sinceKotlinInfoTable_;
11130          }
11131          /**
11132           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
11133           */
11134          public Builder setSinceKotlinInfoTable(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable value) {
11135            if (value == null) {
11136              throw new NullPointerException();
11137            }
11138            sinceKotlinInfoTable_ = value;
11139    
11140            bitField0_ |= 0x00000008;
11141            return this;
11142          }
11143          /**
11144           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
11145           */
11146          public Builder setSinceKotlinInfoTable(
11147              org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.Builder builderForValue) {
11148            sinceKotlinInfoTable_ = builderForValue.build();
11149    
11150            bitField0_ |= 0x00000008;
11151            return this;
11152          }
11153          /**
11154           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
11155           */
11156          public Builder mergeSinceKotlinInfoTable(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable value) {
11157            if (((bitField0_ & 0x00000008) == 0x00000008) &&
11158                sinceKotlinInfoTable_ != org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance()) {
11159              sinceKotlinInfoTable_ =
11160                org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.newBuilder(sinceKotlinInfoTable_).mergeFrom(value).buildPartial();
11161            } else {
11162              sinceKotlinInfoTable_ = value;
11163            }
11164    
11165            bitField0_ |= 0x00000008;
11166            return this;
11167          }
11168          /**
11169           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfoTable since_kotlin_info_table = 32;</code>
11170           */
11171          public Builder clearSinceKotlinInfoTable() {
11172            sinceKotlinInfoTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance();
11173    
11174            bitField0_ = (bitField0_ & ~0x00000008);
11175            return this;
11176          }
11177    
11178          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Package)
11179        }
11180    
11181        static {
11182          defaultInstance = new Package(true);
11183          defaultInstance.initFields();
11184        }
11185    
11186        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Package)
11187      }
11188    
11189      public interface TypeTableOrBuilder extends
11190          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.TypeTable)
11191          org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
11192    
11193        /**
11194         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11195         */
11196        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> 
11197            getTypeList();
11198        /**
11199         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11200         */
11201        org.jetbrains.kotlin.serialization.ProtoBuf.Type getType(int index);
11202        /**
11203         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11204         */
11205        int getTypeCount();
11206    
11207        /**
11208         * <code>optional int32 first_nullable = 2 [default = -1];</code>
11209         *
11210         * <pre>
11211         * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11212         * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11213         * </pre>
11214         */
11215        boolean hasFirstNullable();
11216        /**
11217         * <code>optional int32 first_nullable = 2 [default = -1];</code>
11218         *
11219         * <pre>
11220         * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11221         * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11222         * </pre>
11223         */
11224        int getFirstNullable();
11225      }
11226      /**
11227       * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeTable}
11228       */
11229      public static final class TypeTable extends
11230          org.jetbrains.kotlin.protobuf.GeneratedMessageLite implements
11231          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.TypeTable)
11232          TypeTableOrBuilder {
11233        // Use TypeTable.newBuilder() to construct.
11234        private TypeTable(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) {
11235          super(builder);
11236          this.unknownFields = builder.getUnknownFields();
11237        }
11238        private TypeTable(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
11239    
11240        private static final TypeTable defaultInstance;
11241        public static TypeTable getDefaultInstance() {
11242          return defaultInstance;
11243        }
11244    
11245        public TypeTable getDefaultInstanceForType() {
11246          return defaultInstance;
11247        }
11248    
11249        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
11250        private TypeTable(
11251            org.jetbrains.kotlin.protobuf.CodedInputStream input,
11252            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11253            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11254          initFields();
11255          int mutable_bitField0_ = 0;
11256          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
11257              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
11258          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
11259              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
11260                  unknownFieldsOutput);
11261          try {
11262            boolean done = false;
11263            while (!done) {
11264              int tag = input.readTag();
11265              switch (tag) {
11266                case 0:
11267                  done = true;
11268                  break;
11269                default: {
11270                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
11271                                         extensionRegistry, tag)) {
11272                    done = true;
11273                  }
11274                  break;
11275                }
11276                case 10: {
11277                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
11278                    type_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
11279                    mutable_bitField0_ |= 0x00000001;
11280                  }
11281                  type_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
11282                  break;
11283                }
11284                case 16: {
11285                  bitField0_ |= 0x00000001;
11286                  firstNullable_ = input.readInt32();
11287                  break;
11288                }
11289              }
11290            }
11291          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
11292            throw e.setUnfinishedMessage(this);
11293          } catch (java.io.IOException e) {
11294            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
11295                e.getMessage()).setUnfinishedMessage(this);
11296          } finally {
11297            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
11298              type_ = java.util.Collections.unmodifiableList(type_);
11299            }
11300            try {
11301              unknownFieldsCodedOutput.flush();
11302            } catch (java.io.IOException e) {
11303            // Should not happen
11304            } finally {
11305              unknownFields = unknownFieldsOutput.toByteString();
11306            }
11307            makeExtensionsImmutable();
11308          }
11309        }
11310        public static org.jetbrains.kotlin.protobuf.Parser<TypeTable> PARSER =
11311            new org.jetbrains.kotlin.protobuf.AbstractParser<TypeTable>() {
11312          public TypeTable parsePartialFrom(
11313              org.jetbrains.kotlin.protobuf.CodedInputStream input,
11314              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11315              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11316            return new TypeTable(input, extensionRegistry);
11317          }
11318        };
11319    
11320        @java.lang.Override
11321        public org.jetbrains.kotlin.protobuf.Parser<TypeTable> getParserForType() {
11322          return PARSER;
11323        }
11324    
11325        private int bitField0_;
11326        public static final int TYPE_FIELD_NUMBER = 1;
11327        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> type_;
11328        /**
11329         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11330         */
11331        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getTypeList() {
11332          return type_;
11333        }
11334        /**
11335         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11336         */
11337        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
11338            getTypeOrBuilderList() {
11339          return type_;
11340        }
11341        /**
11342         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11343         */
11344        public int getTypeCount() {
11345          return type_.size();
11346        }
11347        /**
11348         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11349         */
11350        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType(int index) {
11351          return type_.get(index);
11352        }
11353        /**
11354         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11355         */
11356        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getTypeOrBuilder(
11357            int index) {
11358          return type_.get(index);
11359        }
11360    
11361        public static final int FIRST_NULLABLE_FIELD_NUMBER = 2;
11362        private int firstNullable_;
11363        /**
11364         * <code>optional int32 first_nullable = 2 [default = -1];</code>
11365         *
11366         * <pre>
11367         * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11368         * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11369         * </pre>
11370         */
11371        public boolean hasFirstNullable() {
11372          return ((bitField0_ & 0x00000001) == 0x00000001);
11373        }
11374        /**
11375         * <code>optional int32 first_nullable = 2 [default = -1];</code>
11376         *
11377         * <pre>
11378         * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11379         * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11380         * </pre>
11381         */
11382        public int getFirstNullable() {
11383          return firstNullable_;
11384        }
11385    
11386        private void initFields() {
11387          type_ = java.util.Collections.emptyList();
11388          firstNullable_ = -1;
11389        }
11390        private byte memoizedIsInitialized = -1;
11391        public final boolean isInitialized() {
11392          byte isInitialized = memoizedIsInitialized;
11393          if (isInitialized == 1) return true;
11394          if (isInitialized == 0) return false;
11395    
11396          for (int i = 0; i < getTypeCount(); i++) {
11397            if (!getType(i).isInitialized()) {
11398              memoizedIsInitialized = 0;
11399              return false;
11400            }
11401          }
11402          memoizedIsInitialized = 1;
11403          return true;
11404        }
11405    
11406        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
11407                            throws java.io.IOException {
11408          getSerializedSize();
11409          for (int i = 0; i < type_.size(); i++) {
11410            output.writeMessage(1, type_.get(i));
11411          }
11412          if (((bitField0_ & 0x00000001) == 0x00000001)) {
11413            output.writeInt32(2, firstNullable_);
11414          }
11415          output.writeRawBytes(unknownFields);
11416        }
11417    
11418        private int memoizedSerializedSize = -1;
11419        public int getSerializedSize() {
11420          int size = memoizedSerializedSize;
11421          if (size != -1) return size;
11422    
11423          size = 0;
11424          for (int i = 0; i < type_.size(); i++) {
11425            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
11426              .computeMessageSize(1, type_.get(i));
11427          }
11428          if (((bitField0_ & 0x00000001) == 0x00000001)) {
11429            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
11430              .computeInt32Size(2, firstNullable_);
11431          }
11432          size += unknownFields.size();
11433          memoizedSerializedSize = size;
11434          return size;
11435        }
11436    
11437        private static final long serialVersionUID = 0L;
11438        @java.lang.Override
11439        protected java.lang.Object writeReplace()
11440            throws java.io.ObjectStreamException {
11441          return super.writeReplace();
11442        }
11443    
11444        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
11445            org.jetbrains.kotlin.protobuf.ByteString data)
11446            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11447          return PARSER.parseFrom(data);
11448        }
11449        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
11450            org.jetbrains.kotlin.protobuf.ByteString data,
11451            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11452            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11453          return PARSER.parseFrom(data, extensionRegistry);
11454        }
11455        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(byte[] data)
11456            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11457          return PARSER.parseFrom(data);
11458        }
11459        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
11460            byte[] data,
11461            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11462            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11463          return PARSER.parseFrom(data, extensionRegistry);
11464        }
11465        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(java.io.InputStream input)
11466            throws java.io.IOException {
11467          return PARSER.parseFrom(input);
11468        }
11469        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
11470            java.io.InputStream input,
11471            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11472            throws java.io.IOException {
11473          return PARSER.parseFrom(input, extensionRegistry);
11474        }
11475        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseDelimitedFrom(java.io.InputStream input)
11476            throws java.io.IOException {
11477          return PARSER.parseDelimitedFrom(input);
11478        }
11479        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseDelimitedFrom(
11480            java.io.InputStream input,
11481            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11482            throws java.io.IOException {
11483          return PARSER.parseDelimitedFrom(input, extensionRegistry);
11484        }
11485        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
11486            org.jetbrains.kotlin.protobuf.CodedInputStream input)
11487            throws java.io.IOException {
11488          return PARSER.parseFrom(input);
11489        }
11490        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
11491            org.jetbrains.kotlin.protobuf.CodedInputStream input,
11492            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11493            throws java.io.IOException {
11494          return PARSER.parseFrom(input, extensionRegistry);
11495        }
11496    
11497        public static Builder newBuilder() { return Builder.create(); }
11498        public Builder newBuilderForType() { return newBuilder(); }
11499        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable prototype) {
11500          return newBuilder().mergeFrom(prototype);
11501        }
11502        public Builder toBuilder() { return newBuilder(this); }
11503    
11504        /**
11505         * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeTable}
11506         */
11507        public static final class Builder extends
11508            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder<
11509              org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable, Builder>
11510            implements
11511            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.TypeTable)
11512            org.jetbrains.kotlin.serialization.ProtoBuf.TypeTableOrBuilder {
11513          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.newBuilder()
11514          private Builder() {
11515            maybeForceBuilderInitialization();
11516          }
11517    
11518          private void maybeForceBuilderInitialization() {
11519          }
11520          private static Builder create() {
11521            return new Builder();
11522          }
11523    
11524          public Builder clear() {
11525            super.clear();
11526            type_ = java.util.Collections.emptyList();
11527            bitField0_ = (bitField0_ & ~0x00000001);
11528            firstNullable_ = -1;
11529            bitField0_ = (bitField0_ & ~0x00000002);
11530            return this;
11531          }
11532    
11533          public Builder clone() {
11534            return create().mergeFrom(buildPartial());
11535          }
11536    
11537          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getDefaultInstanceForType() {
11538            return org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
11539          }
11540    
11541          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable build() {
11542            org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable result = buildPartial();
11543            if (!result.isInitialized()) {
11544              throw newUninitializedMessageException(result);
11545            }
11546            return result;
11547          }
11548    
11549          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable buildPartial() {
11550            org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable result = new org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable(this);
11551            int from_bitField0_ = bitField0_;
11552            int to_bitField0_ = 0;
11553            if (((bitField0_ & 0x00000001) == 0x00000001)) {
11554              type_ = java.util.Collections.unmodifiableList(type_);
11555              bitField0_ = (bitField0_ & ~0x00000001);
11556            }
11557            result.type_ = type_;
11558            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
11559              to_bitField0_ |= 0x00000001;
11560            }
11561            result.firstNullable_ = firstNullable_;
11562            result.bitField0_ = to_bitField0_;
11563            return result;
11564          }
11565    
11566          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable other) {
11567            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance()) return this;
11568            if (!other.type_.isEmpty()) {
11569              if (type_.isEmpty()) {
11570                type_ = other.type_;
11571                bitField0_ = (bitField0_ & ~0x00000001);
11572              } else {
11573                ensureTypeIsMutable();
11574                type_.addAll(other.type_);
11575              }
11576              
11577            }
11578            if (other.hasFirstNullable()) {
11579              setFirstNullable(other.getFirstNullable());
11580            }
11581            setUnknownFields(
11582                getUnknownFields().concat(other.unknownFields));
11583            return this;
11584          }
11585    
11586          public final boolean isInitialized() {
11587            for (int i = 0; i < getTypeCount(); i++) {
11588              if (!getType(i).isInitialized()) {
11589                
11590                return false;
11591              }
11592            }
11593            return true;
11594          }
11595    
11596          public Builder mergeFrom(
11597              org.jetbrains.kotlin.protobuf.CodedInputStream input,
11598              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11599              throws java.io.IOException {
11600            org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parsedMessage = null;
11601            try {
11602              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
11603            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
11604              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable) e.getUnfinishedMessage();
11605              throw e;
11606            } finally {
11607              if (parsedMessage != null) {
11608                mergeFrom(parsedMessage);
11609              }
11610            }
11611            return this;
11612          }
11613          private int bitField0_;
11614    
11615          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> type_ =
11616            java.util.Collections.emptyList();
11617          private void ensureTypeIsMutable() {
11618            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
11619              type_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(type_);
11620              bitField0_ |= 0x00000001;
11621             }
11622          }
11623    
11624          /**
11625           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11626           */
11627          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getTypeList() {
11628            return java.util.Collections.unmodifiableList(type_);
11629          }
11630          /**
11631           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11632           */
11633          public int getTypeCount() {
11634            return type_.size();
11635          }
11636          /**
11637           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11638           */
11639          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType(int index) {
11640            return type_.get(index);
11641          }
11642          /**
11643           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11644           */
11645          public Builder setType(
11646              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11647            if (value == null) {
11648              throw new NullPointerException();
11649            }
11650            ensureTypeIsMutable();
11651            type_.set(index, value);
11652    
11653            return this;
11654          }
11655          /**
11656           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11657           */
11658          public Builder setType(
11659              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
11660            ensureTypeIsMutable();
11661            type_.set(index, builderForValue.build());
11662    
11663            return this;
11664          }
11665          /**
11666           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11667           */
11668          public Builder addType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11669            if (value == null) {
11670              throw new NullPointerException();
11671            }
11672            ensureTypeIsMutable();
11673            type_.add(value);
11674    
11675            return this;
11676          }
11677          /**
11678           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11679           */
11680          public Builder addType(
11681              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11682            if (value == null) {
11683              throw new NullPointerException();
11684            }
11685            ensureTypeIsMutable();
11686            type_.add(index, value);
11687    
11688            return this;
11689          }
11690          /**
11691           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11692           */
11693          public Builder addType(
11694              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
11695            ensureTypeIsMutable();
11696            type_.add(builderForValue.build());
11697    
11698            return this;
11699          }
11700          /**
11701           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11702           */
11703          public Builder addType(
11704              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
11705            ensureTypeIsMutable();
11706            type_.add(index, builderForValue.build());
11707    
11708            return this;
11709          }
11710          /**
11711           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11712           */
11713          public Builder addAllType(
11714              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
11715            ensureTypeIsMutable();
11716            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
11717                values, type_);
11718    
11719            return this;
11720          }
11721          /**
11722           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11723           */
11724          public Builder clearType() {
11725            type_ = java.util.Collections.emptyList();
11726            bitField0_ = (bitField0_ & ~0x00000001);
11727    
11728            return this;
11729          }
11730          /**
11731           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11732           */
11733          public Builder removeType(int index) {
11734            ensureTypeIsMutable();
11735            type_.remove(index);
11736    
11737            return this;
11738          }
11739    
11740          private int firstNullable_ = -1;
11741          /**
11742           * <code>optional int32 first_nullable = 2 [default = -1];</code>
11743           *
11744           * <pre>
11745           * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11746           * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11747           * </pre>
11748           */
11749          public boolean hasFirstNullable() {
11750            return ((bitField0_ & 0x00000002) == 0x00000002);
11751          }
11752          /**
11753           * <code>optional int32 first_nullable = 2 [default = -1];</code>
11754           *
11755           * <pre>
11756           * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11757           * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11758           * </pre>
11759           */
11760          public int getFirstNullable() {
11761            return firstNullable_;
11762          }
11763          /**
11764           * <code>optional int32 first_nullable = 2 [default = -1];</code>
11765           *
11766           * <pre>
11767           * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11768           * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11769           * </pre>
11770           */
11771          public Builder setFirstNullable(int value) {
11772            bitField0_ |= 0x00000002;
11773            firstNullable_ = value;
11774            
11775            return this;
11776          }
11777          /**
11778           * <code>optional int32 first_nullable = 2 [default = -1];</code>
11779           *
11780           * <pre>
11781           * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11782           * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11783           * </pre>
11784           */
11785          public Builder clearFirstNullable() {
11786            bitField0_ = (bitField0_ & ~0x00000002);
11787            firstNullable_ = -1;
11788            
11789            return this;
11790          }
11791    
11792          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.TypeTable)
11793        }
11794    
11795        static {
11796          defaultInstance = new TypeTable(true);
11797          defaultInstance.initFields();
11798        }
11799    
11800        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.TypeTable)
11801      }
11802    
11803      public interface ConstructorOrBuilder extends 
11804          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.Constructor)
11805           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
11806                ExtendableMessageOrBuilder<Constructor> {
11807    
11808        /**
11809         * <code>optional int32 flags = 1 [default = 6];</code>
11810         *
11811         * <pre>
11812         *hasAnnotations
11813         *Visibility
11814         *isSecondary
11815         * </pre>
11816         */
11817        boolean hasFlags();
11818        /**
11819         * <code>optional int32 flags = 1 [default = 6];</code>
11820         *
11821         * <pre>
11822         *hasAnnotations
11823         *Visibility
11824         *isSecondary
11825         * </pre>
11826         */
11827        int getFlags();
11828    
11829        /**
11830         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11831         */
11832        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> 
11833            getValueParameterList();
11834        /**
11835         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11836         */
11837        org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index);
11838        /**
11839         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11840         */
11841        int getValueParameterCount();
11842    
11843        /**
11844         * <code>optional int32 sinceKotlinInfo = 31;</code>
11845         *
11846         * <pre>
11847         * Index into the SinceKotlinInfoTable
11848         * </pre>
11849         */
11850        boolean hasSinceKotlinInfo();
11851        /**
11852         * <code>optional int32 sinceKotlinInfo = 31;</code>
11853         *
11854         * <pre>
11855         * Index into the SinceKotlinInfoTable
11856         * </pre>
11857         */
11858        int getSinceKotlinInfo();
11859      }
11860      /**
11861       * Protobuf type {@code org.jetbrains.kotlin.serialization.Constructor}
11862       */
11863      public static final class Constructor extends
11864          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
11865            Constructor> implements
11866          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Constructor)
11867          ConstructorOrBuilder {
11868        // Use Constructor.newBuilder() to construct.
11869        private Constructor(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor, ?> builder) {
11870          super(builder);
11871          this.unknownFields = builder.getUnknownFields();
11872        }
11873        private Constructor(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
11874    
11875        private static final Constructor defaultInstance;
11876        public static Constructor getDefaultInstance() {
11877          return defaultInstance;
11878        }
11879    
11880        public Constructor getDefaultInstanceForType() {
11881          return defaultInstance;
11882        }
11883    
11884        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
11885        private Constructor(
11886            org.jetbrains.kotlin.protobuf.CodedInputStream input,
11887            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11888            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11889          initFields();
11890          int mutable_bitField0_ = 0;
11891          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
11892              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
11893          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
11894              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
11895                  unknownFieldsOutput);
11896          try {
11897            boolean done = false;
11898            while (!done) {
11899              int tag = input.readTag();
11900              switch (tag) {
11901                case 0:
11902                  done = true;
11903                  break;
11904                default: {
11905                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
11906                                         extensionRegistry, tag)) {
11907                    done = true;
11908                  }
11909                  break;
11910                }
11911                case 8: {
11912                  bitField0_ |= 0x00000001;
11913                  flags_ = input.readInt32();
11914                  break;
11915                }
11916                case 18: {
11917                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
11918                    valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>();
11919                    mutable_bitField0_ |= 0x00000002;
11920                  }
11921                  valueParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.PARSER, extensionRegistry));
11922                  break;
11923                }
11924                case 248: {
11925                  bitField0_ |= 0x00000002;
11926                  sinceKotlinInfo_ = input.readInt32();
11927                  break;
11928                }
11929              }
11930            }
11931          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
11932            throw e.setUnfinishedMessage(this);
11933          } catch (java.io.IOException e) {
11934            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
11935                e.getMessage()).setUnfinishedMessage(this);
11936          } finally {
11937            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
11938              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
11939            }
11940            try {
11941              unknownFieldsCodedOutput.flush();
11942            } catch (java.io.IOException e) {
11943            // Should not happen
11944            } finally {
11945              unknownFields = unknownFieldsOutput.toByteString();
11946            }
11947            makeExtensionsImmutable();
11948          }
11949        }
11950        public static org.jetbrains.kotlin.protobuf.Parser<Constructor> PARSER =
11951            new org.jetbrains.kotlin.protobuf.AbstractParser<Constructor>() {
11952          public Constructor parsePartialFrom(
11953              org.jetbrains.kotlin.protobuf.CodedInputStream input,
11954              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11955              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11956            return new Constructor(input, extensionRegistry);
11957          }
11958        };
11959    
11960        @java.lang.Override
11961        public org.jetbrains.kotlin.protobuf.Parser<Constructor> getParserForType() {
11962          return PARSER;
11963        }
11964    
11965        private int bitField0_;
11966        public static final int FLAGS_FIELD_NUMBER = 1;
11967        private int flags_;
11968        /**
11969         * <code>optional int32 flags = 1 [default = 6];</code>
11970         *
11971         * <pre>
11972         *hasAnnotations
11973         *Visibility
11974         *isSecondary
11975         * </pre>
11976         */
11977        public boolean hasFlags() {
11978          return ((bitField0_ & 0x00000001) == 0x00000001);
11979        }
11980        /**
11981         * <code>optional int32 flags = 1 [default = 6];</code>
11982         *
11983         * <pre>
11984         *hasAnnotations
11985         *Visibility
11986         *isSecondary
11987         * </pre>
11988         */
11989        public int getFlags() {
11990          return flags_;
11991        }
11992    
11993        public static final int VALUE_PARAMETER_FIELD_NUMBER = 2;
11994        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> valueParameter_;
11995        /**
11996         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11997         */
11998        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> getValueParameterList() {
11999          return valueParameter_;
12000        }
12001        /**
12002         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12003         */
12004        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder> 
12005            getValueParameterOrBuilderList() {
12006          return valueParameter_;
12007        }
12008        /**
12009         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12010         */
12011        public int getValueParameterCount() {
12012          return valueParameter_.size();
12013        }
12014        /**
12015         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12016         */
12017        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index) {
12018          return valueParameter_.get(index);
12019        }
12020        /**
12021         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12022         */
12023        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder getValueParameterOrBuilder(
12024            int index) {
12025          return valueParameter_.get(index);
12026        }
12027    
12028        public static final int SINCEKOTLININFO_FIELD_NUMBER = 31;
12029        private int sinceKotlinInfo_;
12030        /**
12031         * <code>optional int32 sinceKotlinInfo = 31;</code>
12032         *
12033         * <pre>
12034         * Index into the SinceKotlinInfoTable
12035         * </pre>
12036         */
12037        public boolean hasSinceKotlinInfo() {
12038          return ((bitField0_ & 0x00000002) == 0x00000002);
12039        }
12040        /**
12041         * <code>optional int32 sinceKotlinInfo = 31;</code>
12042         *
12043         * <pre>
12044         * Index into the SinceKotlinInfoTable
12045         * </pre>
12046         */
12047        public int getSinceKotlinInfo() {
12048          return sinceKotlinInfo_;
12049        }
12050    
12051        private void initFields() {
12052          flags_ = 6;
12053          valueParameter_ = java.util.Collections.emptyList();
12054          sinceKotlinInfo_ = 0;
12055        }
12056        private byte memoizedIsInitialized = -1;
12057        public final boolean isInitialized() {
12058          byte isInitialized = memoizedIsInitialized;
12059          if (isInitialized == 1) return true;
12060          if (isInitialized == 0) return false;
12061    
12062          for (int i = 0; i < getValueParameterCount(); i++) {
12063            if (!getValueParameter(i).isInitialized()) {
12064              memoizedIsInitialized = 0;
12065              return false;
12066            }
12067          }
12068          if (!extensionsAreInitialized()) {
12069            memoizedIsInitialized = 0;
12070            return false;
12071          }
12072          memoizedIsInitialized = 1;
12073          return true;
12074        }
12075    
12076        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
12077                            throws java.io.IOException {
12078          getSerializedSize();
12079          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
12080            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor>.ExtensionWriter extensionWriter =
12081              newExtensionWriter();
12082          if (((bitField0_ & 0x00000001) == 0x00000001)) {
12083            output.writeInt32(1, flags_);
12084          }
12085          for (int i = 0; i < valueParameter_.size(); i++) {
12086            output.writeMessage(2, valueParameter_.get(i));
12087          }
12088          if (((bitField0_ & 0x00000002) == 0x00000002)) {
12089            output.writeInt32(31, sinceKotlinInfo_);
12090          }
12091          extensionWriter.writeUntil(200, output);
12092          output.writeRawBytes(unknownFields);
12093        }
12094    
12095        private int memoizedSerializedSize = -1;
12096        public int getSerializedSize() {
12097          int size = memoizedSerializedSize;
12098          if (size != -1) return size;
12099    
12100          size = 0;
12101          if (((bitField0_ & 0x00000001) == 0x00000001)) {
12102            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
12103              .computeInt32Size(1, flags_);
12104          }
12105          for (int i = 0; i < valueParameter_.size(); i++) {
12106            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
12107              .computeMessageSize(2, valueParameter_.get(i));
12108          }
12109          if (((bitField0_ & 0x00000002) == 0x00000002)) {
12110            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
12111              .computeInt32Size(31, sinceKotlinInfo_);
12112          }
12113          size += extensionsSerializedSize();
12114          size += unknownFields.size();
12115          memoizedSerializedSize = size;
12116          return size;
12117        }
12118    
12119        private static final long serialVersionUID = 0L;
12120        @java.lang.Override
12121        protected java.lang.Object writeReplace()
12122            throws java.io.ObjectStreamException {
12123          return super.writeReplace();
12124        }
12125    
12126        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
12127            org.jetbrains.kotlin.protobuf.ByteString data)
12128            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
12129          return PARSER.parseFrom(data);
12130        }
12131        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
12132            org.jetbrains.kotlin.protobuf.ByteString data,
12133            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12134            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
12135          return PARSER.parseFrom(data, extensionRegistry);
12136        }
12137        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(byte[] data)
12138            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
12139          return PARSER.parseFrom(data);
12140        }
12141        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
12142            byte[] data,
12143            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12144            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
12145          return PARSER.parseFrom(data, extensionRegistry);
12146        }
12147        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(java.io.InputStream input)
12148            throws java.io.IOException {
12149          return PARSER.parseFrom(input);
12150        }
12151        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
12152            java.io.InputStream input,
12153            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12154            throws java.io.IOException {
12155          return PARSER.parseFrom(input, extensionRegistry);
12156        }
12157        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseDelimitedFrom(java.io.InputStream input)
12158            throws java.io.IOException {
12159          return PARSER.parseDelimitedFrom(input);
12160        }
12161        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseDelimitedFrom(
12162            java.io.InputStream input,
12163            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12164            throws java.io.IOException {
12165          return PARSER.parseDelimitedFrom(input, extensionRegistry);
12166        }
12167        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
12168            org.jetbrains.kotlin.protobuf.CodedInputStream input)
12169            throws java.io.IOException {
12170          return PARSER.parseFrom(input);
12171        }
12172        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
12173            org.jetbrains.kotlin.protobuf.CodedInputStream input,
12174            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12175            throws java.io.IOException {
12176          return PARSER.parseFrom(input, extensionRegistry);
12177        }
12178    
12179        public static Builder newBuilder() { return Builder.create(); }
12180        public Builder newBuilderForType() { return newBuilder(); }
12181        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Constructor prototype) {
12182          return newBuilder().mergeFrom(prototype);
12183        }
12184        public Builder toBuilder() { return newBuilder(this); }
12185    
12186        /**
12187         * Protobuf type {@code org.jetbrains.kotlin.serialization.Constructor}
12188         */
12189        public static final class Builder extends
12190            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
12191              org.jetbrains.kotlin.serialization.ProtoBuf.Constructor, Builder> implements
12192            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Constructor)
12193            org.jetbrains.kotlin.serialization.ProtoBuf.ConstructorOrBuilder {
12194          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.newBuilder()
12195          private Builder() {
12196            maybeForceBuilderInitialization();
12197          }
12198    
12199          private void maybeForceBuilderInitialization() {
12200          }
12201          private static Builder create() {
12202            return new Builder();
12203          }
12204    
12205          public Builder clear() {
12206            super.clear();
12207            flags_ = 6;
12208            bitField0_ = (bitField0_ & ~0x00000001);
12209            valueParameter_ = java.util.Collections.emptyList();
12210            bitField0_ = (bitField0_ & ~0x00000002);
12211            sinceKotlinInfo_ = 0;
12212            bitField0_ = (bitField0_ & ~0x00000004);
12213            return this;
12214          }
12215    
12216          public Builder clone() {
12217            return create().mergeFrom(buildPartial());
12218          }
12219    
12220          public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor getDefaultInstanceForType() {
12221            return org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.getDefaultInstance();
12222          }
12223    
12224          public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor build() {
12225            org.jetbrains.kotlin.serialization.ProtoBuf.Constructor result = buildPartial();
12226            if (!result.isInitialized()) {
12227              throw newUninitializedMessageException(result);
12228            }
12229            return result;
12230          }
12231    
12232          public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor buildPartial() {
12233            org.jetbrains.kotlin.serialization.ProtoBuf.Constructor result = new org.jetbrains.kotlin.serialization.ProtoBuf.Constructor(this);
12234            int from_bitField0_ = bitField0_;
12235            int to_bitField0_ = 0;
12236            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
12237              to_bitField0_ |= 0x00000001;
12238            }
12239            result.flags_ = flags_;
12240            if (((bitField0_ & 0x00000002) == 0x00000002)) {
12241              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
12242              bitField0_ = (bitField0_ & ~0x00000002);
12243            }
12244            result.valueParameter_ = valueParameter_;
12245            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
12246              to_bitField0_ |= 0x00000002;
12247            }
12248            result.sinceKotlinInfo_ = sinceKotlinInfo_;
12249            result.bitField0_ = to_bitField0_;
12250            return result;
12251          }
12252    
12253          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Constructor other) {
12254            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.getDefaultInstance()) return this;
12255            if (other.hasFlags()) {
12256              setFlags(other.getFlags());
12257            }
12258            if (!other.valueParameter_.isEmpty()) {
12259              if (valueParameter_.isEmpty()) {
12260                valueParameter_ = other.valueParameter_;
12261                bitField0_ = (bitField0_ & ~0x00000002);
12262              } else {
12263                ensureValueParameterIsMutable();
12264                valueParameter_.addAll(other.valueParameter_);
12265              }
12266              
12267            }
12268            if (other.hasSinceKotlinInfo()) {
12269              setSinceKotlinInfo(other.getSinceKotlinInfo());
12270            }
12271            this.mergeExtensionFields(other);
12272            setUnknownFields(
12273                getUnknownFields().concat(other.unknownFields));
12274            return this;
12275          }
12276    
12277          public final boolean isInitialized() {
12278            for (int i = 0; i < getValueParameterCount(); i++) {
12279              if (!getValueParameter(i).isInitialized()) {
12280                
12281                return false;
12282              }
12283            }
12284            if (!extensionsAreInitialized()) {
12285              
12286              return false;
12287            }
12288            return true;
12289          }
12290    
12291          public Builder mergeFrom(
12292              org.jetbrains.kotlin.protobuf.CodedInputStream input,
12293              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12294              throws java.io.IOException {
12295            org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parsedMessage = null;
12296            try {
12297              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
12298            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
12299              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Constructor) e.getUnfinishedMessage();
12300              throw e;
12301            } finally {
12302              if (parsedMessage != null) {
12303                mergeFrom(parsedMessage);
12304              }
12305            }
12306            return this;
12307          }
12308          private int bitField0_;
12309    
12310          private int flags_ = 6;
12311          /**
12312           * <code>optional int32 flags = 1 [default = 6];</code>
12313           *
12314           * <pre>
12315           *hasAnnotations
12316           *Visibility
12317           *isSecondary
12318           * </pre>
12319           */
12320          public boolean hasFlags() {
12321            return ((bitField0_ & 0x00000001) == 0x00000001);
12322          }
12323          /**
12324           * <code>optional int32 flags = 1 [default = 6];</code>
12325           *
12326           * <pre>
12327           *hasAnnotations
12328           *Visibility
12329           *isSecondary
12330           * </pre>
12331           */
12332          public int getFlags() {
12333            return flags_;
12334          }
12335          /**
12336           * <code>optional int32 flags = 1 [default = 6];</code>
12337           *
12338           * <pre>
12339           *hasAnnotations
12340           *Visibility
12341           *isSecondary
12342           * </pre>
12343           */
12344          public Builder setFlags(int value) {
12345            bitField0_ |= 0x00000001;
12346            flags_ = value;
12347            
12348            return this;
12349          }
12350          /**
12351           * <code>optional int32 flags = 1 [default = 6];</code>
12352           *
12353           * <pre>
12354           *hasAnnotations
12355           *Visibility
12356           *isSecondary
12357           * </pre>
12358           */
12359          public Builder clearFlags() {
12360            bitField0_ = (bitField0_ & ~0x00000001);
12361            flags_ = 6;
12362            
12363            return this;
12364          }
12365    
12366          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> valueParameter_ =
12367            java.util.Collections.emptyList();
12368          private void ensureValueParameterIsMutable() {
12369            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
12370              valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>(valueParameter_);
12371              bitField0_ |= 0x00000002;
12372             }
12373          }
12374    
12375          /**
12376           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12377           */
12378          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> getValueParameterList() {
12379            return java.util.Collections.unmodifiableList(valueParameter_);
12380          }
12381          /**
12382           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12383           */
12384          public int getValueParameterCount() {
12385            return valueParameter_.size();
12386          }
12387          /**
12388           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12389           */
12390          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index) {
12391            return valueParameter_.get(index);
12392          }
12393          /**
12394           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12395           */
12396          public Builder setValueParameter(
12397              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
12398            if (value == null) {
12399              throw new NullPointerException();
12400            }
12401            ensureValueParameterIsMutable();
12402            valueParameter_.set(index, value);
12403    
12404            return this;
12405          }
12406          /**
12407           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12408           */
12409          public Builder setValueParameter(
12410              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
12411            ensureValueParameterIsMutable();
12412            valueParameter_.set(index, builderForValue.build());
12413    
12414            return this;
12415          }
12416          /**
12417           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12418           */
12419          public Builder addValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
12420            if (value == null) {
12421              throw new NullPointerException();
12422            }
12423            ensureValueParameterIsMutable();
12424            valueParameter_.add(value);
12425    
12426            return this;
12427          }
12428          /**
12429           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12430           */
12431          public Builder addValueParameter(
12432              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
12433            if (value == null) {
12434              throw new NullPointerException();
12435            }
12436            ensureValueParameterIsMutable();
12437            valueParameter_.add(index, value);
12438    
12439            return this;
12440          }
12441          /**
12442           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12443           */
12444          public Builder addValueParameter(
12445              org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
12446            ensureValueParameterIsMutable();
12447            valueParameter_.add(builderForValue.build());
12448    
12449            return this;
12450          }
12451          /**
12452           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12453           */
12454          public Builder addValueParameter(
12455              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
12456            ensureValueParameterIsMutable();
12457            valueParameter_.add(index, builderForValue.build());
12458    
12459            return this;
12460          }
12461          /**
12462           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12463           */
12464          public Builder addAllValueParameter(
12465              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> values) {
12466            ensureValueParameterIsMutable();
12467            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
12468                values, valueParameter_);
12469    
12470            return this;
12471          }
12472          /**
12473           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12474           */
12475          public Builder clearValueParameter() {
12476            valueParameter_ = java.util.Collections.emptyList();
12477            bitField0_ = (bitField0_ & ~0x00000002);
12478    
12479            return this;
12480          }
12481          /**
12482           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12483           */
12484          public Builder removeValueParameter(int index) {
12485            ensureValueParameterIsMutable();
12486            valueParameter_.remove(index);
12487    
12488            return this;
12489          }
12490    
12491          private int sinceKotlinInfo_ ;
12492          /**
12493           * <code>optional int32 sinceKotlinInfo = 31;</code>
12494           *
12495           * <pre>
12496           * Index into the SinceKotlinInfoTable
12497           * </pre>
12498           */
12499          public boolean hasSinceKotlinInfo() {
12500            return ((bitField0_ & 0x00000004) == 0x00000004);
12501          }
12502          /**
12503           * <code>optional int32 sinceKotlinInfo = 31;</code>
12504           *
12505           * <pre>
12506           * Index into the SinceKotlinInfoTable
12507           * </pre>
12508           */
12509          public int getSinceKotlinInfo() {
12510            return sinceKotlinInfo_;
12511          }
12512          /**
12513           * <code>optional int32 sinceKotlinInfo = 31;</code>
12514           *
12515           * <pre>
12516           * Index into the SinceKotlinInfoTable
12517           * </pre>
12518           */
12519          public Builder setSinceKotlinInfo(int value) {
12520            bitField0_ |= 0x00000004;
12521            sinceKotlinInfo_ = value;
12522            
12523            return this;
12524          }
12525          /**
12526           * <code>optional int32 sinceKotlinInfo = 31;</code>
12527           *
12528           * <pre>
12529           * Index into the SinceKotlinInfoTable
12530           * </pre>
12531           */
12532          public Builder clearSinceKotlinInfo() {
12533            bitField0_ = (bitField0_ & ~0x00000004);
12534            sinceKotlinInfo_ = 0;
12535            
12536            return this;
12537          }
12538    
12539          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Constructor)
12540        }
12541    
12542        static {
12543          defaultInstance = new Constructor(true);
12544          defaultInstance.initFields();
12545        }
12546    
12547        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Constructor)
12548      }
12549    
12550      public interface FunctionOrBuilder extends 
12551          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.Function)
12552           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
12553                ExtendableMessageOrBuilder<Function> {
12554    
12555        /**
12556         * <code>optional int32 flags = 9 [default = 6];</code>
12557         *
12558         * <pre>
12559         *hasAnnotations
12560         *Visibility
12561         *Modality
12562         *MemberKind
12563         *isOperator
12564         *isInfix
12565         *isInline
12566         *isTailrec
12567         *isExternal
12568         * </pre>
12569         */
12570        boolean hasFlags();
12571        /**
12572         * <code>optional int32 flags = 9 [default = 6];</code>
12573         *
12574         * <pre>
12575         *hasAnnotations
12576         *Visibility
12577         *Modality
12578         *MemberKind
12579         *isOperator
12580         *isInfix
12581         *isInline
12582         *isTailrec
12583         *isExternal
12584         * </pre>
12585         */
12586        int getFlags();
12587    
12588        /**
12589         * <code>optional int32 old_flags = 1 [default = 6];</code>
12590         */
12591        boolean hasOldFlags();
12592        /**
12593         * <code>optional int32 old_flags = 1 [default = 6];</code>
12594         */
12595        int getOldFlags();
12596    
12597        /**
12598         * <code>required int32 name = 2;</code>
12599         */
12600        boolean hasName();
12601        /**
12602         * <code>required int32 name = 2;</code>
12603         */
12604        int getName();
12605    
12606        /**
12607         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
12608         */
12609        boolean hasReturnType();
12610        /**
12611         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
12612         */
12613        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType();
12614    
12615        /**
12616         * <code>optional int32 return_type_id = 7;</code>
12617         */
12618        boolean hasReturnTypeId();
12619        /**
12620         * <code>optional int32 return_type_id = 7;</code>
12621         */
12622        int getReturnTypeId();
12623    
12624        /**
12625         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12626         */
12627        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
12628            getTypeParameterList();
12629        /**
12630         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12631         */
12632        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
12633        /**
12634         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12635         */
12636        int getTypeParameterCount();
12637    
12638        /**
12639         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12640         */
12641        boolean hasReceiverType();
12642        /**
12643         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12644         */
12645        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType();
12646    
12647        /**
12648         * <code>optional int32 receiver_type_id = 8;</code>
12649         */
12650        boolean hasReceiverTypeId();
12651        /**
12652         * <code>optional int32 receiver_type_id = 8;</code>
12653         */
12654        int getReceiverTypeId();
12655    
12656        /**
12657         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12658         */
12659        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> 
12660            getValueParameterList();
12661        /**
12662         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12663         */
12664        org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index);
12665        /**
12666         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12667         */
12668        int getValueParameterCount();
12669    
12670        /**
12671         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
12672         */
12673        boolean hasTypeTable();
12674        /**
12675         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
12676         */
12677        org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable();
12678    
12679        /**
12680         * <code>optional int32 sinceKotlinInfo = 31;</code>
12681         *
12682         * <pre>
12683         * Index into the SinceKotlinInfoTable
12684         * </pre>
12685         */
12686        boolean hasSinceKotlinInfo();
12687        /**
12688         * <code>optional int32 sinceKotlinInfo = 31;</code>
12689         *
12690         * <pre>
12691         * Index into the SinceKotlinInfoTable
12692         * </pre>
12693         */
12694        int getSinceKotlinInfo();
12695      }
12696      /**
12697       * Protobuf type {@code org.jetbrains.kotlin.serialization.Function}
12698       */
12699      public static final class Function extends
12700          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
12701            Function> implements
12702          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Function)
12703          FunctionOrBuilder {
12704        // Use Function.newBuilder() to construct.
12705        private Function(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Function, ?> builder) {
12706          super(builder);
12707          this.unknownFields = builder.getUnknownFields();
12708        }
12709        private Function(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
12710    
12711        private static final Function defaultInstance;
12712        public static Function getDefaultInstance() {
12713          return defaultInstance;
12714        }
12715    
12716        public Function getDefaultInstanceForType() {
12717          return defaultInstance;
12718        }
12719    
12720        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
12721        private Function(
12722            org.jetbrains.kotlin.protobuf.CodedInputStream input,
12723            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12724            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
12725          initFields();
12726          int mutable_bitField0_ = 0;
12727          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
12728              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
12729          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
12730              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
12731                  unknownFieldsOutput);
12732          try {
12733            boolean done = false;
12734            while (!done) {
12735              int tag = input.readTag();
12736              switch (tag) {
12737                case 0:
12738                  done = true;
12739                  break;
12740                default: {
12741                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
12742                                         extensionRegistry, tag)) {
12743                    done = true;
12744                  }
12745                  break;
12746                }
12747                case 8: {
12748                  bitField0_ |= 0x00000002;
12749                  oldFlags_ = input.readInt32();
12750                  break;
12751                }
12752                case 16: {
12753                  bitField0_ |= 0x00000004;
12754                  name_ = input.readInt32();
12755                  break;
12756                }
12757                case 26: {
12758                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
12759                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
12760                    subBuilder = returnType_.toBuilder();
12761                  }
12762                  returnType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
12763                  if (subBuilder != null) {
12764                    subBuilder.mergeFrom(returnType_);
12765                    returnType_ = subBuilder.buildPartial();
12766                  }
12767                  bitField0_ |= 0x00000008;
12768                  break;
12769                }
12770                case 34: {
12771                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
12772                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
12773                    mutable_bitField0_ |= 0x00000020;
12774                  }
12775                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
12776                  break;
12777                }
12778                case 42: {
12779                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
12780                  if (((bitField0_ & 0x00000020) == 0x00000020)) {
12781                    subBuilder = receiverType_.toBuilder();
12782                  }
12783                  receiverType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
12784                  if (subBuilder != null) {
12785                    subBuilder.mergeFrom(receiverType_);
12786                    receiverType_ = subBuilder.buildPartial();
12787                  }
12788                  bitField0_ |= 0x00000020;
12789                  break;
12790                }
12791                case 50: {
12792                  if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
12793                    valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>();
12794                    mutable_bitField0_ |= 0x00000100;
12795                  }
12796                  valueParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.PARSER, extensionRegistry));
12797                  break;
12798                }
12799                case 56: {
12800                  bitField0_ |= 0x00000010;
12801                  returnTypeId_ = input.readInt32();
12802                  break;
12803                }
12804                case 64: {
12805                  bitField0_ |= 0x00000040;
12806                  receiverTypeId_ = input.readInt32();
12807                  break;
12808                }
12809                case 72: {
12810                  bitField0_ |= 0x00000001;
12811                  flags_ = input.readInt32();
12812                  break;
12813                }
12814                case 242: {
12815                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder subBuilder = null;
12816                  if (((bitField0_ & 0x00000080) == 0x00000080)) {
12817                    subBuilder = typeTable_.toBuilder();
12818                  }
12819                  typeTable_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.PARSER, extensionRegistry);
12820                  if (subBuilder != null) {
12821                    subBuilder.mergeFrom(typeTable_);
12822                    typeTable_ = subBuilder.buildPartial();
12823                  }
12824                  bitField0_ |= 0x00000080;
12825                  break;
12826                }
12827                case 248: {
12828                  bitField0_ |= 0x00000100;
12829                  sinceKotlinInfo_ = input.readInt32();
12830                  break;
12831                }
12832              }
12833            }
12834          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
12835            throw e.setUnfinishedMessage(this);
12836          } catch (java.io.IOException e) {
12837            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
12838                e.getMessage()).setUnfinishedMessage(this);
12839          } finally {
12840            if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
12841              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
12842            }
12843            if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
12844              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
12845            }
12846            try {
12847              unknownFieldsCodedOutput.flush();
12848            } catch (java.io.IOException e) {
12849            // Should not happen
12850            } finally {
12851              unknownFields = unknownFieldsOutput.toByteString();
12852            }
12853            makeExtensionsImmutable();
12854          }
12855        }
12856        public static org.jetbrains.kotlin.protobuf.Parser<Function> PARSER =
12857            new org.jetbrains.kotlin.protobuf.AbstractParser<Function>() {
12858          public Function parsePartialFrom(
12859              org.jetbrains.kotlin.protobuf.CodedInputStream input,
12860              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12861              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
12862            return new Function(input, extensionRegistry);
12863          }
12864        };
12865    
12866        @java.lang.Override
12867        public org.jetbrains.kotlin.protobuf.Parser<Function> getParserForType() {
12868          return PARSER;
12869        }
12870    
12871        private int bitField0_;
12872        public static final int FLAGS_FIELD_NUMBER = 9;
12873        private int flags_;
12874        /**
12875         * <code>optional int32 flags = 9 [default = 6];</code>
12876         *
12877         * <pre>
12878         *hasAnnotations
12879         *Visibility
12880         *Modality
12881         *MemberKind
12882         *isOperator
12883         *isInfix
12884         *isInline
12885         *isTailrec
12886         *isExternal
12887         * </pre>
12888         */
12889        public boolean hasFlags() {
12890          return ((bitField0_ & 0x00000001) == 0x00000001);
12891        }
12892        /**
12893         * <code>optional int32 flags = 9 [default = 6];</code>
12894         *
12895         * <pre>
12896         *hasAnnotations
12897         *Visibility
12898         *Modality
12899         *MemberKind
12900         *isOperator
12901         *isInfix
12902         *isInline
12903         *isTailrec
12904         *isExternal
12905         * </pre>
12906         */
12907        public int getFlags() {
12908          return flags_;
12909        }
12910    
12911        public static final int OLD_FLAGS_FIELD_NUMBER = 1;
12912        private int oldFlags_;
12913        /**
12914         * <code>optional int32 old_flags = 1 [default = 6];</code>
12915         */
12916        public boolean hasOldFlags() {
12917          return ((bitField0_ & 0x00000002) == 0x00000002);
12918        }
12919        /**
12920         * <code>optional int32 old_flags = 1 [default = 6];</code>
12921         */
12922        public int getOldFlags() {
12923          return oldFlags_;
12924        }
12925    
12926        public static final int NAME_FIELD_NUMBER = 2;
12927        private int name_;
12928        /**
12929         * <code>required int32 name = 2;</code>
12930         */
12931        public boolean hasName() {
12932          return ((bitField0_ & 0x00000004) == 0x00000004);
12933        }
12934        /**
12935         * <code>required int32 name = 2;</code>
12936         */
12937        public int getName() {
12938          return name_;
12939        }
12940    
12941        public static final int RETURN_TYPE_FIELD_NUMBER = 3;
12942        private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_;
12943        /**
12944         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
12945         */
12946        public boolean hasReturnType() {
12947          return ((bitField0_ & 0x00000008) == 0x00000008);
12948        }
12949        /**
12950         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
12951         */
12952        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
12953          return returnType_;
12954        }
12955    
12956        public static final int RETURN_TYPE_ID_FIELD_NUMBER = 7;
12957        private int returnTypeId_;
12958        /**
12959         * <code>optional int32 return_type_id = 7;</code>
12960         */
12961        public boolean hasReturnTypeId() {
12962          return ((bitField0_ & 0x00000010) == 0x00000010);
12963        }
12964        /**
12965         * <code>optional int32 return_type_id = 7;</code>
12966         */
12967        public int getReturnTypeId() {
12968          return returnTypeId_;
12969        }
12970    
12971        public static final int TYPE_PARAMETER_FIELD_NUMBER = 4;
12972        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
12973        /**
12974         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12975         */
12976        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
12977          return typeParameter_;
12978        }
12979        /**
12980         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12981         */
12982        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
12983            getTypeParameterOrBuilderList() {
12984          return typeParameter_;
12985        }
12986        /**
12987         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12988         */
12989        public int getTypeParameterCount() {
12990          return typeParameter_.size();
12991        }
12992        /**
12993         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12994         */
12995        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
12996          return typeParameter_.get(index);
12997        }
12998        /**
12999         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13000         */
13001        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
13002            int index) {
13003          return typeParameter_.get(index);
13004        }
13005    
13006        public static final int RECEIVER_TYPE_FIELD_NUMBER = 5;
13007        private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_;
13008        /**
13009         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13010         */
13011        public boolean hasReceiverType() {
13012          return ((bitField0_ & 0x00000020) == 0x00000020);
13013        }
13014        /**
13015         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13016         */
13017        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
13018          return receiverType_;
13019        }
13020    
13021        public static final int RECEIVER_TYPE_ID_FIELD_NUMBER = 8;
13022        private int receiverTypeId_;
13023        /**
13024         * <code>optional int32 receiver_type_id = 8;</code>
13025         */
13026        public boolean hasReceiverTypeId() {
13027          return ((bitField0_ & 0x00000040) == 0x00000040);
13028        }
13029        /**
13030         * <code>optional int32 receiver_type_id = 8;</code>
13031         */
13032        public int getReceiverTypeId() {
13033          return receiverTypeId_;
13034        }
13035    
13036        public static final int VALUE_PARAMETER_FIELD_NUMBER = 6;
13037        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> valueParameter_;
13038        /**
13039         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13040         */
13041        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> getValueParameterList() {
13042          return valueParameter_;
13043        }
13044        /**
13045         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13046         */
13047        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder> 
13048            getValueParameterOrBuilderList() {
13049          return valueParameter_;
13050        }
13051        /**
13052         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13053         */
13054        public int getValueParameterCount() {
13055          return valueParameter_.size();
13056        }
13057        /**
13058         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13059         */
13060        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index) {
13061          return valueParameter_.get(index);
13062        }
13063        /**
13064         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13065         */
13066        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder getValueParameterOrBuilder(
13067            int index) {
13068          return valueParameter_.get(index);
13069        }
13070    
13071        public static final int TYPE_TABLE_FIELD_NUMBER = 30;
13072        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_;
13073        /**
13074         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13075         */
13076        public boolean hasTypeTable() {
13077          return ((bitField0_ & 0x00000080) == 0x00000080);
13078        }
13079        /**
13080         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13081         */
13082        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
13083          return typeTable_;
13084        }
13085    
13086        public static final int SINCEKOTLININFO_FIELD_NUMBER = 31;
13087        private int sinceKotlinInfo_;
13088        /**
13089         * <code>optional int32 sinceKotlinInfo = 31;</code>
13090         *
13091         * <pre>
13092         * Index into the SinceKotlinInfoTable
13093         * </pre>
13094         */
13095        public boolean hasSinceKotlinInfo() {
13096          return ((bitField0_ & 0x00000100) == 0x00000100);
13097        }
13098        /**
13099         * <code>optional int32 sinceKotlinInfo = 31;</code>
13100         *
13101         * <pre>
13102         * Index into the SinceKotlinInfoTable
13103         * </pre>
13104         */
13105        public int getSinceKotlinInfo() {
13106          return sinceKotlinInfo_;
13107        }
13108    
13109        private void initFields() {
13110          flags_ = 6;
13111          oldFlags_ = 6;
13112          name_ = 0;
13113          returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13114          returnTypeId_ = 0;
13115          typeParameter_ = java.util.Collections.emptyList();
13116          receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13117          receiverTypeId_ = 0;
13118          valueParameter_ = java.util.Collections.emptyList();
13119          typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
13120          sinceKotlinInfo_ = 0;
13121        }
13122        private byte memoizedIsInitialized = -1;
13123        public final boolean isInitialized() {
13124          byte isInitialized = memoizedIsInitialized;
13125          if (isInitialized == 1) return true;
13126          if (isInitialized == 0) return false;
13127    
13128          if (!hasName()) {
13129            memoizedIsInitialized = 0;
13130            return false;
13131          }
13132          if (hasReturnType()) {
13133            if (!getReturnType().isInitialized()) {
13134              memoizedIsInitialized = 0;
13135              return false;
13136            }
13137          }
13138          for (int i = 0; i < getTypeParameterCount(); i++) {
13139            if (!getTypeParameter(i).isInitialized()) {
13140              memoizedIsInitialized = 0;
13141              return false;
13142            }
13143          }
13144          if (hasReceiverType()) {
13145            if (!getReceiverType().isInitialized()) {
13146              memoizedIsInitialized = 0;
13147              return false;
13148            }
13149          }
13150          for (int i = 0; i < getValueParameterCount(); i++) {
13151            if (!getValueParameter(i).isInitialized()) {
13152              memoizedIsInitialized = 0;
13153              return false;
13154            }
13155          }
13156          if (hasTypeTable()) {
13157            if (!getTypeTable().isInitialized()) {
13158              memoizedIsInitialized = 0;
13159              return false;
13160            }
13161          }
13162          if (!extensionsAreInitialized()) {
13163            memoizedIsInitialized = 0;
13164            return false;
13165          }
13166          memoizedIsInitialized = 1;
13167          return true;
13168        }
13169    
13170        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
13171                            throws java.io.IOException {
13172          getSerializedSize();
13173          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
13174            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Function>.ExtensionWriter extensionWriter =
13175              newExtensionWriter();
13176          if (((bitField0_ & 0x00000002) == 0x00000002)) {
13177            output.writeInt32(1, oldFlags_);
13178          }
13179          if (((bitField0_ & 0x00000004) == 0x00000004)) {
13180            output.writeInt32(2, name_);
13181          }
13182          if (((bitField0_ & 0x00000008) == 0x00000008)) {
13183            output.writeMessage(3, returnType_);
13184          }
13185          for (int i = 0; i < typeParameter_.size(); i++) {
13186            output.writeMessage(4, typeParameter_.get(i));
13187          }
13188          if (((bitField0_ & 0x00000020) == 0x00000020)) {
13189            output.writeMessage(5, receiverType_);
13190          }
13191          for (int i = 0; i < valueParameter_.size(); i++) {
13192            output.writeMessage(6, valueParameter_.get(i));
13193          }
13194          if (((bitField0_ & 0x00000010) == 0x00000010)) {
13195            output.writeInt32(7, returnTypeId_);
13196          }
13197          if (((bitField0_ & 0x00000040) == 0x00000040)) {
13198            output.writeInt32(8, receiverTypeId_);
13199          }
13200          if (((bitField0_ & 0x00000001) == 0x00000001)) {
13201            output.writeInt32(9, flags_);
13202          }
13203          if (((bitField0_ & 0x00000080) == 0x00000080)) {
13204            output.writeMessage(30, typeTable_);
13205          }
13206          if (((bitField0_ & 0x00000100) == 0x00000100)) {
13207            output.writeInt32(31, sinceKotlinInfo_);
13208          }
13209          extensionWriter.writeUntil(200, output);
13210          output.writeRawBytes(unknownFields);
13211        }
13212    
13213        private int memoizedSerializedSize = -1;
13214        public int getSerializedSize() {
13215          int size = memoizedSerializedSize;
13216          if (size != -1) return size;
13217    
13218          size = 0;
13219          if (((bitField0_ & 0x00000002) == 0x00000002)) {
13220            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
13221              .computeInt32Size(1, oldFlags_);
13222          }
13223          if (((bitField0_ & 0x00000004) == 0x00000004)) {
13224            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
13225              .computeInt32Size(2, name_);
13226          }
13227          if (((bitField0_ & 0x00000008) == 0x00000008)) {
13228            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
13229              .computeMessageSize(3, returnType_);
13230          }
13231          for (int i = 0; i < typeParameter_.size(); i++) {
13232            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
13233              .computeMessageSize(4, typeParameter_.get(i));
13234          }
13235          if (((bitField0_ & 0x00000020) == 0x00000020)) {
13236            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
13237              .computeMessageSize(5, receiverType_);
13238          }
13239          for (int i = 0; i < valueParameter_.size(); i++) {
13240            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
13241              .computeMessageSize(6, valueParameter_.get(i));
13242          }
13243          if (((bitField0_ & 0x00000010) == 0x00000010)) {
13244            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
13245              .computeInt32Size(7, returnTypeId_);
13246          }
13247          if (((bitField0_ & 0x00000040) == 0x00000040)) {
13248            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
13249              .computeInt32Size(8, receiverTypeId_);
13250          }
13251          if (((bitField0_ & 0x00000001) == 0x00000001)) {
13252            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
13253              .computeInt32Size(9, flags_);
13254          }
13255          if (((bitField0_ & 0x00000080) == 0x00000080)) {
13256            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
13257              .computeMessageSize(30, typeTable_);
13258          }
13259          if (((bitField0_ & 0x00000100) == 0x00000100)) {
13260            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
13261              .computeInt32Size(31, sinceKotlinInfo_);
13262          }
13263          size += extensionsSerializedSize();
13264          size += unknownFields.size();
13265          memoizedSerializedSize = size;
13266          return size;
13267        }
13268    
13269        private static final long serialVersionUID = 0L;
13270        @java.lang.Override
13271        protected java.lang.Object writeReplace()
13272            throws java.io.ObjectStreamException {
13273          return super.writeReplace();
13274        }
13275    
13276        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
13277            org.jetbrains.kotlin.protobuf.ByteString data)
13278            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
13279          return PARSER.parseFrom(data);
13280        }
13281        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
13282            org.jetbrains.kotlin.protobuf.ByteString data,
13283            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
13284            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
13285          return PARSER.parseFrom(data, extensionRegistry);
13286        }
13287        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(byte[] data)
13288            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
13289          return PARSER.parseFrom(data);
13290        }
13291        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
13292            byte[] data,
13293            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
13294            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
13295          return PARSER.parseFrom(data, extensionRegistry);
13296        }
13297        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(java.io.InputStream input)
13298            throws java.io.IOException {
13299          return PARSER.parseFrom(input);
13300        }
13301        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
13302            java.io.InputStream input,
13303            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
13304            throws java.io.IOException {
13305          return PARSER.parseFrom(input, extensionRegistry);
13306        }
13307        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseDelimitedFrom(java.io.InputStream input)
13308            throws java.io.IOException {
13309          return PARSER.parseDelimitedFrom(input);
13310        }
13311        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseDelimitedFrom(
13312            java.io.InputStream input,
13313            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
13314            throws java.io.IOException {
13315          return PARSER.parseDelimitedFrom(input, extensionRegistry);
13316        }
13317        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
13318            org.jetbrains.kotlin.protobuf.CodedInputStream input)
13319            throws java.io.IOException {
13320          return PARSER.parseFrom(input);
13321        }
13322        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
13323            org.jetbrains.kotlin.protobuf.CodedInputStream input,
13324            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
13325            throws java.io.IOException {
13326          return PARSER.parseFrom(input, extensionRegistry);
13327        }
13328    
13329        public static Builder newBuilder() { return Builder.create(); }
13330        public Builder newBuilderForType() { return newBuilder(); }
13331        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Function prototype) {
13332          return newBuilder().mergeFrom(prototype);
13333        }
13334        public Builder toBuilder() { return newBuilder(this); }
13335    
13336        /**
13337         * Protobuf type {@code org.jetbrains.kotlin.serialization.Function}
13338         */
13339        public static final class Builder extends
13340            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
13341              org.jetbrains.kotlin.serialization.ProtoBuf.Function, Builder> implements
13342            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Function)
13343            org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder {
13344          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Function.newBuilder()
13345          private Builder() {
13346            maybeForceBuilderInitialization();
13347          }
13348    
13349          private void maybeForceBuilderInitialization() {
13350          }
13351          private static Builder create() {
13352            return new Builder();
13353          }
13354    
13355          public Builder clear() {
13356            super.clear();
13357            flags_ = 6;
13358            bitField0_ = (bitField0_ & ~0x00000001);
13359            oldFlags_ = 6;
13360            bitField0_ = (bitField0_ & ~0x00000002);
13361            name_ = 0;
13362            bitField0_ = (bitField0_ & ~0x00000004);
13363            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13364            bitField0_ = (bitField0_ & ~0x00000008);
13365            returnTypeId_ = 0;
13366            bitField0_ = (bitField0_ & ~0x00000010);
13367            typeParameter_ = java.util.Collections.emptyList();
13368            bitField0_ = (bitField0_ & ~0x00000020);
13369            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13370            bitField0_ = (bitField0_ & ~0x00000040);
13371            receiverTypeId_ = 0;
13372            bitField0_ = (bitField0_ & ~0x00000080);
13373            valueParameter_ = java.util.Collections.emptyList();
13374            bitField0_ = (bitField0_ & ~0x00000100);
13375            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
13376            bitField0_ = (bitField0_ & ~0x00000200);
13377            sinceKotlinInfo_ = 0;
13378            bitField0_ = (bitField0_ & ~0x00000400);
13379            return this;
13380          }
13381    
13382          public Builder clone() {
13383            return create().mergeFrom(buildPartial());
13384          }
13385    
13386          public org.jetbrains.kotlin.serialization.ProtoBuf.Function getDefaultInstanceForType() {
13387            return org.jetbrains.kotlin.serialization.ProtoBuf.Function.getDefaultInstance();
13388          }
13389    
13390          public org.jetbrains.kotlin.serialization.ProtoBuf.Function build() {
13391            org.jetbrains.kotlin.serialization.ProtoBuf.Function result = buildPartial();
13392            if (!result.isInitialized()) {
13393              throw newUninitializedMessageException(result);
13394            }
13395            return result;
13396          }
13397    
13398          public org.jetbrains.kotlin.serialization.ProtoBuf.Function buildPartial() {
13399            org.jetbrains.kotlin.serialization.ProtoBuf.Function result = new org.jetbrains.kotlin.serialization.ProtoBuf.Function(this);
13400            int from_bitField0_ = bitField0_;
13401            int to_bitField0_ = 0;
13402            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
13403              to_bitField0_ |= 0x00000001;
13404            }
13405            result.flags_ = flags_;
13406            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
13407              to_bitField0_ |= 0x00000002;
13408            }
13409            result.oldFlags_ = oldFlags_;
13410            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
13411              to_bitField0_ |= 0x00000004;
13412            }
13413            result.name_ = name_;
13414            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
13415              to_bitField0_ |= 0x00000008;
13416            }
13417            result.returnType_ = returnType_;
13418            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
13419              to_bitField0_ |= 0x00000010;
13420            }
13421            result.returnTypeId_ = returnTypeId_;
13422            if (((bitField0_ & 0x00000020) == 0x00000020)) {
13423              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
13424              bitField0_ = (bitField0_ & ~0x00000020);
13425            }
13426            result.typeParameter_ = typeParameter_;
13427            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
13428              to_bitField0_ |= 0x00000020;
13429            }
13430            result.receiverType_ = receiverType_;
13431            if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
13432              to_bitField0_ |= 0x00000040;
13433            }
13434            result.receiverTypeId_ = receiverTypeId_;
13435            if (((bitField0_ & 0x00000100) == 0x00000100)) {
13436              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
13437              bitField0_ = (bitField0_ & ~0x00000100);
13438            }
13439            result.valueParameter_ = valueParameter_;
13440            if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
13441              to_bitField0_ |= 0x00000080;
13442            }
13443            result.typeTable_ = typeTable_;
13444            if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
13445              to_bitField0_ |= 0x00000100;
13446            }
13447            result.sinceKotlinInfo_ = sinceKotlinInfo_;
13448            result.bitField0_ = to_bitField0_;
13449            return result;
13450          }
13451    
13452          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Function other) {
13453            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Function.getDefaultInstance()) return this;
13454            if (other.hasFlags()) {
13455              setFlags(other.getFlags());
13456            }
13457            if (other.hasOldFlags()) {
13458              setOldFlags(other.getOldFlags());
13459            }
13460            if (other.hasName()) {
13461              setName(other.getName());
13462            }
13463            if (other.hasReturnType()) {
13464              mergeReturnType(other.getReturnType());
13465            }
13466            if (other.hasReturnTypeId()) {
13467              setReturnTypeId(other.getReturnTypeId());
13468            }
13469            if (!other.typeParameter_.isEmpty()) {
13470              if (typeParameter_.isEmpty()) {
13471                typeParameter_ = other.typeParameter_;
13472                bitField0_ = (bitField0_ & ~0x00000020);
13473              } else {
13474                ensureTypeParameterIsMutable();
13475                typeParameter_.addAll(other.typeParameter_);
13476              }
13477              
13478            }
13479            if (other.hasReceiverType()) {
13480              mergeReceiverType(other.getReceiverType());
13481            }
13482            if (other.hasReceiverTypeId()) {
13483              setReceiverTypeId(other.getReceiverTypeId());
13484            }
13485            if (!other.valueParameter_.isEmpty()) {
13486              if (valueParameter_.isEmpty()) {
13487                valueParameter_ = other.valueParameter_;
13488                bitField0_ = (bitField0_ & ~0x00000100);
13489              } else {
13490                ensureValueParameterIsMutable();
13491                valueParameter_.addAll(other.valueParameter_);
13492              }
13493              
13494            }
13495            if (other.hasTypeTable()) {
13496              mergeTypeTable(other.getTypeTable());
13497            }
13498            if (other.hasSinceKotlinInfo()) {
13499              setSinceKotlinInfo(other.getSinceKotlinInfo());
13500            }
13501            this.mergeExtensionFields(other);
13502            setUnknownFields(
13503                getUnknownFields().concat(other.unknownFields));
13504            return this;
13505          }
13506    
13507          public final boolean isInitialized() {
13508            if (!hasName()) {
13509              
13510              return false;
13511            }
13512            if (hasReturnType()) {
13513              if (!getReturnType().isInitialized()) {
13514                
13515                return false;
13516              }
13517            }
13518            for (int i = 0; i < getTypeParameterCount(); i++) {
13519              if (!getTypeParameter(i).isInitialized()) {
13520                
13521                return false;
13522              }
13523            }
13524            if (hasReceiverType()) {
13525              if (!getReceiverType().isInitialized()) {
13526                
13527                return false;
13528              }
13529            }
13530            for (int i = 0; i < getValueParameterCount(); i++) {
13531              if (!getValueParameter(i).isInitialized()) {
13532                
13533                return false;
13534              }
13535            }
13536            if (hasTypeTable()) {
13537              if (!getTypeTable().isInitialized()) {
13538                
13539                return false;
13540              }
13541            }
13542            if (!extensionsAreInitialized()) {
13543              
13544              return false;
13545            }
13546            return true;
13547          }
13548    
13549          public Builder mergeFrom(
13550              org.jetbrains.kotlin.protobuf.CodedInputStream input,
13551              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
13552              throws java.io.IOException {
13553            org.jetbrains.kotlin.serialization.ProtoBuf.Function parsedMessage = null;
13554            try {
13555              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
13556            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
13557              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Function) e.getUnfinishedMessage();
13558              throw e;
13559            } finally {
13560              if (parsedMessage != null) {
13561                mergeFrom(parsedMessage);
13562              }
13563            }
13564            return this;
13565          }
13566          private int bitField0_;
13567    
13568          private int flags_ = 6;
13569          /**
13570           * <code>optional int32 flags = 9 [default = 6];</code>
13571           *
13572           * <pre>
13573           *hasAnnotations
13574           *Visibility
13575           *Modality
13576           *MemberKind
13577           *isOperator
13578           *isInfix
13579           *isInline
13580           *isTailrec
13581           *isExternal
13582           * </pre>
13583           */
13584          public boolean hasFlags() {
13585            return ((bitField0_ & 0x00000001) == 0x00000001);
13586          }
13587          /**
13588           * <code>optional int32 flags = 9 [default = 6];</code>
13589           *
13590           * <pre>
13591           *hasAnnotations
13592           *Visibility
13593           *Modality
13594           *MemberKind
13595           *isOperator
13596           *isInfix
13597           *isInline
13598           *isTailrec
13599           *isExternal
13600           * </pre>
13601           */
13602          public int getFlags() {
13603            return flags_;
13604          }
13605          /**
13606           * <code>optional int32 flags = 9 [default = 6];</code>
13607           *
13608           * <pre>
13609           *hasAnnotations
13610           *Visibility
13611           *Modality
13612           *MemberKind
13613           *isOperator
13614           *isInfix
13615           *isInline
13616           *isTailrec
13617           *isExternal
13618           * </pre>
13619           */
13620          public Builder setFlags(int value) {
13621            bitField0_ |= 0x00000001;
13622            flags_ = value;
13623            
13624            return this;
13625          }
13626          /**
13627           * <code>optional int32 flags = 9 [default = 6];</code>
13628           *
13629           * <pre>
13630           *hasAnnotations
13631           *Visibility
13632           *Modality
13633           *MemberKind
13634           *isOperator
13635           *isInfix
13636           *isInline
13637           *isTailrec
13638           *isExternal
13639           * </pre>
13640           */
13641          public Builder clearFlags() {
13642            bitField0_ = (bitField0_ & ~0x00000001);
13643            flags_ = 6;
13644            
13645            return this;
13646          }
13647    
13648          private int oldFlags_ = 6;
13649          /**
13650           * <code>optional int32 old_flags = 1 [default = 6];</code>
13651           */
13652          public boolean hasOldFlags() {
13653            return ((bitField0_ & 0x00000002) == 0x00000002);
13654          }
13655          /**
13656           * <code>optional int32 old_flags = 1 [default = 6];</code>
13657           */
13658          public int getOldFlags() {
13659            return oldFlags_;
13660          }
13661          /**
13662           * <code>optional int32 old_flags = 1 [default = 6];</code>
13663           */
13664          public Builder setOldFlags(int value) {
13665            bitField0_ |= 0x00000002;
13666            oldFlags_ = value;
13667            
13668            return this;
13669          }
13670          /**
13671           * <code>optional int32 old_flags = 1 [default = 6];</code>
13672           */
13673          public Builder clearOldFlags() {
13674            bitField0_ = (bitField0_ & ~0x00000002);
13675            oldFlags_ = 6;
13676            
13677            return this;
13678          }
13679    
13680          private int name_ ;
13681          /**
13682           * <code>required int32 name = 2;</code>
13683           */
13684          public boolean hasName() {
13685            return ((bitField0_ & 0x00000004) == 0x00000004);
13686          }
13687          /**
13688           * <code>required int32 name = 2;</code>
13689           */
13690          public int getName() {
13691            return name_;
13692          }
13693          /**
13694           * <code>required int32 name = 2;</code>
13695           */
13696          public Builder setName(int value) {
13697            bitField0_ |= 0x00000004;
13698            name_ = value;
13699            
13700            return this;
13701          }
13702          /**
13703           * <code>required int32 name = 2;</code>
13704           */
13705          public Builder clearName() {
13706            bitField0_ = (bitField0_ & ~0x00000004);
13707            name_ = 0;
13708            
13709            return this;
13710          }
13711    
13712          private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13713          /**
13714           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13715           */
13716          public boolean hasReturnType() {
13717            return ((bitField0_ & 0x00000008) == 0x00000008);
13718          }
13719          /**
13720           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13721           */
13722          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
13723            return returnType_;
13724          }
13725          /**
13726           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13727           */
13728          public Builder setReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
13729            if (value == null) {
13730              throw new NullPointerException();
13731            }
13732            returnType_ = value;
13733    
13734            bitField0_ |= 0x00000008;
13735            return this;
13736          }
13737          /**
13738           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13739           */
13740          public Builder setReturnType(
13741              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
13742            returnType_ = builderForValue.build();
13743    
13744            bitField0_ |= 0x00000008;
13745            return this;
13746          }
13747          /**
13748           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13749           */
13750          public Builder mergeReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
13751            if (((bitField0_ & 0x00000008) == 0x00000008) &&
13752                returnType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
13753              returnType_ =
13754                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(returnType_).mergeFrom(value).buildPartial();
13755            } else {
13756              returnType_ = value;
13757            }
13758    
13759            bitField0_ |= 0x00000008;
13760            return this;
13761          }
13762          /**
13763           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13764           */
13765          public Builder clearReturnType() {
13766            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13767    
13768            bitField0_ = (bitField0_ & ~0x00000008);
13769            return this;
13770          }
13771    
13772          private int returnTypeId_ ;
13773          /**
13774           * <code>optional int32 return_type_id = 7;</code>
13775           */
13776          public boolean hasReturnTypeId() {
13777            return ((bitField0_ & 0x00000010) == 0x00000010);
13778          }
13779          /**
13780           * <code>optional int32 return_type_id = 7;</code>
13781           */
13782          public int getReturnTypeId() {
13783            return returnTypeId_;
13784          }
13785          /**
13786           * <code>optional int32 return_type_id = 7;</code>
13787           */
13788          public Builder setReturnTypeId(int value) {
13789            bitField0_ |= 0x00000010;
13790            returnTypeId_ = value;
13791            
13792            return this;
13793          }
13794          /**
13795           * <code>optional int32 return_type_id = 7;</code>
13796           */
13797          public Builder clearReturnTypeId() {
13798            bitField0_ = (bitField0_ & ~0x00000010);
13799            returnTypeId_ = 0;
13800            
13801            return this;
13802          }
13803    
13804          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
13805            java.util.Collections.emptyList();
13806          private void ensureTypeParameterIsMutable() {
13807            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
13808              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
13809              bitField0_ |= 0x00000020;
13810             }
13811          }
13812    
13813          /**
13814           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13815           */
13816          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
13817            return java.util.Collections.unmodifiableList(typeParameter_);
13818          }
13819          /**
13820           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13821           */
13822          public int getTypeParameterCount() {
13823            return typeParameter_.size();
13824          }
13825          /**
13826           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13827           */
13828          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
13829            return typeParameter_.get(index);
13830          }
13831          /**
13832           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13833           */
13834          public Builder setTypeParameter(
13835              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
13836            if (value == null) {
13837              throw new NullPointerException();
13838            }
13839            ensureTypeParameterIsMutable();
13840            typeParameter_.set(index, value);
13841    
13842            return this;
13843          }
13844          /**
13845           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13846           */
13847          public Builder setTypeParameter(
13848              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
13849            ensureTypeParameterIsMutable();
13850            typeParameter_.set(index, builderForValue.build());
13851    
13852            return this;
13853          }
13854          /**
13855           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13856           */
13857          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
13858            if (value == null) {
13859              throw new NullPointerException();
13860            }
13861            ensureTypeParameterIsMutable();
13862            typeParameter_.add(value);
13863    
13864            return this;
13865          }
13866          /**
13867           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13868           */
13869          public Builder addTypeParameter(
13870              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
13871            if (value == null) {
13872              throw new NullPointerException();
13873            }
13874            ensureTypeParameterIsMutable();
13875            typeParameter_.add(index, value);
13876    
13877            return this;
13878          }
13879          /**
13880           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13881           */
13882          public Builder addTypeParameter(
13883              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
13884            ensureTypeParameterIsMutable();
13885            typeParameter_.add(builderForValue.build());
13886    
13887            return this;
13888          }
13889          /**
13890           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13891           */
13892          public Builder addTypeParameter(
13893              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
13894            ensureTypeParameterIsMutable();
13895            typeParameter_.add(index, builderForValue.build());
13896    
13897            return this;
13898          }
13899          /**
13900           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13901           */
13902          public Builder addAllTypeParameter(
13903              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
13904            ensureTypeParameterIsMutable();
13905            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
13906                values, typeParameter_);
13907    
13908            return this;
13909          }
13910          /**
13911           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13912           */
13913          public Builder clearTypeParameter() {
13914            typeParameter_ = java.util.Collections.emptyList();
13915            bitField0_ = (bitField0_ & ~0x00000020);
13916    
13917            return this;
13918          }
13919          /**
13920           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13921           */
13922          public Builder removeTypeParameter(int index) {
13923            ensureTypeParameterIsMutable();
13924            typeParameter_.remove(index);
13925    
13926            return this;
13927          }
13928    
13929          private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13930          /**
13931           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13932           */
13933          public boolean hasReceiverType() {
13934            return ((bitField0_ & 0x00000040) == 0x00000040);
13935          }
13936          /**
13937           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13938           */
13939          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
13940            return receiverType_;
13941          }
13942          /**
13943           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13944           */
13945          public Builder setReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
13946            if (value == null) {
13947              throw new NullPointerException();
13948            }
13949            receiverType_ = value;
13950    
13951            bitField0_ |= 0x00000040;
13952            return this;
13953          }
13954          /**
13955           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13956           */
13957          public Builder setReceiverType(
13958              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
13959            receiverType_ = builderForValue.build();
13960    
13961            bitField0_ |= 0x00000040;
13962            return this;
13963          }
13964          /**
13965           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13966           */
13967          public Builder mergeReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
13968            if (((bitField0_ & 0x00000040) == 0x00000040) &&
13969                receiverType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
13970              receiverType_ =
13971                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(receiverType_).mergeFrom(value).buildPartial();
13972            } else {
13973              receiverType_ = value;
13974            }
13975    
13976            bitField0_ |= 0x00000040;
13977            return this;
13978          }
13979          /**
13980           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13981           */
13982          public Builder clearReceiverType() {
13983            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13984    
13985            bitField0_ = (bitField0_ & ~0x00000040);
13986            return this;
13987          }
13988    
13989          private int receiverTypeId_ ;
13990          /**
13991           * <code>optional int32 receiver_type_id = 8;</code>
13992           */
13993          public boolean hasReceiverTypeId() {
13994            return ((bitField0_ & 0x00000080) == 0x00000080);
13995          }
13996          /**
13997           * <code>optional int32 receiver_type_id = 8;</code>
13998           */
13999          public int getReceiverTypeId() {
14000            return receiverTypeId_;
14001          }
14002          /**
14003           * <code>optional int32 receiver_type_id = 8;</code>
14004           */
14005          public Builder setReceiverTypeId(int value) {
14006            bitField0_ |= 0x00000080;
14007            receiverTypeId_ = value;
14008            
14009            return this;
14010          }
14011          /**
14012           * <code>optional int32 receiver_type_id = 8;</code>
14013           */
14014          public Builder clearReceiverTypeId() {
14015            bitField0_ = (bitField0_ & ~0x00000080);
14016            receiverTypeId_ = 0;
14017            
14018            return this;
14019          }
14020    
14021          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> valueParameter_ =
14022            java.util.Collections.emptyList();
14023          private void ensureValueParameterIsMutable() {
14024            if (!((bitField0_ & 0x00000100) == 0x00000100)) {
14025              valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>(valueParameter_);
14026              bitField0_ |= 0x00000100;
14027             }
14028          }
14029    
14030          /**
14031           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
14032           */
14033          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> getValueParameterList() {
14034            return java.util.Collections.unmodifiableList(valueParameter_);
14035          }
14036          /**
14037           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
14038           */
14039          public int getValueParameterCount() {
14040            return valueParameter_.size();
14041          }
14042          /**
14043           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
14044           */
14045          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index) {
14046            return valueParameter_.get(index);
14047          }
14048          /**
14049           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
14050           */
14051          public Builder setValueParameter(
14052              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
14053            if (value == null) {
14054              throw new NullPointerException();
14055            }
14056            ensureValueParameterIsMutable();
14057            valueParameter_.set(index, value);
14058    
14059            return this;
14060          }
14061          /**
14062           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
14063           */
14064          public Builder setValueParameter(
14065              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
14066            ensureValueParameterIsMutable();
14067            valueParameter_.set(index, builderForValue.build());
14068    
14069            return this;
14070          }
14071          /**
14072           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
14073           */
14074          public Builder addValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
14075            if (value == null) {
14076              throw new NullPointerException();
14077            }
14078            ensureValueParameterIsMutable();
14079            valueParameter_.add(value);
14080    
14081            return this;
14082          }
14083          /**
14084           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
14085           */
14086          public Builder addValueParameter(
14087              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
14088            if (value == null) {
14089              throw new NullPointerException();
14090            }
14091            ensureValueParameterIsMutable();
14092            valueParameter_.add(index, value);
14093    
14094            return this;
14095          }
14096          /**
14097           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
14098           */
14099          public Builder addValueParameter(
14100              org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
14101            ensureValueParameterIsMutable();
14102            valueParameter_.add(builderForValue.build());
14103    
14104            return this;
14105          }
14106          /**
14107           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
14108           */
14109          public Builder addValueParameter(
14110              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
14111            ensureValueParameterIsMutable();
14112            valueParameter_.add(index, builderForValue.build());
14113    
14114            return this;
14115          }
14116          /**
14117           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
14118           */
14119          public Builder addAllValueParameter(
14120              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> values) {
14121            ensureValueParameterIsMutable();
14122            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
14123                values, valueParameter_);
14124    
14125            return this;
14126          }
14127          /**
14128           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
14129           */
14130          public Builder clearValueParameter() {
14131            valueParameter_ = java.util.Collections.emptyList();
14132            bitField0_ = (bitField0_ & ~0x00000100);
14133    
14134            return this;
14135          }
14136          /**
14137           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
14138           */
14139          public Builder removeValueParameter(int index) {
14140            ensureValueParameterIsMutable();
14141            valueParameter_.remove(index);
14142    
14143            return this;
14144          }
14145    
14146          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
14147          /**
14148           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
14149           */
14150          public boolean hasTypeTable() {
14151            return ((bitField0_ & 0x00000200) == 0x00000200);
14152          }
14153          /**
14154           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
14155           */
14156          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
14157            return typeTable_;
14158          }
14159          /**
14160           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
14161           */
14162          public Builder setTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
14163            if (value == null) {
14164              throw new NullPointerException();
14165            }
14166            typeTable_ = value;
14167    
14168            bitField0_ |= 0x00000200;
14169            return this;
14170          }
14171          /**
14172           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
14173           */
14174          public Builder setTypeTable(
14175              org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder builderForValue) {
14176            typeTable_ = builderForValue.build();
14177    
14178            bitField0_ |= 0x00000200;
14179            return this;
14180          }
14181          /**
14182           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
14183           */
14184          public Builder mergeTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
14185            if (((bitField0_ & 0x00000200) == 0x00000200) &&
14186                typeTable_ != org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance()) {
14187              typeTable_ =
14188                org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.newBuilder(typeTable_).mergeFrom(value).buildPartial();
14189            } else {
14190              typeTable_ = value;
14191            }
14192    
14193            bitField0_ |= 0x00000200;
14194            return this;
14195          }
14196          /**
14197           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
14198           */
14199          public Builder clearTypeTable() {
14200            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
14201    
14202            bitField0_ = (bitField0_ & ~0x00000200);
14203            return this;
14204          }
14205    
14206          private int sinceKotlinInfo_ ;
14207          /**
14208           * <code>optional int32 sinceKotlinInfo = 31;</code>
14209           *
14210           * <pre>
14211           * Index into the SinceKotlinInfoTable
14212           * </pre>
14213           */
14214          public boolean hasSinceKotlinInfo() {
14215            return ((bitField0_ & 0x00000400) == 0x00000400);
14216          }
14217          /**
14218           * <code>optional int32 sinceKotlinInfo = 31;</code>
14219           *
14220           * <pre>
14221           * Index into the SinceKotlinInfoTable
14222           * </pre>
14223           */
14224          public int getSinceKotlinInfo() {
14225            return sinceKotlinInfo_;
14226          }
14227          /**
14228           * <code>optional int32 sinceKotlinInfo = 31;</code>
14229           *
14230           * <pre>
14231           * Index into the SinceKotlinInfoTable
14232           * </pre>
14233           */
14234          public Builder setSinceKotlinInfo(int value) {
14235            bitField0_ |= 0x00000400;
14236            sinceKotlinInfo_ = value;
14237            
14238            return this;
14239          }
14240          /**
14241           * <code>optional int32 sinceKotlinInfo = 31;</code>
14242           *
14243           * <pre>
14244           * Index into the SinceKotlinInfoTable
14245           * </pre>
14246           */
14247          public Builder clearSinceKotlinInfo() {
14248            bitField0_ = (bitField0_ & ~0x00000400);
14249            sinceKotlinInfo_ = 0;
14250            
14251            return this;
14252          }
14253    
14254          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Function)
14255        }
14256    
14257        static {
14258          defaultInstance = new Function(true);
14259          defaultInstance.initFields();
14260        }
14261    
14262        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Function)
14263      }
14264    
14265      public interface PropertyOrBuilder extends 
14266          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.Property)
14267           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
14268                ExtendableMessageOrBuilder<Property> {
14269    
14270        /**
14271         * <code>optional int32 flags = 11 [default = 518];</code>
14272         *
14273         * <pre>
14274         *hasAnnotations
14275         *Visibility
14276         *Modality
14277         *MemberKind
14278         *isVar
14279         *hasGetter
14280         *hasSetter
14281         *isConst
14282         *lateinit
14283         *hasConstant
14284         * </pre>
14285         */
14286        boolean hasFlags();
14287        /**
14288         * <code>optional int32 flags = 11 [default = 518];</code>
14289         *
14290         * <pre>
14291         *hasAnnotations
14292         *Visibility
14293         *Modality
14294         *MemberKind
14295         *isVar
14296         *hasGetter
14297         *hasSetter
14298         *isConst
14299         *lateinit
14300         *hasConstant
14301         * </pre>
14302         */
14303        int getFlags();
14304    
14305        /**
14306         * <code>optional int32 old_flags = 1 [default = 2054];</code>
14307         */
14308        boolean hasOldFlags();
14309        /**
14310         * <code>optional int32 old_flags = 1 [default = 2054];</code>
14311         */
14312        int getOldFlags();
14313    
14314        /**
14315         * <code>required int32 name = 2;</code>
14316         */
14317        boolean hasName();
14318        /**
14319         * <code>required int32 name = 2;</code>
14320         */
14321        int getName();
14322    
14323        /**
14324         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14325         */
14326        boolean hasReturnType();
14327        /**
14328         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14329         */
14330        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType();
14331    
14332        /**
14333         * <code>optional int32 return_type_id = 9;</code>
14334         */
14335        boolean hasReturnTypeId();
14336        /**
14337         * <code>optional int32 return_type_id = 9;</code>
14338         */
14339        int getReturnTypeId();
14340    
14341        /**
14342         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14343         */
14344        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
14345            getTypeParameterList();
14346        /**
14347         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14348         */
14349        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
14350        /**
14351         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14352         */
14353        int getTypeParameterCount();
14354    
14355        /**
14356         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14357         */
14358        boolean hasReceiverType();
14359        /**
14360         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14361         */
14362        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType();
14363    
14364        /**
14365         * <code>optional int32 receiver_type_id = 10;</code>
14366         */
14367        boolean hasReceiverTypeId();
14368        /**
14369         * <code>optional int32 receiver_type_id = 10;</code>
14370         */
14371        int getReceiverTypeId();
14372    
14373        /**
14374         * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
14375         */
14376        boolean hasSetterValueParameter();
14377        /**
14378         * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
14379         */
14380        org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getSetterValueParameter();
14381    
14382        /**
14383         * <code>optional int32 getter_flags = 7;</code>
14384         *
14385         * <pre>
14386         *hasAnnotations
14387         *Visibility
14388         *Modality
14389         *isNotDefault
14390         *isExternal
14391         * </pre>
14392         */
14393        boolean hasGetterFlags();
14394        /**
14395         * <code>optional int32 getter_flags = 7;</code>
14396         *
14397         * <pre>
14398         *hasAnnotations
14399         *Visibility
14400         *Modality
14401         *isNotDefault
14402         *isExternal
14403         * </pre>
14404         */
14405        int getGetterFlags();
14406    
14407        /**
14408         * <code>optional int32 setter_flags = 8;</code>
14409         */
14410        boolean hasSetterFlags();
14411        /**
14412         * <code>optional int32 setter_flags = 8;</code>
14413         */
14414        int getSetterFlags();
14415    
14416        /**
14417         * <code>optional int32 sinceKotlinInfo = 31;</code>
14418         *
14419         * <pre>
14420         * Index into the SinceKotlinInfoTable
14421         * </pre>
14422         */
14423        boolean hasSinceKotlinInfo();
14424        /**
14425         * <code>optional int32 sinceKotlinInfo = 31;</code>
14426         *
14427         * <pre>
14428         * Index into the SinceKotlinInfoTable
14429         * </pre>
14430         */
14431        int getSinceKotlinInfo();
14432      }
14433      /**
14434       * Protobuf type {@code org.jetbrains.kotlin.serialization.Property}
14435       */
14436      public static final class Property extends
14437          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
14438            Property> implements
14439          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Property)
14440          PropertyOrBuilder {
14441        // Use Property.newBuilder() to construct.
14442        private Property(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Property, ?> builder) {
14443          super(builder);
14444          this.unknownFields = builder.getUnknownFields();
14445        }
14446        private Property(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
14447    
14448        private static final Property defaultInstance;
14449        public static Property getDefaultInstance() {
14450          return defaultInstance;
14451        }
14452    
14453        public Property getDefaultInstanceForType() {
14454          return defaultInstance;
14455        }
14456    
14457        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
14458        private Property(
14459            org.jetbrains.kotlin.protobuf.CodedInputStream input,
14460            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
14461            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
14462          initFields();
14463          int mutable_bitField0_ = 0;
14464          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
14465              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
14466          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
14467              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
14468                  unknownFieldsOutput);
14469          try {
14470            boolean done = false;
14471            while (!done) {
14472              int tag = input.readTag();
14473              switch (tag) {
14474                case 0:
14475                  done = true;
14476                  break;
14477                default: {
14478                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
14479                                         extensionRegistry, tag)) {
14480                    done = true;
14481                  }
14482                  break;
14483                }
14484                case 8: {
14485                  bitField0_ |= 0x00000002;
14486                  oldFlags_ = input.readInt32();
14487                  break;
14488                }
14489                case 16: {
14490                  bitField0_ |= 0x00000004;
14491                  name_ = input.readInt32();
14492                  break;
14493                }
14494                case 26: {
14495                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
14496                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
14497                    subBuilder = returnType_.toBuilder();
14498                  }
14499                  returnType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
14500                  if (subBuilder != null) {
14501                    subBuilder.mergeFrom(returnType_);
14502                    returnType_ = subBuilder.buildPartial();
14503                  }
14504                  bitField0_ |= 0x00000008;
14505                  break;
14506                }
14507                case 34: {
14508                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
14509                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
14510                    mutable_bitField0_ |= 0x00000020;
14511                  }
14512                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
14513                  break;
14514                }
14515                case 42: {
14516                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
14517                  if (((bitField0_ & 0x00000020) == 0x00000020)) {
14518                    subBuilder = receiverType_.toBuilder();
14519                  }
14520                  receiverType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
14521                  if (subBuilder != null) {
14522                    subBuilder.mergeFrom(receiverType_);
14523                    receiverType_ = subBuilder.buildPartial();
14524                  }
14525                  bitField0_ |= 0x00000020;
14526                  break;
14527                }
14528                case 50: {
14529                  org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder subBuilder = null;
14530                  if (((bitField0_ & 0x00000080) == 0x00000080)) {
14531                    subBuilder = setterValueParameter_.toBuilder();
14532                  }
14533                  setterValueParameter_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.PARSER, extensionRegistry);
14534                  if (subBuilder != null) {
14535                    subBuilder.mergeFrom(setterValueParameter_);
14536                    setterValueParameter_ = subBuilder.buildPartial();
14537                  }
14538                  bitField0_ |= 0x00000080;
14539                  break;
14540                }
14541                case 56: {
14542                  bitField0_ |= 0x00000100;
14543                  getterFlags_ = input.readInt32();
14544                  break;
14545                }
14546                case 64: {
14547                  bitField0_ |= 0x00000200;
14548                  setterFlags_ = input.readInt32();
14549                  break;
14550                }
14551                case 72: {
14552                  bitField0_ |= 0x00000010;
14553                  returnTypeId_ = input.readInt32();
14554                  break;
14555                }
14556                case 80: {
14557                  bitField0_ |= 0x00000040;
14558                  receiverTypeId_ = input.readInt32();
14559                  break;
14560                }
14561                case 88: {
14562                  bitField0_ |= 0x00000001;
14563                  flags_ = input.readInt32();
14564                  break;
14565                }
14566                case 248: {
14567                  bitField0_ |= 0x00000400;
14568                  sinceKotlinInfo_ = input.readInt32();
14569                  break;
14570                }
14571              }
14572            }
14573          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
14574            throw e.setUnfinishedMessage(this);
14575          } catch (java.io.IOException e) {
14576            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
14577                e.getMessage()).setUnfinishedMessage(this);
14578          } finally {
14579            if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
14580              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
14581            }
14582            try {
14583              unknownFieldsCodedOutput.flush();
14584            } catch (java.io.IOException e) {
14585            // Should not happen
14586            } finally {
14587              unknownFields = unknownFieldsOutput.toByteString();
14588            }
14589            makeExtensionsImmutable();
14590          }
14591        }
14592        public static org.jetbrains.kotlin.protobuf.Parser<Property> PARSER =
14593            new org.jetbrains.kotlin.protobuf.AbstractParser<Property>() {
14594          public Property parsePartialFrom(
14595              org.jetbrains.kotlin.protobuf.CodedInputStream input,
14596              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
14597              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
14598            return new Property(input, extensionRegistry);
14599          }
14600        };
14601    
14602        @java.lang.Override
14603        public org.jetbrains.kotlin.protobuf.Parser<Property> getParserForType() {
14604          return PARSER;
14605        }
14606    
14607        private int bitField0_;
14608        public static final int FLAGS_FIELD_NUMBER = 11;
14609        private int flags_;
14610        /**
14611         * <code>optional int32 flags = 11 [default = 518];</code>
14612         *
14613         * <pre>
14614         *hasAnnotations
14615         *Visibility
14616         *Modality
14617         *MemberKind
14618         *isVar
14619         *hasGetter
14620         *hasSetter
14621         *isConst
14622         *lateinit
14623         *hasConstant
14624         * </pre>
14625         */
14626        public boolean hasFlags() {
14627          return ((bitField0_ & 0x00000001) == 0x00000001);
14628        }
14629        /**
14630         * <code>optional int32 flags = 11 [default = 518];</code>
14631         *
14632         * <pre>
14633         *hasAnnotations
14634         *Visibility
14635         *Modality
14636         *MemberKind
14637         *isVar
14638         *hasGetter
14639         *hasSetter
14640         *isConst
14641         *lateinit
14642         *hasConstant
14643         * </pre>
14644         */
14645        public int getFlags() {
14646          return flags_;
14647        }
14648    
14649        public static final int OLD_FLAGS_FIELD_NUMBER = 1;
14650        private int oldFlags_;
14651        /**
14652         * <code>optional int32 old_flags = 1 [default = 2054];</code>
14653         */
14654        public boolean hasOldFlags() {
14655          return ((bitField0_ & 0x00000002) == 0x00000002);
14656        }
14657        /**
14658         * <code>optional int32 old_flags = 1 [default = 2054];</code>
14659         */
14660        public int getOldFlags() {
14661          return oldFlags_;
14662        }
14663    
14664        public static final int NAME_FIELD_NUMBER = 2;
14665        private int name_;
14666        /**
14667         * <code>required int32 name = 2;</code>
14668         */
14669        public boolean hasName() {
14670          return ((bitField0_ & 0x00000004) == 0x00000004);
14671        }
14672        /**
14673         * <code>required int32 name = 2;</code>
14674         */
14675        public int getName() {
14676          return name_;
14677        }
14678    
14679        public static final int RETURN_TYPE_FIELD_NUMBER = 3;
14680        private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_;
14681        /**
14682         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14683         */
14684        public boolean hasReturnType() {
14685          return ((bitField0_ & 0x00000008) == 0x00000008);
14686        }
14687        /**
14688         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14689         */
14690        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
14691          return returnType_;
14692        }
14693    
14694        public static final int RETURN_TYPE_ID_FIELD_NUMBER = 9;
14695        private int returnTypeId_;
14696        /**
14697         * <code>optional int32 return_type_id = 9;</code>
14698         */
14699        public boolean hasReturnTypeId() {
14700          return ((bitField0_ & 0x00000010) == 0x00000010);
14701        }
14702        /**
14703         * <code>optional int32 return_type_id = 9;</code>
14704         */
14705        public int getReturnTypeId() {
14706          return returnTypeId_;
14707        }
14708    
14709        public static final int TYPE_PARAMETER_FIELD_NUMBER = 4;
14710        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
14711        /**
14712         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14713         */
14714        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
14715          return typeParameter_;
14716        }
14717        /**
14718         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14719         */
14720        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
14721            getTypeParameterOrBuilderList() {
14722          return typeParameter_;
14723        }
14724        /**
14725         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14726         */
14727        public int getTypeParameterCount() {
14728          return typeParameter_.size();
14729        }
14730        /**
14731         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14732         */
14733        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
14734          return typeParameter_.get(index);
14735        }
14736        /**
14737         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14738         */
14739        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
14740            int index) {
14741          return typeParameter_.get(index);
14742        }
14743    
14744        public static final int RECEIVER_TYPE_FIELD_NUMBER = 5;
14745        private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_;
14746        /**
14747         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14748         */
14749        public boolean hasReceiverType() {
14750          return ((bitField0_ & 0x00000020) == 0x00000020);
14751        }
14752        /**
14753         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14754         */
14755        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
14756          return receiverType_;
14757        }
14758    
14759        public static final int RECEIVER_TYPE_ID_FIELD_NUMBER = 10;
14760        private int receiverTypeId_;
14761        /**
14762         * <code>optional int32 receiver_type_id = 10;</code>
14763         */
14764        public boolean hasReceiverTypeId() {
14765          return ((bitField0_ & 0x00000040) == 0x00000040);
14766        }
14767        /**
14768         * <code>optional int32 receiver_type_id = 10;</code>
14769         */
14770        public int getReceiverTypeId() {
14771          return receiverTypeId_;
14772        }
14773    
14774        public static final int SETTER_VALUE_PARAMETER_FIELD_NUMBER = 6;
14775        private org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter setterValueParameter_;
14776        /**
14777         * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
14778         */
14779        public boolean hasSetterValueParameter() {
14780          return ((bitField0_ & 0x00000080) == 0x00000080);
14781        }
14782        /**
14783         * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
14784         */
14785        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getSetterValueParameter() {
14786          return setterValueParameter_;
14787        }
14788    
14789        public static final int GETTER_FLAGS_FIELD_NUMBER = 7;
14790        private int getterFlags_;
14791        /**
14792         * <code>optional int32 getter_flags = 7;</code>
14793         *
14794         * <pre>
14795         *hasAnnotations
14796         *Visibility
14797         *Modality
14798         *isNotDefault
14799         *isExternal
14800         * </pre>
14801         */
14802        public boolean hasGetterFlags() {
14803          return ((bitField0_ & 0x00000100) == 0x00000100);
14804        }
14805        /**
14806         * <code>optional int32 getter_flags = 7;</code>
14807         *
14808         * <pre>
14809         *hasAnnotations
14810         *Visibility
14811         *Modality
14812         *isNotDefault
14813         *isExternal
14814         * </pre>
14815         */
14816        public int getGetterFlags() {
14817          return getterFlags_;
14818        }
14819    
14820        public static final int SETTER_FLAGS_FIELD_NUMBER = 8;
14821        private int setterFlags_;
14822        /**
14823         * <code>optional int32 setter_flags = 8;</code>
14824         */
14825        public boolean hasSetterFlags() {
14826          return ((bitField0_ & 0x00000200) == 0x00000200);
14827        }
14828        /**
14829         * <code>optional int32 setter_flags = 8;</code>
14830         */
14831        public int getSetterFlags() {
14832          return setterFlags_;
14833        }
14834    
14835        public static final int SINCEKOTLININFO_FIELD_NUMBER = 31;
14836        private int sinceKotlinInfo_;
14837        /**
14838         * <code>optional int32 sinceKotlinInfo = 31;</code>
14839         *
14840         * <pre>
14841         * Index into the SinceKotlinInfoTable
14842         * </pre>
14843         */
14844        public boolean hasSinceKotlinInfo() {
14845          return ((bitField0_ & 0x00000400) == 0x00000400);
14846        }
14847        /**
14848         * <code>optional int32 sinceKotlinInfo = 31;</code>
14849         *
14850         * <pre>
14851         * Index into the SinceKotlinInfoTable
14852         * </pre>
14853         */
14854        public int getSinceKotlinInfo() {
14855          return sinceKotlinInfo_;
14856        }
14857    
14858        private void initFields() {
14859          flags_ = 518;
14860          oldFlags_ = 2054;
14861          name_ = 0;
14862          returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14863          returnTypeId_ = 0;
14864          typeParameter_ = java.util.Collections.emptyList();
14865          receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14866          receiverTypeId_ = 0;
14867          setterValueParameter_ = org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
14868          getterFlags_ = 0;
14869          setterFlags_ = 0;
14870          sinceKotlinInfo_ = 0;
14871        }
14872        private byte memoizedIsInitialized = -1;
14873        public final boolean isInitialized() {
14874          byte isInitialized = memoizedIsInitialized;
14875          if (isInitialized == 1) return true;
14876          if (isInitialized == 0) return false;
14877    
14878          if (!hasName()) {
14879            memoizedIsInitialized = 0;
14880            return false;
14881          }
14882          if (hasReturnType()) {
14883            if (!getReturnType().isInitialized()) {
14884              memoizedIsInitialized = 0;
14885              return false;
14886            }
14887          }
14888          for (int i = 0; i < getTypeParameterCount(); i++) {
14889            if (!getTypeParameter(i).isInitialized()) {
14890              memoizedIsInitialized = 0;
14891              return false;
14892            }
14893          }
14894          if (hasReceiverType()) {
14895            if (!getReceiverType().isInitialized()) {
14896              memoizedIsInitialized = 0;
14897              return false;
14898            }
14899          }
14900          if (hasSetterValueParameter()) {
14901            if (!getSetterValueParameter().isInitialized()) {
14902              memoizedIsInitialized = 0;
14903              return false;
14904            }
14905          }
14906          if (!extensionsAreInitialized()) {
14907            memoizedIsInitialized = 0;
14908            return false;
14909          }
14910          memoizedIsInitialized = 1;
14911          return true;
14912        }
14913    
14914        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
14915                            throws java.io.IOException {
14916          getSerializedSize();
14917          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
14918            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Property>.ExtensionWriter extensionWriter =
14919              newExtensionWriter();
14920          if (((bitField0_ & 0x00000002) == 0x00000002)) {
14921            output.writeInt32(1, oldFlags_);
14922          }
14923          if (((bitField0_ & 0x00000004) == 0x00000004)) {
14924            output.writeInt32(2, name_);
14925          }
14926          if (((bitField0_ & 0x00000008) == 0x00000008)) {
14927            output.writeMessage(3, returnType_);
14928          }
14929          for (int i = 0; i < typeParameter_.size(); i++) {
14930            output.writeMessage(4, typeParameter_.get(i));
14931          }
14932          if (((bitField0_ & 0x00000020) == 0x00000020)) {
14933            output.writeMessage(5, receiverType_);
14934          }
14935          if (((bitField0_ & 0x00000080) == 0x00000080)) {
14936            output.writeMessage(6, setterValueParameter_);
14937          }
14938          if (((bitField0_ & 0x00000100) == 0x00000100)) {
14939            output.writeInt32(7, getterFlags_);
14940          }
14941          if (((bitField0_ & 0x00000200) == 0x00000200)) {
14942            output.writeInt32(8, setterFlags_);
14943          }
14944          if (((bitField0_ & 0x00000010) == 0x00000010)) {
14945            output.writeInt32(9, returnTypeId_);
14946          }
14947          if (((bitField0_ & 0x00000040) == 0x00000040)) {
14948            output.writeInt32(10, receiverTypeId_);
14949          }
14950          if (((bitField0_ & 0x00000001) == 0x00000001)) {
14951            output.writeInt32(11, flags_);
14952          }
14953          if (((bitField0_ & 0x00000400) == 0x00000400)) {
14954            output.writeInt32(31, sinceKotlinInfo_);
14955          }
14956          extensionWriter.writeUntil(200, output);
14957          output.writeRawBytes(unknownFields);
14958        }
14959    
14960        private int memoizedSerializedSize = -1;
14961        public int getSerializedSize() {
14962          int size = memoizedSerializedSize;
14963          if (size != -1) return size;
14964    
14965          size = 0;
14966          if (((bitField0_ & 0x00000002) == 0x00000002)) {
14967            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14968              .computeInt32Size(1, oldFlags_);
14969          }
14970          if (((bitField0_ & 0x00000004) == 0x00000004)) {
14971            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14972              .computeInt32Size(2, name_);
14973          }
14974          if (((bitField0_ & 0x00000008) == 0x00000008)) {
14975            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14976              .computeMessageSize(3, returnType_);
14977          }
14978          for (int i = 0; i < typeParameter_.size(); i++) {
14979            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14980              .computeMessageSize(4, typeParameter_.get(i));
14981          }
14982          if (((bitField0_ & 0x00000020) == 0x00000020)) {
14983            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14984              .computeMessageSize(5, receiverType_);
14985          }
14986          if (((bitField0_ & 0x00000080) == 0x00000080)) {
14987            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14988              .computeMessageSize(6, setterValueParameter_);
14989          }
14990          if (((bitField0_ & 0x00000100) == 0x00000100)) {
14991            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14992              .computeInt32Size(7, getterFlags_);
14993          }
14994          if (((bitField0_ & 0x00000200) == 0x00000200)) {
14995            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14996              .computeInt32Size(8, setterFlags_);
14997          }
14998          if (((bitField0_ & 0x00000010) == 0x00000010)) {
14999            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
15000              .computeInt32Size(9, returnTypeId_);
15001          }
15002          if (((bitField0_ & 0x00000040) == 0x00000040)) {
15003            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
15004              .computeInt32Size(10, receiverTypeId_);
15005          }
15006          if (((bitField0_ & 0x00000001) == 0x00000001)) {
15007            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
15008              .computeInt32Size(11, flags_);
15009          }
15010          if (((bitField0_ & 0x00000400) == 0x00000400)) {
15011            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
15012              .computeInt32Size(31, sinceKotlinInfo_);
15013          }
15014          size += extensionsSerializedSize();
15015          size += unknownFields.size();
15016          memoizedSerializedSize = size;
15017          return size;
15018        }
15019    
15020        private static final long serialVersionUID = 0L;
15021        @java.lang.Override
15022        protected java.lang.Object writeReplace()
15023            throws java.io.ObjectStreamException {
15024          return super.writeReplace();
15025        }
15026    
15027        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
15028            org.jetbrains.kotlin.protobuf.ByteString data)
15029            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
15030          return PARSER.parseFrom(data);
15031        }
15032        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
15033            org.jetbrains.kotlin.protobuf.ByteString data,
15034            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
15035            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
15036          return PARSER.parseFrom(data, extensionRegistry);
15037        }
15038        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(byte[] data)
15039            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
15040          return PARSER.parseFrom(data);
15041        }
15042        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
15043            byte[] data,
15044            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
15045            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
15046          return PARSER.parseFrom(data, extensionRegistry);
15047        }
15048        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(java.io.InputStream input)
15049            throws java.io.IOException {
15050          return PARSER.parseFrom(input);
15051        }
15052        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
15053            java.io.InputStream input,
15054            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
15055            throws java.io.IOException {
15056          return PARSER.parseFrom(input, extensionRegistry);
15057        }
15058        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseDelimitedFrom(java.io.InputStream input)
15059            throws java.io.IOException {
15060          return PARSER.parseDelimitedFrom(input);
15061        }
15062        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseDelimitedFrom(
15063            java.io.InputStream input,
15064            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
15065            throws java.io.IOException {
15066          return PARSER.parseDelimitedFrom(input, extensionRegistry);
15067        }
15068        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
15069            org.jetbrains.kotlin.protobuf.CodedInputStream input)
15070            throws java.io.IOException {
15071          return PARSER.parseFrom(input);
15072        }
15073        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
15074            org.jetbrains.kotlin.protobuf.CodedInputStream input,
15075            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
15076            throws java.io.IOException {
15077          return PARSER.parseFrom(input, extensionRegistry);
15078        }
15079    
15080        public static Builder newBuilder() { return Builder.create(); }
15081        public Builder newBuilderForType() { return newBuilder(); }
15082        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Property prototype) {
15083          return newBuilder().mergeFrom(prototype);
15084        }
15085        public Builder toBuilder() { return newBuilder(this); }
15086    
15087        /**
15088         * Protobuf type {@code org.jetbrains.kotlin.serialization.Property}
15089         */
15090        public static final class Builder extends
15091            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
15092              org.jetbrains.kotlin.serialization.ProtoBuf.Property, Builder> implements
15093            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Property)
15094            org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder {
15095          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Property.newBuilder()
15096          private Builder() {
15097            maybeForceBuilderInitialization();
15098          }
15099    
15100          private void maybeForceBuilderInitialization() {
15101          }
15102          private static Builder create() {
15103            return new Builder();
15104          }
15105    
15106          public Builder clear() {
15107            super.clear();
15108            flags_ = 518;
15109            bitField0_ = (bitField0_ & ~0x00000001);
15110            oldFlags_ = 2054;
15111            bitField0_ = (bitField0_ & ~0x00000002);
15112            name_ = 0;
15113            bitField0_ = (bitField0_ & ~0x00000004);
15114            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15115            bitField0_ = (bitField0_ & ~0x00000008);
15116            returnTypeId_ = 0;
15117            bitField0_ = (bitField0_ & ~0x00000010);
15118            typeParameter_ = java.util.Collections.emptyList();
15119            bitField0_ = (bitField0_ & ~0x00000020);
15120            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15121            bitField0_ = (bitField0_ & ~0x00000040);
15122            receiverTypeId_ = 0;
15123            bitField0_ = (bitField0_ & ~0x00000080);
15124            setterValueParameter_ = org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
15125            bitField0_ = (bitField0_ & ~0x00000100);
15126            getterFlags_ = 0;
15127            bitField0_ = (bitField0_ & ~0x00000200);
15128            setterFlags_ = 0;
15129            bitField0_ = (bitField0_ & ~0x00000400);
15130            sinceKotlinInfo_ = 0;
15131            bitField0_ = (bitField0_ & ~0x00000800);
15132            return this;
15133          }
15134    
15135          public Builder clone() {
15136            return create().mergeFrom(buildPartial());
15137          }
15138    
15139          public org.jetbrains.kotlin.serialization.ProtoBuf.Property getDefaultInstanceForType() {
15140            return org.jetbrains.kotlin.serialization.ProtoBuf.Property.getDefaultInstance();
15141          }
15142    
15143          public org.jetbrains.kotlin.serialization.ProtoBuf.Property build() {
15144            org.jetbrains.kotlin.serialization.ProtoBuf.Property result = buildPartial();
15145            if (!result.isInitialized()) {
15146              throw newUninitializedMessageException(result);
15147            }
15148            return result;
15149          }
15150    
15151          public org.jetbrains.kotlin.serialization.ProtoBuf.Property buildPartial() {
15152            org.jetbrains.kotlin.serialization.ProtoBuf.Property result = new org.jetbrains.kotlin.serialization.ProtoBuf.Property(this);
15153            int from_bitField0_ = bitField0_;
15154            int to_bitField0_ = 0;
15155            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
15156              to_bitField0_ |= 0x00000001;
15157            }
15158            result.flags_ = flags_;
15159            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
15160              to_bitField0_ |= 0x00000002;
15161            }
15162            result.oldFlags_ = oldFlags_;
15163            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
15164              to_bitField0_ |= 0x00000004;
15165            }
15166            result.name_ = name_;
15167            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
15168              to_bitField0_ |= 0x00000008;
15169            }
15170            result.returnType_ = returnType_;
15171            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
15172              to_bitField0_ |= 0x00000010;
15173            }
15174            result.returnTypeId_ = returnTypeId_;
15175            if (((bitField0_ & 0x00000020) == 0x00000020)) {
15176              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
15177              bitField0_ = (bitField0_ & ~0x00000020);
15178            }
15179            result.typeParameter_ = typeParameter_;
15180            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
15181              to_bitField0_ |= 0x00000020;
15182            }
15183            result.receiverType_ = receiverType_;
15184            if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
15185              to_bitField0_ |= 0x00000040;
15186            }
15187            result.receiverTypeId_ = receiverTypeId_;
15188            if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
15189              to_bitField0_ |= 0x00000080;
15190            }
15191            result.setterValueParameter_ = setterValueParameter_;
15192            if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
15193              to_bitField0_ |= 0x00000100;
15194            }
15195            result.getterFlags_ = getterFlags_;
15196            if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
15197              to_bitField0_ |= 0x00000200;
15198            }
15199            result.setterFlags_ = setterFlags_;
15200            if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
15201              to_bitField0_ |= 0x00000400;
15202            }
15203            result.sinceKotlinInfo_ = sinceKotlinInfo_;
15204            result.bitField0_ = to_bitField0_;
15205            return result;
15206          }
15207    
15208          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Property other) {
15209            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Property.getDefaultInstance()) return this;
15210            if (other.hasFlags()) {
15211              setFlags(other.getFlags());
15212            }
15213            if (other.hasOldFlags()) {
15214              setOldFlags(other.getOldFlags());
15215            }
15216            if (other.hasName()) {
15217              setName(other.getName());
15218            }
15219            if (other.hasReturnType()) {
15220              mergeReturnType(other.getReturnType());
15221            }
15222            if (other.hasReturnTypeId()) {
15223              setReturnTypeId(other.getReturnTypeId());
15224            }
15225            if (!other.typeParameter_.isEmpty()) {
15226              if (typeParameter_.isEmpty()) {
15227                typeParameter_ = other.typeParameter_;
15228                bitField0_ = (bitField0_ & ~0x00000020);
15229              } else {
15230                ensureTypeParameterIsMutable();
15231                typeParameter_.addAll(other.typeParameter_);
15232              }
15233              
15234            }
15235            if (other.hasReceiverType()) {
15236              mergeReceiverType(other.getReceiverType());
15237            }
15238            if (other.hasReceiverTypeId()) {
15239              setReceiverTypeId(other.getReceiverTypeId());
15240            }
15241            if (other.hasSetterValueParameter()) {
15242              mergeSetterValueParameter(other.getSetterValueParameter());
15243            }
15244            if (other.hasGetterFlags()) {
15245              setGetterFlags(other.getGetterFlags());
15246            }
15247            if (other.hasSetterFlags()) {
15248              setSetterFlags(other.getSetterFlags());
15249            }
15250            if (other.hasSinceKotlinInfo()) {
15251              setSinceKotlinInfo(other.getSinceKotlinInfo());
15252            }
15253            this.mergeExtensionFields(other);
15254            setUnknownFields(
15255                getUnknownFields().concat(other.unknownFields));
15256            return this;
15257          }
15258    
15259          public final boolean isInitialized() {
15260            if (!hasName()) {
15261              
15262              return false;
15263            }
15264            if (hasReturnType()) {
15265              if (!getReturnType().isInitialized()) {
15266                
15267                return false;
15268              }
15269            }
15270            for (int i = 0; i < getTypeParameterCount(); i++) {
15271              if (!getTypeParameter(i).isInitialized()) {
15272                
15273                return false;
15274              }
15275            }
15276            if (hasReceiverType()) {
15277              if (!getReceiverType().isInitialized()) {
15278                
15279                return false;
15280              }
15281            }
15282            if (hasSetterValueParameter()) {
15283              if (!getSetterValueParameter().isInitialized()) {
15284                
15285                return false;
15286              }
15287            }
15288            if (!extensionsAreInitialized()) {
15289              
15290              return false;
15291            }
15292            return true;
15293          }
15294    
15295          public Builder mergeFrom(
15296              org.jetbrains.kotlin.protobuf.CodedInputStream input,
15297              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
15298              throws java.io.IOException {
15299            org.jetbrains.kotlin.serialization.ProtoBuf.Property parsedMessage = null;
15300            try {
15301              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
15302            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
15303              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Property) e.getUnfinishedMessage();
15304              throw e;
15305            } finally {
15306              if (parsedMessage != null) {
15307                mergeFrom(parsedMessage);
15308              }
15309            }
15310            return this;
15311          }
15312          private int bitField0_;
15313    
15314          private int flags_ = 518;
15315          /**
15316           * <code>optional int32 flags = 11 [default = 518];</code>
15317           *
15318           * <pre>
15319           *hasAnnotations
15320           *Visibility
15321           *Modality
15322           *MemberKind
15323           *isVar
15324           *hasGetter
15325           *hasSetter
15326           *isConst
15327           *lateinit
15328           *hasConstant
15329           * </pre>
15330           */
15331          public boolean hasFlags() {
15332            return ((bitField0_ & 0x00000001) == 0x00000001);
15333          }
15334          /**
15335           * <code>optional int32 flags = 11 [default = 518];</code>
15336           *
15337           * <pre>
15338           *hasAnnotations
15339           *Visibility
15340           *Modality
15341           *MemberKind
15342           *isVar
15343           *hasGetter
15344           *hasSetter
15345           *isConst
15346           *lateinit
15347           *hasConstant
15348           * </pre>
15349           */
15350          public int getFlags() {
15351            return flags_;
15352          }
15353          /**
15354           * <code>optional int32 flags = 11 [default = 518];</code>
15355           *
15356           * <pre>
15357           *hasAnnotations
15358           *Visibility
15359           *Modality
15360           *MemberKind
15361           *isVar
15362           *hasGetter
15363           *hasSetter
15364           *isConst
15365           *lateinit
15366           *hasConstant
15367           * </pre>
15368           */
15369          public Builder setFlags(int value) {
15370            bitField0_ |= 0x00000001;
15371            flags_ = value;
15372            
15373            return this;
15374          }
15375          /**
15376           * <code>optional int32 flags = 11 [default = 518];</code>
15377           *
15378           * <pre>
15379           *hasAnnotations
15380           *Visibility
15381           *Modality
15382           *MemberKind
15383           *isVar
15384           *hasGetter
15385           *hasSetter
15386           *isConst
15387           *lateinit
15388           *hasConstant
15389           * </pre>
15390           */
15391          public Builder clearFlags() {
15392            bitField0_ = (bitField0_ & ~0x00000001);
15393            flags_ = 518;
15394            
15395            return this;
15396          }
15397    
15398          private int oldFlags_ = 2054;
15399          /**
15400           * <code>optional int32 old_flags = 1 [default = 2054];</code>
15401           */
15402          public boolean hasOldFlags() {
15403            return ((bitField0_ & 0x00000002) == 0x00000002);
15404          }
15405          /**
15406           * <code>optional int32 old_flags = 1 [default = 2054];</code>
15407           */
15408          public int getOldFlags() {
15409            return oldFlags_;
15410          }
15411          /**
15412           * <code>optional int32 old_flags = 1 [default = 2054];</code>
15413           */
15414          public Builder setOldFlags(int value) {
15415            bitField0_ |= 0x00000002;
15416            oldFlags_ = value;
15417            
15418            return this;
15419          }
15420          /**
15421           * <code>optional int32 old_flags = 1 [default = 2054];</code>
15422           */
15423          public Builder clearOldFlags() {
15424            bitField0_ = (bitField0_ & ~0x00000002);
15425            oldFlags_ = 2054;
15426            
15427            return this;
15428          }
15429    
15430          private int name_ ;
15431          /**
15432           * <code>required int32 name = 2;</code>
15433           */
15434          public boolean hasName() {
15435            return ((bitField0_ & 0x00000004) == 0x00000004);
15436          }
15437          /**
15438           * <code>required int32 name = 2;</code>
15439           */
15440          public int getName() {
15441            return name_;
15442          }
15443          /**
15444           * <code>required int32 name = 2;</code>
15445           */
15446          public Builder setName(int value) {
15447            bitField0_ |= 0x00000004;
15448            name_ = value;
15449            
15450            return this;
15451          }
15452          /**
15453           * <code>required int32 name = 2;</code>
15454           */
15455          public Builder clearName() {
15456            bitField0_ = (bitField0_ & ~0x00000004);
15457            name_ = 0;
15458            
15459            return this;
15460          }
15461    
15462          private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15463          /**
15464           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
15465           */
15466          public boolean hasReturnType() {
15467            return ((bitField0_ & 0x00000008) == 0x00000008);
15468          }
15469          /**
15470           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
15471           */
15472          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
15473            return returnType_;
15474          }
15475          /**
15476           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
15477           */
15478          public Builder setReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
15479            if (value == null) {
15480              throw new NullPointerException();
15481            }
15482            returnType_ = value;
15483    
15484            bitField0_ |= 0x00000008;
15485            return this;
15486          }
15487          /**
15488           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
15489           */
15490          public Builder setReturnType(
15491              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
15492            returnType_ = builderForValue.build();
15493    
15494            bitField0_ |= 0x00000008;
15495            return this;
15496          }
15497          /**
15498           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
15499           */
15500          public Builder mergeReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
15501            if (((bitField0_ & 0x00000008) == 0x00000008) &&
15502                returnType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
15503              returnType_ =
15504                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(returnType_).mergeFrom(value).buildPartial();
15505            } else {
15506              returnType_ = value;
15507            }
15508    
15509            bitField0_ |= 0x00000008;
15510            return this;
15511          }
15512          /**
15513           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
15514           */
15515          public Builder clearReturnType() {
15516            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15517    
15518            bitField0_ = (bitField0_ & ~0x00000008);
15519            return this;
15520          }
15521    
15522          private int returnTypeId_ ;
15523          /**
15524           * <code>optional int32 return_type_id = 9;</code>
15525           */
15526          public boolean hasReturnTypeId() {
15527            return ((bitField0_ & 0x00000010) == 0x00000010);
15528          }
15529          /**
15530           * <code>optional int32 return_type_id = 9;</code>
15531           */
15532          public int getReturnTypeId() {
15533            return returnTypeId_;
15534          }
15535          /**
15536           * <code>optional int32 return_type_id = 9;</code>
15537           */
15538          public Builder setReturnTypeId(int value) {
15539            bitField0_ |= 0x00000010;
15540            returnTypeId_ = value;
15541            
15542            return this;
15543          }
15544          /**
15545           * <code>optional int32 return_type_id = 9;</code>
15546           */
15547          public Builder clearReturnTypeId() {
15548            bitField0_ = (bitField0_ & ~0x00000010);
15549            returnTypeId_ = 0;
15550            
15551            return this;
15552          }
15553    
15554          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
15555            java.util.Collections.emptyList();
15556          private void ensureTypeParameterIsMutable() {
15557            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
15558              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
15559              bitField0_ |= 0x00000020;
15560             }
15561          }
15562    
15563          /**
15564           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15565           */
15566          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
15567            return java.util.Collections.unmodifiableList(typeParameter_);
15568          }
15569          /**
15570           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15571           */
15572          public int getTypeParameterCount() {
15573            return typeParameter_.size();
15574          }
15575          /**
15576           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15577           */
15578          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
15579            return typeParameter_.get(index);
15580          }
15581          /**
15582           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15583           */
15584          public Builder setTypeParameter(
15585              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
15586            if (value == null) {
15587              throw new NullPointerException();
15588            }
15589            ensureTypeParameterIsMutable();
15590            typeParameter_.set(index, value);
15591    
15592            return this;
15593          }
15594          /**
15595           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15596           */
15597          public Builder setTypeParameter(
15598              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
15599            ensureTypeParameterIsMutable();
15600            typeParameter_.set(index, builderForValue.build());
15601    
15602            return this;
15603          }
15604          /**
15605           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15606           */
15607          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
15608            if (value == null) {
15609              throw new NullPointerException();
15610            }
15611            ensureTypeParameterIsMutable();
15612            typeParameter_.add(value);
15613    
15614            return this;
15615          }
15616          /**
15617           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15618           */
15619          public Builder addTypeParameter(
15620              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
15621            if (value == null) {
15622              throw new NullPointerException();
15623            }
15624            ensureTypeParameterIsMutable();
15625            typeParameter_.add(index, value);
15626    
15627            return this;
15628          }
15629          /**
15630           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15631           */
15632          public Builder addTypeParameter(
15633              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
15634            ensureTypeParameterIsMutable();
15635            typeParameter_.add(builderForValue.build());
15636    
15637            return this;
15638          }
15639          /**
15640           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15641           */
15642          public Builder addTypeParameter(
15643              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
15644            ensureTypeParameterIsMutable();
15645            typeParameter_.add(index, builderForValue.build());
15646    
15647            return this;
15648          }
15649          /**
15650           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15651           */
15652          public Builder addAllTypeParameter(
15653              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
15654            ensureTypeParameterIsMutable();
15655            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
15656                values, typeParameter_);
15657    
15658            return this;
15659          }
15660          /**
15661           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15662           */
15663          public Builder clearTypeParameter() {
15664            typeParameter_ = java.util.Collections.emptyList();
15665            bitField0_ = (bitField0_ & ~0x00000020);
15666    
15667            return this;
15668          }
15669          /**
15670           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15671           */
15672          public Builder removeTypeParameter(int index) {
15673            ensureTypeParameterIsMutable();
15674            typeParameter_.remove(index);
15675    
15676            return this;
15677          }
15678    
15679          private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15680          /**
15681           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
15682           */
15683          public boolean hasReceiverType() {
15684            return ((bitField0_ & 0x00000040) == 0x00000040);
15685          }
15686          /**
15687           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
15688           */
15689          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
15690            return receiverType_;
15691          }
15692          /**
15693           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
15694           */
15695          public Builder setReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
15696            if (value == null) {
15697              throw new NullPointerException();
15698            }
15699            receiverType_ = value;
15700    
15701            bitField0_ |= 0x00000040;
15702            return this;
15703          }
15704          /**
15705           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
15706           */
15707          public Builder setReceiverType(
15708              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
15709            receiverType_ = builderForValue.build();
15710    
15711            bitField0_ |= 0x00000040;
15712            return this;
15713          }
15714          /**
15715           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
15716           */
15717          public Builder mergeReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
15718            if (((bitField0_ & 0x00000040) == 0x00000040) &&
15719                receiverType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
15720              receiverType_ =
15721                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(receiverType_).mergeFrom(value).buildPartial();
15722            } else {
15723              receiverType_ = value;
15724            }
15725    
15726            bitField0_ |= 0x00000040;
15727            return this;
15728          }
15729          /**
15730           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
15731           */
15732          public Builder clearReceiverType() {
15733            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15734    
15735            bitField0_ = (bitField0_ & ~0x00000040);
15736            return this;
15737          }
15738    
15739          private int receiverTypeId_ ;
15740          /**
15741           * <code>optional int32 receiver_type_id = 10;</code>
15742           */
15743          public boolean hasReceiverTypeId() {
15744            return ((bitField0_ & 0x00000080) == 0x00000080);
15745          }
15746          /**
15747           * <code>optional int32 receiver_type_id = 10;</code>
15748           */
15749          public int getReceiverTypeId() {
15750            return receiverTypeId_;
15751          }
15752          /**
15753           * <code>optional int32 receiver_type_id = 10;</code>
15754           */
15755          public Builder setReceiverTypeId(int value) {
15756            bitField0_ |= 0x00000080;
15757            receiverTypeId_ = value;
15758            
15759            return this;
15760          }
15761          /**
15762           * <code>optional int32 receiver_type_id = 10;</code>
15763           */
15764          public Builder clearReceiverTypeId() {
15765            bitField0_ = (bitField0_ & ~0x00000080);
15766            receiverTypeId_ = 0;
15767            
15768            return this;
15769          }
15770    
15771          private org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter setterValueParameter_ = org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
15772          /**
15773           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15774           */
15775          public boolean hasSetterValueParameter() {
15776            return ((bitField0_ & 0x00000100) == 0x00000100);
15777          }
15778          /**
15779           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15780           */
15781          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getSetterValueParameter() {
15782            return setterValueParameter_;
15783          }
15784          /**
15785           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15786           */
15787          public Builder setSetterValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
15788            if (value == null) {
15789              throw new NullPointerException();
15790            }
15791            setterValueParameter_ = value;
15792    
15793            bitField0_ |= 0x00000100;
15794            return this;
15795          }
15796          /**
15797           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15798           */
15799          public Builder setSetterValueParameter(
15800              org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
15801            setterValueParameter_ = builderForValue.build();
15802    
15803            bitField0_ |= 0x00000100;
15804            return this;
15805          }
15806          /**
15807           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15808           */
15809          public Builder mergeSetterValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
15810            if (((bitField0_ & 0x00000100) == 0x00000100) &&
15811                setterValueParameter_ != org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance()) {
15812              setterValueParameter_ =
15813                org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.newBuilder(setterValueParameter_).mergeFrom(value).buildPartial();
15814            } else {
15815              setterValueParameter_ = value;
15816            }
15817    
15818            bitField0_ |= 0x00000100;
15819            return this;
15820          }
15821          /**
15822           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15823           */
15824          public Builder clearSetterValueParameter() {
15825            setterValueParameter_ = org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
15826    
15827            bitField0_ = (bitField0_ & ~0x00000100);
15828            return this;
15829          }
15830    
15831          private int getterFlags_ ;
15832          /**
15833           * <code>optional int32 getter_flags = 7;</code>
15834           *
15835           * <pre>
15836           *hasAnnotations
15837           *Visibility
15838           *Modality
15839           *isNotDefault
15840           *isExternal
15841           * </pre>
15842           */
15843          public boolean hasGetterFlags() {
15844            return ((bitField0_ & 0x00000200) == 0x00000200);
15845          }
15846          /**
15847           * <code>optional int32 getter_flags = 7;</code>
15848           *
15849           * <pre>
15850           *hasAnnotations
15851           *Visibility
15852           *Modality
15853           *isNotDefault
15854           *isExternal
15855           * </pre>
15856           */
15857          public int getGetterFlags() {
15858            return getterFlags_;
15859          }
15860          /**
15861           * <code>optional int32 getter_flags = 7;</code>
15862           *
15863           * <pre>
15864           *hasAnnotations
15865           *Visibility
15866           *Modality
15867           *isNotDefault
15868           *isExternal
15869           * </pre>
15870           */
15871          public Builder setGetterFlags(int value) {
15872            bitField0_ |= 0x00000200;
15873            getterFlags_ = value;
15874            
15875            return this;
15876          }
15877          /**
15878           * <code>optional int32 getter_flags = 7;</code>
15879           *
15880           * <pre>
15881           *hasAnnotations
15882           *Visibility
15883           *Modality
15884           *isNotDefault
15885           *isExternal
15886           * </pre>
15887           */
15888          public Builder clearGetterFlags() {
15889            bitField0_ = (bitField0_ & ~0x00000200);
15890            getterFlags_ = 0;
15891            
15892            return this;
15893          }
15894    
15895          private int setterFlags_ ;
15896          /**
15897           * <code>optional int32 setter_flags = 8;</code>
15898           */
15899          public boolean hasSetterFlags() {
15900            return ((bitField0_ & 0x00000400) == 0x00000400);
15901          }
15902          /**
15903           * <code>optional int32 setter_flags = 8;</code>
15904           */
15905          public int getSetterFlags() {
15906            return setterFlags_;
15907          }
15908          /**
15909           * <code>optional int32 setter_flags = 8;</code>
15910           */
15911          public Builder setSetterFlags(int value) {
15912            bitField0_ |= 0x00000400;
15913            setterFlags_ = value;
15914            
15915            return this;
15916          }
15917          /**
15918           * <code>optional int32 setter_flags = 8;</code>
15919           */
15920          public Builder clearSetterFlags() {
15921            bitField0_ = (bitField0_ & ~0x00000400);
15922            setterFlags_ = 0;
15923            
15924            return this;
15925          }
15926    
15927          private int sinceKotlinInfo_ ;
15928          /**
15929           * <code>optional int32 sinceKotlinInfo = 31;</code>
15930           *
15931           * <pre>
15932           * Index into the SinceKotlinInfoTable
15933           * </pre>
15934           */
15935          public boolean hasSinceKotlinInfo() {
15936            return ((bitField0_ & 0x00000800) == 0x00000800);
15937          }
15938          /**
15939           * <code>optional int32 sinceKotlinInfo = 31;</code>
15940           *
15941           * <pre>
15942           * Index into the SinceKotlinInfoTable
15943           * </pre>
15944           */
15945          public int getSinceKotlinInfo() {
15946            return sinceKotlinInfo_;
15947          }
15948          /**
15949           * <code>optional int32 sinceKotlinInfo = 31;</code>
15950           *
15951           * <pre>
15952           * Index into the SinceKotlinInfoTable
15953           * </pre>
15954           */
15955          public Builder setSinceKotlinInfo(int value) {
15956            bitField0_ |= 0x00000800;
15957            sinceKotlinInfo_ = value;
15958            
15959            return this;
15960          }
15961          /**
15962           * <code>optional int32 sinceKotlinInfo = 31;</code>
15963           *
15964           * <pre>
15965           * Index into the SinceKotlinInfoTable
15966           * </pre>
15967           */
15968          public Builder clearSinceKotlinInfo() {
15969            bitField0_ = (bitField0_ & ~0x00000800);
15970            sinceKotlinInfo_ = 0;
15971            
15972            return this;
15973          }
15974    
15975          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Property)
15976        }
15977    
15978        static {
15979          defaultInstance = new Property(true);
15980          defaultInstance.initFields();
15981        }
15982    
15983        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Property)
15984      }
15985    
15986      public interface ValueParameterOrBuilder extends 
15987          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.ValueParameter)
15988           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
15989                ExtendableMessageOrBuilder<ValueParameter> {
15990    
15991        /**
15992         * <code>optional int32 flags = 1 [default = 0];</code>
15993         *
15994         * <pre>
15995         *declaresDefault
15996         *hasAnnotations
15997         *isCrossinline
15998         *isNoinline
15999         * </pre>
16000         */
16001        boolean hasFlags();
16002        /**
16003         * <code>optional int32 flags = 1 [default = 0];</code>
16004         *
16005         * <pre>
16006         *declaresDefault
16007         *hasAnnotations
16008         *isCrossinline
16009         *isNoinline
16010         * </pre>
16011         */
16012        int getFlags();
16013    
16014        /**
16015         * <code>required int32 name = 2;</code>
16016         */
16017        boolean hasName();
16018        /**
16019         * <code>required int32 name = 2;</code>
16020         */
16021        int getName();
16022    
16023        /**
16024         * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
16025         */
16026        boolean hasType();
16027        /**
16028         * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
16029         */
16030        org.jetbrains.kotlin.serialization.ProtoBuf.Type getType();
16031    
16032        /**
16033         * <code>optional int32 type_id = 5;</code>
16034         */
16035        boolean hasTypeId();
16036        /**
16037         * <code>optional int32 type_id = 5;</code>
16038         */
16039        int getTypeId();
16040    
16041        /**
16042         * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16043         */
16044        boolean hasVarargElementType();
16045        /**
16046         * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16047         */
16048        org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType();
16049    
16050        /**
16051         * <code>optional int32 vararg_element_type_id = 6;</code>
16052         */
16053        boolean hasVarargElementTypeId();
16054        /**
16055         * <code>optional int32 vararg_element_type_id = 6;</code>
16056         */
16057        int getVarargElementTypeId();
16058      }
16059      /**
16060       * Protobuf type {@code org.jetbrains.kotlin.serialization.ValueParameter}
16061       */
16062      public static final class ValueParameter extends
16063          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
16064            ValueParameter> implements
16065          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.ValueParameter)
16066          ValueParameterOrBuilder {
16067        // Use ValueParameter.newBuilder() to construct.
16068        private ValueParameter(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter, ?> builder) {
16069          super(builder);
16070          this.unknownFields = builder.getUnknownFields();
16071        }
16072        private ValueParameter(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
16073    
16074        private static final ValueParameter defaultInstance;
16075        public static ValueParameter getDefaultInstance() {
16076          return defaultInstance;
16077        }
16078    
16079        public ValueParameter getDefaultInstanceForType() {
16080          return defaultInstance;
16081        }
16082    
16083        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
16084        private ValueParameter(
16085            org.jetbrains.kotlin.protobuf.CodedInputStream input,
16086            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16087            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
16088          initFields();
16089          int mutable_bitField0_ = 0;
16090          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
16091              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
16092          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
16093              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
16094                  unknownFieldsOutput);
16095          try {
16096            boolean done = false;
16097            while (!done) {
16098              int tag = input.readTag();
16099              switch (tag) {
16100                case 0:
16101                  done = true;
16102                  break;
16103                default: {
16104                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
16105                                         extensionRegistry, tag)) {
16106                    done = true;
16107                  }
16108                  break;
16109                }
16110                case 8: {
16111                  bitField0_ |= 0x00000001;
16112                  flags_ = input.readInt32();
16113                  break;
16114                }
16115                case 16: {
16116                  bitField0_ |= 0x00000002;
16117                  name_ = input.readInt32();
16118                  break;
16119                }
16120                case 26: {
16121                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
16122                  if (((bitField0_ & 0x00000004) == 0x00000004)) {
16123                    subBuilder = type_.toBuilder();
16124                  }
16125                  type_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
16126                  if (subBuilder != null) {
16127                    subBuilder.mergeFrom(type_);
16128                    type_ = subBuilder.buildPartial();
16129                  }
16130                  bitField0_ |= 0x00000004;
16131                  break;
16132                }
16133                case 34: {
16134                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
16135                  if (((bitField0_ & 0x00000010) == 0x00000010)) {
16136                    subBuilder = varargElementType_.toBuilder();
16137                  }
16138                  varargElementType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
16139                  if (subBuilder != null) {
16140                    subBuilder.mergeFrom(varargElementType_);
16141                    varargElementType_ = subBuilder.buildPartial();
16142                  }
16143                  bitField0_ |= 0x00000010;
16144                  break;
16145                }
16146                case 40: {
16147                  bitField0_ |= 0x00000008;
16148                  typeId_ = input.readInt32();
16149                  break;
16150                }
16151                case 48: {
16152                  bitField0_ |= 0x00000020;
16153                  varargElementTypeId_ = input.readInt32();
16154                  break;
16155                }
16156              }
16157            }
16158          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
16159            throw e.setUnfinishedMessage(this);
16160          } catch (java.io.IOException e) {
16161            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
16162                e.getMessage()).setUnfinishedMessage(this);
16163          } finally {
16164            try {
16165              unknownFieldsCodedOutput.flush();
16166            } catch (java.io.IOException e) {
16167            // Should not happen
16168            } finally {
16169              unknownFields = unknownFieldsOutput.toByteString();
16170            }
16171            makeExtensionsImmutable();
16172          }
16173        }
16174        public static org.jetbrains.kotlin.protobuf.Parser<ValueParameter> PARSER =
16175            new org.jetbrains.kotlin.protobuf.AbstractParser<ValueParameter>() {
16176          public ValueParameter parsePartialFrom(
16177              org.jetbrains.kotlin.protobuf.CodedInputStream input,
16178              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16179              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
16180            return new ValueParameter(input, extensionRegistry);
16181          }
16182        };
16183    
16184        @java.lang.Override
16185        public org.jetbrains.kotlin.protobuf.Parser<ValueParameter> getParserForType() {
16186          return PARSER;
16187        }
16188    
16189        private int bitField0_;
16190        public static final int FLAGS_FIELD_NUMBER = 1;
16191        private int flags_;
16192        /**
16193         * <code>optional int32 flags = 1 [default = 0];</code>
16194         *
16195         * <pre>
16196         *declaresDefault
16197         *hasAnnotations
16198         *isCrossinline
16199         *isNoinline
16200         * </pre>
16201         */
16202        public boolean hasFlags() {
16203          return ((bitField0_ & 0x00000001) == 0x00000001);
16204        }
16205        /**
16206         * <code>optional int32 flags = 1 [default = 0];</code>
16207         *
16208         * <pre>
16209         *declaresDefault
16210         *hasAnnotations
16211         *isCrossinline
16212         *isNoinline
16213         * </pre>
16214         */
16215        public int getFlags() {
16216          return flags_;
16217        }
16218    
16219        public static final int NAME_FIELD_NUMBER = 2;
16220        private int name_;
16221        /**
16222         * <code>required int32 name = 2;</code>
16223         */
16224        public boolean hasName() {
16225          return ((bitField0_ & 0x00000002) == 0x00000002);
16226        }
16227        /**
16228         * <code>required int32 name = 2;</code>
16229         */
16230        public int getName() {
16231          return name_;
16232        }
16233    
16234        public static final int TYPE_FIELD_NUMBER = 3;
16235        private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_;
16236        /**
16237         * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
16238         */
16239        public boolean hasType() {
16240          return ((bitField0_ & 0x00000004) == 0x00000004);
16241        }
16242        /**
16243         * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
16244         */
16245        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
16246          return type_;
16247        }
16248    
16249        public static final int TYPE_ID_FIELD_NUMBER = 5;
16250        private int typeId_;
16251        /**
16252         * <code>optional int32 type_id = 5;</code>
16253         */
16254        public boolean hasTypeId() {
16255          return ((bitField0_ & 0x00000008) == 0x00000008);
16256        }
16257        /**
16258         * <code>optional int32 type_id = 5;</code>
16259         */
16260        public int getTypeId() {
16261          return typeId_;
16262        }
16263    
16264        public static final int VARARG_ELEMENT_TYPE_FIELD_NUMBER = 4;
16265        private org.jetbrains.kotlin.serialization.ProtoBuf.Type varargElementType_;
16266        /**
16267         * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16268         */
16269        public boolean hasVarargElementType() {
16270          return ((bitField0_ & 0x00000010) == 0x00000010);
16271        }
16272        /**
16273         * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16274         */
16275        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType() {
16276          return varargElementType_;
16277        }
16278    
16279        public static final int VARARG_ELEMENT_TYPE_ID_FIELD_NUMBER = 6;
16280        private int varargElementTypeId_;
16281        /**
16282         * <code>optional int32 vararg_element_type_id = 6;</code>
16283         */
16284        public boolean hasVarargElementTypeId() {
16285          return ((bitField0_ & 0x00000020) == 0x00000020);
16286        }
16287        /**
16288         * <code>optional int32 vararg_element_type_id = 6;</code>
16289         */
16290        public int getVarargElementTypeId() {
16291          return varargElementTypeId_;
16292        }
16293    
16294        private void initFields() {
16295          flags_ = 0;
16296          name_ = 0;
16297          type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
16298          typeId_ = 0;
16299          varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
16300          varargElementTypeId_ = 0;
16301        }
16302        private byte memoizedIsInitialized = -1;
16303        public final boolean isInitialized() {
16304          byte isInitialized = memoizedIsInitialized;
16305          if (isInitialized == 1) return true;
16306          if (isInitialized == 0) return false;
16307    
16308          if (!hasName()) {
16309            memoizedIsInitialized = 0;
16310            return false;
16311          }
16312          if (hasType()) {
16313            if (!getType().isInitialized()) {
16314              memoizedIsInitialized = 0;
16315              return false;
16316            }
16317          }
16318          if (hasVarargElementType()) {
16319            if (!getVarargElementType().isInitialized()) {
16320              memoizedIsInitialized = 0;
16321              return false;
16322            }
16323          }
16324          if (!extensionsAreInitialized()) {
16325            memoizedIsInitialized = 0;
16326            return false;
16327          }
16328          memoizedIsInitialized = 1;
16329          return true;
16330        }
16331    
16332        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
16333                            throws java.io.IOException {
16334          getSerializedSize();
16335          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
16336            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>.ExtensionWriter extensionWriter =
16337              newExtensionWriter();
16338          if (((bitField0_ & 0x00000001) == 0x00000001)) {
16339            output.writeInt32(1, flags_);
16340          }
16341          if (((bitField0_ & 0x00000002) == 0x00000002)) {
16342            output.writeInt32(2, name_);
16343          }
16344          if (((bitField0_ & 0x00000004) == 0x00000004)) {
16345            output.writeMessage(3, type_);
16346          }
16347          if (((bitField0_ & 0x00000010) == 0x00000010)) {
16348            output.writeMessage(4, varargElementType_);
16349          }
16350          if (((bitField0_ & 0x00000008) == 0x00000008)) {
16351            output.writeInt32(5, typeId_);
16352          }
16353          if (((bitField0_ & 0x00000020) == 0x00000020)) {
16354            output.writeInt32(6, varargElementTypeId_);
16355          }
16356          extensionWriter.writeUntil(200, output);
16357          output.writeRawBytes(unknownFields);
16358        }
16359    
16360        private int memoizedSerializedSize = -1;
16361        public int getSerializedSize() {
16362          int size = memoizedSerializedSize;
16363          if (size != -1) return size;
16364    
16365          size = 0;
16366          if (((bitField0_ & 0x00000001) == 0x00000001)) {
16367            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
16368              .computeInt32Size(1, flags_);
16369          }
16370          if (((bitField0_ & 0x00000002) == 0x00000002)) {
16371            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
16372              .computeInt32Size(2, name_);
16373          }
16374          if (((bitField0_ & 0x00000004) == 0x00000004)) {
16375            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
16376              .computeMessageSize(3, type_);
16377          }
16378          if (((bitField0_ & 0x00000010) == 0x00000010)) {
16379            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
16380              .computeMessageSize(4, varargElementType_);
16381          }
16382          if (((bitField0_ & 0x00000008) == 0x00000008)) {
16383            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
16384              .computeInt32Size(5, typeId_);
16385          }
16386          if (((bitField0_ & 0x00000020) == 0x00000020)) {
16387            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
16388              .computeInt32Size(6, varargElementTypeId_);
16389          }
16390          size += extensionsSerializedSize();
16391          size += unknownFields.size();
16392          memoizedSerializedSize = size;
16393          return size;
16394        }
16395    
16396        private static final long serialVersionUID = 0L;
16397        @java.lang.Override
16398        protected java.lang.Object writeReplace()
16399            throws java.io.ObjectStreamException {
16400          return super.writeReplace();
16401        }
16402    
16403        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
16404            org.jetbrains.kotlin.protobuf.ByteString data)
16405            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
16406          return PARSER.parseFrom(data);
16407        }
16408        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
16409            org.jetbrains.kotlin.protobuf.ByteString data,
16410            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16411            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
16412          return PARSER.parseFrom(data, extensionRegistry);
16413        }
16414        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(byte[] data)
16415            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
16416          return PARSER.parseFrom(data);
16417        }
16418        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
16419            byte[] data,
16420            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16421            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
16422          return PARSER.parseFrom(data, extensionRegistry);
16423        }
16424        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(java.io.InputStream input)
16425            throws java.io.IOException {
16426          return PARSER.parseFrom(input);
16427        }
16428        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
16429            java.io.InputStream input,
16430            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16431            throws java.io.IOException {
16432          return PARSER.parseFrom(input, extensionRegistry);
16433        }
16434        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseDelimitedFrom(java.io.InputStream input)
16435            throws java.io.IOException {
16436          return PARSER.parseDelimitedFrom(input);
16437        }
16438        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseDelimitedFrom(
16439            java.io.InputStream input,
16440            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16441            throws java.io.IOException {
16442          return PARSER.parseDelimitedFrom(input, extensionRegistry);
16443        }
16444        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
16445            org.jetbrains.kotlin.protobuf.CodedInputStream input)
16446            throws java.io.IOException {
16447          return PARSER.parseFrom(input);
16448        }
16449        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
16450            org.jetbrains.kotlin.protobuf.CodedInputStream input,
16451            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16452            throws java.io.IOException {
16453          return PARSER.parseFrom(input, extensionRegistry);
16454        }
16455    
16456        public static Builder newBuilder() { return Builder.create(); }
16457        public Builder newBuilderForType() { return newBuilder(); }
16458        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter prototype) {
16459          return newBuilder().mergeFrom(prototype);
16460        }
16461        public Builder toBuilder() { return newBuilder(this); }
16462    
16463        /**
16464         * Protobuf type {@code org.jetbrains.kotlin.serialization.ValueParameter}
16465         */
16466        public static final class Builder extends
16467            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
16468              org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter, Builder> implements
16469            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.ValueParameter)
16470            org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder {
16471          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.newBuilder()
16472          private Builder() {
16473            maybeForceBuilderInitialization();
16474          }
16475    
16476          private void maybeForceBuilderInitialization() {
16477          }
16478          private static Builder create() {
16479            return new Builder();
16480          }
16481    
16482          public Builder clear() {
16483            super.clear();
16484            flags_ = 0;
16485            bitField0_ = (bitField0_ & ~0x00000001);
16486            name_ = 0;
16487            bitField0_ = (bitField0_ & ~0x00000002);
16488            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
16489            bitField0_ = (bitField0_ & ~0x00000004);
16490            typeId_ = 0;
16491            bitField0_ = (bitField0_ & ~0x00000008);
16492            varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
16493            bitField0_ = (bitField0_ & ~0x00000010);
16494            varargElementTypeId_ = 0;
16495            bitField0_ = (bitField0_ & ~0x00000020);
16496            return this;
16497          }
16498    
16499          public Builder clone() {
16500            return create().mergeFrom(buildPartial());
16501          }
16502    
16503          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getDefaultInstanceForType() {
16504            return org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
16505          }
16506    
16507          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter build() {
16508            org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter result = buildPartial();
16509            if (!result.isInitialized()) {
16510              throw newUninitializedMessageException(result);
16511            }
16512            return result;
16513          }
16514    
16515          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter buildPartial() {
16516            org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter result = new org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter(this);
16517            int from_bitField0_ = bitField0_;
16518            int to_bitField0_ = 0;
16519            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
16520              to_bitField0_ |= 0x00000001;
16521            }
16522            result.flags_ = flags_;
16523            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
16524              to_bitField0_ |= 0x00000002;
16525            }
16526            result.name_ = name_;
16527            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
16528              to_bitField0_ |= 0x00000004;
16529            }
16530            result.type_ = type_;
16531            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
16532              to_bitField0_ |= 0x00000008;
16533            }
16534            result.typeId_ = typeId_;
16535            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
16536              to_bitField0_ |= 0x00000010;
16537            }
16538            result.varargElementType_ = varargElementType_;
16539            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
16540              to_bitField0_ |= 0x00000020;
16541            }
16542            result.varargElementTypeId_ = varargElementTypeId_;
16543            result.bitField0_ = to_bitField0_;
16544            return result;
16545          }
16546    
16547          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter other) {
16548            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance()) return this;
16549            if (other.hasFlags()) {
16550              setFlags(other.getFlags());
16551            }
16552            if (other.hasName()) {
16553              setName(other.getName());
16554            }
16555            if (other.hasType()) {
16556              mergeType(other.getType());
16557            }
16558            if (other.hasTypeId()) {
16559              setTypeId(other.getTypeId());
16560            }
16561            if (other.hasVarargElementType()) {
16562              mergeVarargElementType(other.getVarargElementType());
16563            }
16564            if (other.hasVarargElementTypeId()) {
16565              setVarargElementTypeId(other.getVarargElementTypeId());
16566            }
16567            this.mergeExtensionFields(other);
16568            setUnknownFields(
16569                getUnknownFields().concat(other.unknownFields));
16570            return this;
16571          }
16572    
16573          public final boolean isInitialized() {
16574            if (!hasName()) {
16575              
16576              return false;
16577            }
16578            if (hasType()) {
16579              if (!getType().isInitialized()) {
16580                
16581                return false;
16582              }
16583            }
16584            if (hasVarargElementType()) {
16585              if (!getVarargElementType().isInitialized()) {
16586                
16587                return false;
16588              }
16589            }
16590            if (!extensionsAreInitialized()) {
16591              
16592              return false;
16593            }
16594            return true;
16595          }
16596    
16597          public Builder mergeFrom(
16598              org.jetbrains.kotlin.protobuf.CodedInputStream input,
16599              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16600              throws java.io.IOException {
16601            org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parsedMessage = null;
16602            try {
16603              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
16604            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
16605              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter) e.getUnfinishedMessage();
16606              throw e;
16607            } finally {
16608              if (parsedMessage != null) {
16609                mergeFrom(parsedMessage);
16610              }
16611            }
16612            return this;
16613          }
16614          private int bitField0_;
16615    
16616          private int flags_ ;
16617          /**
16618           * <code>optional int32 flags = 1 [default = 0];</code>
16619           *
16620           * <pre>
16621           *declaresDefault
16622           *hasAnnotations
16623           *isCrossinline
16624           *isNoinline
16625           * </pre>
16626           */
16627          public boolean hasFlags() {
16628            return ((bitField0_ & 0x00000001) == 0x00000001);
16629          }
16630          /**
16631           * <code>optional int32 flags = 1 [default = 0];</code>
16632           *
16633           * <pre>
16634           *declaresDefault
16635           *hasAnnotations
16636           *isCrossinline
16637           *isNoinline
16638           * </pre>
16639           */
16640          public int getFlags() {
16641            return flags_;
16642          }
16643          /**
16644           * <code>optional int32 flags = 1 [default = 0];</code>
16645           *
16646           * <pre>
16647           *declaresDefault
16648           *hasAnnotations
16649           *isCrossinline
16650           *isNoinline
16651           * </pre>
16652           */
16653          public Builder setFlags(int value) {
16654            bitField0_ |= 0x00000001;
16655            flags_ = value;
16656            
16657            return this;
16658          }
16659          /**
16660           * <code>optional int32 flags = 1 [default = 0];</code>
16661           *
16662           * <pre>
16663           *declaresDefault
16664           *hasAnnotations
16665           *isCrossinline
16666           *isNoinline
16667           * </pre>
16668           */
16669          public Builder clearFlags() {
16670            bitField0_ = (bitField0_ & ~0x00000001);
16671            flags_ = 0;
16672            
16673            return this;
16674          }
16675    
16676          private int name_ ;
16677          /**
16678           * <code>required int32 name = 2;</code>
16679           */
16680          public boolean hasName() {
16681            return ((bitField0_ & 0x00000002) == 0x00000002);
16682          }
16683          /**
16684           * <code>required int32 name = 2;</code>
16685           */
16686          public int getName() {
16687            return name_;
16688          }
16689          /**
16690           * <code>required int32 name = 2;</code>
16691           */
16692          public Builder setName(int value) {
16693            bitField0_ |= 0x00000002;
16694            name_ = value;
16695            
16696            return this;
16697          }
16698          /**
16699           * <code>required int32 name = 2;</code>
16700           */
16701          public Builder clearName() {
16702            bitField0_ = (bitField0_ & ~0x00000002);
16703            name_ = 0;
16704            
16705            return this;
16706          }
16707    
16708          private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
16709          /**
16710           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
16711           */
16712          public boolean hasType() {
16713            return ((bitField0_ & 0x00000004) == 0x00000004);
16714          }
16715          /**
16716           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
16717           */
16718          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
16719            return type_;
16720          }
16721          /**
16722           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
16723           */
16724          public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
16725            if (value == null) {
16726              throw new NullPointerException();
16727            }
16728            type_ = value;
16729    
16730            bitField0_ |= 0x00000004;
16731            return this;
16732          }
16733          /**
16734           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
16735           */
16736          public Builder setType(
16737              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
16738            type_ = builderForValue.build();
16739    
16740            bitField0_ |= 0x00000004;
16741            return this;
16742          }
16743          /**
16744           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
16745           */
16746          public Builder mergeType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
16747            if (((bitField0_ & 0x00000004) == 0x00000004) &&
16748                type_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
16749              type_ =
16750                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
16751            } else {
16752              type_ = value;
16753            }
16754    
16755            bitField0_ |= 0x00000004;
16756            return this;
16757          }
16758          /**
16759           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
16760           */
16761          public Builder clearType() {
16762            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
16763    
16764            bitField0_ = (bitField0_ & ~0x00000004);
16765            return this;
16766          }
16767    
16768          private int typeId_ ;
16769          /**
16770           * <code>optional int32 type_id = 5;</code>
16771           */
16772          public boolean hasTypeId() {
16773            return ((bitField0_ & 0x00000008) == 0x00000008);
16774          }
16775          /**
16776           * <code>optional int32 type_id = 5;</code>
16777           */
16778          public int getTypeId() {
16779            return typeId_;
16780          }
16781          /**
16782           * <code>optional int32 type_id = 5;</code>
16783           */
16784          public Builder setTypeId(int value) {
16785            bitField0_ |= 0x00000008;
16786            typeId_ = value;
16787            
16788            return this;
16789          }
16790          /**
16791           * <code>optional int32 type_id = 5;</code>
16792           */
16793          public Builder clearTypeId() {
16794            bitField0_ = (bitField0_ & ~0x00000008);
16795            typeId_ = 0;
16796            
16797            return this;
16798          }
16799    
16800          private org.jetbrains.kotlin.serialization.ProtoBuf.Type varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
16801          /**
16802           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16803           */
16804          public boolean hasVarargElementType() {
16805            return ((bitField0_ & 0x00000010) == 0x00000010);
16806          }
16807          /**
16808           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16809           */
16810          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType() {
16811            return varargElementType_;
16812          }
16813          /**
16814           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16815           */
16816          public Builder setVarargElementType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
16817            if (value == null) {
16818              throw new NullPointerException();
16819            }
16820            varargElementType_ = value;
16821    
16822            bitField0_ |= 0x00000010;
16823            return this;
16824          }
16825          /**
16826           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16827           */
16828          public Builder setVarargElementType(
16829              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
16830            varargElementType_ = builderForValue.build();
16831    
16832            bitField0_ |= 0x00000010;
16833            return this;
16834          }
16835          /**
16836           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16837           */
16838          public Builder mergeVarargElementType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
16839            if (((bitField0_ & 0x00000010) == 0x00000010) &&
16840                varargElementType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
16841              varargElementType_ =
16842                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(varargElementType_).mergeFrom(value).buildPartial();
16843            } else {
16844              varargElementType_ = value;
16845            }
16846    
16847            bitField0_ |= 0x00000010;
16848            return this;
16849          }
16850          /**
16851           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16852           */
16853          public Builder clearVarargElementType() {
16854            varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
16855    
16856            bitField0_ = (bitField0_ & ~0x00000010);
16857            return this;
16858          }
16859    
16860          private int varargElementTypeId_ ;
16861          /**
16862           * <code>optional int32 vararg_element_type_id = 6;</code>
16863           */
16864          public boolean hasVarargElementTypeId() {
16865            return ((bitField0_ & 0x00000020) == 0x00000020);
16866          }
16867          /**
16868           * <code>optional int32 vararg_element_type_id = 6;</code>
16869           */
16870          public int getVarargElementTypeId() {
16871            return varargElementTypeId_;
16872          }
16873          /**
16874           * <code>optional int32 vararg_element_type_id = 6;</code>
16875           */
16876          public Builder setVarargElementTypeId(int value) {
16877            bitField0_ |= 0x00000020;
16878            varargElementTypeId_ = value;
16879            
16880            return this;
16881          }
16882          /**
16883           * <code>optional int32 vararg_element_type_id = 6;</code>
16884           */
16885          public Builder clearVarargElementTypeId() {
16886            bitField0_ = (bitField0_ & ~0x00000020);
16887            varargElementTypeId_ = 0;
16888            
16889            return this;
16890          }
16891    
16892          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.ValueParameter)
16893        }
16894    
16895        static {
16896          defaultInstance = new ValueParameter(true);
16897          defaultInstance.initFields();
16898        }
16899    
16900        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.ValueParameter)
16901      }
16902    
16903      public interface EnumEntryOrBuilder extends 
16904          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.EnumEntry)
16905           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
16906                ExtendableMessageOrBuilder<EnumEntry> {
16907    
16908        /**
16909         * <code>optional int32 name = 1;</code>
16910         */
16911        boolean hasName();
16912        /**
16913         * <code>optional int32 name = 1;</code>
16914         */
16915        int getName();
16916      }
16917      /**
16918       * Protobuf type {@code org.jetbrains.kotlin.serialization.EnumEntry}
16919       */
16920      public static final class EnumEntry extends
16921          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
16922            EnumEntry> implements
16923          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.EnumEntry)
16924          EnumEntryOrBuilder {
16925        // Use EnumEntry.newBuilder() to construct.
16926        private EnumEntry(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry, ?> builder) {
16927          super(builder);
16928          this.unknownFields = builder.getUnknownFields();
16929        }
16930        private EnumEntry(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
16931    
16932        private static final EnumEntry defaultInstance;
16933        public static EnumEntry getDefaultInstance() {
16934          return defaultInstance;
16935        }
16936    
16937        public EnumEntry getDefaultInstanceForType() {
16938          return defaultInstance;
16939        }
16940    
16941        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
16942        private EnumEntry(
16943            org.jetbrains.kotlin.protobuf.CodedInputStream input,
16944            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16945            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
16946          initFields();
16947          int mutable_bitField0_ = 0;
16948          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
16949              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
16950          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
16951              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
16952                  unknownFieldsOutput);
16953          try {
16954            boolean done = false;
16955            while (!done) {
16956              int tag = input.readTag();
16957              switch (tag) {
16958                case 0:
16959                  done = true;
16960                  break;
16961                default: {
16962                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
16963                                         extensionRegistry, tag)) {
16964                    done = true;
16965                  }
16966                  break;
16967                }
16968                case 8: {
16969                  bitField0_ |= 0x00000001;
16970                  name_ = input.readInt32();
16971                  break;
16972                }
16973              }
16974            }
16975          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
16976            throw e.setUnfinishedMessage(this);
16977          } catch (java.io.IOException e) {
16978            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
16979                e.getMessage()).setUnfinishedMessage(this);
16980          } finally {
16981            try {
16982              unknownFieldsCodedOutput.flush();
16983            } catch (java.io.IOException e) {
16984            // Should not happen
16985            } finally {
16986              unknownFields = unknownFieldsOutput.toByteString();
16987            }
16988            makeExtensionsImmutable();
16989          }
16990        }
16991        public static org.jetbrains.kotlin.protobuf.Parser<EnumEntry> PARSER =
16992            new org.jetbrains.kotlin.protobuf.AbstractParser<EnumEntry>() {
16993          public EnumEntry parsePartialFrom(
16994              org.jetbrains.kotlin.protobuf.CodedInputStream input,
16995              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16996              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
16997            return new EnumEntry(input, extensionRegistry);
16998          }
16999        };
17000    
17001        @java.lang.Override
17002        public org.jetbrains.kotlin.protobuf.Parser<EnumEntry> getParserForType() {
17003          return PARSER;
17004        }
17005    
17006        private int bitField0_;
17007        public static final int NAME_FIELD_NUMBER = 1;
17008        private int name_;
17009        /**
17010         * <code>optional int32 name = 1;</code>
17011         */
17012        public boolean hasName() {
17013          return ((bitField0_ & 0x00000001) == 0x00000001);
17014        }
17015        /**
17016         * <code>optional int32 name = 1;</code>
17017         */
17018        public int getName() {
17019          return name_;
17020        }
17021    
17022        private void initFields() {
17023          name_ = 0;
17024        }
17025        private byte memoizedIsInitialized = -1;
17026        public final boolean isInitialized() {
17027          byte isInitialized = memoizedIsInitialized;
17028          if (isInitialized == 1) return true;
17029          if (isInitialized == 0) return false;
17030    
17031          if (!extensionsAreInitialized()) {
17032            memoizedIsInitialized = 0;
17033            return false;
17034          }
17035          memoizedIsInitialized = 1;
17036          return true;
17037        }
17038    
17039        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
17040                            throws java.io.IOException {
17041          getSerializedSize();
17042          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
17043            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry>.ExtensionWriter extensionWriter =
17044              newExtensionWriter();
17045          if (((bitField0_ & 0x00000001) == 0x00000001)) {
17046            output.writeInt32(1, name_);
17047          }
17048          extensionWriter.writeUntil(200, output);
17049          output.writeRawBytes(unknownFields);
17050        }
17051    
17052        private int memoizedSerializedSize = -1;
17053        public int getSerializedSize() {
17054          int size = memoizedSerializedSize;
17055          if (size != -1) return size;
17056    
17057          size = 0;
17058          if (((bitField0_ & 0x00000001) == 0x00000001)) {
17059            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
17060              .computeInt32Size(1, name_);
17061          }
17062          size += extensionsSerializedSize();
17063          size += unknownFields.size();
17064          memoizedSerializedSize = size;
17065          return size;
17066        }
17067    
17068        private static final long serialVersionUID = 0L;
17069        @java.lang.Override
17070        protected java.lang.Object writeReplace()
17071            throws java.io.ObjectStreamException {
17072          return super.writeReplace();
17073        }
17074    
17075        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
17076            org.jetbrains.kotlin.protobuf.ByteString data)
17077            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
17078          return PARSER.parseFrom(data);
17079        }
17080        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
17081            org.jetbrains.kotlin.protobuf.ByteString data,
17082            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17083            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
17084          return PARSER.parseFrom(data, extensionRegistry);
17085        }
17086        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(byte[] data)
17087            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
17088          return PARSER.parseFrom(data);
17089        }
17090        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
17091            byte[] data,
17092            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17093            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
17094          return PARSER.parseFrom(data, extensionRegistry);
17095        }
17096        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(java.io.InputStream input)
17097            throws java.io.IOException {
17098          return PARSER.parseFrom(input);
17099        }
17100        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
17101            java.io.InputStream input,
17102            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17103            throws java.io.IOException {
17104          return PARSER.parseFrom(input, extensionRegistry);
17105        }
17106        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseDelimitedFrom(java.io.InputStream input)
17107            throws java.io.IOException {
17108          return PARSER.parseDelimitedFrom(input);
17109        }
17110        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseDelimitedFrom(
17111            java.io.InputStream input,
17112            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17113            throws java.io.IOException {
17114          return PARSER.parseDelimitedFrom(input, extensionRegistry);
17115        }
17116        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
17117            org.jetbrains.kotlin.protobuf.CodedInputStream input)
17118            throws java.io.IOException {
17119          return PARSER.parseFrom(input);
17120        }
17121        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
17122            org.jetbrains.kotlin.protobuf.CodedInputStream input,
17123            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17124            throws java.io.IOException {
17125          return PARSER.parseFrom(input, extensionRegistry);
17126        }
17127    
17128        public static Builder newBuilder() { return Builder.create(); }
17129        public Builder newBuilderForType() { return newBuilder(); }
17130        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry prototype) {
17131          return newBuilder().mergeFrom(prototype);
17132        }
17133        public Builder toBuilder() { return newBuilder(this); }
17134    
17135        /**
17136         * Protobuf type {@code org.jetbrains.kotlin.serialization.EnumEntry}
17137         */
17138        public static final class Builder extends
17139            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
17140              org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry, Builder> implements
17141            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.EnumEntry)
17142            org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntryOrBuilder {
17143          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.newBuilder()
17144          private Builder() {
17145            maybeForceBuilderInitialization();
17146          }
17147    
17148          private void maybeForceBuilderInitialization() {
17149          }
17150          private static Builder create() {
17151            return new Builder();
17152          }
17153    
17154          public Builder clear() {
17155            super.clear();
17156            name_ = 0;
17157            bitField0_ = (bitField0_ & ~0x00000001);
17158            return this;
17159          }
17160    
17161          public Builder clone() {
17162            return create().mergeFrom(buildPartial());
17163          }
17164    
17165          public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry getDefaultInstanceForType() {
17166            return org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.getDefaultInstance();
17167          }
17168    
17169          public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry build() {
17170            org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry result = buildPartial();
17171            if (!result.isInitialized()) {
17172              throw newUninitializedMessageException(result);
17173            }
17174            return result;
17175          }
17176    
17177          public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry buildPartial() {
17178            org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry result = new org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry(this);
17179            int from_bitField0_ = bitField0_;
17180            int to_bitField0_ = 0;
17181            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
17182              to_bitField0_ |= 0x00000001;
17183            }
17184            result.name_ = name_;
17185            result.bitField0_ = to_bitField0_;
17186            return result;
17187          }
17188    
17189          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry other) {
17190            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.getDefaultInstance()) return this;
17191            if (other.hasName()) {
17192              setName(other.getName());
17193            }
17194            this.mergeExtensionFields(other);
17195            setUnknownFields(
17196                getUnknownFields().concat(other.unknownFields));
17197            return this;
17198          }
17199    
17200          public final boolean isInitialized() {
17201            if (!extensionsAreInitialized()) {
17202              
17203              return false;
17204            }
17205            return true;
17206          }
17207    
17208          public Builder mergeFrom(
17209              org.jetbrains.kotlin.protobuf.CodedInputStream input,
17210              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17211              throws java.io.IOException {
17212            org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parsedMessage = null;
17213            try {
17214              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
17215            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
17216              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry) e.getUnfinishedMessage();
17217              throw e;
17218            } finally {
17219              if (parsedMessage != null) {
17220                mergeFrom(parsedMessage);
17221              }
17222            }
17223            return this;
17224          }
17225          private int bitField0_;
17226    
17227          private int name_ ;
17228          /**
17229           * <code>optional int32 name = 1;</code>
17230           */
17231          public boolean hasName() {
17232            return ((bitField0_ & 0x00000001) == 0x00000001);
17233          }
17234          /**
17235           * <code>optional int32 name = 1;</code>
17236           */
17237          public int getName() {
17238            return name_;
17239          }
17240          /**
17241           * <code>optional int32 name = 1;</code>
17242           */
17243          public Builder setName(int value) {
17244            bitField0_ |= 0x00000001;
17245            name_ = value;
17246            
17247            return this;
17248          }
17249          /**
17250           * <code>optional int32 name = 1;</code>
17251           */
17252          public Builder clearName() {
17253            bitField0_ = (bitField0_ & ~0x00000001);
17254            name_ = 0;
17255            
17256            return this;
17257          }
17258    
17259          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.EnumEntry)
17260        }
17261    
17262        static {
17263          defaultInstance = new EnumEntry(true);
17264          defaultInstance.initFields();
17265        }
17266    
17267        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.EnumEntry)
17268      }
17269    
17270      public interface SinceKotlinInfoOrBuilder extends
17271          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.SinceKotlinInfo)
17272          org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
17273    
17274        /**
17275         * <code>optional int32 version = 1;</code>
17276         *
17277         * <pre>
17278         * Kotlin version, since which this declaration is accessible, in the following format (encoded version is "major.minor.patch"):
17279         * (patch &lt;&lt; 7) + (minor &lt;&lt; 3) + major
17280         * Compilers with version less than this value should report a diagnostic if this declaration is selected as the resolution result
17281         * </pre>
17282         */
17283        boolean hasVersion();
17284        /**
17285         * <code>optional int32 version = 1;</code>
17286         *
17287         * <pre>
17288         * Kotlin version, since which this declaration is accessible, in the following format (encoded version is "major.minor.patch"):
17289         * (patch &lt;&lt; 7) + (minor &lt;&lt; 3) + major
17290         * Compilers with version less than this value should report a diagnostic if this declaration is selected as the resolution result
17291         * </pre>
17292         */
17293        int getVersion();
17294    
17295        /**
17296         * <code>optional int32 version_full = 2;</code>
17297         *
17298         * <pre>
17299         * Version in base 256, in case we run out of space to store the version in the optimized form. Has priority over 'version'.
17300         * (patch &lt;&lt; 16) + (minor &lt;&lt; 8) + major
17301         * </pre>
17302         */
17303        boolean hasVersionFull();
17304        /**
17305         * <code>optional int32 version_full = 2;</code>
17306         *
17307         * <pre>
17308         * Version in base 256, in case we run out of space to store the version in the optimized form. Has priority over 'version'.
17309         * (patch &lt;&lt; 16) + (minor &lt;&lt; 8) + major
17310         * </pre>
17311         */
17312        int getVersionFull();
17313    
17314        /**
17315         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfo.Level level = 3 [default = ERROR];</code>
17316         *
17317         * <pre>
17318         * Level of the reported diagnostic
17319         * </pre>
17320         */
17321        boolean hasLevel();
17322        /**
17323         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfo.Level level = 3 [default = ERROR];</code>
17324         *
17325         * <pre>
17326         * Level of the reported diagnostic
17327         * </pre>
17328         */
17329        org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level getLevel();
17330    
17331        /**
17332         * <code>optional int32 error_code = 4;</code>
17333         *
17334         * <pre>
17335         * Error code, to be looked up on the website
17336         * </pre>
17337         */
17338        boolean hasErrorCode();
17339        /**
17340         * <code>optional int32 error_code = 4;</code>
17341         *
17342         * <pre>
17343         * Error code, to be looked up on the website
17344         * </pre>
17345         */
17346        int getErrorCode();
17347    
17348        /**
17349         * <code>optional int32 message = 5;</code>
17350         *
17351         * <pre>
17352         * Diagnostic message
17353         * </pre>
17354         */
17355        boolean hasMessage();
17356        /**
17357         * <code>optional int32 message = 5;</code>
17358         *
17359         * <pre>
17360         * Diagnostic message
17361         * </pre>
17362         */
17363        int getMessage();
17364      }
17365      /**
17366       * Protobuf type {@code org.jetbrains.kotlin.serialization.SinceKotlinInfo}
17367       */
17368      public static final class SinceKotlinInfo extends
17369          org.jetbrains.kotlin.protobuf.GeneratedMessageLite implements
17370          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.SinceKotlinInfo)
17371          SinceKotlinInfoOrBuilder {
17372        // Use SinceKotlinInfo.newBuilder() to construct.
17373        private SinceKotlinInfo(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) {
17374          super(builder);
17375          this.unknownFields = builder.getUnknownFields();
17376        }
17377        private SinceKotlinInfo(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
17378    
17379        private static final SinceKotlinInfo defaultInstance;
17380        public static SinceKotlinInfo getDefaultInstance() {
17381          return defaultInstance;
17382        }
17383    
17384        public SinceKotlinInfo getDefaultInstanceForType() {
17385          return defaultInstance;
17386        }
17387    
17388        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
17389        private SinceKotlinInfo(
17390            org.jetbrains.kotlin.protobuf.CodedInputStream input,
17391            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17392            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
17393          initFields();
17394          int mutable_bitField0_ = 0;
17395          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
17396              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
17397          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
17398              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
17399                  unknownFieldsOutput);
17400          try {
17401            boolean done = false;
17402            while (!done) {
17403              int tag = input.readTag();
17404              switch (tag) {
17405                case 0:
17406                  done = true;
17407                  break;
17408                default: {
17409                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
17410                                         extensionRegistry, tag)) {
17411                    done = true;
17412                  }
17413                  break;
17414                }
17415                case 8: {
17416                  bitField0_ |= 0x00000001;
17417                  version_ = input.readInt32();
17418                  break;
17419                }
17420                case 16: {
17421                  bitField0_ |= 0x00000002;
17422                  versionFull_ = input.readInt32();
17423                  break;
17424                }
17425                case 24: {
17426                  int rawValue = input.readEnum();
17427                  org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level value = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level.valueOf(rawValue);
17428                  if (value == null) {
17429                    unknownFieldsCodedOutput.writeRawVarint32(tag);
17430                    unknownFieldsCodedOutput.writeRawVarint32(rawValue);
17431                  } else {
17432                    bitField0_ |= 0x00000004;
17433                    level_ = value;
17434                  }
17435                  break;
17436                }
17437                case 32: {
17438                  bitField0_ |= 0x00000008;
17439                  errorCode_ = input.readInt32();
17440                  break;
17441                }
17442                case 40: {
17443                  bitField0_ |= 0x00000010;
17444                  message_ = input.readInt32();
17445                  break;
17446                }
17447              }
17448            }
17449          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
17450            throw e.setUnfinishedMessage(this);
17451          } catch (java.io.IOException e) {
17452            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
17453                e.getMessage()).setUnfinishedMessage(this);
17454          } finally {
17455            try {
17456              unknownFieldsCodedOutput.flush();
17457            } catch (java.io.IOException e) {
17458            // Should not happen
17459            } finally {
17460              unknownFields = unknownFieldsOutput.toByteString();
17461            }
17462            makeExtensionsImmutable();
17463          }
17464        }
17465        public static org.jetbrains.kotlin.protobuf.Parser<SinceKotlinInfo> PARSER =
17466            new org.jetbrains.kotlin.protobuf.AbstractParser<SinceKotlinInfo>() {
17467          public SinceKotlinInfo parsePartialFrom(
17468              org.jetbrains.kotlin.protobuf.CodedInputStream input,
17469              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17470              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
17471            return new SinceKotlinInfo(input, extensionRegistry);
17472          }
17473        };
17474    
17475        @java.lang.Override
17476        public org.jetbrains.kotlin.protobuf.Parser<SinceKotlinInfo> getParserForType() {
17477          return PARSER;
17478        }
17479    
17480        /**
17481         * Protobuf enum {@code org.jetbrains.kotlin.serialization.SinceKotlinInfo.Level}
17482         */
17483        public enum Level
17484            implements org.jetbrains.kotlin.protobuf.Internal.EnumLite {
17485          /**
17486           * <code>WARNING = 0;</code>
17487           */
17488          WARNING(0, 0),
17489          /**
17490           * <code>ERROR = 1;</code>
17491           */
17492          ERROR(1, 1),
17493          /**
17494           * <code>HIDDEN = 2;</code>
17495           */
17496          HIDDEN(2, 2),
17497          ;
17498    
17499          /**
17500           * <code>WARNING = 0;</code>
17501           */
17502          public static final int WARNING_VALUE = 0;
17503          /**
17504           * <code>ERROR = 1;</code>
17505           */
17506          public static final int ERROR_VALUE = 1;
17507          /**
17508           * <code>HIDDEN = 2;</code>
17509           */
17510          public static final int HIDDEN_VALUE = 2;
17511    
17512    
17513          public final int getNumber() { return value; }
17514    
17515          public static Level valueOf(int value) {
17516            switch (value) {
17517              case 0: return WARNING;
17518              case 1: return ERROR;
17519              case 2: return HIDDEN;
17520              default: return null;
17521            }
17522          }
17523    
17524          public static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Level>
17525              internalGetValueMap() {
17526            return internalValueMap;
17527          }
17528          private static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Level>
17529              internalValueMap =
17530                new org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Level>() {
17531                  public Level findValueByNumber(int number) {
17532                    return Level.valueOf(number);
17533                  }
17534                };
17535    
17536          private final int value;
17537    
17538          private Level(int index, int value) {
17539            this.value = value;
17540          }
17541    
17542          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.SinceKotlinInfo.Level)
17543        }
17544    
17545        private int bitField0_;
17546        public static final int VERSION_FIELD_NUMBER = 1;
17547        private int version_;
17548        /**
17549         * <code>optional int32 version = 1;</code>
17550         *
17551         * <pre>
17552         * Kotlin version, since which this declaration is accessible, in the following format (encoded version is "major.minor.patch"):
17553         * (patch &lt;&lt; 7) + (minor &lt;&lt; 3) + major
17554         * Compilers with version less than this value should report a diagnostic if this declaration is selected as the resolution result
17555         * </pre>
17556         */
17557        public boolean hasVersion() {
17558          return ((bitField0_ & 0x00000001) == 0x00000001);
17559        }
17560        /**
17561         * <code>optional int32 version = 1;</code>
17562         *
17563         * <pre>
17564         * Kotlin version, since which this declaration is accessible, in the following format (encoded version is "major.minor.patch"):
17565         * (patch &lt;&lt; 7) + (minor &lt;&lt; 3) + major
17566         * Compilers with version less than this value should report a diagnostic if this declaration is selected as the resolution result
17567         * </pre>
17568         */
17569        public int getVersion() {
17570          return version_;
17571        }
17572    
17573        public static final int VERSION_FULL_FIELD_NUMBER = 2;
17574        private int versionFull_;
17575        /**
17576         * <code>optional int32 version_full = 2;</code>
17577         *
17578         * <pre>
17579         * Version in base 256, in case we run out of space to store the version in the optimized form. Has priority over 'version'.
17580         * (patch &lt;&lt; 16) + (minor &lt;&lt; 8) + major
17581         * </pre>
17582         */
17583        public boolean hasVersionFull() {
17584          return ((bitField0_ & 0x00000002) == 0x00000002);
17585        }
17586        /**
17587         * <code>optional int32 version_full = 2;</code>
17588         *
17589         * <pre>
17590         * Version in base 256, in case we run out of space to store the version in the optimized form. Has priority over 'version'.
17591         * (patch &lt;&lt; 16) + (minor &lt;&lt; 8) + major
17592         * </pre>
17593         */
17594        public int getVersionFull() {
17595          return versionFull_;
17596        }
17597    
17598        public static final int LEVEL_FIELD_NUMBER = 3;
17599        private org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level level_;
17600        /**
17601         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfo.Level level = 3 [default = ERROR];</code>
17602         *
17603         * <pre>
17604         * Level of the reported diagnostic
17605         * </pre>
17606         */
17607        public boolean hasLevel() {
17608          return ((bitField0_ & 0x00000004) == 0x00000004);
17609        }
17610        /**
17611         * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfo.Level level = 3 [default = ERROR];</code>
17612         *
17613         * <pre>
17614         * Level of the reported diagnostic
17615         * </pre>
17616         */
17617        public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level getLevel() {
17618          return level_;
17619        }
17620    
17621        public static final int ERROR_CODE_FIELD_NUMBER = 4;
17622        private int errorCode_;
17623        /**
17624         * <code>optional int32 error_code = 4;</code>
17625         *
17626         * <pre>
17627         * Error code, to be looked up on the website
17628         * </pre>
17629         */
17630        public boolean hasErrorCode() {
17631          return ((bitField0_ & 0x00000008) == 0x00000008);
17632        }
17633        /**
17634         * <code>optional int32 error_code = 4;</code>
17635         *
17636         * <pre>
17637         * Error code, to be looked up on the website
17638         * </pre>
17639         */
17640        public int getErrorCode() {
17641          return errorCode_;
17642        }
17643    
17644        public static final int MESSAGE_FIELD_NUMBER = 5;
17645        private int message_;
17646        /**
17647         * <code>optional int32 message = 5;</code>
17648         *
17649         * <pre>
17650         * Diagnostic message
17651         * </pre>
17652         */
17653        public boolean hasMessage() {
17654          return ((bitField0_ & 0x00000010) == 0x00000010);
17655        }
17656        /**
17657         * <code>optional int32 message = 5;</code>
17658         *
17659         * <pre>
17660         * Diagnostic message
17661         * </pre>
17662         */
17663        public int getMessage() {
17664          return message_;
17665        }
17666    
17667        private void initFields() {
17668          version_ = 0;
17669          versionFull_ = 0;
17670          level_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level.ERROR;
17671          errorCode_ = 0;
17672          message_ = 0;
17673        }
17674        private byte memoizedIsInitialized = -1;
17675        public final boolean isInitialized() {
17676          byte isInitialized = memoizedIsInitialized;
17677          if (isInitialized == 1) return true;
17678          if (isInitialized == 0) return false;
17679    
17680          memoizedIsInitialized = 1;
17681          return true;
17682        }
17683    
17684        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
17685                            throws java.io.IOException {
17686          getSerializedSize();
17687          if (((bitField0_ & 0x00000001) == 0x00000001)) {
17688            output.writeInt32(1, version_);
17689          }
17690          if (((bitField0_ & 0x00000002) == 0x00000002)) {
17691            output.writeInt32(2, versionFull_);
17692          }
17693          if (((bitField0_ & 0x00000004) == 0x00000004)) {
17694            output.writeEnum(3, level_.getNumber());
17695          }
17696          if (((bitField0_ & 0x00000008) == 0x00000008)) {
17697            output.writeInt32(4, errorCode_);
17698          }
17699          if (((bitField0_ & 0x00000010) == 0x00000010)) {
17700            output.writeInt32(5, message_);
17701          }
17702          output.writeRawBytes(unknownFields);
17703        }
17704    
17705        private int memoizedSerializedSize = -1;
17706        public int getSerializedSize() {
17707          int size = memoizedSerializedSize;
17708          if (size != -1) return size;
17709    
17710          size = 0;
17711          if (((bitField0_ & 0x00000001) == 0x00000001)) {
17712            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
17713              .computeInt32Size(1, version_);
17714          }
17715          if (((bitField0_ & 0x00000002) == 0x00000002)) {
17716            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
17717              .computeInt32Size(2, versionFull_);
17718          }
17719          if (((bitField0_ & 0x00000004) == 0x00000004)) {
17720            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
17721              .computeEnumSize(3, level_.getNumber());
17722          }
17723          if (((bitField0_ & 0x00000008) == 0x00000008)) {
17724            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
17725              .computeInt32Size(4, errorCode_);
17726          }
17727          if (((bitField0_ & 0x00000010) == 0x00000010)) {
17728            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
17729              .computeInt32Size(5, message_);
17730          }
17731          size += unknownFields.size();
17732          memoizedSerializedSize = size;
17733          return size;
17734        }
17735    
17736        private static final long serialVersionUID = 0L;
17737        @java.lang.Override
17738        protected java.lang.Object writeReplace()
17739            throws java.io.ObjectStreamException {
17740          return super.writeReplace();
17741        }
17742    
17743        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parseFrom(
17744            org.jetbrains.kotlin.protobuf.ByteString data)
17745            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
17746          return PARSER.parseFrom(data);
17747        }
17748        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parseFrom(
17749            org.jetbrains.kotlin.protobuf.ByteString data,
17750            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17751            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
17752          return PARSER.parseFrom(data, extensionRegistry);
17753        }
17754        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parseFrom(byte[] data)
17755            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
17756          return PARSER.parseFrom(data);
17757        }
17758        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parseFrom(
17759            byte[] data,
17760            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17761            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
17762          return PARSER.parseFrom(data, extensionRegistry);
17763        }
17764        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parseFrom(java.io.InputStream input)
17765            throws java.io.IOException {
17766          return PARSER.parseFrom(input);
17767        }
17768        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parseFrom(
17769            java.io.InputStream input,
17770            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17771            throws java.io.IOException {
17772          return PARSER.parseFrom(input, extensionRegistry);
17773        }
17774        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parseDelimitedFrom(java.io.InputStream input)
17775            throws java.io.IOException {
17776          return PARSER.parseDelimitedFrom(input);
17777        }
17778        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parseDelimitedFrom(
17779            java.io.InputStream input,
17780            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17781            throws java.io.IOException {
17782          return PARSER.parseDelimitedFrom(input, extensionRegistry);
17783        }
17784        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parseFrom(
17785            org.jetbrains.kotlin.protobuf.CodedInputStream input)
17786            throws java.io.IOException {
17787          return PARSER.parseFrom(input);
17788        }
17789        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parseFrom(
17790            org.jetbrains.kotlin.protobuf.CodedInputStream input,
17791            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17792            throws java.io.IOException {
17793          return PARSER.parseFrom(input, extensionRegistry);
17794        }
17795    
17796        public static Builder newBuilder() { return Builder.create(); }
17797        public Builder newBuilderForType() { return newBuilder(); }
17798        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo prototype) {
17799          return newBuilder().mergeFrom(prototype);
17800        }
17801        public Builder toBuilder() { return newBuilder(this); }
17802    
17803        /**
17804         * Protobuf type {@code org.jetbrains.kotlin.serialization.SinceKotlinInfo}
17805         */
17806        public static final class Builder extends
17807            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder<
17808              org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo, Builder>
17809            implements
17810            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.SinceKotlinInfo)
17811            org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoOrBuilder {
17812          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.newBuilder()
17813          private Builder() {
17814            maybeForceBuilderInitialization();
17815          }
17816    
17817          private void maybeForceBuilderInitialization() {
17818          }
17819          private static Builder create() {
17820            return new Builder();
17821          }
17822    
17823          public Builder clear() {
17824            super.clear();
17825            version_ = 0;
17826            bitField0_ = (bitField0_ & ~0x00000001);
17827            versionFull_ = 0;
17828            bitField0_ = (bitField0_ & ~0x00000002);
17829            level_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level.ERROR;
17830            bitField0_ = (bitField0_ & ~0x00000004);
17831            errorCode_ = 0;
17832            bitField0_ = (bitField0_ & ~0x00000008);
17833            message_ = 0;
17834            bitField0_ = (bitField0_ & ~0x00000010);
17835            return this;
17836          }
17837    
17838          public Builder clone() {
17839            return create().mergeFrom(buildPartial());
17840          }
17841    
17842          public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo getDefaultInstanceForType() {
17843            return org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.getDefaultInstance();
17844          }
17845    
17846          public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo build() {
17847            org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo result = buildPartial();
17848            if (!result.isInitialized()) {
17849              throw newUninitializedMessageException(result);
17850            }
17851            return result;
17852          }
17853    
17854          public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo buildPartial() {
17855            org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo result = new org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo(this);
17856            int from_bitField0_ = bitField0_;
17857            int to_bitField0_ = 0;
17858            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
17859              to_bitField0_ |= 0x00000001;
17860            }
17861            result.version_ = version_;
17862            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
17863              to_bitField0_ |= 0x00000002;
17864            }
17865            result.versionFull_ = versionFull_;
17866            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
17867              to_bitField0_ |= 0x00000004;
17868            }
17869            result.level_ = level_;
17870            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
17871              to_bitField0_ |= 0x00000008;
17872            }
17873            result.errorCode_ = errorCode_;
17874            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
17875              to_bitField0_ |= 0x00000010;
17876            }
17877            result.message_ = message_;
17878            result.bitField0_ = to_bitField0_;
17879            return result;
17880          }
17881    
17882          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo other) {
17883            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.getDefaultInstance()) return this;
17884            if (other.hasVersion()) {
17885              setVersion(other.getVersion());
17886            }
17887            if (other.hasVersionFull()) {
17888              setVersionFull(other.getVersionFull());
17889            }
17890            if (other.hasLevel()) {
17891              setLevel(other.getLevel());
17892            }
17893            if (other.hasErrorCode()) {
17894              setErrorCode(other.getErrorCode());
17895            }
17896            if (other.hasMessage()) {
17897              setMessage(other.getMessage());
17898            }
17899            setUnknownFields(
17900                getUnknownFields().concat(other.unknownFields));
17901            return this;
17902          }
17903    
17904          public final boolean isInitialized() {
17905            return true;
17906          }
17907    
17908          public Builder mergeFrom(
17909              org.jetbrains.kotlin.protobuf.CodedInputStream input,
17910              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
17911              throws java.io.IOException {
17912            org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo parsedMessage = null;
17913            try {
17914              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
17915            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
17916              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo) e.getUnfinishedMessage();
17917              throw e;
17918            } finally {
17919              if (parsedMessage != null) {
17920                mergeFrom(parsedMessage);
17921              }
17922            }
17923            return this;
17924          }
17925          private int bitField0_;
17926    
17927          private int version_ ;
17928          /**
17929           * <code>optional int32 version = 1;</code>
17930           *
17931           * <pre>
17932           * Kotlin version, since which this declaration is accessible, in the following format (encoded version is "major.minor.patch"):
17933           * (patch &lt;&lt; 7) + (minor &lt;&lt; 3) + major
17934           * Compilers with version less than this value should report a diagnostic if this declaration is selected as the resolution result
17935           * </pre>
17936           */
17937          public boolean hasVersion() {
17938            return ((bitField0_ & 0x00000001) == 0x00000001);
17939          }
17940          /**
17941           * <code>optional int32 version = 1;</code>
17942           *
17943           * <pre>
17944           * Kotlin version, since which this declaration is accessible, in the following format (encoded version is "major.minor.patch"):
17945           * (patch &lt;&lt; 7) + (minor &lt;&lt; 3) + major
17946           * Compilers with version less than this value should report a diagnostic if this declaration is selected as the resolution result
17947           * </pre>
17948           */
17949          public int getVersion() {
17950            return version_;
17951          }
17952          /**
17953           * <code>optional int32 version = 1;</code>
17954           *
17955           * <pre>
17956           * Kotlin version, since which this declaration is accessible, in the following format (encoded version is "major.minor.patch"):
17957           * (patch &lt;&lt; 7) + (minor &lt;&lt; 3) + major
17958           * Compilers with version less than this value should report a diagnostic if this declaration is selected as the resolution result
17959           * </pre>
17960           */
17961          public Builder setVersion(int value) {
17962            bitField0_ |= 0x00000001;
17963            version_ = value;
17964            
17965            return this;
17966          }
17967          /**
17968           * <code>optional int32 version = 1;</code>
17969           *
17970           * <pre>
17971           * Kotlin version, since which this declaration is accessible, in the following format (encoded version is "major.minor.patch"):
17972           * (patch &lt;&lt; 7) + (minor &lt;&lt; 3) + major
17973           * Compilers with version less than this value should report a diagnostic if this declaration is selected as the resolution result
17974           * </pre>
17975           */
17976          public Builder clearVersion() {
17977            bitField0_ = (bitField0_ & ~0x00000001);
17978            version_ = 0;
17979            
17980            return this;
17981          }
17982    
17983          private int versionFull_ ;
17984          /**
17985           * <code>optional int32 version_full = 2;</code>
17986           *
17987           * <pre>
17988           * Version in base 256, in case we run out of space to store the version in the optimized form. Has priority over 'version'.
17989           * (patch &lt;&lt; 16) + (minor &lt;&lt; 8) + major
17990           * </pre>
17991           */
17992          public boolean hasVersionFull() {
17993            return ((bitField0_ & 0x00000002) == 0x00000002);
17994          }
17995          /**
17996           * <code>optional int32 version_full = 2;</code>
17997           *
17998           * <pre>
17999           * Version in base 256, in case we run out of space to store the version in the optimized form. Has priority over 'version'.
18000           * (patch &lt;&lt; 16) + (minor &lt;&lt; 8) + major
18001           * </pre>
18002           */
18003          public int getVersionFull() {
18004            return versionFull_;
18005          }
18006          /**
18007           * <code>optional int32 version_full = 2;</code>
18008           *
18009           * <pre>
18010           * Version in base 256, in case we run out of space to store the version in the optimized form. Has priority over 'version'.
18011           * (patch &lt;&lt; 16) + (minor &lt;&lt; 8) + major
18012           * </pre>
18013           */
18014          public Builder setVersionFull(int value) {
18015            bitField0_ |= 0x00000002;
18016            versionFull_ = value;
18017            
18018            return this;
18019          }
18020          /**
18021           * <code>optional int32 version_full = 2;</code>
18022           *
18023           * <pre>
18024           * Version in base 256, in case we run out of space to store the version in the optimized form. Has priority over 'version'.
18025           * (patch &lt;&lt; 16) + (minor &lt;&lt; 8) + major
18026           * </pre>
18027           */
18028          public Builder clearVersionFull() {
18029            bitField0_ = (bitField0_ & ~0x00000002);
18030            versionFull_ = 0;
18031            
18032            return this;
18033          }
18034    
18035          private org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level level_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level.ERROR;
18036          /**
18037           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfo.Level level = 3 [default = ERROR];</code>
18038           *
18039           * <pre>
18040           * Level of the reported diagnostic
18041           * </pre>
18042           */
18043          public boolean hasLevel() {
18044            return ((bitField0_ & 0x00000004) == 0x00000004);
18045          }
18046          /**
18047           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfo.Level level = 3 [default = ERROR];</code>
18048           *
18049           * <pre>
18050           * Level of the reported diagnostic
18051           * </pre>
18052           */
18053          public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level getLevel() {
18054            return level_;
18055          }
18056          /**
18057           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfo.Level level = 3 [default = ERROR];</code>
18058           *
18059           * <pre>
18060           * Level of the reported diagnostic
18061           * </pre>
18062           */
18063          public Builder setLevel(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level value) {
18064            if (value == null) {
18065              throw new NullPointerException();
18066            }
18067            bitField0_ |= 0x00000004;
18068            level_ = value;
18069            
18070            return this;
18071          }
18072          /**
18073           * <code>optional .org.jetbrains.kotlin.serialization.SinceKotlinInfo.Level level = 3 [default = ERROR];</code>
18074           *
18075           * <pre>
18076           * Level of the reported diagnostic
18077           * </pre>
18078           */
18079          public Builder clearLevel() {
18080            bitField0_ = (bitField0_ & ~0x00000004);
18081            level_ = org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Level.ERROR;
18082            
18083            return this;
18084          }
18085    
18086          private int errorCode_ ;
18087          /**
18088           * <code>optional int32 error_code = 4;</code>
18089           *
18090           * <pre>
18091           * Error code, to be looked up on the website
18092           * </pre>
18093           */
18094          public boolean hasErrorCode() {
18095            return ((bitField0_ & 0x00000008) == 0x00000008);
18096          }
18097          /**
18098           * <code>optional int32 error_code = 4;</code>
18099           *
18100           * <pre>
18101           * Error code, to be looked up on the website
18102           * </pre>
18103           */
18104          public int getErrorCode() {
18105            return errorCode_;
18106          }
18107          /**
18108           * <code>optional int32 error_code = 4;</code>
18109           *
18110           * <pre>
18111           * Error code, to be looked up on the website
18112           * </pre>
18113           */
18114          public Builder setErrorCode(int value) {
18115            bitField0_ |= 0x00000008;
18116            errorCode_ = value;
18117            
18118            return this;
18119          }
18120          /**
18121           * <code>optional int32 error_code = 4;</code>
18122           *
18123           * <pre>
18124           * Error code, to be looked up on the website
18125           * </pre>
18126           */
18127          public Builder clearErrorCode() {
18128            bitField0_ = (bitField0_ & ~0x00000008);
18129            errorCode_ = 0;
18130            
18131            return this;
18132          }
18133    
18134          private int message_ ;
18135          /**
18136           * <code>optional int32 message = 5;</code>
18137           *
18138           * <pre>
18139           * Diagnostic message
18140           * </pre>
18141           */
18142          public boolean hasMessage() {
18143            return ((bitField0_ & 0x00000010) == 0x00000010);
18144          }
18145          /**
18146           * <code>optional int32 message = 5;</code>
18147           *
18148           * <pre>
18149           * Diagnostic message
18150           * </pre>
18151           */
18152          public int getMessage() {
18153            return message_;
18154          }
18155          /**
18156           * <code>optional int32 message = 5;</code>
18157           *
18158           * <pre>
18159           * Diagnostic message
18160           * </pre>
18161           */
18162          public Builder setMessage(int value) {
18163            bitField0_ |= 0x00000010;
18164            message_ = value;
18165            
18166            return this;
18167          }
18168          /**
18169           * <code>optional int32 message = 5;</code>
18170           *
18171           * <pre>
18172           * Diagnostic message
18173           * </pre>
18174           */
18175          public Builder clearMessage() {
18176            bitField0_ = (bitField0_ & ~0x00000010);
18177            message_ = 0;
18178            
18179            return this;
18180          }
18181    
18182          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.SinceKotlinInfo)
18183        }
18184    
18185        static {
18186          defaultInstance = new SinceKotlinInfo(true);
18187          defaultInstance.initFields();
18188        }
18189    
18190        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.SinceKotlinInfo)
18191      }
18192    
18193      public interface SinceKotlinInfoTableOrBuilder extends
18194          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.SinceKotlinInfoTable)
18195          org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
18196    
18197        /**
18198         * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
18199         */
18200        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo> 
18201            getInfoList();
18202        /**
18203         * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
18204         */
18205        org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo getInfo(int index);
18206        /**
18207         * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
18208         */
18209        int getInfoCount();
18210      }
18211      /**
18212       * Protobuf type {@code org.jetbrains.kotlin.serialization.SinceKotlinInfoTable}
18213       */
18214      public static final class SinceKotlinInfoTable extends
18215          org.jetbrains.kotlin.protobuf.GeneratedMessageLite implements
18216          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.SinceKotlinInfoTable)
18217          SinceKotlinInfoTableOrBuilder {
18218        // Use SinceKotlinInfoTable.newBuilder() to construct.
18219        private SinceKotlinInfoTable(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) {
18220          super(builder);
18221          this.unknownFields = builder.getUnknownFields();
18222        }
18223        private SinceKotlinInfoTable(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
18224    
18225        private static final SinceKotlinInfoTable defaultInstance;
18226        public static SinceKotlinInfoTable getDefaultInstance() {
18227          return defaultInstance;
18228        }
18229    
18230        public SinceKotlinInfoTable getDefaultInstanceForType() {
18231          return defaultInstance;
18232        }
18233    
18234        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
18235        private SinceKotlinInfoTable(
18236            org.jetbrains.kotlin.protobuf.CodedInputStream input,
18237            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
18238            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
18239          initFields();
18240          int mutable_bitField0_ = 0;
18241          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
18242              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
18243          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
18244              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
18245                  unknownFieldsOutput);
18246          try {
18247            boolean done = false;
18248            while (!done) {
18249              int tag = input.readTag();
18250              switch (tag) {
18251                case 0:
18252                  done = true;
18253                  break;
18254                default: {
18255                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
18256                                         extensionRegistry, tag)) {
18257                    done = true;
18258                  }
18259                  break;
18260                }
18261                case 10: {
18262                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
18263                    info_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo>();
18264                    mutable_bitField0_ |= 0x00000001;
18265                  }
18266                  info_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.PARSER, extensionRegistry));
18267                  break;
18268                }
18269              }
18270            }
18271          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
18272            throw e.setUnfinishedMessage(this);
18273          } catch (java.io.IOException e) {
18274            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
18275                e.getMessage()).setUnfinishedMessage(this);
18276          } finally {
18277            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
18278              info_ = java.util.Collections.unmodifiableList(info_);
18279            }
18280            try {
18281              unknownFieldsCodedOutput.flush();
18282            } catch (java.io.IOException e) {
18283            // Should not happen
18284            } finally {
18285              unknownFields = unknownFieldsOutput.toByteString();
18286            }
18287            makeExtensionsImmutable();
18288          }
18289        }
18290        public static org.jetbrains.kotlin.protobuf.Parser<SinceKotlinInfoTable> PARSER =
18291            new org.jetbrains.kotlin.protobuf.AbstractParser<SinceKotlinInfoTable>() {
18292          public SinceKotlinInfoTable parsePartialFrom(
18293              org.jetbrains.kotlin.protobuf.CodedInputStream input,
18294              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
18295              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
18296            return new SinceKotlinInfoTable(input, extensionRegistry);
18297          }
18298        };
18299    
18300        @java.lang.Override
18301        public org.jetbrains.kotlin.protobuf.Parser<SinceKotlinInfoTable> getParserForType() {
18302          return PARSER;
18303        }
18304    
18305        public static final int INFO_FIELD_NUMBER = 1;
18306        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo> info_;
18307        /**
18308         * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
18309         */
18310        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo> getInfoList() {
18311          return info_;
18312        }
18313        /**
18314         * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
18315         */
18316        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoOrBuilder> 
18317            getInfoOrBuilderList() {
18318          return info_;
18319        }
18320        /**
18321         * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
18322         */
18323        public int getInfoCount() {
18324          return info_.size();
18325        }
18326        /**
18327         * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
18328         */
18329        public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo getInfo(int index) {
18330          return info_.get(index);
18331        }
18332        /**
18333         * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
18334         */
18335        public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoOrBuilder getInfoOrBuilder(
18336            int index) {
18337          return info_.get(index);
18338        }
18339    
18340        private void initFields() {
18341          info_ = java.util.Collections.emptyList();
18342        }
18343        private byte memoizedIsInitialized = -1;
18344        public final boolean isInitialized() {
18345          byte isInitialized = memoizedIsInitialized;
18346          if (isInitialized == 1) return true;
18347          if (isInitialized == 0) return false;
18348    
18349          memoizedIsInitialized = 1;
18350          return true;
18351        }
18352    
18353        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
18354                            throws java.io.IOException {
18355          getSerializedSize();
18356          for (int i = 0; i < info_.size(); i++) {
18357            output.writeMessage(1, info_.get(i));
18358          }
18359          output.writeRawBytes(unknownFields);
18360        }
18361    
18362        private int memoizedSerializedSize = -1;
18363        public int getSerializedSize() {
18364          int size = memoizedSerializedSize;
18365          if (size != -1) return size;
18366    
18367          size = 0;
18368          for (int i = 0; i < info_.size(); i++) {
18369            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
18370              .computeMessageSize(1, info_.get(i));
18371          }
18372          size += unknownFields.size();
18373          memoizedSerializedSize = size;
18374          return size;
18375        }
18376    
18377        private static final long serialVersionUID = 0L;
18378        @java.lang.Override
18379        protected java.lang.Object writeReplace()
18380            throws java.io.ObjectStreamException {
18381          return super.writeReplace();
18382        }
18383    
18384        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parseFrom(
18385            org.jetbrains.kotlin.protobuf.ByteString data)
18386            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
18387          return PARSER.parseFrom(data);
18388        }
18389        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parseFrom(
18390            org.jetbrains.kotlin.protobuf.ByteString data,
18391            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
18392            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
18393          return PARSER.parseFrom(data, extensionRegistry);
18394        }
18395        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parseFrom(byte[] data)
18396            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
18397          return PARSER.parseFrom(data);
18398        }
18399        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parseFrom(
18400            byte[] data,
18401            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
18402            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
18403          return PARSER.parseFrom(data, extensionRegistry);
18404        }
18405        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parseFrom(java.io.InputStream input)
18406            throws java.io.IOException {
18407          return PARSER.parseFrom(input);
18408        }
18409        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parseFrom(
18410            java.io.InputStream input,
18411            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
18412            throws java.io.IOException {
18413          return PARSER.parseFrom(input, extensionRegistry);
18414        }
18415        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parseDelimitedFrom(java.io.InputStream input)
18416            throws java.io.IOException {
18417          return PARSER.parseDelimitedFrom(input);
18418        }
18419        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parseDelimitedFrom(
18420            java.io.InputStream input,
18421            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
18422            throws java.io.IOException {
18423          return PARSER.parseDelimitedFrom(input, extensionRegistry);
18424        }
18425        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parseFrom(
18426            org.jetbrains.kotlin.protobuf.CodedInputStream input)
18427            throws java.io.IOException {
18428          return PARSER.parseFrom(input);
18429        }
18430        public static org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parseFrom(
18431            org.jetbrains.kotlin.protobuf.CodedInputStream input,
18432            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
18433            throws java.io.IOException {
18434          return PARSER.parseFrom(input, extensionRegistry);
18435        }
18436    
18437        public static Builder newBuilder() { return Builder.create(); }
18438        public Builder newBuilderForType() { return newBuilder(); }
18439        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable prototype) {
18440          return newBuilder().mergeFrom(prototype);
18441        }
18442        public Builder toBuilder() { return newBuilder(this); }
18443    
18444        /**
18445         * Protobuf type {@code org.jetbrains.kotlin.serialization.SinceKotlinInfoTable}
18446         */
18447        public static final class Builder extends
18448            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder<
18449              org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable, Builder>
18450            implements
18451            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.SinceKotlinInfoTable)
18452            org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTableOrBuilder {
18453          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.newBuilder()
18454          private Builder() {
18455            maybeForceBuilderInitialization();
18456          }
18457    
18458          private void maybeForceBuilderInitialization() {
18459          }
18460          private static Builder create() {
18461            return new Builder();
18462          }
18463    
18464          public Builder clear() {
18465            super.clear();
18466            info_ = java.util.Collections.emptyList();
18467            bitField0_ = (bitField0_ & ~0x00000001);
18468            return this;
18469          }
18470    
18471          public Builder clone() {
18472            return create().mergeFrom(buildPartial());
18473          }
18474    
18475          public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable getDefaultInstanceForType() {
18476            return org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance();
18477          }
18478    
18479          public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable build() {
18480            org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable result = buildPartial();
18481            if (!result.isInitialized()) {
18482              throw newUninitializedMessageException(result);
18483            }
18484            return result;
18485          }
18486    
18487          public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable buildPartial() {
18488            org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable result = new org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable(this);
18489            int from_bitField0_ = bitField0_;
18490            if (((bitField0_ & 0x00000001) == 0x00000001)) {
18491              info_ = java.util.Collections.unmodifiableList(info_);
18492              bitField0_ = (bitField0_ & ~0x00000001);
18493            }
18494            result.info_ = info_;
18495            return result;
18496          }
18497    
18498          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable other) {
18499            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable.getDefaultInstance()) return this;
18500            if (!other.info_.isEmpty()) {
18501              if (info_.isEmpty()) {
18502                info_ = other.info_;
18503                bitField0_ = (bitField0_ & ~0x00000001);
18504              } else {
18505                ensureInfoIsMutable();
18506                info_.addAll(other.info_);
18507              }
18508              
18509            }
18510            setUnknownFields(
18511                getUnknownFields().concat(other.unknownFields));
18512            return this;
18513          }
18514    
18515          public final boolean isInitialized() {
18516            return true;
18517          }
18518    
18519          public Builder mergeFrom(
18520              org.jetbrains.kotlin.protobuf.CodedInputStream input,
18521              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
18522              throws java.io.IOException {
18523            org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable parsedMessage = null;
18524            try {
18525              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
18526            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
18527              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfoTable) e.getUnfinishedMessage();
18528              throw e;
18529            } finally {
18530              if (parsedMessage != null) {
18531                mergeFrom(parsedMessage);
18532              }
18533            }
18534            return this;
18535          }
18536          private int bitField0_;
18537    
18538          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo> info_ =
18539            java.util.Collections.emptyList();
18540          private void ensureInfoIsMutable() {
18541            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
18542              info_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo>(info_);
18543              bitField0_ |= 0x00000001;
18544             }
18545          }
18546    
18547          /**
18548           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
18549           */
18550          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo> getInfoList() {
18551            return java.util.Collections.unmodifiableList(info_);
18552          }
18553          /**
18554           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
18555           */
18556          public int getInfoCount() {
18557            return info_.size();
18558          }
18559          /**
18560           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
18561           */
18562          public org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo getInfo(int index) {
18563            return info_.get(index);
18564          }
18565          /**
18566           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
18567           */
18568          public Builder setInfo(
18569              int index, org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo value) {
18570            if (value == null) {
18571              throw new NullPointerException();
18572            }
18573            ensureInfoIsMutable();
18574            info_.set(index, value);
18575    
18576            return this;
18577          }
18578          /**
18579           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
18580           */
18581          public Builder setInfo(
18582              int index, org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Builder builderForValue) {
18583            ensureInfoIsMutable();
18584            info_.set(index, builderForValue.build());
18585    
18586            return this;
18587          }
18588          /**
18589           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
18590           */
18591          public Builder addInfo(org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo value) {
18592            if (value == null) {
18593              throw new NullPointerException();
18594            }
18595            ensureInfoIsMutable();
18596            info_.add(value);
18597    
18598            return this;
18599          }
18600          /**
18601           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
18602           */
18603          public Builder addInfo(
18604              int index, org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo value) {
18605            if (value == null) {
18606              throw new NullPointerException();
18607            }
18608            ensureInfoIsMutable();
18609            info_.add(index, value);
18610    
18611            return this;
18612          }
18613          /**
18614           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
18615           */
18616          public Builder addInfo(
18617              org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Builder builderForValue) {
18618            ensureInfoIsMutable();
18619            info_.add(builderForValue.build());
18620    
18621            return this;
18622          }
18623          /**
18624           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
18625           */
18626          public Builder addInfo(
18627              int index, org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo.Builder builderForValue) {
18628            ensureInfoIsMutable();
18629            info_.add(index, builderForValue.build());
18630    
18631            return this;
18632          }
18633          /**
18634           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
18635           */
18636          public Builder addAllInfo(
18637              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.SinceKotlinInfo> values) {
18638            ensureInfoIsMutable();
18639            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
18640                values, info_);
18641    
18642            return this;
18643          }
18644          /**
18645           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
18646           */
18647          public Builder clearInfo() {
18648            info_ = java.util.Collections.emptyList();
18649            bitField0_ = (bitField0_ & ~0x00000001);
18650    
18651            return this;
18652          }
18653          /**
18654           * <code>repeated .org.jetbrains.kotlin.serialization.SinceKotlinInfo info = 1;</code>
18655           */
18656          public Builder removeInfo(int index) {
18657            ensureInfoIsMutable();
18658            info_.remove(index);
18659    
18660            return this;
18661          }
18662    
18663          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.SinceKotlinInfoTable)
18664        }
18665    
18666        static {
18667          defaultInstance = new SinceKotlinInfoTable(true);
18668          defaultInstance.initFields();
18669        }
18670    
18671        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.SinceKotlinInfoTable)
18672      }
18673    
18674    
18675      static {
18676      }
18677    
18678      // @@protoc_insertion_point(outer_class_scope)
18679    }