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       * Protobuf type {@code org.jetbrains.kotlin.serialization.Class}
7663       */
7664      public static final class Class extends
7665          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
7666            Class> implements
7667          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Class)
7668          ClassOrBuilder {
7669        // Use Class.newBuilder() to construct.
7670        private Class(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Class, ?> builder) {
7671          super(builder);
7672          this.unknownFields = builder.getUnknownFields();
7673        }
7674        private Class(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
7675    
7676        private static final Class defaultInstance;
7677        public static Class getDefaultInstance() {
7678          return defaultInstance;
7679        }
7680    
7681        public Class getDefaultInstanceForType() {
7682          return defaultInstance;
7683        }
7684    
7685        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
7686        private Class(
7687            org.jetbrains.kotlin.protobuf.CodedInputStream input,
7688            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
7689            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
7690          initFields();
7691          int mutable_bitField0_ = 0;
7692          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
7693              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
7694          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
7695              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
7696                  unknownFieldsOutput);
7697          try {
7698            boolean done = false;
7699            while (!done) {
7700              int tag = input.readTag();
7701              switch (tag) {
7702                case 0:
7703                  done = true;
7704                  break;
7705                default: {
7706                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
7707                                         extensionRegistry, tag)) {
7708                    done = true;
7709                  }
7710                  break;
7711                }
7712                case 8: {
7713                  bitField0_ |= 0x00000001;
7714                  flags_ = input.readInt32();
7715                  break;
7716                }
7717                case 16: {
7718                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
7719                    supertypeId_ = new java.util.ArrayList<java.lang.Integer>();
7720                    mutable_bitField0_ |= 0x00000020;
7721                  }
7722                  supertypeId_.add(input.readInt32());
7723                  break;
7724                }
7725                case 18: {
7726                  int length = input.readRawVarint32();
7727                  int limit = input.pushLimit(length);
7728                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
7729                    supertypeId_ = new java.util.ArrayList<java.lang.Integer>();
7730                    mutable_bitField0_ |= 0x00000020;
7731                  }
7732                  while (input.getBytesUntilLimit() > 0) {
7733                    supertypeId_.add(input.readInt32());
7734                  }
7735                  input.popLimit(limit);
7736                  break;
7737                }
7738                case 24: {
7739                  bitField0_ |= 0x00000002;
7740                  fqName_ = input.readInt32();
7741                  break;
7742                }
7743                case 32: {
7744                  bitField0_ |= 0x00000004;
7745                  companionObjectName_ = input.readInt32();
7746                  break;
7747                }
7748                case 42: {
7749                  if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
7750                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
7751                    mutable_bitField0_ |= 0x00000008;
7752                  }
7753                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
7754                  break;
7755                }
7756                case 50: {
7757                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7758                    supertype_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
7759                    mutable_bitField0_ |= 0x00000010;
7760                  }
7761                  supertype_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
7762                  break;
7763                }
7764                case 56: {
7765                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
7766                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
7767                    mutable_bitField0_ |= 0x00000040;
7768                  }
7769                  nestedClassName_.add(input.readInt32());
7770                  break;
7771                }
7772                case 58: {
7773                  int length = input.readRawVarint32();
7774                  int limit = input.pushLimit(length);
7775                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) {
7776                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
7777                    mutable_bitField0_ |= 0x00000040;
7778                  }
7779                  while (input.getBytesUntilLimit() > 0) {
7780                    nestedClassName_.add(input.readInt32());
7781                  }
7782                  input.popLimit(limit);
7783                  break;
7784                }
7785                case 66: {
7786                  if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
7787                    constructor_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor>();
7788                    mutable_bitField0_ |= 0x00000080;
7789                  }
7790                  constructor_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.PARSER, extensionRegistry));
7791                  break;
7792                }
7793                case 74: {
7794                  if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
7795                    function_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Function>();
7796                    mutable_bitField0_ |= 0x00000100;
7797                  }
7798                  function_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Function.PARSER, extensionRegistry));
7799                  break;
7800                }
7801                case 82: {
7802                  if (!((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
7803                    property_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Property>();
7804                    mutable_bitField0_ |= 0x00000200;
7805                  }
7806                  property_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Property.PARSER, extensionRegistry));
7807                  break;
7808                }
7809                case 106: {
7810                  if (!((mutable_bitField0_ & 0x00000400) == 0x00000400)) {
7811                    enumEntry_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry>();
7812                    mutable_bitField0_ |= 0x00000400;
7813                  }
7814                  enumEntry_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.PARSER, extensionRegistry));
7815                  break;
7816                }
7817                case 242: {
7818                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder subBuilder = null;
7819                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
7820                    subBuilder = typeTable_.toBuilder();
7821                  }
7822                  typeTable_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.PARSER, extensionRegistry);
7823                  if (subBuilder != null) {
7824                    subBuilder.mergeFrom(typeTable_);
7825                    typeTable_ = subBuilder.buildPartial();
7826                  }
7827                  bitField0_ |= 0x00000008;
7828                  break;
7829                }
7830              }
7831            }
7832          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
7833            throw e.setUnfinishedMessage(this);
7834          } catch (java.io.IOException e) {
7835            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
7836                e.getMessage()).setUnfinishedMessage(this);
7837          } finally {
7838            if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
7839              supertypeId_ = java.util.Collections.unmodifiableList(supertypeId_);
7840            }
7841            if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
7842              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
7843            }
7844            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7845              supertype_ = java.util.Collections.unmodifiableList(supertype_);
7846            }
7847            if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
7848              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
7849            }
7850            if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
7851              constructor_ = java.util.Collections.unmodifiableList(constructor_);
7852            }
7853            if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
7854              function_ = java.util.Collections.unmodifiableList(function_);
7855            }
7856            if (((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
7857              property_ = java.util.Collections.unmodifiableList(property_);
7858            }
7859            if (((mutable_bitField0_ & 0x00000400) == 0x00000400)) {
7860              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
7861            }
7862            try {
7863              unknownFieldsCodedOutput.flush();
7864            } catch (java.io.IOException e) {
7865            // Should not happen
7866            } finally {
7867              unknownFields = unknownFieldsOutput.toByteString();
7868            }
7869            makeExtensionsImmutable();
7870          }
7871        }
7872        public static org.jetbrains.kotlin.protobuf.Parser<Class> PARSER =
7873            new org.jetbrains.kotlin.protobuf.AbstractParser<Class>() {
7874          public Class parsePartialFrom(
7875              org.jetbrains.kotlin.protobuf.CodedInputStream input,
7876              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
7877              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
7878            return new Class(input, extensionRegistry);
7879          }
7880        };
7881    
7882        @java.lang.Override
7883        public org.jetbrains.kotlin.protobuf.Parser<Class> getParserForType() {
7884          return PARSER;
7885        }
7886    
7887        /**
7888         * Protobuf enum {@code org.jetbrains.kotlin.serialization.Class.Kind}
7889         */
7890        public enum Kind
7891            implements org.jetbrains.kotlin.protobuf.Internal.EnumLite {
7892          /**
7893           * <code>CLASS = 0;</code>
7894           *
7895           * <pre>
7896           * 3 bits
7897           * </pre>
7898           */
7899          CLASS(0, 0),
7900          /**
7901           * <code>INTERFACE = 1;</code>
7902           */
7903          INTERFACE(1, 1),
7904          /**
7905           * <code>ENUM_CLASS = 2;</code>
7906           */
7907          ENUM_CLASS(2, 2),
7908          /**
7909           * <code>ENUM_ENTRY = 3;</code>
7910           */
7911          ENUM_ENTRY(3, 3),
7912          /**
7913           * <code>ANNOTATION_CLASS = 4;</code>
7914           */
7915          ANNOTATION_CLASS(4, 4),
7916          /**
7917           * <code>OBJECT = 5;</code>
7918           */
7919          OBJECT(5, 5),
7920          /**
7921           * <code>COMPANION_OBJECT = 6;</code>
7922           */
7923          COMPANION_OBJECT(6, 6),
7924          ;
7925    
7926          /**
7927           * <code>CLASS = 0;</code>
7928           *
7929           * <pre>
7930           * 3 bits
7931           * </pre>
7932           */
7933          public static final int CLASS_VALUE = 0;
7934          /**
7935           * <code>INTERFACE = 1;</code>
7936           */
7937          public static final int INTERFACE_VALUE = 1;
7938          /**
7939           * <code>ENUM_CLASS = 2;</code>
7940           */
7941          public static final int ENUM_CLASS_VALUE = 2;
7942          /**
7943           * <code>ENUM_ENTRY = 3;</code>
7944           */
7945          public static final int ENUM_ENTRY_VALUE = 3;
7946          /**
7947           * <code>ANNOTATION_CLASS = 4;</code>
7948           */
7949          public static final int ANNOTATION_CLASS_VALUE = 4;
7950          /**
7951           * <code>OBJECT = 5;</code>
7952           */
7953          public static final int OBJECT_VALUE = 5;
7954          /**
7955           * <code>COMPANION_OBJECT = 6;</code>
7956           */
7957          public static final int COMPANION_OBJECT_VALUE = 6;
7958    
7959    
7960          public final int getNumber() { return value; }
7961    
7962          public static Kind valueOf(int value) {
7963            switch (value) {
7964              case 0: return CLASS;
7965              case 1: return INTERFACE;
7966              case 2: return ENUM_CLASS;
7967              case 3: return ENUM_ENTRY;
7968              case 4: return ANNOTATION_CLASS;
7969              case 5: return OBJECT;
7970              case 6: return COMPANION_OBJECT;
7971              default: return null;
7972            }
7973          }
7974    
7975          public static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Kind>
7976              internalGetValueMap() {
7977            return internalValueMap;
7978          }
7979          private static org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Kind>
7980              internalValueMap =
7981                new org.jetbrains.kotlin.protobuf.Internal.EnumLiteMap<Kind>() {
7982                  public Kind findValueByNumber(int number) {
7983                    return Kind.valueOf(number);
7984                  }
7985                };
7986    
7987          private final int value;
7988    
7989          private Kind(int index, int value) {
7990            this.value = value;
7991          }
7992    
7993          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Class.Kind)
7994        }
7995    
7996        private int bitField0_;
7997        public static final int FLAGS_FIELD_NUMBER = 1;
7998        private int flags_;
7999        /**
8000         * <code>optional int32 flags = 1 [default = 6];</code>
8001         *
8002         * <pre>
8003         *hasAnnotations
8004         *Visibility
8005         *Modality
8006         *ClassKind
8007         *isInner
8008         *isData
8009         * </pre>
8010         */
8011        public boolean hasFlags() {
8012          return ((bitField0_ & 0x00000001) == 0x00000001);
8013        }
8014        /**
8015         * <code>optional int32 flags = 1 [default = 6];</code>
8016         *
8017         * <pre>
8018         *hasAnnotations
8019         *Visibility
8020         *Modality
8021         *ClassKind
8022         *isInner
8023         *isData
8024         * </pre>
8025         */
8026        public int getFlags() {
8027          return flags_;
8028        }
8029    
8030        public static final int FQ_NAME_FIELD_NUMBER = 3;
8031        private int fqName_;
8032        /**
8033         * <code>required int32 fq_name = 3;</code>
8034         */
8035        public boolean hasFqName() {
8036          return ((bitField0_ & 0x00000002) == 0x00000002);
8037        }
8038        /**
8039         * <code>required int32 fq_name = 3;</code>
8040         */
8041        public int getFqName() {
8042          return fqName_;
8043        }
8044    
8045        public static final int COMPANION_OBJECT_NAME_FIELD_NUMBER = 4;
8046        private int companionObjectName_;
8047        /**
8048         * <code>optional int32 companion_object_name = 4;</code>
8049         */
8050        public boolean hasCompanionObjectName() {
8051          return ((bitField0_ & 0x00000004) == 0x00000004);
8052        }
8053        /**
8054         * <code>optional int32 companion_object_name = 4;</code>
8055         */
8056        public int getCompanionObjectName() {
8057          return companionObjectName_;
8058        }
8059    
8060        public static final int TYPE_PARAMETER_FIELD_NUMBER = 5;
8061        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
8062        /**
8063         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8064         */
8065        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
8066          return typeParameter_;
8067        }
8068        /**
8069         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8070         */
8071        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
8072            getTypeParameterOrBuilderList() {
8073          return typeParameter_;
8074        }
8075        /**
8076         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8077         */
8078        public int getTypeParameterCount() {
8079          return typeParameter_.size();
8080        }
8081        /**
8082         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8083         */
8084        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
8085          return typeParameter_.get(index);
8086        }
8087        /**
8088         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8089         */
8090        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
8091            int index) {
8092          return typeParameter_.get(index);
8093        }
8094    
8095        public static final int SUPERTYPE_FIELD_NUMBER = 6;
8096        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> supertype_;
8097        /**
8098         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8099         */
8100        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getSupertypeList() {
8101          return supertype_;
8102        }
8103        /**
8104         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8105         */
8106        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
8107            getSupertypeOrBuilderList() {
8108          return supertype_;
8109        }
8110        /**
8111         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8112         */
8113        public int getSupertypeCount() {
8114          return supertype_.size();
8115        }
8116        /**
8117         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8118         */
8119        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index) {
8120          return supertype_.get(index);
8121        }
8122        /**
8123         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8124         */
8125        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getSupertypeOrBuilder(
8126            int index) {
8127          return supertype_.get(index);
8128        }
8129    
8130        public static final int SUPERTYPE_ID_FIELD_NUMBER = 2;
8131        private java.util.List<java.lang.Integer> supertypeId_;
8132        /**
8133         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
8134         */
8135        public java.util.List<java.lang.Integer>
8136            getSupertypeIdList() {
8137          return supertypeId_;
8138        }
8139        /**
8140         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
8141         */
8142        public int getSupertypeIdCount() {
8143          return supertypeId_.size();
8144        }
8145        /**
8146         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
8147         */
8148        public int getSupertypeId(int index) {
8149          return supertypeId_.get(index);
8150        }
8151        private int supertypeIdMemoizedSerializedSize = -1;
8152    
8153        public static final int NESTED_CLASS_NAME_FIELD_NUMBER = 7;
8154        private java.util.List<java.lang.Integer> nestedClassName_;
8155        /**
8156         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
8157         */
8158        public java.util.List<java.lang.Integer>
8159            getNestedClassNameList() {
8160          return nestedClassName_;
8161        }
8162        /**
8163         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
8164         */
8165        public int getNestedClassNameCount() {
8166          return nestedClassName_.size();
8167        }
8168        /**
8169         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
8170         */
8171        public int getNestedClassName(int index) {
8172          return nestedClassName_.get(index);
8173        }
8174        private int nestedClassNameMemoizedSerializedSize = -1;
8175    
8176        public static final int CONSTRUCTOR_FIELD_NUMBER = 8;
8177        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> constructor_;
8178        /**
8179         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8180         */
8181        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> getConstructorList() {
8182          return constructor_;
8183        }
8184        /**
8185         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8186         */
8187        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ConstructorOrBuilder> 
8188            getConstructorOrBuilderList() {
8189          return constructor_;
8190        }
8191        /**
8192         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8193         */
8194        public int getConstructorCount() {
8195          return constructor_.size();
8196        }
8197        /**
8198         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8199         */
8200        public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor getConstructor(int index) {
8201          return constructor_.get(index);
8202        }
8203        /**
8204         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8205         */
8206        public org.jetbrains.kotlin.serialization.ProtoBuf.ConstructorOrBuilder getConstructorOrBuilder(
8207            int index) {
8208          return constructor_.get(index);
8209        }
8210    
8211        public static final int FUNCTION_FIELD_NUMBER = 9;
8212        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> function_;
8213        /**
8214         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8215         */
8216        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> getFunctionList() {
8217          return function_;
8218        }
8219        /**
8220         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8221         */
8222        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder> 
8223            getFunctionOrBuilderList() {
8224          return function_;
8225        }
8226        /**
8227         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8228         */
8229        public int getFunctionCount() {
8230          return function_.size();
8231        }
8232        /**
8233         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8234         */
8235        public org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index) {
8236          return function_.get(index);
8237        }
8238        /**
8239         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8240         */
8241        public org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder getFunctionOrBuilder(
8242            int index) {
8243          return function_.get(index);
8244        }
8245    
8246        public static final int PROPERTY_FIELD_NUMBER = 10;
8247        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> property_;
8248        /**
8249         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8250         */
8251        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> getPropertyList() {
8252          return property_;
8253        }
8254        /**
8255         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8256         */
8257        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder> 
8258            getPropertyOrBuilderList() {
8259          return property_;
8260        }
8261        /**
8262         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8263         */
8264        public int getPropertyCount() {
8265          return property_.size();
8266        }
8267        /**
8268         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8269         */
8270        public org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index) {
8271          return property_.get(index);
8272        }
8273        /**
8274         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8275         */
8276        public org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder getPropertyOrBuilder(
8277            int index) {
8278          return property_.get(index);
8279        }
8280    
8281        public static final int ENUM_ENTRY_FIELD_NUMBER = 13;
8282        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> enumEntry_;
8283        /**
8284         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8285         */
8286        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> getEnumEntryList() {
8287          return enumEntry_;
8288        }
8289        /**
8290         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8291         */
8292        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntryOrBuilder> 
8293            getEnumEntryOrBuilderList() {
8294          return enumEntry_;
8295        }
8296        /**
8297         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8298         */
8299        public int getEnumEntryCount() {
8300          return enumEntry_.size();
8301        }
8302        /**
8303         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8304         */
8305        public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry getEnumEntry(int index) {
8306          return enumEntry_.get(index);
8307        }
8308        /**
8309         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8310         */
8311        public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntryOrBuilder getEnumEntryOrBuilder(
8312            int index) {
8313          return enumEntry_.get(index);
8314        }
8315    
8316        public static final int TYPE_TABLE_FIELD_NUMBER = 30;
8317        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_;
8318        /**
8319         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
8320         */
8321        public boolean hasTypeTable() {
8322          return ((bitField0_ & 0x00000008) == 0x00000008);
8323        }
8324        /**
8325         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
8326         */
8327        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
8328          return typeTable_;
8329        }
8330    
8331        private void initFields() {
8332          flags_ = 6;
8333          fqName_ = 0;
8334          companionObjectName_ = 0;
8335          typeParameter_ = java.util.Collections.emptyList();
8336          supertype_ = java.util.Collections.emptyList();
8337          supertypeId_ = java.util.Collections.emptyList();
8338          nestedClassName_ = java.util.Collections.emptyList();
8339          constructor_ = java.util.Collections.emptyList();
8340          function_ = java.util.Collections.emptyList();
8341          property_ = java.util.Collections.emptyList();
8342          enumEntry_ = java.util.Collections.emptyList();
8343          typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
8344        }
8345        private byte memoizedIsInitialized = -1;
8346        public final boolean isInitialized() {
8347          byte isInitialized = memoizedIsInitialized;
8348          if (isInitialized == 1) return true;
8349          if (isInitialized == 0) return false;
8350    
8351          if (!hasFqName()) {
8352            memoizedIsInitialized = 0;
8353            return false;
8354          }
8355          for (int i = 0; i < getTypeParameterCount(); i++) {
8356            if (!getTypeParameter(i).isInitialized()) {
8357              memoizedIsInitialized = 0;
8358              return false;
8359            }
8360          }
8361          for (int i = 0; i < getSupertypeCount(); i++) {
8362            if (!getSupertype(i).isInitialized()) {
8363              memoizedIsInitialized = 0;
8364              return false;
8365            }
8366          }
8367          for (int i = 0; i < getConstructorCount(); i++) {
8368            if (!getConstructor(i).isInitialized()) {
8369              memoizedIsInitialized = 0;
8370              return false;
8371            }
8372          }
8373          for (int i = 0; i < getFunctionCount(); i++) {
8374            if (!getFunction(i).isInitialized()) {
8375              memoizedIsInitialized = 0;
8376              return false;
8377            }
8378          }
8379          for (int i = 0; i < getPropertyCount(); i++) {
8380            if (!getProperty(i).isInitialized()) {
8381              memoizedIsInitialized = 0;
8382              return false;
8383            }
8384          }
8385          for (int i = 0; i < getEnumEntryCount(); i++) {
8386            if (!getEnumEntry(i).isInitialized()) {
8387              memoizedIsInitialized = 0;
8388              return false;
8389            }
8390          }
8391          if (hasTypeTable()) {
8392            if (!getTypeTable().isInitialized()) {
8393              memoizedIsInitialized = 0;
8394              return false;
8395            }
8396          }
8397          if (!extensionsAreInitialized()) {
8398            memoizedIsInitialized = 0;
8399            return false;
8400          }
8401          memoizedIsInitialized = 1;
8402          return true;
8403        }
8404    
8405        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
8406                            throws java.io.IOException {
8407          getSerializedSize();
8408          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
8409            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Class>.ExtensionWriter extensionWriter =
8410              newExtensionWriter();
8411          if (((bitField0_ & 0x00000001) == 0x00000001)) {
8412            output.writeInt32(1, flags_);
8413          }
8414          if (getSupertypeIdList().size() > 0) {
8415            output.writeRawVarint32(18);
8416            output.writeRawVarint32(supertypeIdMemoizedSerializedSize);
8417          }
8418          for (int i = 0; i < supertypeId_.size(); i++) {
8419            output.writeInt32NoTag(supertypeId_.get(i));
8420          }
8421          if (((bitField0_ & 0x00000002) == 0x00000002)) {
8422            output.writeInt32(3, fqName_);
8423          }
8424          if (((bitField0_ & 0x00000004) == 0x00000004)) {
8425            output.writeInt32(4, companionObjectName_);
8426          }
8427          for (int i = 0; i < typeParameter_.size(); i++) {
8428            output.writeMessage(5, typeParameter_.get(i));
8429          }
8430          for (int i = 0; i < supertype_.size(); i++) {
8431            output.writeMessage(6, supertype_.get(i));
8432          }
8433          if (getNestedClassNameList().size() > 0) {
8434            output.writeRawVarint32(58);
8435            output.writeRawVarint32(nestedClassNameMemoizedSerializedSize);
8436          }
8437          for (int i = 0; i < nestedClassName_.size(); i++) {
8438            output.writeInt32NoTag(nestedClassName_.get(i));
8439          }
8440          for (int i = 0; i < constructor_.size(); i++) {
8441            output.writeMessage(8, constructor_.get(i));
8442          }
8443          for (int i = 0; i < function_.size(); i++) {
8444            output.writeMessage(9, function_.get(i));
8445          }
8446          for (int i = 0; i < property_.size(); i++) {
8447            output.writeMessage(10, property_.get(i));
8448          }
8449          for (int i = 0; i < enumEntry_.size(); i++) {
8450            output.writeMessage(13, enumEntry_.get(i));
8451          }
8452          if (((bitField0_ & 0x00000008) == 0x00000008)) {
8453            output.writeMessage(30, typeTable_);
8454          }
8455          extensionWriter.writeUntil(200, output);
8456          output.writeRawBytes(unknownFields);
8457        }
8458    
8459        private int memoizedSerializedSize = -1;
8460        public int getSerializedSize() {
8461          int size = memoizedSerializedSize;
8462          if (size != -1) return size;
8463    
8464          size = 0;
8465          if (((bitField0_ & 0x00000001) == 0x00000001)) {
8466            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8467              .computeInt32Size(1, flags_);
8468          }
8469          {
8470            int dataSize = 0;
8471            for (int i = 0; i < supertypeId_.size(); i++) {
8472              dataSize += org.jetbrains.kotlin.protobuf.CodedOutputStream
8473                .computeInt32SizeNoTag(supertypeId_.get(i));
8474            }
8475            size += dataSize;
8476            if (!getSupertypeIdList().isEmpty()) {
8477              size += 1;
8478              size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8479                  .computeInt32SizeNoTag(dataSize);
8480            }
8481            supertypeIdMemoizedSerializedSize = dataSize;
8482          }
8483          if (((bitField0_ & 0x00000002) == 0x00000002)) {
8484            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8485              .computeInt32Size(3, fqName_);
8486          }
8487          if (((bitField0_ & 0x00000004) == 0x00000004)) {
8488            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8489              .computeInt32Size(4, companionObjectName_);
8490          }
8491          for (int i = 0; i < typeParameter_.size(); i++) {
8492            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8493              .computeMessageSize(5, typeParameter_.get(i));
8494          }
8495          for (int i = 0; i < supertype_.size(); i++) {
8496            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8497              .computeMessageSize(6, supertype_.get(i));
8498          }
8499          {
8500            int dataSize = 0;
8501            for (int i = 0; i < nestedClassName_.size(); i++) {
8502              dataSize += org.jetbrains.kotlin.protobuf.CodedOutputStream
8503                .computeInt32SizeNoTag(nestedClassName_.get(i));
8504            }
8505            size += dataSize;
8506            if (!getNestedClassNameList().isEmpty()) {
8507              size += 1;
8508              size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8509                  .computeInt32SizeNoTag(dataSize);
8510            }
8511            nestedClassNameMemoizedSerializedSize = dataSize;
8512          }
8513          for (int i = 0; i < constructor_.size(); i++) {
8514            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8515              .computeMessageSize(8, constructor_.get(i));
8516          }
8517          for (int i = 0; i < function_.size(); i++) {
8518            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8519              .computeMessageSize(9, function_.get(i));
8520          }
8521          for (int i = 0; i < property_.size(); i++) {
8522            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8523              .computeMessageSize(10, property_.get(i));
8524          }
8525          for (int i = 0; i < enumEntry_.size(); i++) {
8526            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8527              .computeMessageSize(13, enumEntry_.get(i));
8528          }
8529          if (((bitField0_ & 0x00000008) == 0x00000008)) {
8530            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
8531              .computeMessageSize(30, typeTable_);
8532          }
8533          size += extensionsSerializedSize();
8534          size += unknownFields.size();
8535          memoizedSerializedSize = size;
8536          return size;
8537        }
8538    
8539        private static final long serialVersionUID = 0L;
8540        @java.lang.Override
8541        protected java.lang.Object writeReplace()
8542            throws java.io.ObjectStreamException {
8543          return super.writeReplace();
8544        }
8545    
8546        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8547            org.jetbrains.kotlin.protobuf.ByteString data)
8548            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
8549          return PARSER.parseFrom(data);
8550        }
8551        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8552            org.jetbrains.kotlin.protobuf.ByteString data,
8553            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
8554            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
8555          return PARSER.parseFrom(data, extensionRegistry);
8556        }
8557        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(byte[] data)
8558            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
8559          return PARSER.parseFrom(data);
8560        }
8561        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8562            byte[] data,
8563            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
8564            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
8565          return PARSER.parseFrom(data, extensionRegistry);
8566        }
8567        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(java.io.InputStream input)
8568            throws java.io.IOException {
8569          return PARSER.parseFrom(input);
8570        }
8571        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8572            java.io.InputStream input,
8573            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
8574            throws java.io.IOException {
8575          return PARSER.parseFrom(input, extensionRegistry);
8576        }
8577        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseDelimitedFrom(java.io.InputStream input)
8578            throws java.io.IOException {
8579          return PARSER.parseDelimitedFrom(input);
8580        }
8581        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseDelimitedFrom(
8582            java.io.InputStream input,
8583            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
8584            throws java.io.IOException {
8585          return PARSER.parseDelimitedFrom(input, extensionRegistry);
8586        }
8587        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8588            org.jetbrains.kotlin.protobuf.CodedInputStream input)
8589            throws java.io.IOException {
8590          return PARSER.parseFrom(input);
8591        }
8592        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8593            org.jetbrains.kotlin.protobuf.CodedInputStream input,
8594            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
8595            throws java.io.IOException {
8596          return PARSER.parseFrom(input, extensionRegistry);
8597        }
8598    
8599        public static Builder newBuilder() { return Builder.create(); }
8600        public Builder newBuilderForType() { return newBuilder(); }
8601        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Class prototype) {
8602          return newBuilder().mergeFrom(prototype);
8603        }
8604        public Builder toBuilder() { return newBuilder(this); }
8605    
8606        /**
8607         * Protobuf type {@code org.jetbrains.kotlin.serialization.Class}
8608         */
8609        public static final class Builder extends
8610            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
8611              org.jetbrains.kotlin.serialization.ProtoBuf.Class, Builder> implements
8612            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Class)
8613            org.jetbrains.kotlin.serialization.ProtoBuf.ClassOrBuilder {
8614          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Class.newBuilder()
8615          private Builder() {
8616            maybeForceBuilderInitialization();
8617          }
8618    
8619          private void maybeForceBuilderInitialization() {
8620          }
8621          private static Builder create() {
8622            return new Builder();
8623          }
8624    
8625          public Builder clear() {
8626            super.clear();
8627            flags_ = 6;
8628            bitField0_ = (bitField0_ & ~0x00000001);
8629            fqName_ = 0;
8630            bitField0_ = (bitField0_ & ~0x00000002);
8631            companionObjectName_ = 0;
8632            bitField0_ = (bitField0_ & ~0x00000004);
8633            typeParameter_ = java.util.Collections.emptyList();
8634            bitField0_ = (bitField0_ & ~0x00000008);
8635            supertype_ = java.util.Collections.emptyList();
8636            bitField0_ = (bitField0_ & ~0x00000010);
8637            supertypeId_ = java.util.Collections.emptyList();
8638            bitField0_ = (bitField0_ & ~0x00000020);
8639            nestedClassName_ = java.util.Collections.emptyList();
8640            bitField0_ = (bitField0_ & ~0x00000040);
8641            constructor_ = java.util.Collections.emptyList();
8642            bitField0_ = (bitField0_ & ~0x00000080);
8643            function_ = java.util.Collections.emptyList();
8644            bitField0_ = (bitField0_ & ~0x00000100);
8645            property_ = java.util.Collections.emptyList();
8646            bitField0_ = (bitField0_ & ~0x00000200);
8647            enumEntry_ = java.util.Collections.emptyList();
8648            bitField0_ = (bitField0_ & ~0x00000400);
8649            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
8650            bitField0_ = (bitField0_ & ~0x00000800);
8651            return this;
8652          }
8653    
8654          public Builder clone() {
8655            return create().mergeFrom(buildPartial());
8656          }
8657    
8658          public org.jetbrains.kotlin.serialization.ProtoBuf.Class getDefaultInstanceForType() {
8659            return org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance();
8660          }
8661    
8662          public org.jetbrains.kotlin.serialization.ProtoBuf.Class build() {
8663            org.jetbrains.kotlin.serialization.ProtoBuf.Class result = buildPartial();
8664            if (!result.isInitialized()) {
8665              throw newUninitializedMessageException(result);
8666            }
8667            return result;
8668          }
8669    
8670          public org.jetbrains.kotlin.serialization.ProtoBuf.Class buildPartial() {
8671            org.jetbrains.kotlin.serialization.ProtoBuf.Class result = new org.jetbrains.kotlin.serialization.ProtoBuf.Class(this);
8672            int from_bitField0_ = bitField0_;
8673            int to_bitField0_ = 0;
8674            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
8675              to_bitField0_ |= 0x00000001;
8676            }
8677            result.flags_ = flags_;
8678            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
8679              to_bitField0_ |= 0x00000002;
8680            }
8681            result.fqName_ = fqName_;
8682            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
8683              to_bitField0_ |= 0x00000004;
8684            }
8685            result.companionObjectName_ = companionObjectName_;
8686            if (((bitField0_ & 0x00000008) == 0x00000008)) {
8687              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
8688              bitField0_ = (bitField0_ & ~0x00000008);
8689            }
8690            result.typeParameter_ = typeParameter_;
8691            if (((bitField0_ & 0x00000010) == 0x00000010)) {
8692              supertype_ = java.util.Collections.unmodifiableList(supertype_);
8693              bitField0_ = (bitField0_ & ~0x00000010);
8694            }
8695            result.supertype_ = supertype_;
8696            if (((bitField0_ & 0x00000020) == 0x00000020)) {
8697              supertypeId_ = java.util.Collections.unmodifiableList(supertypeId_);
8698              bitField0_ = (bitField0_ & ~0x00000020);
8699            }
8700            result.supertypeId_ = supertypeId_;
8701            if (((bitField0_ & 0x00000040) == 0x00000040)) {
8702              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
8703              bitField0_ = (bitField0_ & ~0x00000040);
8704            }
8705            result.nestedClassName_ = nestedClassName_;
8706            if (((bitField0_ & 0x00000080) == 0x00000080)) {
8707              constructor_ = java.util.Collections.unmodifiableList(constructor_);
8708              bitField0_ = (bitField0_ & ~0x00000080);
8709            }
8710            result.constructor_ = constructor_;
8711            if (((bitField0_ & 0x00000100) == 0x00000100)) {
8712              function_ = java.util.Collections.unmodifiableList(function_);
8713              bitField0_ = (bitField0_ & ~0x00000100);
8714            }
8715            result.function_ = function_;
8716            if (((bitField0_ & 0x00000200) == 0x00000200)) {
8717              property_ = java.util.Collections.unmodifiableList(property_);
8718              bitField0_ = (bitField0_ & ~0x00000200);
8719            }
8720            result.property_ = property_;
8721            if (((bitField0_ & 0x00000400) == 0x00000400)) {
8722              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
8723              bitField0_ = (bitField0_ & ~0x00000400);
8724            }
8725            result.enumEntry_ = enumEntry_;
8726            if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
8727              to_bitField0_ |= 0x00000008;
8728            }
8729            result.typeTable_ = typeTable_;
8730            result.bitField0_ = to_bitField0_;
8731            return result;
8732          }
8733    
8734          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Class other) {
8735            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance()) return this;
8736            if (other.hasFlags()) {
8737              setFlags(other.getFlags());
8738            }
8739            if (other.hasFqName()) {
8740              setFqName(other.getFqName());
8741            }
8742            if (other.hasCompanionObjectName()) {
8743              setCompanionObjectName(other.getCompanionObjectName());
8744            }
8745            if (!other.typeParameter_.isEmpty()) {
8746              if (typeParameter_.isEmpty()) {
8747                typeParameter_ = other.typeParameter_;
8748                bitField0_ = (bitField0_ & ~0x00000008);
8749              } else {
8750                ensureTypeParameterIsMutable();
8751                typeParameter_.addAll(other.typeParameter_);
8752              }
8753              
8754            }
8755            if (!other.supertype_.isEmpty()) {
8756              if (supertype_.isEmpty()) {
8757                supertype_ = other.supertype_;
8758                bitField0_ = (bitField0_ & ~0x00000010);
8759              } else {
8760                ensureSupertypeIsMutable();
8761                supertype_.addAll(other.supertype_);
8762              }
8763              
8764            }
8765            if (!other.supertypeId_.isEmpty()) {
8766              if (supertypeId_.isEmpty()) {
8767                supertypeId_ = other.supertypeId_;
8768                bitField0_ = (bitField0_ & ~0x00000020);
8769              } else {
8770                ensureSupertypeIdIsMutable();
8771                supertypeId_.addAll(other.supertypeId_);
8772              }
8773              
8774            }
8775            if (!other.nestedClassName_.isEmpty()) {
8776              if (nestedClassName_.isEmpty()) {
8777                nestedClassName_ = other.nestedClassName_;
8778                bitField0_ = (bitField0_ & ~0x00000040);
8779              } else {
8780                ensureNestedClassNameIsMutable();
8781                nestedClassName_.addAll(other.nestedClassName_);
8782              }
8783              
8784            }
8785            if (!other.constructor_.isEmpty()) {
8786              if (constructor_.isEmpty()) {
8787                constructor_ = other.constructor_;
8788                bitField0_ = (bitField0_ & ~0x00000080);
8789              } else {
8790                ensureConstructorIsMutable();
8791                constructor_.addAll(other.constructor_);
8792              }
8793              
8794            }
8795            if (!other.function_.isEmpty()) {
8796              if (function_.isEmpty()) {
8797                function_ = other.function_;
8798                bitField0_ = (bitField0_ & ~0x00000100);
8799              } else {
8800                ensureFunctionIsMutable();
8801                function_.addAll(other.function_);
8802              }
8803              
8804            }
8805            if (!other.property_.isEmpty()) {
8806              if (property_.isEmpty()) {
8807                property_ = other.property_;
8808                bitField0_ = (bitField0_ & ~0x00000200);
8809              } else {
8810                ensurePropertyIsMutable();
8811                property_.addAll(other.property_);
8812              }
8813              
8814            }
8815            if (!other.enumEntry_.isEmpty()) {
8816              if (enumEntry_.isEmpty()) {
8817                enumEntry_ = other.enumEntry_;
8818                bitField0_ = (bitField0_ & ~0x00000400);
8819              } else {
8820                ensureEnumEntryIsMutable();
8821                enumEntry_.addAll(other.enumEntry_);
8822              }
8823              
8824            }
8825            if (other.hasTypeTable()) {
8826              mergeTypeTable(other.getTypeTable());
8827            }
8828            this.mergeExtensionFields(other);
8829            setUnknownFields(
8830                getUnknownFields().concat(other.unknownFields));
8831            return this;
8832          }
8833    
8834          public final boolean isInitialized() {
8835            if (!hasFqName()) {
8836              
8837              return false;
8838            }
8839            for (int i = 0; i < getTypeParameterCount(); i++) {
8840              if (!getTypeParameter(i).isInitialized()) {
8841                
8842                return false;
8843              }
8844            }
8845            for (int i = 0; i < getSupertypeCount(); i++) {
8846              if (!getSupertype(i).isInitialized()) {
8847                
8848                return false;
8849              }
8850            }
8851            for (int i = 0; i < getConstructorCount(); i++) {
8852              if (!getConstructor(i).isInitialized()) {
8853                
8854                return false;
8855              }
8856            }
8857            for (int i = 0; i < getFunctionCount(); i++) {
8858              if (!getFunction(i).isInitialized()) {
8859                
8860                return false;
8861              }
8862            }
8863            for (int i = 0; i < getPropertyCount(); i++) {
8864              if (!getProperty(i).isInitialized()) {
8865                
8866                return false;
8867              }
8868            }
8869            for (int i = 0; i < getEnumEntryCount(); i++) {
8870              if (!getEnumEntry(i).isInitialized()) {
8871                
8872                return false;
8873              }
8874            }
8875            if (hasTypeTable()) {
8876              if (!getTypeTable().isInitialized()) {
8877                
8878                return false;
8879              }
8880            }
8881            if (!extensionsAreInitialized()) {
8882              
8883              return false;
8884            }
8885            return true;
8886          }
8887    
8888          public Builder mergeFrom(
8889              org.jetbrains.kotlin.protobuf.CodedInputStream input,
8890              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
8891              throws java.io.IOException {
8892            org.jetbrains.kotlin.serialization.ProtoBuf.Class parsedMessage = null;
8893            try {
8894              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
8895            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
8896              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Class) e.getUnfinishedMessage();
8897              throw e;
8898            } finally {
8899              if (parsedMessage != null) {
8900                mergeFrom(parsedMessage);
8901              }
8902            }
8903            return this;
8904          }
8905          private int bitField0_;
8906    
8907          private int flags_ = 6;
8908          /**
8909           * <code>optional int32 flags = 1 [default = 6];</code>
8910           *
8911           * <pre>
8912           *hasAnnotations
8913           *Visibility
8914           *Modality
8915           *ClassKind
8916           *isInner
8917           *isData
8918           * </pre>
8919           */
8920          public boolean hasFlags() {
8921            return ((bitField0_ & 0x00000001) == 0x00000001);
8922          }
8923          /**
8924           * <code>optional int32 flags = 1 [default = 6];</code>
8925           *
8926           * <pre>
8927           *hasAnnotations
8928           *Visibility
8929           *Modality
8930           *ClassKind
8931           *isInner
8932           *isData
8933           * </pre>
8934           */
8935          public int getFlags() {
8936            return flags_;
8937          }
8938          /**
8939           * <code>optional int32 flags = 1 [default = 6];</code>
8940           *
8941           * <pre>
8942           *hasAnnotations
8943           *Visibility
8944           *Modality
8945           *ClassKind
8946           *isInner
8947           *isData
8948           * </pre>
8949           */
8950          public Builder setFlags(int value) {
8951            bitField0_ |= 0x00000001;
8952            flags_ = value;
8953            
8954            return this;
8955          }
8956          /**
8957           * <code>optional int32 flags = 1 [default = 6];</code>
8958           *
8959           * <pre>
8960           *hasAnnotations
8961           *Visibility
8962           *Modality
8963           *ClassKind
8964           *isInner
8965           *isData
8966           * </pre>
8967           */
8968          public Builder clearFlags() {
8969            bitField0_ = (bitField0_ & ~0x00000001);
8970            flags_ = 6;
8971            
8972            return this;
8973          }
8974    
8975          private int fqName_ ;
8976          /**
8977           * <code>required int32 fq_name = 3;</code>
8978           */
8979          public boolean hasFqName() {
8980            return ((bitField0_ & 0x00000002) == 0x00000002);
8981          }
8982          /**
8983           * <code>required int32 fq_name = 3;</code>
8984           */
8985          public int getFqName() {
8986            return fqName_;
8987          }
8988          /**
8989           * <code>required int32 fq_name = 3;</code>
8990           */
8991          public Builder setFqName(int value) {
8992            bitField0_ |= 0x00000002;
8993            fqName_ = value;
8994            
8995            return this;
8996          }
8997          /**
8998           * <code>required int32 fq_name = 3;</code>
8999           */
9000          public Builder clearFqName() {
9001            bitField0_ = (bitField0_ & ~0x00000002);
9002            fqName_ = 0;
9003            
9004            return this;
9005          }
9006    
9007          private int companionObjectName_ ;
9008          /**
9009           * <code>optional int32 companion_object_name = 4;</code>
9010           */
9011          public boolean hasCompanionObjectName() {
9012            return ((bitField0_ & 0x00000004) == 0x00000004);
9013          }
9014          /**
9015           * <code>optional int32 companion_object_name = 4;</code>
9016           */
9017          public int getCompanionObjectName() {
9018            return companionObjectName_;
9019          }
9020          /**
9021           * <code>optional int32 companion_object_name = 4;</code>
9022           */
9023          public Builder setCompanionObjectName(int value) {
9024            bitField0_ |= 0x00000004;
9025            companionObjectName_ = value;
9026            
9027            return this;
9028          }
9029          /**
9030           * <code>optional int32 companion_object_name = 4;</code>
9031           */
9032          public Builder clearCompanionObjectName() {
9033            bitField0_ = (bitField0_ & ~0x00000004);
9034            companionObjectName_ = 0;
9035            
9036            return this;
9037          }
9038    
9039          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
9040            java.util.Collections.emptyList();
9041          private void ensureTypeParameterIsMutable() {
9042            if (!((bitField0_ & 0x00000008) == 0x00000008)) {
9043              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
9044              bitField0_ |= 0x00000008;
9045             }
9046          }
9047    
9048          /**
9049           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9050           */
9051          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
9052            return java.util.Collections.unmodifiableList(typeParameter_);
9053          }
9054          /**
9055           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9056           */
9057          public int getTypeParameterCount() {
9058            return typeParameter_.size();
9059          }
9060          /**
9061           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9062           */
9063          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
9064            return typeParameter_.get(index);
9065          }
9066          /**
9067           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9068           */
9069          public Builder setTypeParameter(
9070              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9071            if (value == null) {
9072              throw new NullPointerException();
9073            }
9074            ensureTypeParameterIsMutable();
9075            typeParameter_.set(index, value);
9076    
9077            return this;
9078          }
9079          /**
9080           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9081           */
9082          public Builder setTypeParameter(
9083              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9084            ensureTypeParameterIsMutable();
9085            typeParameter_.set(index, builderForValue.build());
9086    
9087            return this;
9088          }
9089          /**
9090           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9091           */
9092          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9093            if (value == null) {
9094              throw new NullPointerException();
9095            }
9096            ensureTypeParameterIsMutable();
9097            typeParameter_.add(value);
9098    
9099            return this;
9100          }
9101          /**
9102           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9103           */
9104          public Builder addTypeParameter(
9105              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9106            if (value == null) {
9107              throw new NullPointerException();
9108            }
9109            ensureTypeParameterIsMutable();
9110            typeParameter_.add(index, value);
9111    
9112            return this;
9113          }
9114          /**
9115           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9116           */
9117          public Builder addTypeParameter(
9118              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9119            ensureTypeParameterIsMutable();
9120            typeParameter_.add(builderForValue.build());
9121    
9122            return this;
9123          }
9124          /**
9125           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9126           */
9127          public Builder addTypeParameter(
9128              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9129            ensureTypeParameterIsMutable();
9130            typeParameter_.add(index, builderForValue.build());
9131    
9132            return this;
9133          }
9134          /**
9135           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9136           */
9137          public Builder addAllTypeParameter(
9138              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
9139            ensureTypeParameterIsMutable();
9140            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
9141                values, typeParameter_);
9142    
9143            return this;
9144          }
9145          /**
9146           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9147           */
9148          public Builder clearTypeParameter() {
9149            typeParameter_ = java.util.Collections.emptyList();
9150            bitField0_ = (bitField0_ & ~0x00000008);
9151    
9152            return this;
9153          }
9154          /**
9155           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9156           */
9157          public Builder removeTypeParameter(int index) {
9158            ensureTypeParameterIsMutable();
9159            typeParameter_.remove(index);
9160    
9161            return this;
9162          }
9163    
9164          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> supertype_ =
9165            java.util.Collections.emptyList();
9166          private void ensureSupertypeIsMutable() {
9167            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
9168              supertype_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(supertype_);
9169              bitField0_ |= 0x00000010;
9170             }
9171          }
9172    
9173          /**
9174           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9175           */
9176          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getSupertypeList() {
9177            return java.util.Collections.unmodifiableList(supertype_);
9178          }
9179          /**
9180           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9181           */
9182          public int getSupertypeCount() {
9183            return supertype_.size();
9184          }
9185          /**
9186           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9187           */
9188          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index) {
9189            return supertype_.get(index);
9190          }
9191          /**
9192           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9193           */
9194          public Builder setSupertype(
9195              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9196            if (value == null) {
9197              throw new NullPointerException();
9198            }
9199            ensureSupertypeIsMutable();
9200            supertype_.set(index, value);
9201    
9202            return this;
9203          }
9204          /**
9205           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9206           */
9207          public Builder setSupertype(
9208              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9209            ensureSupertypeIsMutable();
9210            supertype_.set(index, builderForValue.build());
9211    
9212            return this;
9213          }
9214          /**
9215           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9216           */
9217          public Builder addSupertype(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9218            if (value == null) {
9219              throw new NullPointerException();
9220            }
9221            ensureSupertypeIsMutable();
9222            supertype_.add(value);
9223    
9224            return this;
9225          }
9226          /**
9227           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9228           */
9229          public Builder addSupertype(
9230              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9231            if (value == null) {
9232              throw new NullPointerException();
9233            }
9234            ensureSupertypeIsMutable();
9235            supertype_.add(index, value);
9236    
9237            return this;
9238          }
9239          /**
9240           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9241           */
9242          public Builder addSupertype(
9243              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9244            ensureSupertypeIsMutable();
9245            supertype_.add(builderForValue.build());
9246    
9247            return this;
9248          }
9249          /**
9250           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9251           */
9252          public Builder addSupertype(
9253              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9254            ensureSupertypeIsMutable();
9255            supertype_.add(index, builderForValue.build());
9256    
9257            return this;
9258          }
9259          /**
9260           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9261           */
9262          public Builder addAllSupertype(
9263              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
9264            ensureSupertypeIsMutable();
9265            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
9266                values, supertype_);
9267    
9268            return this;
9269          }
9270          /**
9271           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9272           */
9273          public Builder clearSupertype() {
9274            supertype_ = java.util.Collections.emptyList();
9275            bitField0_ = (bitField0_ & ~0x00000010);
9276    
9277            return this;
9278          }
9279          /**
9280           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9281           */
9282          public Builder removeSupertype(int index) {
9283            ensureSupertypeIsMutable();
9284            supertype_.remove(index);
9285    
9286            return this;
9287          }
9288    
9289          private java.util.List<java.lang.Integer> supertypeId_ = java.util.Collections.emptyList();
9290          private void ensureSupertypeIdIsMutable() {
9291            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
9292              supertypeId_ = new java.util.ArrayList<java.lang.Integer>(supertypeId_);
9293              bitField0_ |= 0x00000020;
9294             }
9295          }
9296          /**
9297           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9298           */
9299          public java.util.List<java.lang.Integer>
9300              getSupertypeIdList() {
9301            return java.util.Collections.unmodifiableList(supertypeId_);
9302          }
9303          /**
9304           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9305           */
9306          public int getSupertypeIdCount() {
9307            return supertypeId_.size();
9308          }
9309          /**
9310           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9311           */
9312          public int getSupertypeId(int index) {
9313            return supertypeId_.get(index);
9314          }
9315          /**
9316           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9317           */
9318          public Builder setSupertypeId(
9319              int index, int value) {
9320            ensureSupertypeIdIsMutable();
9321            supertypeId_.set(index, value);
9322            
9323            return this;
9324          }
9325          /**
9326           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9327           */
9328          public Builder addSupertypeId(int value) {
9329            ensureSupertypeIdIsMutable();
9330            supertypeId_.add(value);
9331            
9332            return this;
9333          }
9334          /**
9335           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9336           */
9337          public Builder addAllSupertypeId(
9338              java.lang.Iterable<? extends java.lang.Integer> values) {
9339            ensureSupertypeIdIsMutable();
9340            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
9341                values, supertypeId_);
9342            
9343            return this;
9344          }
9345          /**
9346           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9347           */
9348          public Builder clearSupertypeId() {
9349            supertypeId_ = java.util.Collections.emptyList();
9350            bitField0_ = (bitField0_ & ~0x00000020);
9351            
9352            return this;
9353          }
9354    
9355          private java.util.List<java.lang.Integer> nestedClassName_ = java.util.Collections.emptyList();
9356          private void ensureNestedClassNameIsMutable() {
9357            if (!((bitField0_ & 0x00000040) == 0x00000040)) {
9358              nestedClassName_ = new java.util.ArrayList<java.lang.Integer>(nestedClassName_);
9359              bitField0_ |= 0x00000040;
9360             }
9361          }
9362          /**
9363           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9364           */
9365          public java.util.List<java.lang.Integer>
9366              getNestedClassNameList() {
9367            return java.util.Collections.unmodifiableList(nestedClassName_);
9368          }
9369          /**
9370           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9371           */
9372          public int getNestedClassNameCount() {
9373            return nestedClassName_.size();
9374          }
9375          /**
9376           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9377           */
9378          public int getNestedClassName(int index) {
9379            return nestedClassName_.get(index);
9380          }
9381          /**
9382           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9383           */
9384          public Builder setNestedClassName(
9385              int index, int value) {
9386            ensureNestedClassNameIsMutable();
9387            nestedClassName_.set(index, value);
9388            
9389            return this;
9390          }
9391          /**
9392           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9393           */
9394          public Builder addNestedClassName(int value) {
9395            ensureNestedClassNameIsMutable();
9396            nestedClassName_.add(value);
9397            
9398            return this;
9399          }
9400          /**
9401           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9402           */
9403          public Builder addAllNestedClassName(
9404              java.lang.Iterable<? extends java.lang.Integer> values) {
9405            ensureNestedClassNameIsMutable();
9406            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
9407                values, nestedClassName_);
9408            
9409            return this;
9410          }
9411          /**
9412           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9413           */
9414          public Builder clearNestedClassName() {
9415            nestedClassName_ = java.util.Collections.emptyList();
9416            bitField0_ = (bitField0_ & ~0x00000040);
9417            
9418            return this;
9419          }
9420    
9421          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> constructor_ =
9422            java.util.Collections.emptyList();
9423          private void ensureConstructorIsMutable() {
9424            if (!((bitField0_ & 0x00000080) == 0x00000080)) {
9425              constructor_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor>(constructor_);
9426              bitField0_ |= 0x00000080;
9427             }
9428          }
9429    
9430          /**
9431           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9432           */
9433          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> getConstructorList() {
9434            return java.util.Collections.unmodifiableList(constructor_);
9435          }
9436          /**
9437           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9438           */
9439          public int getConstructorCount() {
9440            return constructor_.size();
9441          }
9442          /**
9443           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9444           */
9445          public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor getConstructor(int index) {
9446            return constructor_.get(index);
9447          }
9448          /**
9449           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9450           */
9451          public Builder setConstructor(
9452              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Constructor value) {
9453            if (value == null) {
9454              throw new NullPointerException();
9455            }
9456            ensureConstructorIsMutable();
9457            constructor_.set(index, value);
9458    
9459            return this;
9460          }
9461          /**
9462           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9463           */
9464          public Builder setConstructor(
9465              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.Builder builderForValue) {
9466            ensureConstructorIsMutable();
9467            constructor_.set(index, builderForValue.build());
9468    
9469            return this;
9470          }
9471          /**
9472           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9473           */
9474          public Builder addConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Constructor value) {
9475            if (value == null) {
9476              throw new NullPointerException();
9477            }
9478            ensureConstructorIsMutable();
9479            constructor_.add(value);
9480    
9481            return this;
9482          }
9483          /**
9484           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9485           */
9486          public Builder addConstructor(
9487              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Constructor value) {
9488            if (value == null) {
9489              throw new NullPointerException();
9490            }
9491            ensureConstructorIsMutable();
9492            constructor_.add(index, value);
9493    
9494            return this;
9495          }
9496          /**
9497           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9498           */
9499          public Builder addConstructor(
9500              org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.Builder builderForValue) {
9501            ensureConstructorIsMutable();
9502            constructor_.add(builderForValue.build());
9503    
9504            return this;
9505          }
9506          /**
9507           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9508           */
9509          public Builder addConstructor(
9510              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.Builder builderForValue) {
9511            ensureConstructorIsMutable();
9512            constructor_.add(index, builderForValue.build());
9513    
9514            return this;
9515          }
9516          /**
9517           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9518           */
9519          public Builder addAllConstructor(
9520              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> values) {
9521            ensureConstructorIsMutable();
9522            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
9523                values, constructor_);
9524    
9525            return this;
9526          }
9527          /**
9528           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9529           */
9530          public Builder clearConstructor() {
9531            constructor_ = java.util.Collections.emptyList();
9532            bitField0_ = (bitField0_ & ~0x00000080);
9533    
9534            return this;
9535          }
9536          /**
9537           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9538           */
9539          public Builder removeConstructor(int index) {
9540            ensureConstructorIsMutable();
9541            constructor_.remove(index);
9542    
9543            return this;
9544          }
9545    
9546          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> function_ =
9547            java.util.Collections.emptyList();
9548          private void ensureFunctionIsMutable() {
9549            if (!((bitField0_ & 0x00000100) == 0x00000100)) {
9550              function_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Function>(function_);
9551              bitField0_ |= 0x00000100;
9552             }
9553          }
9554    
9555          /**
9556           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9557           */
9558          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> getFunctionList() {
9559            return java.util.Collections.unmodifiableList(function_);
9560          }
9561          /**
9562           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9563           */
9564          public int getFunctionCount() {
9565            return function_.size();
9566          }
9567          /**
9568           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9569           */
9570          public org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index) {
9571            return function_.get(index);
9572          }
9573          /**
9574           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9575           */
9576          public Builder setFunction(
9577              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
9578            if (value == null) {
9579              throw new NullPointerException();
9580            }
9581            ensureFunctionIsMutable();
9582            function_.set(index, value);
9583    
9584            return this;
9585          }
9586          /**
9587           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9588           */
9589          public Builder setFunction(
9590              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
9591            ensureFunctionIsMutable();
9592            function_.set(index, builderForValue.build());
9593    
9594            return this;
9595          }
9596          /**
9597           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9598           */
9599          public Builder addFunction(org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
9600            if (value == null) {
9601              throw new NullPointerException();
9602            }
9603            ensureFunctionIsMutable();
9604            function_.add(value);
9605    
9606            return this;
9607          }
9608          /**
9609           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9610           */
9611          public Builder addFunction(
9612              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
9613            if (value == null) {
9614              throw new NullPointerException();
9615            }
9616            ensureFunctionIsMutable();
9617            function_.add(index, value);
9618    
9619            return this;
9620          }
9621          /**
9622           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9623           */
9624          public Builder addFunction(
9625              org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
9626            ensureFunctionIsMutable();
9627            function_.add(builderForValue.build());
9628    
9629            return this;
9630          }
9631          /**
9632           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9633           */
9634          public Builder addFunction(
9635              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
9636            ensureFunctionIsMutable();
9637            function_.add(index, builderForValue.build());
9638    
9639            return this;
9640          }
9641          /**
9642           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9643           */
9644          public Builder addAllFunction(
9645              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Function> values) {
9646            ensureFunctionIsMutable();
9647            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
9648                values, function_);
9649    
9650            return this;
9651          }
9652          /**
9653           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9654           */
9655          public Builder clearFunction() {
9656            function_ = java.util.Collections.emptyList();
9657            bitField0_ = (bitField0_ & ~0x00000100);
9658    
9659            return this;
9660          }
9661          /**
9662           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9663           */
9664          public Builder removeFunction(int index) {
9665            ensureFunctionIsMutable();
9666            function_.remove(index);
9667    
9668            return this;
9669          }
9670    
9671          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> property_ =
9672            java.util.Collections.emptyList();
9673          private void ensurePropertyIsMutable() {
9674            if (!((bitField0_ & 0x00000200) == 0x00000200)) {
9675              property_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Property>(property_);
9676              bitField0_ |= 0x00000200;
9677             }
9678          }
9679    
9680          /**
9681           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9682           */
9683          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> getPropertyList() {
9684            return java.util.Collections.unmodifiableList(property_);
9685          }
9686          /**
9687           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9688           */
9689          public int getPropertyCount() {
9690            return property_.size();
9691          }
9692          /**
9693           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9694           */
9695          public org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index) {
9696            return property_.get(index);
9697          }
9698          /**
9699           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9700           */
9701          public Builder setProperty(
9702              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
9703            if (value == null) {
9704              throw new NullPointerException();
9705            }
9706            ensurePropertyIsMutable();
9707            property_.set(index, value);
9708    
9709            return this;
9710          }
9711          /**
9712           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9713           */
9714          public Builder setProperty(
9715              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
9716            ensurePropertyIsMutable();
9717            property_.set(index, builderForValue.build());
9718    
9719            return this;
9720          }
9721          /**
9722           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9723           */
9724          public Builder addProperty(org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
9725            if (value == null) {
9726              throw new NullPointerException();
9727            }
9728            ensurePropertyIsMutable();
9729            property_.add(value);
9730    
9731            return this;
9732          }
9733          /**
9734           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9735           */
9736          public Builder addProperty(
9737              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
9738            if (value == null) {
9739              throw new NullPointerException();
9740            }
9741            ensurePropertyIsMutable();
9742            property_.add(index, value);
9743    
9744            return this;
9745          }
9746          /**
9747           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9748           */
9749          public Builder addProperty(
9750              org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
9751            ensurePropertyIsMutable();
9752            property_.add(builderForValue.build());
9753    
9754            return this;
9755          }
9756          /**
9757           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9758           */
9759          public Builder addProperty(
9760              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
9761            ensurePropertyIsMutable();
9762            property_.add(index, builderForValue.build());
9763    
9764            return this;
9765          }
9766          /**
9767           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9768           */
9769          public Builder addAllProperty(
9770              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Property> values) {
9771            ensurePropertyIsMutable();
9772            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
9773                values, property_);
9774    
9775            return this;
9776          }
9777          /**
9778           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9779           */
9780          public Builder clearProperty() {
9781            property_ = java.util.Collections.emptyList();
9782            bitField0_ = (bitField0_ & ~0x00000200);
9783    
9784            return this;
9785          }
9786          /**
9787           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9788           */
9789          public Builder removeProperty(int index) {
9790            ensurePropertyIsMutable();
9791            property_.remove(index);
9792    
9793            return this;
9794          }
9795    
9796          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> enumEntry_ =
9797            java.util.Collections.emptyList();
9798          private void ensureEnumEntryIsMutable() {
9799            if (!((bitField0_ & 0x00000400) == 0x00000400)) {
9800              enumEntry_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry>(enumEntry_);
9801              bitField0_ |= 0x00000400;
9802             }
9803          }
9804    
9805          /**
9806           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9807           */
9808          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> getEnumEntryList() {
9809            return java.util.Collections.unmodifiableList(enumEntry_);
9810          }
9811          /**
9812           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9813           */
9814          public int getEnumEntryCount() {
9815            return enumEntry_.size();
9816          }
9817          /**
9818           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9819           */
9820          public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry getEnumEntry(int index) {
9821            return enumEntry_.get(index);
9822          }
9823          /**
9824           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9825           */
9826          public Builder setEnumEntry(
9827              int index, org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry value) {
9828            if (value == null) {
9829              throw new NullPointerException();
9830            }
9831            ensureEnumEntryIsMutable();
9832            enumEntry_.set(index, value);
9833    
9834            return this;
9835          }
9836          /**
9837           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9838           */
9839          public Builder setEnumEntry(
9840              int index, org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.Builder builderForValue) {
9841            ensureEnumEntryIsMutable();
9842            enumEntry_.set(index, builderForValue.build());
9843    
9844            return this;
9845          }
9846          /**
9847           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9848           */
9849          public Builder addEnumEntry(org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry value) {
9850            if (value == null) {
9851              throw new NullPointerException();
9852            }
9853            ensureEnumEntryIsMutable();
9854            enumEntry_.add(value);
9855    
9856            return this;
9857          }
9858          /**
9859           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9860           */
9861          public Builder addEnumEntry(
9862              int index, org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry value) {
9863            if (value == null) {
9864              throw new NullPointerException();
9865            }
9866            ensureEnumEntryIsMutable();
9867            enumEntry_.add(index, value);
9868    
9869            return this;
9870          }
9871          /**
9872           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9873           */
9874          public Builder addEnumEntry(
9875              org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.Builder builderForValue) {
9876            ensureEnumEntryIsMutable();
9877            enumEntry_.add(builderForValue.build());
9878    
9879            return this;
9880          }
9881          /**
9882           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9883           */
9884          public Builder addEnumEntry(
9885              int index, org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.Builder builderForValue) {
9886            ensureEnumEntryIsMutable();
9887            enumEntry_.add(index, builderForValue.build());
9888    
9889            return this;
9890          }
9891          /**
9892           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9893           */
9894          public Builder addAllEnumEntry(
9895              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> values) {
9896            ensureEnumEntryIsMutable();
9897            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
9898                values, enumEntry_);
9899    
9900            return this;
9901          }
9902          /**
9903           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9904           */
9905          public Builder clearEnumEntry() {
9906            enumEntry_ = java.util.Collections.emptyList();
9907            bitField0_ = (bitField0_ & ~0x00000400);
9908    
9909            return this;
9910          }
9911          /**
9912           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9913           */
9914          public Builder removeEnumEntry(int index) {
9915            ensureEnumEntryIsMutable();
9916            enumEntry_.remove(index);
9917    
9918            return this;
9919          }
9920    
9921          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
9922          /**
9923           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
9924           */
9925          public boolean hasTypeTable() {
9926            return ((bitField0_ & 0x00000800) == 0x00000800);
9927          }
9928          /**
9929           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
9930           */
9931          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
9932            return typeTable_;
9933          }
9934          /**
9935           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
9936           */
9937          public Builder setTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
9938            if (value == null) {
9939              throw new NullPointerException();
9940            }
9941            typeTable_ = value;
9942    
9943            bitField0_ |= 0x00000800;
9944            return this;
9945          }
9946          /**
9947           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
9948           */
9949          public Builder setTypeTable(
9950              org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder builderForValue) {
9951            typeTable_ = builderForValue.build();
9952    
9953            bitField0_ |= 0x00000800;
9954            return this;
9955          }
9956          /**
9957           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
9958           */
9959          public Builder mergeTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
9960            if (((bitField0_ & 0x00000800) == 0x00000800) &&
9961                typeTable_ != org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance()) {
9962              typeTable_ =
9963                org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.newBuilder(typeTable_).mergeFrom(value).buildPartial();
9964            } else {
9965              typeTable_ = value;
9966            }
9967    
9968            bitField0_ |= 0x00000800;
9969            return this;
9970          }
9971          /**
9972           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
9973           */
9974          public Builder clearTypeTable() {
9975            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
9976    
9977            bitField0_ = (bitField0_ & ~0x00000800);
9978            return this;
9979          }
9980    
9981          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Class)
9982        }
9983    
9984        static {
9985          defaultInstance = new Class(true);
9986          defaultInstance.initFields();
9987        }
9988    
9989        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Class)
9990      }
9991    
9992      public interface PackageOrBuilder extends 
9993          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.Package)
9994           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
9995                ExtendableMessageOrBuilder<Package> {
9996    
9997        /**
9998         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
9999         */
10000        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> 
10001            getFunctionList();
10002        /**
10003         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10004         */
10005        org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index);
10006        /**
10007         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10008         */
10009        int getFunctionCount();
10010    
10011        /**
10012         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10013         */
10014        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> 
10015            getPropertyList();
10016        /**
10017         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10018         */
10019        org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index);
10020        /**
10021         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10022         */
10023        int getPropertyCount();
10024    
10025        /**
10026         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10027         */
10028        boolean hasTypeTable();
10029        /**
10030         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10031         */
10032        org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable();
10033      }
10034      /**
10035       * Protobuf type {@code org.jetbrains.kotlin.serialization.Package}
10036       */
10037      public static final class Package extends
10038          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
10039            Package> implements
10040          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Package)
10041          PackageOrBuilder {
10042        // Use Package.newBuilder() to construct.
10043        private Package(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Package, ?> builder) {
10044          super(builder);
10045          this.unknownFields = builder.getUnknownFields();
10046        }
10047        private Package(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
10048    
10049        private static final Package defaultInstance;
10050        public static Package getDefaultInstance() {
10051          return defaultInstance;
10052        }
10053    
10054        public Package getDefaultInstanceForType() {
10055          return defaultInstance;
10056        }
10057    
10058        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
10059        private Package(
10060            org.jetbrains.kotlin.protobuf.CodedInputStream input,
10061            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
10062            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
10063          initFields();
10064          int mutable_bitField0_ = 0;
10065          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
10066              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
10067          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
10068              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
10069                  unknownFieldsOutput);
10070          try {
10071            boolean done = false;
10072            while (!done) {
10073              int tag = input.readTag();
10074              switch (tag) {
10075                case 0:
10076                  done = true;
10077                  break;
10078                default: {
10079                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
10080                                         extensionRegistry, tag)) {
10081                    done = true;
10082                  }
10083                  break;
10084                }
10085                case 26: {
10086                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
10087                    function_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Function>();
10088                    mutable_bitField0_ |= 0x00000001;
10089                  }
10090                  function_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Function.PARSER, extensionRegistry));
10091                  break;
10092                }
10093                case 34: {
10094                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
10095                    property_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Property>();
10096                    mutable_bitField0_ |= 0x00000002;
10097                  }
10098                  property_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Property.PARSER, extensionRegistry));
10099                  break;
10100                }
10101                case 242: {
10102                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder subBuilder = null;
10103                  if (((bitField0_ & 0x00000001) == 0x00000001)) {
10104                    subBuilder = typeTable_.toBuilder();
10105                  }
10106                  typeTable_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.PARSER, extensionRegistry);
10107                  if (subBuilder != null) {
10108                    subBuilder.mergeFrom(typeTable_);
10109                    typeTable_ = subBuilder.buildPartial();
10110                  }
10111                  bitField0_ |= 0x00000001;
10112                  break;
10113                }
10114              }
10115            }
10116          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
10117            throw e.setUnfinishedMessage(this);
10118          } catch (java.io.IOException e) {
10119            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
10120                e.getMessage()).setUnfinishedMessage(this);
10121          } finally {
10122            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
10123              function_ = java.util.Collections.unmodifiableList(function_);
10124            }
10125            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
10126              property_ = java.util.Collections.unmodifiableList(property_);
10127            }
10128            try {
10129              unknownFieldsCodedOutput.flush();
10130            } catch (java.io.IOException e) {
10131            // Should not happen
10132            } finally {
10133              unknownFields = unknownFieldsOutput.toByteString();
10134            }
10135            makeExtensionsImmutable();
10136          }
10137        }
10138        public static org.jetbrains.kotlin.protobuf.Parser<Package> PARSER =
10139            new org.jetbrains.kotlin.protobuf.AbstractParser<Package>() {
10140          public Package parsePartialFrom(
10141              org.jetbrains.kotlin.protobuf.CodedInputStream input,
10142              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
10143              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
10144            return new Package(input, extensionRegistry);
10145          }
10146        };
10147    
10148        @java.lang.Override
10149        public org.jetbrains.kotlin.protobuf.Parser<Package> getParserForType() {
10150          return PARSER;
10151        }
10152    
10153        private int bitField0_;
10154        public static final int FUNCTION_FIELD_NUMBER = 3;
10155        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> function_;
10156        /**
10157         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10158         */
10159        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> getFunctionList() {
10160          return function_;
10161        }
10162        /**
10163         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10164         */
10165        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder> 
10166            getFunctionOrBuilderList() {
10167          return function_;
10168        }
10169        /**
10170         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10171         */
10172        public int getFunctionCount() {
10173          return function_.size();
10174        }
10175        /**
10176         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10177         */
10178        public org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index) {
10179          return function_.get(index);
10180        }
10181        /**
10182         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10183         */
10184        public org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder getFunctionOrBuilder(
10185            int index) {
10186          return function_.get(index);
10187        }
10188    
10189        public static final int PROPERTY_FIELD_NUMBER = 4;
10190        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> property_;
10191        /**
10192         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10193         */
10194        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> getPropertyList() {
10195          return property_;
10196        }
10197        /**
10198         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10199         */
10200        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder> 
10201            getPropertyOrBuilderList() {
10202          return property_;
10203        }
10204        /**
10205         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10206         */
10207        public int getPropertyCount() {
10208          return property_.size();
10209        }
10210        /**
10211         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10212         */
10213        public org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index) {
10214          return property_.get(index);
10215        }
10216        /**
10217         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10218         */
10219        public org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder getPropertyOrBuilder(
10220            int index) {
10221          return property_.get(index);
10222        }
10223    
10224        public static final int TYPE_TABLE_FIELD_NUMBER = 30;
10225        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_;
10226        /**
10227         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10228         */
10229        public boolean hasTypeTable() {
10230          return ((bitField0_ & 0x00000001) == 0x00000001);
10231        }
10232        /**
10233         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10234         */
10235        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
10236          return typeTable_;
10237        }
10238    
10239        private void initFields() {
10240          function_ = java.util.Collections.emptyList();
10241          property_ = java.util.Collections.emptyList();
10242          typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
10243        }
10244        private byte memoizedIsInitialized = -1;
10245        public final boolean isInitialized() {
10246          byte isInitialized = memoizedIsInitialized;
10247          if (isInitialized == 1) return true;
10248          if (isInitialized == 0) return false;
10249    
10250          for (int i = 0; i < getFunctionCount(); i++) {
10251            if (!getFunction(i).isInitialized()) {
10252              memoizedIsInitialized = 0;
10253              return false;
10254            }
10255          }
10256          for (int i = 0; i < getPropertyCount(); i++) {
10257            if (!getProperty(i).isInitialized()) {
10258              memoizedIsInitialized = 0;
10259              return false;
10260            }
10261          }
10262          if (hasTypeTable()) {
10263            if (!getTypeTable().isInitialized()) {
10264              memoizedIsInitialized = 0;
10265              return false;
10266            }
10267          }
10268          if (!extensionsAreInitialized()) {
10269            memoizedIsInitialized = 0;
10270            return false;
10271          }
10272          memoizedIsInitialized = 1;
10273          return true;
10274        }
10275    
10276        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
10277                            throws java.io.IOException {
10278          getSerializedSize();
10279          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
10280            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Package>.ExtensionWriter extensionWriter =
10281              newExtensionWriter();
10282          for (int i = 0; i < function_.size(); i++) {
10283            output.writeMessage(3, function_.get(i));
10284          }
10285          for (int i = 0; i < property_.size(); i++) {
10286            output.writeMessage(4, property_.get(i));
10287          }
10288          if (((bitField0_ & 0x00000001) == 0x00000001)) {
10289            output.writeMessage(30, typeTable_);
10290          }
10291          extensionWriter.writeUntil(200, output);
10292          output.writeRawBytes(unknownFields);
10293        }
10294    
10295        private int memoizedSerializedSize = -1;
10296        public int getSerializedSize() {
10297          int size = memoizedSerializedSize;
10298          if (size != -1) return size;
10299    
10300          size = 0;
10301          for (int i = 0; i < function_.size(); i++) {
10302            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
10303              .computeMessageSize(3, function_.get(i));
10304          }
10305          for (int i = 0; i < property_.size(); i++) {
10306            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
10307              .computeMessageSize(4, property_.get(i));
10308          }
10309          if (((bitField0_ & 0x00000001) == 0x00000001)) {
10310            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
10311              .computeMessageSize(30, typeTable_);
10312          }
10313          size += extensionsSerializedSize();
10314          size += unknownFields.size();
10315          memoizedSerializedSize = size;
10316          return size;
10317        }
10318    
10319        private static final long serialVersionUID = 0L;
10320        @java.lang.Override
10321        protected java.lang.Object writeReplace()
10322            throws java.io.ObjectStreamException {
10323          return super.writeReplace();
10324        }
10325    
10326        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10327            org.jetbrains.kotlin.protobuf.ByteString data)
10328            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
10329          return PARSER.parseFrom(data);
10330        }
10331        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10332            org.jetbrains.kotlin.protobuf.ByteString data,
10333            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
10334            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
10335          return PARSER.parseFrom(data, extensionRegistry);
10336        }
10337        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(byte[] data)
10338            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
10339          return PARSER.parseFrom(data);
10340        }
10341        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10342            byte[] data,
10343            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
10344            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
10345          return PARSER.parseFrom(data, extensionRegistry);
10346        }
10347        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(java.io.InputStream input)
10348            throws java.io.IOException {
10349          return PARSER.parseFrom(input);
10350        }
10351        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10352            java.io.InputStream input,
10353            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
10354            throws java.io.IOException {
10355          return PARSER.parseFrom(input, extensionRegistry);
10356        }
10357        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseDelimitedFrom(java.io.InputStream input)
10358            throws java.io.IOException {
10359          return PARSER.parseDelimitedFrom(input);
10360        }
10361        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseDelimitedFrom(
10362            java.io.InputStream input,
10363            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
10364            throws java.io.IOException {
10365          return PARSER.parseDelimitedFrom(input, extensionRegistry);
10366        }
10367        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10368            org.jetbrains.kotlin.protobuf.CodedInputStream input)
10369            throws java.io.IOException {
10370          return PARSER.parseFrom(input);
10371        }
10372        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10373            org.jetbrains.kotlin.protobuf.CodedInputStream input,
10374            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
10375            throws java.io.IOException {
10376          return PARSER.parseFrom(input, extensionRegistry);
10377        }
10378    
10379        public static Builder newBuilder() { return Builder.create(); }
10380        public Builder newBuilderForType() { return newBuilder(); }
10381        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Package prototype) {
10382          return newBuilder().mergeFrom(prototype);
10383        }
10384        public Builder toBuilder() { return newBuilder(this); }
10385    
10386        /**
10387         * Protobuf type {@code org.jetbrains.kotlin.serialization.Package}
10388         */
10389        public static final class Builder extends
10390            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
10391              org.jetbrains.kotlin.serialization.ProtoBuf.Package, Builder> implements
10392            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Package)
10393            org.jetbrains.kotlin.serialization.ProtoBuf.PackageOrBuilder {
10394          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Package.newBuilder()
10395          private Builder() {
10396            maybeForceBuilderInitialization();
10397          }
10398    
10399          private void maybeForceBuilderInitialization() {
10400          }
10401          private static Builder create() {
10402            return new Builder();
10403          }
10404    
10405          public Builder clear() {
10406            super.clear();
10407            function_ = java.util.Collections.emptyList();
10408            bitField0_ = (bitField0_ & ~0x00000001);
10409            property_ = java.util.Collections.emptyList();
10410            bitField0_ = (bitField0_ & ~0x00000002);
10411            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
10412            bitField0_ = (bitField0_ & ~0x00000004);
10413            return this;
10414          }
10415    
10416          public Builder clone() {
10417            return create().mergeFrom(buildPartial());
10418          }
10419    
10420          public org.jetbrains.kotlin.serialization.ProtoBuf.Package getDefaultInstanceForType() {
10421            return org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance();
10422          }
10423    
10424          public org.jetbrains.kotlin.serialization.ProtoBuf.Package build() {
10425            org.jetbrains.kotlin.serialization.ProtoBuf.Package result = buildPartial();
10426            if (!result.isInitialized()) {
10427              throw newUninitializedMessageException(result);
10428            }
10429            return result;
10430          }
10431    
10432          public org.jetbrains.kotlin.serialization.ProtoBuf.Package buildPartial() {
10433            org.jetbrains.kotlin.serialization.ProtoBuf.Package result = new org.jetbrains.kotlin.serialization.ProtoBuf.Package(this);
10434            int from_bitField0_ = bitField0_;
10435            int to_bitField0_ = 0;
10436            if (((bitField0_ & 0x00000001) == 0x00000001)) {
10437              function_ = java.util.Collections.unmodifiableList(function_);
10438              bitField0_ = (bitField0_ & ~0x00000001);
10439            }
10440            result.function_ = function_;
10441            if (((bitField0_ & 0x00000002) == 0x00000002)) {
10442              property_ = java.util.Collections.unmodifiableList(property_);
10443              bitField0_ = (bitField0_ & ~0x00000002);
10444            }
10445            result.property_ = property_;
10446            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
10447              to_bitField0_ |= 0x00000001;
10448            }
10449            result.typeTable_ = typeTable_;
10450            result.bitField0_ = to_bitField0_;
10451            return result;
10452          }
10453    
10454          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Package other) {
10455            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance()) return this;
10456            if (!other.function_.isEmpty()) {
10457              if (function_.isEmpty()) {
10458                function_ = other.function_;
10459                bitField0_ = (bitField0_ & ~0x00000001);
10460              } else {
10461                ensureFunctionIsMutable();
10462                function_.addAll(other.function_);
10463              }
10464              
10465            }
10466            if (!other.property_.isEmpty()) {
10467              if (property_.isEmpty()) {
10468                property_ = other.property_;
10469                bitField0_ = (bitField0_ & ~0x00000002);
10470              } else {
10471                ensurePropertyIsMutable();
10472                property_.addAll(other.property_);
10473              }
10474              
10475            }
10476            if (other.hasTypeTable()) {
10477              mergeTypeTable(other.getTypeTable());
10478            }
10479            this.mergeExtensionFields(other);
10480            setUnknownFields(
10481                getUnknownFields().concat(other.unknownFields));
10482            return this;
10483          }
10484    
10485          public final boolean isInitialized() {
10486            for (int i = 0; i < getFunctionCount(); i++) {
10487              if (!getFunction(i).isInitialized()) {
10488                
10489                return false;
10490              }
10491            }
10492            for (int i = 0; i < getPropertyCount(); i++) {
10493              if (!getProperty(i).isInitialized()) {
10494                
10495                return false;
10496              }
10497            }
10498            if (hasTypeTable()) {
10499              if (!getTypeTable().isInitialized()) {
10500                
10501                return false;
10502              }
10503            }
10504            if (!extensionsAreInitialized()) {
10505              
10506              return false;
10507            }
10508            return true;
10509          }
10510    
10511          public Builder mergeFrom(
10512              org.jetbrains.kotlin.protobuf.CodedInputStream input,
10513              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
10514              throws java.io.IOException {
10515            org.jetbrains.kotlin.serialization.ProtoBuf.Package parsedMessage = null;
10516            try {
10517              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
10518            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
10519              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Package) e.getUnfinishedMessage();
10520              throw e;
10521            } finally {
10522              if (parsedMessage != null) {
10523                mergeFrom(parsedMessage);
10524              }
10525            }
10526            return this;
10527          }
10528          private int bitField0_;
10529    
10530          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> function_ =
10531            java.util.Collections.emptyList();
10532          private void ensureFunctionIsMutable() {
10533            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
10534              function_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Function>(function_);
10535              bitField0_ |= 0x00000001;
10536             }
10537          }
10538    
10539          /**
10540           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10541           */
10542          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> getFunctionList() {
10543            return java.util.Collections.unmodifiableList(function_);
10544          }
10545          /**
10546           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10547           */
10548          public int getFunctionCount() {
10549            return function_.size();
10550          }
10551          /**
10552           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10553           */
10554          public org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index) {
10555            return function_.get(index);
10556          }
10557          /**
10558           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10559           */
10560          public Builder setFunction(
10561              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
10562            if (value == null) {
10563              throw new NullPointerException();
10564            }
10565            ensureFunctionIsMutable();
10566            function_.set(index, value);
10567    
10568            return this;
10569          }
10570          /**
10571           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10572           */
10573          public Builder setFunction(
10574              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
10575            ensureFunctionIsMutable();
10576            function_.set(index, builderForValue.build());
10577    
10578            return this;
10579          }
10580          /**
10581           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10582           */
10583          public Builder addFunction(org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
10584            if (value == null) {
10585              throw new NullPointerException();
10586            }
10587            ensureFunctionIsMutable();
10588            function_.add(value);
10589    
10590            return this;
10591          }
10592          /**
10593           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10594           */
10595          public Builder addFunction(
10596              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
10597            if (value == null) {
10598              throw new NullPointerException();
10599            }
10600            ensureFunctionIsMutable();
10601            function_.add(index, value);
10602    
10603            return this;
10604          }
10605          /**
10606           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10607           */
10608          public Builder addFunction(
10609              org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
10610            ensureFunctionIsMutable();
10611            function_.add(builderForValue.build());
10612    
10613            return this;
10614          }
10615          /**
10616           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10617           */
10618          public Builder addFunction(
10619              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
10620            ensureFunctionIsMutable();
10621            function_.add(index, builderForValue.build());
10622    
10623            return this;
10624          }
10625          /**
10626           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10627           */
10628          public Builder addAllFunction(
10629              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Function> values) {
10630            ensureFunctionIsMutable();
10631            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
10632                values, function_);
10633    
10634            return this;
10635          }
10636          /**
10637           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10638           */
10639          public Builder clearFunction() {
10640            function_ = java.util.Collections.emptyList();
10641            bitField0_ = (bitField0_ & ~0x00000001);
10642    
10643            return this;
10644          }
10645          /**
10646           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10647           */
10648          public Builder removeFunction(int index) {
10649            ensureFunctionIsMutable();
10650            function_.remove(index);
10651    
10652            return this;
10653          }
10654    
10655          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> property_ =
10656            java.util.Collections.emptyList();
10657          private void ensurePropertyIsMutable() {
10658            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
10659              property_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Property>(property_);
10660              bitField0_ |= 0x00000002;
10661             }
10662          }
10663    
10664          /**
10665           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10666           */
10667          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> getPropertyList() {
10668            return java.util.Collections.unmodifiableList(property_);
10669          }
10670          /**
10671           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10672           */
10673          public int getPropertyCount() {
10674            return property_.size();
10675          }
10676          /**
10677           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10678           */
10679          public org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index) {
10680            return property_.get(index);
10681          }
10682          /**
10683           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10684           */
10685          public Builder setProperty(
10686              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
10687            if (value == null) {
10688              throw new NullPointerException();
10689            }
10690            ensurePropertyIsMutable();
10691            property_.set(index, value);
10692    
10693            return this;
10694          }
10695          /**
10696           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10697           */
10698          public Builder setProperty(
10699              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
10700            ensurePropertyIsMutable();
10701            property_.set(index, builderForValue.build());
10702    
10703            return this;
10704          }
10705          /**
10706           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10707           */
10708          public Builder addProperty(org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
10709            if (value == null) {
10710              throw new NullPointerException();
10711            }
10712            ensurePropertyIsMutable();
10713            property_.add(value);
10714    
10715            return this;
10716          }
10717          /**
10718           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10719           */
10720          public Builder addProperty(
10721              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
10722            if (value == null) {
10723              throw new NullPointerException();
10724            }
10725            ensurePropertyIsMutable();
10726            property_.add(index, value);
10727    
10728            return this;
10729          }
10730          /**
10731           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10732           */
10733          public Builder addProperty(
10734              org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
10735            ensurePropertyIsMutable();
10736            property_.add(builderForValue.build());
10737    
10738            return this;
10739          }
10740          /**
10741           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10742           */
10743          public Builder addProperty(
10744              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
10745            ensurePropertyIsMutable();
10746            property_.add(index, builderForValue.build());
10747    
10748            return this;
10749          }
10750          /**
10751           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10752           */
10753          public Builder addAllProperty(
10754              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Property> values) {
10755            ensurePropertyIsMutable();
10756            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
10757                values, property_);
10758    
10759            return this;
10760          }
10761          /**
10762           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10763           */
10764          public Builder clearProperty() {
10765            property_ = java.util.Collections.emptyList();
10766            bitField0_ = (bitField0_ & ~0x00000002);
10767    
10768            return this;
10769          }
10770          /**
10771           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10772           */
10773          public Builder removeProperty(int index) {
10774            ensurePropertyIsMutable();
10775            property_.remove(index);
10776    
10777            return this;
10778          }
10779    
10780          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
10781          /**
10782           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10783           */
10784          public boolean hasTypeTable() {
10785            return ((bitField0_ & 0x00000004) == 0x00000004);
10786          }
10787          /**
10788           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10789           */
10790          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
10791            return typeTable_;
10792          }
10793          /**
10794           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10795           */
10796          public Builder setTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
10797            if (value == null) {
10798              throw new NullPointerException();
10799            }
10800            typeTable_ = value;
10801    
10802            bitField0_ |= 0x00000004;
10803            return this;
10804          }
10805          /**
10806           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10807           */
10808          public Builder setTypeTable(
10809              org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder builderForValue) {
10810            typeTable_ = builderForValue.build();
10811    
10812            bitField0_ |= 0x00000004;
10813            return this;
10814          }
10815          /**
10816           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10817           */
10818          public Builder mergeTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
10819            if (((bitField0_ & 0x00000004) == 0x00000004) &&
10820                typeTable_ != org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance()) {
10821              typeTable_ =
10822                org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.newBuilder(typeTable_).mergeFrom(value).buildPartial();
10823            } else {
10824              typeTable_ = value;
10825            }
10826    
10827            bitField0_ |= 0x00000004;
10828            return this;
10829          }
10830          /**
10831           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10832           */
10833          public Builder clearTypeTable() {
10834            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
10835    
10836            bitField0_ = (bitField0_ & ~0x00000004);
10837            return this;
10838          }
10839    
10840          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Package)
10841        }
10842    
10843        static {
10844          defaultInstance = new Package(true);
10845          defaultInstance.initFields();
10846        }
10847    
10848        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Package)
10849      }
10850    
10851      public interface TypeTableOrBuilder extends
10852          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.TypeTable)
10853          org.jetbrains.kotlin.protobuf.MessageLiteOrBuilder {
10854    
10855        /**
10856         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10857         */
10858        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> 
10859            getTypeList();
10860        /**
10861         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10862         */
10863        org.jetbrains.kotlin.serialization.ProtoBuf.Type getType(int index);
10864        /**
10865         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10866         */
10867        int getTypeCount();
10868    
10869        /**
10870         * <code>optional int32 first_nullable = 2 [default = -1];</code>
10871         *
10872         * <pre>
10873         * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
10874         * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
10875         * </pre>
10876         */
10877        boolean hasFirstNullable();
10878        /**
10879         * <code>optional int32 first_nullable = 2 [default = -1];</code>
10880         *
10881         * <pre>
10882         * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
10883         * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
10884         * </pre>
10885         */
10886        int getFirstNullable();
10887      }
10888      /**
10889       * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeTable}
10890       */
10891      public static final class TypeTable extends
10892          org.jetbrains.kotlin.protobuf.GeneratedMessageLite implements
10893          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.TypeTable)
10894          TypeTableOrBuilder {
10895        // Use TypeTable.newBuilder() to construct.
10896        private TypeTable(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder builder) {
10897          super(builder);
10898          this.unknownFields = builder.getUnknownFields();
10899        }
10900        private TypeTable(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
10901    
10902        private static final TypeTable defaultInstance;
10903        public static TypeTable getDefaultInstance() {
10904          return defaultInstance;
10905        }
10906    
10907        public TypeTable getDefaultInstanceForType() {
10908          return defaultInstance;
10909        }
10910    
10911        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
10912        private TypeTable(
10913            org.jetbrains.kotlin.protobuf.CodedInputStream input,
10914            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
10915            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
10916          initFields();
10917          int mutable_bitField0_ = 0;
10918          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
10919              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
10920          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
10921              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
10922                  unknownFieldsOutput);
10923          try {
10924            boolean done = false;
10925            while (!done) {
10926              int tag = input.readTag();
10927              switch (tag) {
10928                case 0:
10929                  done = true;
10930                  break;
10931                default: {
10932                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
10933                                         extensionRegistry, tag)) {
10934                    done = true;
10935                  }
10936                  break;
10937                }
10938                case 10: {
10939                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
10940                    type_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
10941                    mutable_bitField0_ |= 0x00000001;
10942                  }
10943                  type_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
10944                  break;
10945                }
10946                case 16: {
10947                  bitField0_ |= 0x00000001;
10948                  firstNullable_ = input.readInt32();
10949                  break;
10950                }
10951              }
10952            }
10953          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
10954            throw e.setUnfinishedMessage(this);
10955          } catch (java.io.IOException e) {
10956            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
10957                e.getMessage()).setUnfinishedMessage(this);
10958          } finally {
10959            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
10960              type_ = java.util.Collections.unmodifiableList(type_);
10961            }
10962            try {
10963              unknownFieldsCodedOutput.flush();
10964            } catch (java.io.IOException e) {
10965            // Should not happen
10966            } finally {
10967              unknownFields = unknownFieldsOutput.toByteString();
10968            }
10969            makeExtensionsImmutable();
10970          }
10971        }
10972        public static org.jetbrains.kotlin.protobuf.Parser<TypeTable> PARSER =
10973            new org.jetbrains.kotlin.protobuf.AbstractParser<TypeTable>() {
10974          public TypeTable parsePartialFrom(
10975              org.jetbrains.kotlin.protobuf.CodedInputStream input,
10976              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
10977              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
10978            return new TypeTable(input, extensionRegistry);
10979          }
10980        };
10981    
10982        @java.lang.Override
10983        public org.jetbrains.kotlin.protobuf.Parser<TypeTable> getParserForType() {
10984          return PARSER;
10985        }
10986    
10987        private int bitField0_;
10988        public static final int TYPE_FIELD_NUMBER = 1;
10989        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> type_;
10990        /**
10991         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10992         */
10993        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getTypeList() {
10994          return type_;
10995        }
10996        /**
10997         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10998         */
10999        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
11000            getTypeOrBuilderList() {
11001          return type_;
11002        }
11003        /**
11004         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11005         */
11006        public int getTypeCount() {
11007          return type_.size();
11008        }
11009        /**
11010         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11011         */
11012        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType(int index) {
11013          return type_.get(index);
11014        }
11015        /**
11016         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11017         */
11018        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getTypeOrBuilder(
11019            int index) {
11020          return type_.get(index);
11021        }
11022    
11023        public static final int FIRST_NULLABLE_FIELD_NUMBER = 2;
11024        private int firstNullable_;
11025        /**
11026         * <code>optional int32 first_nullable = 2 [default = -1];</code>
11027         *
11028         * <pre>
11029         * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11030         * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11031         * </pre>
11032         */
11033        public boolean hasFirstNullable() {
11034          return ((bitField0_ & 0x00000001) == 0x00000001);
11035        }
11036        /**
11037         * <code>optional int32 first_nullable = 2 [default = -1];</code>
11038         *
11039         * <pre>
11040         * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11041         * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11042         * </pre>
11043         */
11044        public int getFirstNullable() {
11045          return firstNullable_;
11046        }
11047    
11048        private void initFields() {
11049          type_ = java.util.Collections.emptyList();
11050          firstNullable_ = -1;
11051        }
11052        private byte memoizedIsInitialized = -1;
11053        public final boolean isInitialized() {
11054          byte isInitialized = memoizedIsInitialized;
11055          if (isInitialized == 1) return true;
11056          if (isInitialized == 0) return false;
11057    
11058          for (int i = 0; i < getTypeCount(); i++) {
11059            if (!getType(i).isInitialized()) {
11060              memoizedIsInitialized = 0;
11061              return false;
11062            }
11063          }
11064          memoizedIsInitialized = 1;
11065          return true;
11066        }
11067    
11068        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
11069                            throws java.io.IOException {
11070          getSerializedSize();
11071          for (int i = 0; i < type_.size(); i++) {
11072            output.writeMessage(1, type_.get(i));
11073          }
11074          if (((bitField0_ & 0x00000001) == 0x00000001)) {
11075            output.writeInt32(2, firstNullable_);
11076          }
11077          output.writeRawBytes(unknownFields);
11078        }
11079    
11080        private int memoizedSerializedSize = -1;
11081        public int getSerializedSize() {
11082          int size = memoizedSerializedSize;
11083          if (size != -1) return size;
11084    
11085          size = 0;
11086          for (int i = 0; i < type_.size(); i++) {
11087            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
11088              .computeMessageSize(1, type_.get(i));
11089          }
11090          if (((bitField0_ & 0x00000001) == 0x00000001)) {
11091            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
11092              .computeInt32Size(2, firstNullable_);
11093          }
11094          size += unknownFields.size();
11095          memoizedSerializedSize = size;
11096          return size;
11097        }
11098    
11099        private static final long serialVersionUID = 0L;
11100        @java.lang.Override
11101        protected java.lang.Object writeReplace()
11102            throws java.io.ObjectStreamException {
11103          return super.writeReplace();
11104        }
11105    
11106        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
11107            org.jetbrains.kotlin.protobuf.ByteString data)
11108            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11109          return PARSER.parseFrom(data);
11110        }
11111        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
11112            org.jetbrains.kotlin.protobuf.ByteString data,
11113            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11114            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11115          return PARSER.parseFrom(data, extensionRegistry);
11116        }
11117        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(byte[] data)
11118            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11119          return PARSER.parseFrom(data);
11120        }
11121        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
11122            byte[] data,
11123            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11124            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11125          return PARSER.parseFrom(data, extensionRegistry);
11126        }
11127        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(java.io.InputStream input)
11128            throws java.io.IOException {
11129          return PARSER.parseFrom(input);
11130        }
11131        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
11132            java.io.InputStream input,
11133            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11134            throws java.io.IOException {
11135          return PARSER.parseFrom(input, extensionRegistry);
11136        }
11137        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseDelimitedFrom(java.io.InputStream input)
11138            throws java.io.IOException {
11139          return PARSER.parseDelimitedFrom(input);
11140        }
11141        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseDelimitedFrom(
11142            java.io.InputStream input,
11143            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11144            throws java.io.IOException {
11145          return PARSER.parseDelimitedFrom(input, extensionRegistry);
11146        }
11147        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
11148            org.jetbrains.kotlin.protobuf.CodedInputStream input)
11149            throws java.io.IOException {
11150          return PARSER.parseFrom(input);
11151        }
11152        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
11153            org.jetbrains.kotlin.protobuf.CodedInputStream input,
11154            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11155            throws java.io.IOException {
11156          return PARSER.parseFrom(input, extensionRegistry);
11157        }
11158    
11159        public static Builder newBuilder() { return Builder.create(); }
11160        public Builder newBuilderForType() { return newBuilder(); }
11161        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable prototype) {
11162          return newBuilder().mergeFrom(prototype);
11163        }
11164        public Builder toBuilder() { return newBuilder(this); }
11165    
11166        /**
11167         * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeTable}
11168         */
11169        public static final class Builder extends
11170            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.Builder<
11171              org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable, Builder>
11172            implements
11173            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.TypeTable)
11174            org.jetbrains.kotlin.serialization.ProtoBuf.TypeTableOrBuilder {
11175          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.newBuilder()
11176          private Builder() {
11177            maybeForceBuilderInitialization();
11178          }
11179    
11180          private void maybeForceBuilderInitialization() {
11181          }
11182          private static Builder create() {
11183            return new Builder();
11184          }
11185    
11186          public Builder clear() {
11187            super.clear();
11188            type_ = java.util.Collections.emptyList();
11189            bitField0_ = (bitField0_ & ~0x00000001);
11190            firstNullable_ = -1;
11191            bitField0_ = (bitField0_ & ~0x00000002);
11192            return this;
11193          }
11194    
11195          public Builder clone() {
11196            return create().mergeFrom(buildPartial());
11197          }
11198    
11199          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getDefaultInstanceForType() {
11200            return org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
11201          }
11202    
11203          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable build() {
11204            org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable result = buildPartial();
11205            if (!result.isInitialized()) {
11206              throw newUninitializedMessageException(result);
11207            }
11208            return result;
11209          }
11210    
11211          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable buildPartial() {
11212            org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable result = new org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable(this);
11213            int from_bitField0_ = bitField0_;
11214            int to_bitField0_ = 0;
11215            if (((bitField0_ & 0x00000001) == 0x00000001)) {
11216              type_ = java.util.Collections.unmodifiableList(type_);
11217              bitField0_ = (bitField0_ & ~0x00000001);
11218            }
11219            result.type_ = type_;
11220            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
11221              to_bitField0_ |= 0x00000001;
11222            }
11223            result.firstNullable_ = firstNullable_;
11224            result.bitField0_ = to_bitField0_;
11225            return result;
11226          }
11227    
11228          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable other) {
11229            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance()) return this;
11230            if (!other.type_.isEmpty()) {
11231              if (type_.isEmpty()) {
11232                type_ = other.type_;
11233                bitField0_ = (bitField0_ & ~0x00000001);
11234              } else {
11235                ensureTypeIsMutable();
11236                type_.addAll(other.type_);
11237              }
11238              
11239            }
11240            if (other.hasFirstNullable()) {
11241              setFirstNullable(other.getFirstNullable());
11242            }
11243            setUnknownFields(
11244                getUnknownFields().concat(other.unknownFields));
11245            return this;
11246          }
11247    
11248          public final boolean isInitialized() {
11249            for (int i = 0; i < getTypeCount(); i++) {
11250              if (!getType(i).isInitialized()) {
11251                
11252                return false;
11253              }
11254            }
11255            return true;
11256          }
11257    
11258          public Builder mergeFrom(
11259              org.jetbrains.kotlin.protobuf.CodedInputStream input,
11260              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11261              throws java.io.IOException {
11262            org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parsedMessage = null;
11263            try {
11264              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
11265            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
11266              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable) e.getUnfinishedMessage();
11267              throw e;
11268            } finally {
11269              if (parsedMessage != null) {
11270                mergeFrom(parsedMessage);
11271              }
11272            }
11273            return this;
11274          }
11275          private int bitField0_;
11276    
11277          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> type_ =
11278            java.util.Collections.emptyList();
11279          private void ensureTypeIsMutable() {
11280            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
11281              type_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(type_);
11282              bitField0_ |= 0x00000001;
11283             }
11284          }
11285    
11286          /**
11287           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11288           */
11289          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getTypeList() {
11290            return java.util.Collections.unmodifiableList(type_);
11291          }
11292          /**
11293           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11294           */
11295          public int getTypeCount() {
11296            return type_.size();
11297          }
11298          /**
11299           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11300           */
11301          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType(int index) {
11302            return type_.get(index);
11303          }
11304          /**
11305           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11306           */
11307          public Builder setType(
11308              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11309            if (value == null) {
11310              throw new NullPointerException();
11311            }
11312            ensureTypeIsMutable();
11313            type_.set(index, value);
11314    
11315            return this;
11316          }
11317          /**
11318           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11319           */
11320          public Builder setType(
11321              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
11322            ensureTypeIsMutable();
11323            type_.set(index, builderForValue.build());
11324    
11325            return this;
11326          }
11327          /**
11328           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11329           */
11330          public Builder addType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11331            if (value == null) {
11332              throw new NullPointerException();
11333            }
11334            ensureTypeIsMutable();
11335            type_.add(value);
11336    
11337            return this;
11338          }
11339          /**
11340           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11341           */
11342          public Builder addType(
11343              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11344            if (value == null) {
11345              throw new NullPointerException();
11346            }
11347            ensureTypeIsMutable();
11348            type_.add(index, value);
11349    
11350            return this;
11351          }
11352          /**
11353           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11354           */
11355          public Builder addType(
11356              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
11357            ensureTypeIsMutable();
11358            type_.add(builderForValue.build());
11359    
11360            return this;
11361          }
11362          /**
11363           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11364           */
11365          public Builder addType(
11366              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
11367            ensureTypeIsMutable();
11368            type_.add(index, builderForValue.build());
11369    
11370            return this;
11371          }
11372          /**
11373           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11374           */
11375          public Builder addAllType(
11376              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
11377            ensureTypeIsMutable();
11378            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
11379                values, type_);
11380    
11381            return this;
11382          }
11383          /**
11384           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11385           */
11386          public Builder clearType() {
11387            type_ = java.util.Collections.emptyList();
11388            bitField0_ = (bitField0_ & ~0x00000001);
11389    
11390            return this;
11391          }
11392          /**
11393           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11394           */
11395          public Builder removeType(int index) {
11396            ensureTypeIsMutable();
11397            type_.remove(index);
11398    
11399            return this;
11400          }
11401    
11402          private int firstNullable_ = -1;
11403          /**
11404           * <code>optional int32 first_nullable = 2 [default = -1];</code>
11405           *
11406           * <pre>
11407           * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11408           * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11409           * </pre>
11410           */
11411          public boolean hasFirstNullable() {
11412            return ((bitField0_ & 0x00000002) == 0x00000002);
11413          }
11414          /**
11415           * <code>optional int32 first_nullable = 2 [default = -1];</code>
11416           *
11417           * <pre>
11418           * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11419           * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11420           * </pre>
11421           */
11422          public int getFirstNullable() {
11423            return firstNullable_;
11424          }
11425          /**
11426           * <code>optional int32 first_nullable = 2 [default = -1];</code>
11427           *
11428           * <pre>
11429           * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11430           * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11431           * </pre>
11432           */
11433          public Builder setFirstNullable(int value) {
11434            bitField0_ |= 0x00000002;
11435            firstNullable_ = value;
11436            
11437            return this;
11438          }
11439          /**
11440           * <code>optional int32 first_nullable = 2 [default = -1];</code>
11441           *
11442           * <pre>
11443           * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11444           * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11445           * </pre>
11446           */
11447          public Builder clearFirstNullable() {
11448            bitField0_ = (bitField0_ & ~0x00000002);
11449            firstNullable_ = -1;
11450            
11451            return this;
11452          }
11453    
11454          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.TypeTable)
11455        }
11456    
11457        static {
11458          defaultInstance = new TypeTable(true);
11459          defaultInstance.initFields();
11460        }
11461    
11462        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.TypeTable)
11463      }
11464    
11465      public interface ConstructorOrBuilder extends 
11466          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.Constructor)
11467           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
11468                ExtendableMessageOrBuilder<Constructor> {
11469    
11470        /**
11471         * <code>optional int32 flags = 1 [default = 6];</code>
11472         *
11473         * <pre>
11474         *hasAnnotations
11475         *Visibility
11476         *isSecondary
11477         * </pre>
11478         */
11479        boolean hasFlags();
11480        /**
11481         * <code>optional int32 flags = 1 [default = 6];</code>
11482         *
11483         * <pre>
11484         *hasAnnotations
11485         *Visibility
11486         *isSecondary
11487         * </pre>
11488         */
11489        int getFlags();
11490    
11491        /**
11492         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11493         */
11494        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> 
11495            getValueParameterList();
11496        /**
11497         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11498         */
11499        org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index);
11500        /**
11501         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11502         */
11503        int getValueParameterCount();
11504      }
11505      /**
11506       * Protobuf type {@code org.jetbrains.kotlin.serialization.Constructor}
11507       */
11508      public static final class Constructor extends
11509          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
11510            Constructor> implements
11511          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Constructor)
11512          ConstructorOrBuilder {
11513        // Use Constructor.newBuilder() to construct.
11514        private Constructor(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor, ?> builder) {
11515          super(builder);
11516          this.unknownFields = builder.getUnknownFields();
11517        }
11518        private Constructor(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
11519    
11520        private static final Constructor defaultInstance;
11521        public static Constructor getDefaultInstance() {
11522          return defaultInstance;
11523        }
11524    
11525        public Constructor getDefaultInstanceForType() {
11526          return defaultInstance;
11527        }
11528    
11529        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
11530        private Constructor(
11531            org.jetbrains.kotlin.protobuf.CodedInputStream input,
11532            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11533            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11534          initFields();
11535          int mutable_bitField0_ = 0;
11536          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
11537              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
11538          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
11539              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
11540                  unknownFieldsOutput);
11541          try {
11542            boolean done = false;
11543            while (!done) {
11544              int tag = input.readTag();
11545              switch (tag) {
11546                case 0:
11547                  done = true;
11548                  break;
11549                default: {
11550                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
11551                                         extensionRegistry, tag)) {
11552                    done = true;
11553                  }
11554                  break;
11555                }
11556                case 8: {
11557                  bitField0_ |= 0x00000001;
11558                  flags_ = input.readInt32();
11559                  break;
11560                }
11561                case 18: {
11562                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
11563                    valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>();
11564                    mutable_bitField0_ |= 0x00000002;
11565                  }
11566                  valueParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.PARSER, extensionRegistry));
11567                  break;
11568                }
11569              }
11570            }
11571          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
11572            throw e.setUnfinishedMessage(this);
11573          } catch (java.io.IOException e) {
11574            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
11575                e.getMessage()).setUnfinishedMessage(this);
11576          } finally {
11577            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
11578              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
11579            }
11580            try {
11581              unknownFieldsCodedOutput.flush();
11582            } catch (java.io.IOException e) {
11583            // Should not happen
11584            } finally {
11585              unknownFields = unknownFieldsOutput.toByteString();
11586            }
11587            makeExtensionsImmutable();
11588          }
11589        }
11590        public static org.jetbrains.kotlin.protobuf.Parser<Constructor> PARSER =
11591            new org.jetbrains.kotlin.protobuf.AbstractParser<Constructor>() {
11592          public Constructor parsePartialFrom(
11593              org.jetbrains.kotlin.protobuf.CodedInputStream input,
11594              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11595              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11596            return new Constructor(input, extensionRegistry);
11597          }
11598        };
11599    
11600        @java.lang.Override
11601        public org.jetbrains.kotlin.protobuf.Parser<Constructor> getParserForType() {
11602          return PARSER;
11603        }
11604    
11605        private int bitField0_;
11606        public static final int FLAGS_FIELD_NUMBER = 1;
11607        private int flags_;
11608        /**
11609         * <code>optional int32 flags = 1 [default = 6];</code>
11610         *
11611         * <pre>
11612         *hasAnnotations
11613         *Visibility
11614         *isSecondary
11615         * </pre>
11616         */
11617        public boolean hasFlags() {
11618          return ((bitField0_ & 0x00000001) == 0x00000001);
11619        }
11620        /**
11621         * <code>optional int32 flags = 1 [default = 6];</code>
11622         *
11623         * <pre>
11624         *hasAnnotations
11625         *Visibility
11626         *isSecondary
11627         * </pre>
11628         */
11629        public int getFlags() {
11630          return flags_;
11631        }
11632    
11633        public static final int VALUE_PARAMETER_FIELD_NUMBER = 2;
11634        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> valueParameter_;
11635        /**
11636         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11637         */
11638        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> getValueParameterList() {
11639          return valueParameter_;
11640        }
11641        /**
11642         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11643         */
11644        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder> 
11645            getValueParameterOrBuilderList() {
11646          return valueParameter_;
11647        }
11648        /**
11649         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11650         */
11651        public int getValueParameterCount() {
11652          return valueParameter_.size();
11653        }
11654        /**
11655         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11656         */
11657        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index) {
11658          return valueParameter_.get(index);
11659        }
11660        /**
11661         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11662         */
11663        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder getValueParameterOrBuilder(
11664            int index) {
11665          return valueParameter_.get(index);
11666        }
11667    
11668        private void initFields() {
11669          flags_ = 6;
11670          valueParameter_ = java.util.Collections.emptyList();
11671        }
11672        private byte memoizedIsInitialized = -1;
11673        public final boolean isInitialized() {
11674          byte isInitialized = memoizedIsInitialized;
11675          if (isInitialized == 1) return true;
11676          if (isInitialized == 0) return false;
11677    
11678          for (int i = 0; i < getValueParameterCount(); i++) {
11679            if (!getValueParameter(i).isInitialized()) {
11680              memoizedIsInitialized = 0;
11681              return false;
11682            }
11683          }
11684          if (!extensionsAreInitialized()) {
11685            memoizedIsInitialized = 0;
11686            return false;
11687          }
11688          memoizedIsInitialized = 1;
11689          return true;
11690        }
11691    
11692        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
11693                            throws java.io.IOException {
11694          getSerializedSize();
11695          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
11696            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor>.ExtensionWriter extensionWriter =
11697              newExtensionWriter();
11698          if (((bitField0_ & 0x00000001) == 0x00000001)) {
11699            output.writeInt32(1, flags_);
11700          }
11701          for (int i = 0; i < valueParameter_.size(); i++) {
11702            output.writeMessage(2, valueParameter_.get(i));
11703          }
11704          extensionWriter.writeUntil(200, output);
11705          output.writeRawBytes(unknownFields);
11706        }
11707    
11708        private int memoizedSerializedSize = -1;
11709        public int getSerializedSize() {
11710          int size = memoizedSerializedSize;
11711          if (size != -1) return size;
11712    
11713          size = 0;
11714          if (((bitField0_ & 0x00000001) == 0x00000001)) {
11715            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
11716              .computeInt32Size(1, flags_);
11717          }
11718          for (int i = 0; i < valueParameter_.size(); i++) {
11719            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
11720              .computeMessageSize(2, valueParameter_.get(i));
11721          }
11722          size += extensionsSerializedSize();
11723          size += unknownFields.size();
11724          memoizedSerializedSize = size;
11725          return size;
11726        }
11727    
11728        private static final long serialVersionUID = 0L;
11729        @java.lang.Override
11730        protected java.lang.Object writeReplace()
11731            throws java.io.ObjectStreamException {
11732          return super.writeReplace();
11733        }
11734    
11735        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
11736            org.jetbrains.kotlin.protobuf.ByteString data)
11737            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11738          return PARSER.parseFrom(data);
11739        }
11740        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
11741            org.jetbrains.kotlin.protobuf.ByteString data,
11742            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11743            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11744          return PARSER.parseFrom(data, extensionRegistry);
11745        }
11746        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(byte[] data)
11747            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11748          return PARSER.parseFrom(data);
11749        }
11750        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
11751            byte[] data,
11752            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11753            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
11754          return PARSER.parseFrom(data, extensionRegistry);
11755        }
11756        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(java.io.InputStream input)
11757            throws java.io.IOException {
11758          return PARSER.parseFrom(input);
11759        }
11760        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
11761            java.io.InputStream input,
11762            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11763            throws java.io.IOException {
11764          return PARSER.parseFrom(input, extensionRegistry);
11765        }
11766        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseDelimitedFrom(java.io.InputStream input)
11767            throws java.io.IOException {
11768          return PARSER.parseDelimitedFrom(input);
11769        }
11770        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseDelimitedFrom(
11771            java.io.InputStream input,
11772            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11773            throws java.io.IOException {
11774          return PARSER.parseDelimitedFrom(input, extensionRegistry);
11775        }
11776        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
11777            org.jetbrains.kotlin.protobuf.CodedInputStream input)
11778            throws java.io.IOException {
11779          return PARSER.parseFrom(input);
11780        }
11781        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
11782            org.jetbrains.kotlin.protobuf.CodedInputStream input,
11783            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11784            throws java.io.IOException {
11785          return PARSER.parseFrom(input, extensionRegistry);
11786        }
11787    
11788        public static Builder newBuilder() { return Builder.create(); }
11789        public Builder newBuilderForType() { return newBuilder(); }
11790        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Constructor prototype) {
11791          return newBuilder().mergeFrom(prototype);
11792        }
11793        public Builder toBuilder() { return newBuilder(this); }
11794    
11795        /**
11796         * Protobuf type {@code org.jetbrains.kotlin.serialization.Constructor}
11797         */
11798        public static final class Builder extends
11799            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
11800              org.jetbrains.kotlin.serialization.ProtoBuf.Constructor, Builder> implements
11801            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Constructor)
11802            org.jetbrains.kotlin.serialization.ProtoBuf.ConstructorOrBuilder {
11803          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.newBuilder()
11804          private Builder() {
11805            maybeForceBuilderInitialization();
11806          }
11807    
11808          private void maybeForceBuilderInitialization() {
11809          }
11810          private static Builder create() {
11811            return new Builder();
11812          }
11813    
11814          public Builder clear() {
11815            super.clear();
11816            flags_ = 6;
11817            bitField0_ = (bitField0_ & ~0x00000001);
11818            valueParameter_ = java.util.Collections.emptyList();
11819            bitField0_ = (bitField0_ & ~0x00000002);
11820            return this;
11821          }
11822    
11823          public Builder clone() {
11824            return create().mergeFrom(buildPartial());
11825          }
11826    
11827          public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor getDefaultInstanceForType() {
11828            return org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.getDefaultInstance();
11829          }
11830    
11831          public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor build() {
11832            org.jetbrains.kotlin.serialization.ProtoBuf.Constructor result = buildPartial();
11833            if (!result.isInitialized()) {
11834              throw newUninitializedMessageException(result);
11835            }
11836            return result;
11837          }
11838    
11839          public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor buildPartial() {
11840            org.jetbrains.kotlin.serialization.ProtoBuf.Constructor result = new org.jetbrains.kotlin.serialization.ProtoBuf.Constructor(this);
11841            int from_bitField0_ = bitField0_;
11842            int to_bitField0_ = 0;
11843            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
11844              to_bitField0_ |= 0x00000001;
11845            }
11846            result.flags_ = flags_;
11847            if (((bitField0_ & 0x00000002) == 0x00000002)) {
11848              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
11849              bitField0_ = (bitField0_ & ~0x00000002);
11850            }
11851            result.valueParameter_ = valueParameter_;
11852            result.bitField0_ = to_bitField0_;
11853            return result;
11854          }
11855    
11856          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Constructor other) {
11857            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.getDefaultInstance()) return this;
11858            if (other.hasFlags()) {
11859              setFlags(other.getFlags());
11860            }
11861            if (!other.valueParameter_.isEmpty()) {
11862              if (valueParameter_.isEmpty()) {
11863                valueParameter_ = other.valueParameter_;
11864                bitField0_ = (bitField0_ & ~0x00000002);
11865              } else {
11866                ensureValueParameterIsMutable();
11867                valueParameter_.addAll(other.valueParameter_);
11868              }
11869              
11870            }
11871            this.mergeExtensionFields(other);
11872            setUnknownFields(
11873                getUnknownFields().concat(other.unknownFields));
11874            return this;
11875          }
11876    
11877          public final boolean isInitialized() {
11878            for (int i = 0; i < getValueParameterCount(); i++) {
11879              if (!getValueParameter(i).isInitialized()) {
11880                
11881                return false;
11882              }
11883            }
11884            if (!extensionsAreInitialized()) {
11885              
11886              return false;
11887            }
11888            return true;
11889          }
11890    
11891          public Builder mergeFrom(
11892              org.jetbrains.kotlin.protobuf.CodedInputStream input,
11893              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
11894              throws java.io.IOException {
11895            org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parsedMessage = null;
11896            try {
11897              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
11898            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
11899              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Constructor) e.getUnfinishedMessage();
11900              throw e;
11901            } finally {
11902              if (parsedMessage != null) {
11903                mergeFrom(parsedMessage);
11904              }
11905            }
11906            return this;
11907          }
11908          private int bitField0_;
11909    
11910          private int flags_ = 6;
11911          /**
11912           * <code>optional int32 flags = 1 [default = 6];</code>
11913           *
11914           * <pre>
11915           *hasAnnotations
11916           *Visibility
11917           *isSecondary
11918           * </pre>
11919           */
11920          public boolean hasFlags() {
11921            return ((bitField0_ & 0x00000001) == 0x00000001);
11922          }
11923          /**
11924           * <code>optional int32 flags = 1 [default = 6];</code>
11925           *
11926           * <pre>
11927           *hasAnnotations
11928           *Visibility
11929           *isSecondary
11930           * </pre>
11931           */
11932          public int getFlags() {
11933            return flags_;
11934          }
11935          /**
11936           * <code>optional int32 flags = 1 [default = 6];</code>
11937           *
11938           * <pre>
11939           *hasAnnotations
11940           *Visibility
11941           *isSecondary
11942           * </pre>
11943           */
11944          public Builder setFlags(int value) {
11945            bitField0_ |= 0x00000001;
11946            flags_ = value;
11947            
11948            return this;
11949          }
11950          /**
11951           * <code>optional int32 flags = 1 [default = 6];</code>
11952           *
11953           * <pre>
11954           *hasAnnotations
11955           *Visibility
11956           *isSecondary
11957           * </pre>
11958           */
11959          public Builder clearFlags() {
11960            bitField0_ = (bitField0_ & ~0x00000001);
11961            flags_ = 6;
11962            
11963            return this;
11964          }
11965    
11966          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> valueParameter_ =
11967            java.util.Collections.emptyList();
11968          private void ensureValueParameterIsMutable() {
11969            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
11970              valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>(valueParameter_);
11971              bitField0_ |= 0x00000002;
11972             }
11973          }
11974    
11975          /**
11976           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11977           */
11978          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> getValueParameterList() {
11979            return java.util.Collections.unmodifiableList(valueParameter_);
11980          }
11981          /**
11982           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11983           */
11984          public int getValueParameterCount() {
11985            return valueParameter_.size();
11986          }
11987          /**
11988           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11989           */
11990          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index) {
11991            return valueParameter_.get(index);
11992          }
11993          /**
11994           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11995           */
11996          public Builder setValueParameter(
11997              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
11998            if (value == null) {
11999              throw new NullPointerException();
12000            }
12001            ensureValueParameterIsMutable();
12002            valueParameter_.set(index, value);
12003    
12004            return this;
12005          }
12006          /**
12007           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12008           */
12009          public Builder setValueParameter(
12010              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
12011            ensureValueParameterIsMutable();
12012            valueParameter_.set(index, builderForValue.build());
12013    
12014            return this;
12015          }
12016          /**
12017           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12018           */
12019          public Builder addValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
12020            if (value == null) {
12021              throw new NullPointerException();
12022            }
12023            ensureValueParameterIsMutable();
12024            valueParameter_.add(value);
12025    
12026            return this;
12027          }
12028          /**
12029           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12030           */
12031          public Builder addValueParameter(
12032              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
12033            if (value == null) {
12034              throw new NullPointerException();
12035            }
12036            ensureValueParameterIsMutable();
12037            valueParameter_.add(index, value);
12038    
12039            return this;
12040          }
12041          /**
12042           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12043           */
12044          public Builder addValueParameter(
12045              org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
12046            ensureValueParameterIsMutable();
12047            valueParameter_.add(builderForValue.build());
12048    
12049            return this;
12050          }
12051          /**
12052           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12053           */
12054          public Builder addValueParameter(
12055              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
12056            ensureValueParameterIsMutable();
12057            valueParameter_.add(index, builderForValue.build());
12058    
12059            return this;
12060          }
12061          /**
12062           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12063           */
12064          public Builder addAllValueParameter(
12065              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> values) {
12066            ensureValueParameterIsMutable();
12067            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
12068                values, valueParameter_);
12069    
12070            return this;
12071          }
12072          /**
12073           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12074           */
12075          public Builder clearValueParameter() {
12076            valueParameter_ = java.util.Collections.emptyList();
12077            bitField0_ = (bitField0_ & ~0x00000002);
12078    
12079            return this;
12080          }
12081          /**
12082           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12083           */
12084          public Builder removeValueParameter(int index) {
12085            ensureValueParameterIsMutable();
12086            valueParameter_.remove(index);
12087    
12088            return this;
12089          }
12090    
12091          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Constructor)
12092        }
12093    
12094        static {
12095          defaultInstance = new Constructor(true);
12096          defaultInstance.initFields();
12097        }
12098    
12099        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Constructor)
12100      }
12101    
12102      public interface FunctionOrBuilder extends 
12103          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.Function)
12104           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
12105                ExtendableMessageOrBuilder<Function> {
12106    
12107        /**
12108         * <code>optional int32 flags = 9 [default = 6];</code>
12109         *
12110         * <pre>
12111         *hasAnnotations
12112         *Visibility
12113         *Modality
12114         *MemberKind
12115         *isOperator
12116         *isInfix
12117         *isInline
12118         *isTailrec
12119         *isExternal
12120         * </pre>
12121         */
12122        boolean hasFlags();
12123        /**
12124         * <code>optional int32 flags = 9 [default = 6];</code>
12125         *
12126         * <pre>
12127         *hasAnnotations
12128         *Visibility
12129         *Modality
12130         *MemberKind
12131         *isOperator
12132         *isInfix
12133         *isInline
12134         *isTailrec
12135         *isExternal
12136         * </pre>
12137         */
12138        int getFlags();
12139    
12140        /**
12141         * <code>optional int32 old_flags = 1 [default = 6];</code>
12142         */
12143        boolean hasOldFlags();
12144        /**
12145         * <code>optional int32 old_flags = 1 [default = 6];</code>
12146         */
12147        int getOldFlags();
12148    
12149        /**
12150         * <code>required int32 name = 2;</code>
12151         */
12152        boolean hasName();
12153        /**
12154         * <code>required int32 name = 2;</code>
12155         */
12156        int getName();
12157    
12158        /**
12159         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
12160         */
12161        boolean hasReturnType();
12162        /**
12163         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
12164         */
12165        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType();
12166    
12167        /**
12168         * <code>optional int32 return_type_id = 7;</code>
12169         */
12170        boolean hasReturnTypeId();
12171        /**
12172         * <code>optional int32 return_type_id = 7;</code>
12173         */
12174        int getReturnTypeId();
12175    
12176        /**
12177         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12178         */
12179        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
12180            getTypeParameterList();
12181        /**
12182         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12183         */
12184        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
12185        /**
12186         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12187         */
12188        int getTypeParameterCount();
12189    
12190        /**
12191         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12192         */
12193        boolean hasReceiverType();
12194        /**
12195         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12196         */
12197        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType();
12198    
12199        /**
12200         * <code>optional int32 receiver_type_id = 8;</code>
12201         */
12202        boolean hasReceiverTypeId();
12203        /**
12204         * <code>optional int32 receiver_type_id = 8;</code>
12205         */
12206        int getReceiverTypeId();
12207    
12208        /**
12209         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12210         */
12211        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> 
12212            getValueParameterList();
12213        /**
12214         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12215         */
12216        org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index);
12217        /**
12218         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12219         */
12220        int getValueParameterCount();
12221    
12222        /**
12223         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
12224         */
12225        boolean hasTypeTable();
12226        /**
12227         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
12228         */
12229        org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable();
12230      }
12231      /**
12232       * Protobuf type {@code org.jetbrains.kotlin.serialization.Function}
12233       */
12234      public static final class Function extends
12235          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
12236            Function> implements
12237          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Function)
12238          FunctionOrBuilder {
12239        // Use Function.newBuilder() to construct.
12240        private Function(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Function, ?> builder) {
12241          super(builder);
12242          this.unknownFields = builder.getUnknownFields();
12243        }
12244        private Function(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
12245    
12246        private static final Function defaultInstance;
12247        public static Function getDefaultInstance() {
12248          return defaultInstance;
12249        }
12250    
12251        public Function getDefaultInstanceForType() {
12252          return defaultInstance;
12253        }
12254    
12255        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
12256        private Function(
12257            org.jetbrains.kotlin.protobuf.CodedInputStream input,
12258            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12259            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
12260          initFields();
12261          int mutable_bitField0_ = 0;
12262          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
12263              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
12264          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
12265              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
12266                  unknownFieldsOutput);
12267          try {
12268            boolean done = false;
12269            while (!done) {
12270              int tag = input.readTag();
12271              switch (tag) {
12272                case 0:
12273                  done = true;
12274                  break;
12275                default: {
12276                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
12277                                         extensionRegistry, tag)) {
12278                    done = true;
12279                  }
12280                  break;
12281                }
12282                case 8: {
12283                  bitField0_ |= 0x00000002;
12284                  oldFlags_ = input.readInt32();
12285                  break;
12286                }
12287                case 16: {
12288                  bitField0_ |= 0x00000004;
12289                  name_ = input.readInt32();
12290                  break;
12291                }
12292                case 26: {
12293                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
12294                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
12295                    subBuilder = returnType_.toBuilder();
12296                  }
12297                  returnType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
12298                  if (subBuilder != null) {
12299                    subBuilder.mergeFrom(returnType_);
12300                    returnType_ = subBuilder.buildPartial();
12301                  }
12302                  bitField0_ |= 0x00000008;
12303                  break;
12304                }
12305                case 34: {
12306                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
12307                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
12308                    mutable_bitField0_ |= 0x00000020;
12309                  }
12310                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
12311                  break;
12312                }
12313                case 42: {
12314                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
12315                  if (((bitField0_ & 0x00000020) == 0x00000020)) {
12316                    subBuilder = receiverType_.toBuilder();
12317                  }
12318                  receiverType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
12319                  if (subBuilder != null) {
12320                    subBuilder.mergeFrom(receiverType_);
12321                    receiverType_ = subBuilder.buildPartial();
12322                  }
12323                  bitField0_ |= 0x00000020;
12324                  break;
12325                }
12326                case 50: {
12327                  if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
12328                    valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>();
12329                    mutable_bitField0_ |= 0x00000100;
12330                  }
12331                  valueParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.PARSER, extensionRegistry));
12332                  break;
12333                }
12334                case 56: {
12335                  bitField0_ |= 0x00000010;
12336                  returnTypeId_ = input.readInt32();
12337                  break;
12338                }
12339                case 64: {
12340                  bitField0_ |= 0x00000040;
12341                  receiverTypeId_ = input.readInt32();
12342                  break;
12343                }
12344                case 72: {
12345                  bitField0_ |= 0x00000001;
12346                  flags_ = input.readInt32();
12347                  break;
12348                }
12349                case 242: {
12350                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder subBuilder = null;
12351                  if (((bitField0_ & 0x00000080) == 0x00000080)) {
12352                    subBuilder = typeTable_.toBuilder();
12353                  }
12354                  typeTable_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.PARSER, extensionRegistry);
12355                  if (subBuilder != null) {
12356                    subBuilder.mergeFrom(typeTable_);
12357                    typeTable_ = subBuilder.buildPartial();
12358                  }
12359                  bitField0_ |= 0x00000080;
12360                  break;
12361                }
12362              }
12363            }
12364          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
12365            throw e.setUnfinishedMessage(this);
12366          } catch (java.io.IOException e) {
12367            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
12368                e.getMessage()).setUnfinishedMessage(this);
12369          } finally {
12370            if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
12371              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
12372            }
12373            if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
12374              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
12375            }
12376            try {
12377              unknownFieldsCodedOutput.flush();
12378            } catch (java.io.IOException e) {
12379            // Should not happen
12380            } finally {
12381              unknownFields = unknownFieldsOutput.toByteString();
12382            }
12383            makeExtensionsImmutable();
12384          }
12385        }
12386        public static org.jetbrains.kotlin.protobuf.Parser<Function> PARSER =
12387            new org.jetbrains.kotlin.protobuf.AbstractParser<Function>() {
12388          public Function parsePartialFrom(
12389              org.jetbrains.kotlin.protobuf.CodedInputStream input,
12390              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12391              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
12392            return new Function(input, extensionRegistry);
12393          }
12394        };
12395    
12396        @java.lang.Override
12397        public org.jetbrains.kotlin.protobuf.Parser<Function> getParserForType() {
12398          return PARSER;
12399        }
12400    
12401        private int bitField0_;
12402        public static final int FLAGS_FIELD_NUMBER = 9;
12403        private int flags_;
12404        /**
12405         * <code>optional int32 flags = 9 [default = 6];</code>
12406         *
12407         * <pre>
12408         *hasAnnotations
12409         *Visibility
12410         *Modality
12411         *MemberKind
12412         *isOperator
12413         *isInfix
12414         *isInline
12415         *isTailrec
12416         *isExternal
12417         * </pre>
12418         */
12419        public boolean hasFlags() {
12420          return ((bitField0_ & 0x00000001) == 0x00000001);
12421        }
12422        /**
12423         * <code>optional int32 flags = 9 [default = 6];</code>
12424         *
12425         * <pre>
12426         *hasAnnotations
12427         *Visibility
12428         *Modality
12429         *MemberKind
12430         *isOperator
12431         *isInfix
12432         *isInline
12433         *isTailrec
12434         *isExternal
12435         * </pre>
12436         */
12437        public int getFlags() {
12438          return flags_;
12439        }
12440    
12441        public static final int OLD_FLAGS_FIELD_NUMBER = 1;
12442        private int oldFlags_;
12443        /**
12444         * <code>optional int32 old_flags = 1 [default = 6];</code>
12445         */
12446        public boolean hasOldFlags() {
12447          return ((bitField0_ & 0x00000002) == 0x00000002);
12448        }
12449        /**
12450         * <code>optional int32 old_flags = 1 [default = 6];</code>
12451         */
12452        public int getOldFlags() {
12453          return oldFlags_;
12454        }
12455    
12456        public static final int NAME_FIELD_NUMBER = 2;
12457        private int name_;
12458        /**
12459         * <code>required int32 name = 2;</code>
12460         */
12461        public boolean hasName() {
12462          return ((bitField0_ & 0x00000004) == 0x00000004);
12463        }
12464        /**
12465         * <code>required int32 name = 2;</code>
12466         */
12467        public int getName() {
12468          return name_;
12469        }
12470    
12471        public static final int RETURN_TYPE_FIELD_NUMBER = 3;
12472        private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_;
12473        /**
12474         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
12475         */
12476        public boolean hasReturnType() {
12477          return ((bitField0_ & 0x00000008) == 0x00000008);
12478        }
12479        /**
12480         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
12481         */
12482        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
12483          return returnType_;
12484        }
12485    
12486        public static final int RETURN_TYPE_ID_FIELD_NUMBER = 7;
12487        private int returnTypeId_;
12488        /**
12489         * <code>optional int32 return_type_id = 7;</code>
12490         */
12491        public boolean hasReturnTypeId() {
12492          return ((bitField0_ & 0x00000010) == 0x00000010);
12493        }
12494        /**
12495         * <code>optional int32 return_type_id = 7;</code>
12496         */
12497        public int getReturnTypeId() {
12498          return returnTypeId_;
12499        }
12500    
12501        public static final int TYPE_PARAMETER_FIELD_NUMBER = 4;
12502        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
12503        /**
12504         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12505         */
12506        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
12507          return typeParameter_;
12508        }
12509        /**
12510         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12511         */
12512        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
12513            getTypeParameterOrBuilderList() {
12514          return typeParameter_;
12515        }
12516        /**
12517         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12518         */
12519        public int getTypeParameterCount() {
12520          return typeParameter_.size();
12521        }
12522        /**
12523         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12524         */
12525        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
12526          return typeParameter_.get(index);
12527        }
12528        /**
12529         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12530         */
12531        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
12532            int index) {
12533          return typeParameter_.get(index);
12534        }
12535    
12536        public static final int RECEIVER_TYPE_FIELD_NUMBER = 5;
12537        private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_;
12538        /**
12539         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12540         */
12541        public boolean hasReceiverType() {
12542          return ((bitField0_ & 0x00000020) == 0x00000020);
12543        }
12544        /**
12545         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12546         */
12547        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
12548          return receiverType_;
12549        }
12550    
12551        public static final int RECEIVER_TYPE_ID_FIELD_NUMBER = 8;
12552        private int receiverTypeId_;
12553        /**
12554         * <code>optional int32 receiver_type_id = 8;</code>
12555         */
12556        public boolean hasReceiverTypeId() {
12557          return ((bitField0_ & 0x00000040) == 0x00000040);
12558        }
12559        /**
12560         * <code>optional int32 receiver_type_id = 8;</code>
12561         */
12562        public int getReceiverTypeId() {
12563          return receiverTypeId_;
12564        }
12565    
12566        public static final int VALUE_PARAMETER_FIELD_NUMBER = 6;
12567        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> valueParameter_;
12568        /**
12569         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12570         */
12571        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> getValueParameterList() {
12572          return valueParameter_;
12573        }
12574        /**
12575         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12576         */
12577        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder> 
12578            getValueParameterOrBuilderList() {
12579          return valueParameter_;
12580        }
12581        /**
12582         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12583         */
12584        public int getValueParameterCount() {
12585          return valueParameter_.size();
12586        }
12587        /**
12588         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12589         */
12590        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index) {
12591          return valueParameter_.get(index);
12592        }
12593        /**
12594         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12595         */
12596        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder getValueParameterOrBuilder(
12597            int index) {
12598          return valueParameter_.get(index);
12599        }
12600    
12601        public static final int TYPE_TABLE_FIELD_NUMBER = 30;
12602        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_;
12603        /**
12604         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
12605         */
12606        public boolean hasTypeTable() {
12607          return ((bitField0_ & 0x00000080) == 0x00000080);
12608        }
12609        /**
12610         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
12611         */
12612        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
12613          return typeTable_;
12614        }
12615    
12616        private void initFields() {
12617          flags_ = 6;
12618          oldFlags_ = 6;
12619          name_ = 0;
12620          returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12621          returnTypeId_ = 0;
12622          typeParameter_ = java.util.Collections.emptyList();
12623          receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12624          receiverTypeId_ = 0;
12625          valueParameter_ = java.util.Collections.emptyList();
12626          typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
12627        }
12628        private byte memoizedIsInitialized = -1;
12629        public final boolean isInitialized() {
12630          byte isInitialized = memoizedIsInitialized;
12631          if (isInitialized == 1) return true;
12632          if (isInitialized == 0) return false;
12633    
12634          if (!hasName()) {
12635            memoizedIsInitialized = 0;
12636            return false;
12637          }
12638          if (hasReturnType()) {
12639            if (!getReturnType().isInitialized()) {
12640              memoizedIsInitialized = 0;
12641              return false;
12642            }
12643          }
12644          for (int i = 0; i < getTypeParameterCount(); i++) {
12645            if (!getTypeParameter(i).isInitialized()) {
12646              memoizedIsInitialized = 0;
12647              return false;
12648            }
12649          }
12650          if (hasReceiverType()) {
12651            if (!getReceiverType().isInitialized()) {
12652              memoizedIsInitialized = 0;
12653              return false;
12654            }
12655          }
12656          for (int i = 0; i < getValueParameterCount(); i++) {
12657            if (!getValueParameter(i).isInitialized()) {
12658              memoizedIsInitialized = 0;
12659              return false;
12660            }
12661          }
12662          if (hasTypeTable()) {
12663            if (!getTypeTable().isInitialized()) {
12664              memoizedIsInitialized = 0;
12665              return false;
12666            }
12667          }
12668          if (!extensionsAreInitialized()) {
12669            memoizedIsInitialized = 0;
12670            return false;
12671          }
12672          memoizedIsInitialized = 1;
12673          return true;
12674        }
12675    
12676        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
12677                            throws java.io.IOException {
12678          getSerializedSize();
12679          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
12680            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Function>.ExtensionWriter extensionWriter =
12681              newExtensionWriter();
12682          if (((bitField0_ & 0x00000002) == 0x00000002)) {
12683            output.writeInt32(1, oldFlags_);
12684          }
12685          if (((bitField0_ & 0x00000004) == 0x00000004)) {
12686            output.writeInt32(2, name_);
12687          }
12688          if (((bitField0_ & 0x00000008) == 0x00000008)) {
12689            output.writeMessage(3, returnType_);
12690          }
12691          for (int i = 0; i < typeParameter_.size(); i++) {
12692            output.writeMessage(4, typeParameter_.get(i));
12693          }
12694          if (((bitField0_ & 0x00000020) == 0x00000020)) {
12695            output.writeMessage(5, receiverType_);
12696          }
12697          for (int i = 0; i < valueParameter_.size(); i++) {
12698            output.writeMessage(6, valueParameter_.get(i));
12699          }
12700          if (((bitField0_ & 0x00000010) == 0x00000010)) {
12701            output.writeInt32(7, returnTypeId_);
12702          }
12703          if (((bitField0_ & 0x00000040) == 0x00000040)) {
12704            output.writeInt32(8, receiverTypeId_);
12705          }
12706          if (((bitField0_ & 0x00000001) == 0x00000001)) {
12707            output.writeInt32(9, flags_);
12708          }
12709          if (((bitField0_ & 0x00000080) == 0x00000080)) {
12710            output.writeMessage(30, typeTable_);
12711          }
12712          extensionWriter.writeUntil(200, output);
12713          output.writeRawBytes(unknownFields);
12714        }
12715    
12716        private int memoizedSerializedSize = -1;
12717        public int getSerializedSize() {
12718          int size = memoizedSerializedSize;
12719          if (size != -1) return size;
12720    
12721          size = 0;
12722          if (((bitField0_ & 0x00000002) == 0x00000002)) {
12723            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
12724              .computeInt32Size(1, oldFlags_);
12725          }
12726          if (((bitField0_ & 0x00000004) == 0x00000004)) {
12727            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
12728              .computeInt32Size(2, name_);
12729          }
12730          if (((bitField0_ & 0x00000008) == 0x00000008)) {
12731            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
12732              .computeMessageSize(3, returnType_);
12733          }
12734          for (int i = 0; i < typeParameter_.size(); i++) {
12735            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
12736              .computeMessageSize(4, typeParameter_.get(i));
12737          }
12738          if (((bitField0_ & 0x00000020) == 0x00000020)) {
12739            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
12740              .computeMessageSize(5, receiverType_);
12741          }
12742          for (int i = 0; i < valueParameter_.size(); i++) {
12743            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
12744              .computeMessageSize(6, valueParameter_.get(i));
12745          }
12746          if (((bitField0_ & 0x00000010) == 0x00000010)) {
12747            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
12748              .computeInt32Size(7, returnTypeId_);
12749          }
12750          if (((bitField0_ & 0x00000040) == 0x00000040)) {
12751            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
12752              .computeInt32Size(8, receiverTypeId_);
12753          }
12754          if (((bitField0_ & 0x00000001) == 0x00000001)) {
12755            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
12756              .computeInt32Size(9, flags_);
12757          }
12758          if (((bitField0_ & 0x00000080) == 0x00000080)) {
12759            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
12760              .computeMessageSize(30, typeTable_);
12761          }
12762          size += extensionsSerializedSize();
12763          size += unknownFields.size();
12764          memoizedSerializedSize = size;
12765          return size;
12766        }
12767    
12768        private static final long serialVersionUID = 0L;
12769        @java.lang.Override
12770        protected java.lang.Object writeReplace()
12771            throws java.io.ObjectStreamException {
12772          return super.writeReplace();
12773        }
12774    
12775        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
12776            org.jetbrains.kotlin.protobuf.ByteString data)
12777            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
12778          return PARSER.parseFrom(data);
12779        }
12780        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
12781            org.jetbrains.kotlin.protobuf.ByteString data,
12782            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12783            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
12784          return PARSER.parseFrom(data, extensionRegistry);
12785        }
12786        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(byte[] data)
12787            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
12788          return PARSER.parseFrom(data);
12789        }
12790        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
12791            byte[] data,
12792            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12793            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
12794          return PARSER.parseFrom(data, extensionRegistry);
12795        }
12796        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(java.io.InputStream input)
12797            throws java.io.IOException {
12798          return PARSER.parseFrom(input);
12799        }
12800        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
12801            java.io.InputStream input,
12802            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12803            throws java.io.IOException {
12804          return PARSER.parseFrom(input, extensionRegistry);
12805        }
12806        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseDelimitedFrom(java.io.InputStream input)
12807            throws java.io.IOException {
12808          return PARSER.parseDelimitedFrom(input);
12809        }
12810        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseDelimitedFrom(
12811            java.io.InputStream input,
12812            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12813            throws java.io.IOException {
12814          return PARSER.parseDelimitedFrom(input, extensionRegistry);
12815        }
12816        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
12817            org.jetbrains.kotlin.protobuf.CodedInputStream input)
12818            throws java.io.IOException {
12819          return PARSER.parseFrom(input);
12820        }
12821        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
12822            org.jetbrains.kotlin.protobuf.CodedInputStream input,
12823            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
12824            throws java.io.IOException {
12825          return PARSER.parseFrom(input, extensionRegistry);
12826        }
12827    
12828        public static Builder newBuilder() { return Builder.create(); }
12829        public Builder newBuilderForType() { return newBuilder(); }
12830        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Function prototype) {
12831          return newBuilder().mergeFrom(prototype);
12832        }
12833        public Builder toBuilder() { return newBuilder(this); }
12834    
12835        /**
12836         * Protobuf type {@code org.jetbrains.kotlin.serialization.Function}
12837         */
12838        public static final class Builder extends
12839            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
12840              org.jetbrains.kotlin.serialization.ProtoBuf.Function, Builder> implements
12841            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Function)
12842            org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder {
12843          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Function.newBuilder()
12844          private Builder() {
12845            maybeForceBuilderInitialization();
12846          }
12847    
12848          private void maybeForceBuilderInitialization() {
12849          }
12850          private static Builder create() {
12851            return new Builder();
12852          }
12853    
12854          public Builder clear() {
12855            super.clear();
12856            flags_ = 6;
12857            bitField0_ = (bitField0_ & ~0x00000001);
12858            oldFlags_ = 6;
12859            bitField0_ = (bitField0_ & ~0x00000002);
12860            name_ = 0;
12861            bitField0_ = (bitField0_ & ~0x00000004);
12862            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12863            bitField0_ = (bitField0_ & ~0x00000008);
12864            returnTypeId_ = 0;
12865            bitField0_ = (bitField0_ & ~0x00000010);
12866            typeParameter_ = java.util.Collections.emptyList();
12867            bitField0_ = (bitField0_ & ~0x00000020);
12868            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12869            bitField0_ = (bitField0_ & ~0x00000040);
12870            receiverTypeId_ = 0;
12871            bitField0_ = (bitField0_ & ~0x00000080);
12872            valueParameter_ = java.util.Collections.emptyList();
12873            bitField0_ = (bitField0_ & ~0x00000100);
12874            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
12875            bitField0_ = (bitField0_ & ~0x00000200);
12876            return this;
12877          }
12878    
12879          public Builder clone() {
12880            return create().mergeFrom(buildPartial());
12881          }
12882    
12883          public org.jetbrains.kotlin.serialization.ProtoBuf.Function getDefaultInstanceForType() {
12884            return org.jetbrains.kotlin.serialization.ProtoBuf.Function.getDefaultInstance();
12885          }
12886    
12887          public org.jetbrains.kotlin.serialization.ProtoBuf.Function build() {
12888            org.jetbrains.kotlin.serialization.ProtoBuf.Function result = buildPartial();
12889            if (!result.isInitialized()) {
12890              throw newUninitializedMessageException(result);
12891            }
12892            return result;
12893          }
12894    
12895          public org.jetbrains.kotlin.serialization.ProtoBuf.Function buildPartial() {
12896            org.jetbrains.kotlin.serialization.ProtoBuf.Function result = new org.jetbrains.kotlin.serialization.ProtoBuf.Function(this);
12897            int from_bitField0_ = bitField0_;
12898            int to_bitField0_ = 0;
12899            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
12900              to_bitField0_ |= 0x00000001;
12901            }
12902            result.flags_ = flags_;
12903            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
12904              to_bitField0_ |= 0x00000002;
12905            }
12906            result.oldFlags_ = oldFlags_;
12907            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
12908              to_bitField0_ |= 0x00000004;
12909            }
12910            result.name_ = name_;
12911            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
12912              to_bitField0_ |= 0x00000008;
12913            }
12914            result.returnType_ = returnType_;
12915            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
12916              to_bitField0_ |= 0x00000010;
12917            }
12918            result.returnTypeId_ = returnTypeId_;
12919            if (((bitField0_ & 0x00000020) == 0x00000020)) {
12920              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
12921              bitField0_ = (bitField0_ & ~0x00000020);
12922            }
12923            result.typeParameter_ = typeParameter_;
12924            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
12925              to_bitField0_ |= 0x00000020;
12926            }
12927            result.receiverType_ = receiverType_;
12928            if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
12929              to_bitField0_ |= 0x00000040;
12930            }
12931            result.receiverTypeId_ = receiverTypeId_;
12932            if (((bitField0_ & 0x00000100) == 0x00000100)) {
12933              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
12934              bitField0_ = (bitField0_ & ~0x00000100);
12935            }
12936            result.valueParameter_ = valueParameter_;
12937            if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
12938              to_bitField0_ |= 0x00000080;
12939            }
12940            result.typeTable_ = typeTable_;
12941            result.bitField0_ = to_bitField0_;
12942            return result;
12943          }
12944    
12945          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Function other) {
12946            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Function.getDefaultInstance()) return this;
12947            if (other.hasFlags()) {
12948              setFlags(other.getFlags());
12949            }
12950            if (other.hasOldFlags()) {
12951              setOldFlags(other.getOldFlags());
12952            }
12953            if (other.hasName()) {
12954              setName(other.getName());
12955            }
12956            if (other.hasReturnType()) {
12957              mergeReturnType(other.getReturnType());
12958            }
12959            if (other.hasReturnTypeId()) {
12960              setReturnTypeId(other.getReturnTypeId());
12961            }
12962            if (!other.typeParameter_.isEmpty()) {
12963              if (typeParameter_.isEmpty()) {
12964                typeParameter_ = other.typeParameter_;
12965                bitField0_ = (bitField0_ & ~0x00000020);
12966              } else {
12967                ensureTypeParameterIsMutable();
12968                typeParameter_.addAll(other.typeParameter_);
12969              }
12970              
12971            }
12972            if (other.hasReceiverType()) {
12973              mergeReceiverType(other.getReceiverType());
12974            }
12975            if (other.hasReceiverTypeId()) {
12976              setReceiverTypeId(other.getReceiverTypeId());
12977            }
12978            if (!other.valueParameter_.isEmpty()) {
12979              if (valueParameter_.isEmpty()) {
12980                valueParameter_ = other.valueParameter_;
12981                bitField0_ = (bitField0_ & ~0x00000100);
12982              } else {
12983                ensureValueParameterIsMutable();
12984                valueParameter_.addAll(other.valueParameter_);
12985              }
12986              
12987            }
12988            if (other.hasTypeTable()) {
12989              mergeTypeTable(other.getTypeTable());
12990            }
12991            this.mergeExtensionFields(other);
12992            setUnknownFields(
12993                getUnknownFields().concat(other.unknownFields));
12994            return this;
12995          }
12996    
12997          public final boolean isInitialized() {
12998            if (!hasName()) {
12999              
13000              return false;
13001            }
13002            if (hasReturnType()) {
13003              if (!getReturnType().isInitialized()) {
13004                
13005                return false;
13006              }
13007            }
13008            for (int i = 0; i < getTypeParameterCount(); i++) {
13009              if (!getTypeParameter(i).isInitialized()) {
13010                
13011                return false;
13012              }
13013            }
13014            if (hasReceiverType()) {
13015              if (!getReceiverType().isInitialized()) {
13016                
13017                return false;
13018              }
13019            }
13020            for (int i = 0; i < getValueParameterCount(); i++) {
13021              if (!getValueParameter(i).isInitialized()) {
13022                
13023                return false;
13024              }
13025            }
13026            if (hasTypeTable()) {
13027              if (!getTypeTable().isInitialized()) {
13028                
13029                return false;
13030              }
13031            }
13032            if (!extensionsAreInitialized()) {
13033              
13034              return false;
13035            }
13036            return true;
13037          }
13038    
13039          public Builder mergeFrom(
13040              org.jetbrains.kotlin.protobuf.CodedInputStream input,
13041              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
13042              throws java.io.IOException {
13043            org.jetbrains.kotlin.serialization.ProtoBuf.Function parsedMessage = null;
13044            try {
13045              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
13046            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
13047              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Function) e.getUnfinishedMessage();
13048              throw e;
13049            } finally {
13050              if (parsedMessage != null) {
13051                mergeFrom(parsedMessage);
13052              }
13053            }
13054            return this;
13055          }
13056          private int bitField0_;
13057    
13058          private int flags_ = 6;
13059          /**
13060           * <code>optional int32 flags = 9 [default = 6];</code>
13061           *
13062           * <pre>
13063           *hasAnnotations
13064           *Visibility
13065           *Modality
13066           *MemberKind
13067           *isOperator
13068           *isInfix
13069           *isInline
13070           *isTailrec
13071           *isExternal
13072           * </pre>
13073           */
13074          public boolean hasFlags() {
13075            return ((bitField0_ & 0x00000001) == 0x00000001);
13076          }
13077          /**
13078           * <code>optional int32 flags = 9 [default = 6];</code>
13079           *
13080           * <pre>
13081           *hasAnnotations
13082           *Visibility
13083           *Modality
13084           *MemberKind
13085           *isOperator
13086           *isInfix
13087           *isInline
13088           *isTailrec
13089           *isExternal
13090           * </pre>
13091           */
13092          public int getFlags() {
13093            return flags_;
13094          }
13095          /**
13096           * <code>optional int32 flags = 9 [default = 6];</code>
13097           *
13098           * <pre>
13099           *hasAnnotations
13100           *Visibility
13101           *Modality
13102           *MemberKind
13103           *isOperator
13104           *isInfix
13105           *isInline
13106           *isTailrec
13107           *isExternal
13108           * </pre>
13109           */
13110          public Builder setFlags(int value) {
13111            bitField0_ |= 0x00000001;
13112            flags_ = value;
13113            
13114            return this;
13115          }
13116          /**
13117           * <code>optional int32 flags = 9 [default = 6];</code>
13118           *
13119           * <pre>
13120           *hasAnnotations
13121           *Visibility
13122           *Modality
13123           *MemberKind
13124           *isOperator
13125           *isInfix
13126           *isInline
13127           *isTailrec
13128           *isExternal
13129           * </pre>
13130           */
13131          public Builder clearFlags() {
13132            bitField0_ = (bitField0_ & ~0x00000001);
13133            flags_ = 6;
13134            
13135            return this;
13136          }
13137    
13138          private int oldFlags_ = 6;
13139          /**
13140           * <code>optional int32 old_flags = 1 [default = 6];</code>
13141           */
13142          public boolean hasOldFlags() {
13143            return ((bitField0_ & 0x00000002) == 0x00000002);
13144          }
13145          /**
13146           * <code>optional int32 old_flags = 1 [default = 6];</code>
13147           */
13148          public int getOldFlags() {
13149            return oldFlags_;
13150          }
13151          /**
13152           * <code>optional int32 old_flags = 1 [default = 6];</code>
13153           */
13154          public Builder setOldFlags(int value) {
13155            bitField0_ |= 0x00000002;
13156            oldFlags_ = value;
13157            
13158            return this;
13159          }
13160          /**
13161           * <code>optional int32 old_flags = 1 [default = 6];</code>
13162           */
13163          public Builder clearOldFlags() {
13164            bitField0_ = (bitField0_ & ~0x00000002);
13165            oldFlags_ = 6;
13166            
13167            return this;
13168          }
13169    
13170          private int name_ ;
13171          /**
13172           * <code>required int32 name = 2;</code>
13173           */
13174          public boolean hasName() {
13175            return ((bitField0_ & 0x00000004) == 0x00000004);
13176          }
13177          /**
13178           * <code>required int32 name = 2;</code>
13179           */
13180          public int getName() {
13181            return name_;
13182          }
13183          /**
13184           * <code>required int32 name = 2;</code>
13185           */
13186          public Builder setName(int value) {
13187            bitField0_ |= 0x00000004;
13188            name_ = value;
13189            
13190            return this;
13191          }
13192          /**
13193           * <code>required int32 name = 2;</code>
13194           */
13195          public Builder clearName() {
13196            bitField0_ = (bitField0_ & ~0x00000004);
13197            name_ = 0;
13198            
13199            return this;
13200          }
13201    
13202          private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13203          /**
13204           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13205           */
13206          public boolean hasReturnType() {
13207            return ((bitField0_ & 0x00000008) == 0x00000008);
13208          }
13209          /**
13210           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13211           */
13212          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
13213            return returnType_;
13214          }
13215          /**
13216           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13217           */
13218          public Builder setReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
13219            if (value == null) {
13220              throw new NullPointerException();
13221            }
13222            returnType_ = value;
13223    
13224            bitField0_ |= 0x00000008;
13225            return this;
13226          }
13227          /**
13228           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13229           */
13230          public Builder setReturnType(
13231              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
13232            returnType_ = builderForValue.build();
13233    
13234            bitField0_ |= 0x00000008;
13235            return this;
13236          }
13237          /**
13238           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13239           */
13240          public Builder mergeReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
13241            if (((bitField0_ & 0x00000008) == 0x00000008) &&
13242                returnType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
13243              returnType_ =
13244                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(returnType_).mergeFrom(value).buildPartial();
13245            } else {
13246              returnType_ = value;
13247            }
13248    
13249            bitField0_ |= 0x00000008;
13250            return this;
13251          }
13252          /**
13253           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13254           */
13255          public Builder clearReturnType() {
13256            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13257    
13258            bitField0_ = (bitField0_ & ~0x00000008);
13259            return this;
13260          }
13261    
13262          private int returnTypeId_ ;
13263          /**
13264           * <code>optional int32 return_type_id = 7;</code>
13265           */
13266          public boolean hasReturnTypeId() {
13267            return ((bitField0_ & 0x00000010) == 0x00000010);
13268          }
13269          /**
13270           * <code>optional int32 return_type_id = 7;</code>
13271           */
13272          public int getReturnTypeId() {
13273            return returnTypeId_;
13274          }
13275          /**
13276           * <code>optional int32 return_type_id = 7;</code>
13277           */
13278          public Builder setReturnTypeId(int value) {
13279            bitField0_ |= 0x00000010;
13280            returnTypeId_ = value;
13281            
13282            return this;
13283          }
13284          /**
13285           * <code>optional int32 return_type_id = 7;</code>
13286           */
13287          public Builder clearReturnTypeId() {
13288            bitField0_ = (bitField0_ & ~0x00000010);
13289            returnTypeId_ = 0;
13290            
13291            return this;
13292          }
13293    
13294          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
13295            java.util.Collections.emptyList();
13296          private void ensureTypeParameterIsMutable() {
13297            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
13298              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
13299              bitField0_ |= 0x00000020;
13300             }
13301          }
13302    
13303          /**
13304           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13305           */
13306          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
13307            return java.util.Collections.unmodifiableList(typeParameter_);
13308          }
13309          /**
13310           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13311           */
13312          public int getTypeParameterCount() {
13313            return typeParameter_.size();
13314          }
13315          /**
13316           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13317           */
13318          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
13319            return typeParameter_.get(index);
13320          }
13321          /**
13322           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13323           */
13324          public Builder setTypeParameter(
13325              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
13326            if (value == null) {
13327              throw new NullPointerException();
13328            }
13329            ensureTypeParameterIsMutable();
13330            typeParameter_.set(index, value);
13331    
13332            return this;
13333          }
13334          /**
13335           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13336           */
13337          public Builder setTypeParameter(
13338              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
13339            ensureTypeParameterIsMutable();
13340            typeParameter_.set(index, builderForValue.build());
13341    
13342            return this;
13343          }
13344          /**
13345           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13346           */
13347          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
13348            if (value == null) {
13349              throw new NullPointerException();
13350            }
13351            ensureTypeParameterIsMutable();
13352            typeParameter_.add(value);
13353    
13354            return this;
13355          }
13356          /**
13357           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13358           */
13359          public Builder addTypeParameter(
13360              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
13361            if (value == null) {
13362              throw new NullPointerException();
13363            }
13364            ensureTypeParameterIsMutable();
13365            typeParameter_.add(index, value);
13366    
13367            return this;
13368          }
13369          /**
13370           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13371           */
13372          public Builder addTypeParameter(
13373              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
13374            ensureTypeParameterIsMutable();
13375            typeParameter_.add(builderForValue.build());
13376    
13377            return this;
13378          }
13379          /**
13380           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13381           */
13382          public Builder addTypeParameter(
13383              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
13384            ensureTypeParameterIsMutable();
13385            typeParameter_.add(index, builderForValue.build());
13386    
13387            return this;
13388          }
13389          /**
13390           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13391           */
13392          public Builder addAllTypeParameter(
13393              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
13394            ensureTypeParameterIsMutable();
13395            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
13396                values, typeParameter_);
13397    
13398            return this;
13399          }
13400          /**
13401           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13402           */
13403          public Builder clearTypeParameter() {
13404            typeParameter_ = java.util.Collections.emptyList();
13405            bitField0_ = (bitField0_ & ~0x00000020);
13406    
13407            return this;
13408          }
13409          /**
13410           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13411           */
13412          public Builder removeTypeParameter(int index) {
13413            ensureTypeParameterIsMutable();
13414            typeParameter_.remove(index);
13415    
13416            return this;
13417          }
13418    
13419          private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13420          /**
13421           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13422           */
13423          public boolean hasReceiverType() {
13424            return ((bitField0_ & 0x00000040) == 0x00000040);
13425          }
13426          /**
13427           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13428           */
13429          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
13430            return receiverType_;
13431          }
13432          /**
13433           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13434           */
13435          public Builder setReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
13436            if (value == null) {
13437              throw new NullPointerException();
13438            }
13439            receiverType_ = value;
13440    
13441            bitField0_ |= 0x00000040;
13442            return this;
13443          }
13444          /**
13445           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13446           */
13447          public Builder setReceiverType(
13448              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
13449            receiverType_ = builderForValue.build();
13450    
13451            bitField0_ |= 0x00000040;
13452            return this;
13453          }
13454          /**
13455           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13456           */
13457          public Builder mergeReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
13458            if (((bitField0_ & 0x00000040) == 0x00000040) &&
13459                receiverType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
13460              receiverType_ =
13461                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(receiverType_).mergeFrom(value).buildPartial();
13462            } else {
13463              receiverType_ = value;
13464            }
13465    
13466            bitField0_ |= 0x00000040;
13467            return this;
13468          }
13469          /**
13470           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13471           */
13472          public Builder clearReceiverType() {
13473            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13474    
13475            bitField0_ = (bitField0_ & ~0x00000040);
13476            return this;
13477          }
13478    
13479          private int receiverTypeId_ ;
13480          /**
13481           * <code>optional int32 receiver_type_id = 8;</code>
13482           */
13483          public boolean hasReceiverTypeId() {
13484            return ((bitField0_ & 0x00000080) == 0x00000080);
13485          }
13486          /**
13487           * <code>optional int32 receiver_type_id = 8;</code>
13488           */
13489          public int getReceiverTypeId() {
13490            return receiverTypeId_;
13491          }
13492          /**
13493           * <code>optional int32 receiver_type_id = 8;</code>
13494           */
13495          public Builder setReceiverTypeId(int value) {
13496            bitField0_ |= 0x00000080;
13497            receiverTypeId_ = value;
13498            
13499            return this;
13500          }
13501          /**
13502           * <code>optional int32 receiver_type_id = 8;</code>
13503           */
13504          public Builder clearReceiverTypeId() {
13505            bitField0_ = (bitField0_ & ~0x00000080);
13506            receiverTypeId_ = 0;
13507            
13508            return this;
13509          }
13510    
13511          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> valueParameter_ =
13512            java.util.Collections.emptyList();
13513          private void ensureValueParameterIsMutable() {
13514            if (!((bitField0_ & 0x00000100) == 0x00000100)) {
13515              valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>(valueParameter_);
13516              bitField0_ |= 0x00000100;
13517             }
13518          }
13519    
13520          /**
13521           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13522           */
13523          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> getValueParameterList() {
13524            return java.util.Collections.unmodifiableList(valueParameter_);
13525          }
13526          /**
13527           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13528           */
13529          public int getValueParameterCount() {
13530            return valueParameter_.size();
13531          }
13532          /**
13533           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13534           */
13535          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index) {
13536            return valueParameter_.get(index);
13537          }
13538          /**
13539           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13540           */
13541          public Builder setValueParameter(
13542              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
13543            if (value == null) {
13544              throw new NullPointerException();
13545            }
13546            ensureValueParameterIsMutable();
13547            valueParameter_.set(index, value);
13548    
13549            return this;
13550          }
13551          /**
13552           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13553           */
13554          public Builder setValueParameter(
13555              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
13556            ensureValueParameterIsMutable();
13557            valueParameter_.set(index, builderForValue.build());
13558    
13559            return this;
13560          }
13561          /**
13562           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13563           */
13564          public Builder addValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
13565            if (value == null) {
13566              throw new NullPointerException();
13567            }
13568            ensureValueParameterIsMutable();
13569            valueParameter_.add(value);
13570    
13571            return this;
13572          }
13573          /**
13574           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13575           */
13576          public Builder addValueParameter(
13577              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
13578            if (value == null) {
13579              throw new NullPointerException();
13580            }
13581            ensureValueParameterIsMutable();
13582            valueParameter_.add(index, value);
13583    
13584            return this;
13585          }
13586          /**
13587           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13588           */
13589          public Builder addValueParameter(
13590              org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
13591            ensureValueParameterIsMutable();
13592            valueParameter_.add(builderForValue.build());
13593    
13594            return this;
13595          }
13596          /**
13597           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13598           */
13599          public Builder addValueParameter(
13600              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
13601            ensureValueParameterIsMutable();
13602            valueParameter_.add(index, builderForValue.build());
13603    
13604            return this;
13605          }
13606          /**
13607           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13608           */
13609          public Builder addAllValueParameter(
13610              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> values) {
13611            ensureValueParameterIsMutable();
13612            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
13613                values, valueParameter_);
13614    
13615            return this;
13616          }
13617          /**
13618           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13619           */
13620          public Builder clearValueParameter() {
13621            valueParameter_ = java.util.Collections.emptyList();
13622            bitField0_ = (bitField0_ & ~0x00000100);
13623    
13624            return this;
13625          }
13626          /**
13627           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13628           */
13629          public Builder removeValueParameter(int index) {
13630            ensureValueParameterIsMutable();
13631            valueParameter_.remove(index);
13632    
13633            return this;
13634          }
13635    
13636          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
13637          /**
13638           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13639           */
13640          public boolean hasTypeTable() {
13641            return ((bitField0_ & 0x00000200) == 0x00000200);
13642          }
13643          /**
13644           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13645           */
13646          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
13647            return typeTable_;
13648          }
13649          /**
13650           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13651           */
13652          public Builder setTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
13653            if (value == null) {
13654              throw new NullPointerException();
13655            }
13656            typeTable_ = value;
13657    
13658            bitField0_ |= 0x00000200;
13659            return this;
13660          }
13661          /**
13662           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13663           */
13664          public Builder setTypeTable(
13665              org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder builderForValue) {
13666            typeTable_ = builderForValue.build();
13667    
13668            bitField0_ |= 0x00000200;
13669            return this;
13670          }
13671          /**
13672           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13673           */
13674          public Builder mergeTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
13675            if (((bitField0_ & 0x00000200) == 0x00000200) &&
13676                typeTable_ != org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance()) {
13677              typeTable_ =
13678                org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.newBuilder(typeTable_).mergeFrom(value).buildPartial();
13679            } else {
13680              typeTable_ = value;
13681            }
13682    
13683            bitField0_ |= 0x00000200;
13684            return this;
13685          }
13686          /**
13687           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13688           */
13689          public Builder clearTypeTable() {
13690            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
13691    
13692            bitField0_ = (bitField0_ & ~0x00000200);
13693            return this;
13694          }
13695    
13696          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Function)
13697        }
13698    
13699        static {
13700          defaultInstance = new Function(true);
13701          defaultInstance.initFields();
13702        }
13703    
13704        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Function)
13705      }
13706    
13707      public interface PropertyOrBuilder extends 
13708          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.Property)
13709           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
13710                ExtendableMessageOrBuilder<Property> {
13711    
13712        /**
13713         * <code>optional int32 flags = 11 [default = 518];</code>
13714         *
13715         * <pre>
13716         *hasAnnotations
13717         *Visibility
13718         *Modality
13719         *MemberKind
13720         *isVar
13721         *hasGetter
13722         *hasSetter
13723         *isConst
13724         *lateinit
13725         *hasConstant
13726         * </pre>
13727         */
13728        boolean hasFlags();
13729        /**
13730         * <code>optional int32 flags = 11 [default = 518];</code>
13731         *
13732         * <pre>
13733         *hasAnnotations
13734         *Visibility
13735         *Modality
13736         *MemberKind
13737         *isVar
13738         *hasGetter
13739         *hasSetter
13740         *isConst
13741         *lateinit
13742         *hasConstant
13743         * </pre>
13744         */
13745        int getFlags();
13746    
13747        /**
13748         * <code>optional int32 old_flags = 1 [default = 2054];</code>
13749         */
13750        boolean hasOldFlags();
13751        /**
13752         * <code>optional int32 old_flags = 1 [default = 2054];</code>
13753         */
13754        int getOldFlags();
13755    
13756        /**
13757         * <code>required int32 name = 2;</code>
13758         */
13759        boolean hasName();
13760        /**
13761         * <code>required int32 name = 2;</code>
13762         */
13763        int getName();
13764    
13765        /**
13766         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13767         */
13768        boolean hasReturnType();
13769        /**
13770         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13771         */
13772        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType();
13773    
13774        /**
13775         * <code>optional int32 return_type_id = 9;</code>
13776         */
13777        boolean hasReturnTypeId();
13778        /**
13779         * <code>optional int32 return_type_id = 9;</code>
13780         */
13781        int getReturnTypeId();
13782    
13783        /**
13784         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13785         */
13786        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
13787            getTypeParameterList();
13788        /**
13789         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13790         */
13791        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
13792        /**
13793         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13794         */
13795        int getTypeParameterCount();
13796    
13797        /**
13798         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13799         */
13800        boolean hasReceiverType();
13801        /**
13802         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13803         */
13804        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType();
13805    
13806        /**
13807         * <code>optional int32 receiver_type_id = 10;</code>
13808         */
13809        boolean hasReceiverTypeId();
13810        /**
13811         * <code>optional int32 receiver_type_id = 10;</code>
13812         */
13813        int getReceiverTypeId();
13814    
13815        /**
13816         * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
13817         */
13818        boolean hasSetterValueParameter();
13819        /**
13820         * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
13821         */
13822        org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getSetterValueParameter();
13823    
13824        /**
13825         * <code>optional int32 getter_flags = 7;</code>
13826         *
13827         * <pre>
13828         *hasAnnotations
13829         *Visibility
13830         *Modality
13831         *isNotDefault
13832         *isExternal
13833         * </pre>
13834         */
13835        boolean hasGetterFlags();
13836        /**
13837         * <code>optional int32 getter_flags = 7;</code>
13838         *
13839         * <pre>
13840         *hasAnnotations
13841         *Visibility
13842         *Modality
13843         *isNotDefault
13844         *isExternal
13845         * </pre>
13846         */
13847        int getGetterFlags();
13848    
13849        /**
13850         * <code>optional int32 setter_flags = 8;</code>
13851         */
13852        boolean hasSetterFlags();
13853        /**
13854         * <code>optional int32 setter_flags = 8;</code>
13855         */
13856        int getSetterFlags();
13857      }
13858      /**
13859       * Protobuf type {@code org.jetbrains.kotlin.serialization.Property}
13860       */
13861      public static final class Property extends
13862          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
13863            Property> implements
13864          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.Property)
13865          PropertyOrBuilder {
13866        // Use Property.newBuilder() to construct.
13867        private Property(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Property, ?> builder) {
13868          super(builder);
13869          this.unknownFields = builder.getUnknownFields();
13870        }
13871        private Property(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
13872    
13873        private static final Property defaultInstance;
13874        public static Property getDefaultInstance() {
13875          return defaultInstance;
13876        }
13877    
13878        public Property getDefaultInstanceForType() {
13879          return defaultInstance;
13880        }
13881    
13882        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
13883        private Property(
13884            org.jetbrains.kotlin.protobuf.CodedInputStream input,
13885            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
13886            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
13887          initFields();
13888          int mutable_bitField0_ = 0;
13889          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
13890              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
13891          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
13892              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
13893                  unknownFieldsOutput);
13894          try {
13895            boolean done = false;
13896            while (!done) {
13897              int tag = input.readTag();
13898              switch (tag) {
13899                case 0:
13900                  done = true;
13901                  break;
13902                default: {
13903                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
13904                                         extensionRegistry, tag)) {
13905                    done = true;
13906                  }
13907                  break;
13908                }
13909                case 8: {
13910                  bitField0_ |= 0x00000002;
13911                  oldFlags_ = input.readInt32();
13912                  break;
13913                }
13914                case 16: {
13915                  bitField0_ |= 0x00000004;
13916                  name_ = input.readInt32();
13917                  break;
13918                }
13919                case 26: {
13920                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
13921                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
13922                    subBuilder = returnType_.toBuilder();
13923                  }
13924                  returnType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
13925                  if (subBuilder != null) {
13926                    subBuilder.mergeFrom(returnType_);
13927                    returnType_ = subBuilder.buildPartial();
13928                  }
13929                  bitField0_ |= 0x00000008;
13930                  break;
13931                }
13932                case 34: {
13933                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
13934                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
13935                    mutable_bitField0_ |= 0x00000020;
13936                  }
13937                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
13938                  break;
13939                }
13940                case 42: {
13941                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
13942                  if (((bitField0_ & 0x00000020) == 0x00000020)) {
13943                    subBuilder = receiverType_.toBuilder();
13944                  }
13945                  receiverType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
13946                  if (subBuilder != null) {
13947                    subBuilder.mergeFrom(receiverType_);
13948                    receiverType_ = subBuilder.buildPartial();
13949                  }
13950                  bitField0_ |= 0x00000020;
13951                  break;
13952                }
13953                case 50: {
13954                  org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder subBuilder = null;
13955                  if (((bitField0_ & 0x00000080) == 0x00000080)) {
13956                    subBuilder = setterValueParameter_.toBuilder();
13957                  }
13958                  setterValueParameter_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.PARSER, extensionRegistry);
13959                  if (subBuilder != null) {
13960                    subBuilder.mergeFrom(setterValueParameter_);
13961                    setterValueParameter_ = subBuilder.buildPartial();
13962                  }
13963                  bitField0_ |= 0x00000080;
13964                  break;
13965                }
13966                case 56: {
13967                  bitField0_ |= 0x00000100;
13968                  getterFlags_ = input.readInt32();
13969                  break;
13970                }
13971                case 64: {
13972                  bitField0_ |= 0x00000200;
13973                  setterFlags_ = input.readInt32();
13974                  break;
13975                }
13976                case 72: {
13977                  bitField0_ |= 0x00000010;
13978                  returnTypeId_ = input.readInt32();
13979                  break;
13980                }
13981                case 80: {
13982                  bitField0_ |= 0x00000040;
13983                  receiverTypeId_ = input.readInt32();
13984                  break;
13985                }
13986                case 88: {
13987                  bitField0_ |= 0x00000001;
13988                  flags_ = input.readInt32();
13989                  break;
13990                }
13991              }
13992            }
13993          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
13994            throw e.setUnfinishedMessage(this);
13995          } catch (java.io.IOException e) {
13996            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
13997                e.getMessage()).setUnfinishedMessage(this);
13998          } finally {
13999            if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
14000              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
14001            }
14002            try {
14003              unknownFieldsCodedOutput.flush();
14004            } catch (java.io.IOException e) {
14005            // Should not happen
14006            } finally {
14007              unknownFields = unknownFieldsOutput.toByteString();
14008            }
14009            makeExtensionsImmutable();
14010          }
14011        }
14012        public static org.jetbrains.kotlin.protobuf.Parser<Property> PARSER =
14013            new org.jetbrains.kotlin.protobuf.AbstractParser<Property>() {
14014          public Property parsePartialFrom(
14015              org.jetbrains.kotlin.protobuf.CodedInputStream input,
14016              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
14017              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
14018            return new Property(input, extensionRegistry);
14019          }
14020        };
14021    
14022        @java.lang.Override
14023        public org.jetbrains.kotlin.protobuf.Parser<Property> getParserForType() {
14024          return PARSER;
14025        }
14026    
14027        private int bitField0_;
14028        public static final int FLAGS_FIELD_NUMBER = 11;
14029        private int flags_;
14030        /**
14031         * <code>optional int32 flags = 11 [default = 518];</code>
14032         *
14033         * <pre>
14034         *hasAnnotations
14035         *Visibility
14036         *Modality
14037         *MemberKind
14038         *isVar
14039         *hasGetter
14040         *hasSetter
14041         *isConst
14042         *lateinit
14043         *hasConstant
14044         * </pre>
14045         */
14046        public boolean hasFlags() {
14047          return ((bitField0_ & 0x00000001) == 0x00000001);
14048        }
14049        /**
14050         * <code>optional int32 flags = 11 [default = 518];</code>
14051         *
14052         * <pre>
14053         *hasAnnotations
14054         *Visibility
14055         *Modality
14056         *MemberKind
14057         *isVar
14058         *hasGetter
14059         *hasSetter
14060         *isConst
14061         *lateinit
14062         *hasConstant
14063         * </pre>
14064         */
14065        public int getFlags() {
14066          return flags_;
14067        }
14068    
14069        public static final int OLD_FLAGS_FIELD_NUMBER = 1;
14070        private int oldFlags_;
14071        /**
14072         * <code>optional int32 old_flags = 1 [default = 2054];</code>
14073         */
14074        public boolean hasOldFlags() {
14075          return ((bitField0_ & 0x00000002) == 0x00000002);
14076        }
14077        /**
14078         * <code>optional int32 old_flags = 1 [default = 2054];</code>
14079         */
14080        public int getOldFlags() {
14081          return oldFlags_;
14082        }
14083    
14084        public static final int NAME_FIELD_NUMBER = 2;
14085        private int name_;
14086        /**
14087         * <code>required int32 name = 2;</code>
14088         */
14089        public boolean hasName() {
14090          return ((bitField0_ & 0x00000004) == 0x00000004);
14091        }
14092        /**
14093         * <code>required int32 name = 2;</code>
14094         */
14095        public int getName() {
14096          return name_;
14097        }
14098    
14099        public static final int RETURN_TYPE_FIELD_NUMBER = 3;
14100        private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_;
14101        /**
14102         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14103         */
14104        public boolean hasReturnType() {
14105          return ((bitField0_ & 0x00000008) == 0x00000008);
14106        }
14107        /**
14108         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14109         */
14110        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
14111          return returnType_;
14112        }
14113    
14114        public static final int RETURN_TYPE_ID_FIELD_NUMBER = 9;
14115        private int returnTypeId_;
14116        /**
14117         * <code>optional int32 return_type_id = 9;</code>
14118         */
14119        public boolean hasReturnTypeId() {
14120          return ((bitField0_ & 0x00000010) == 0x00000010);
14121        }
14122        /**
14123         * <code>optional int32 return_type_id = 9;</code>
14124         */
14125        public int getReturnTypeId() {
14126          return returnTypeId_;
14127        }
14128    
14129        public static final int TYPE_PARAMETER_FIELD_NUMBER = 4;
14130        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
14131        /**
14132         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14133         */
14134        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
14135          return typeParameter_;
14136        }
14137        /**
14138         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14139         */
14140        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
14141            getTypeParameterOrBuilderList() {
14142          return typeParameter_;
14143        }
14144        /**
14145         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14146         */
14147        public int getTypeParameterCount() {
14148          return typeParameter_.size();
14149        }
14150        /**
14151         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14152         */
14153        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
14154          return typeParameter_.get(index);
14155        }
14156        /**
14157         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14158         */
14159        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
14160            int index) {
14161          return typeParameter_.get(index);
14162        }
14163    
14164        public static final int RECEIVER_TYPE_FIELD_NUMBER = 5;
14165        private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_;
14166        /**
14167         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14168         */
14169        public boolean hasReceiverType() {
14170          return ((bitField0_ & 0x00000020) == 0x00000020);
14171        }
14172        /**
14173         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14174         */
14175        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
14176          return receiverType_;
14177        }
14178    
14179        public static final int RECEIVER_TYPE_ID_FIELD_NUMBER = 10;
14180        private int receiverTypeId_;
14181        /**
14182         * <code>optional int32 receiver_type_id = 10;</code>
14183         */
14184        public boolean hasReceiverTypeId() {
14185          return ((bitField0_ & 0x00000040) == 0x00000040);
14186        }
14187        /**
14188         * <code>optional int32 receiver_type_id = 10;</code>
14189         */
14190        public int getReceiverTypeId() {
14191          return receiverTypeId_;
14192        }
14193    
14194        public static final int SETTER_VALUE_PARAMETER_FIELD_NUMBER = 6;
14195        private org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter setterValueParameter_;
14196        /**
14197         * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
14198         */
14199        public boolean hasSetterValueParameter() {
14200          return ((bitField0_ & 0x00000080) == 0x00000080);
14201        }
14202        /**
14203         * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
14204         */
14205        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getSetterValueParameter() {
14206          return setterValueParameter_;
14207        }
14208    
14209        public static final int GETTER_FLAGS_FIELD_NUMBER = 7;
14210        private int getterFlags_;
14211        /**
14212         * <code>optional int32 getter_flags = 7;</code>
14213         *
14214         * <pre>
14215         *hasAnnotations
14216         *Visibility
14217         *Modality
14218         *isNotDefault
14219         *isExternal
14220         * </pre>
14221         */
14222        public boolean hasGetterFlags() {
14223          return ((bitField0_ & 0x00000100) == 0x00000100);
14224        }
14225        /**
14226         * <code>optional int32 getter_flags = 7;</code>
14227         *
14228         * <pre>
14229         *hasAnnotations
14230         *Visibility
14231         *Modality
14232         *isNotDefault
14233         *isExternal
14234         * </pre>
14235         */
14236        public int getGetterFlags() {
14237          return getterFlags_;
14238        }
14239    
14240        public static final int SETTER_FLAGS_FIELD_NUMBER = 8;
14241        private int setterFlags_;
14242        /**
14243         * <code>optional int32 setter_flags = 8;</code>
14244         */
14245        public boolean hasSetterFlags() {
14246          return ((bitField0_ & 0x00000200) == 0x00000200);
14247        }
14248        /**
14249         * <code>optional int32 setter_flags = 8;</code>
14250         */
14251        public int getSetterFlags() {
14252          return setterFlags_;
14253        }
14254    
14255        private void initFields() {
14256          flags_ = 518;
14257          oldFlags_ = 2054;
14258          name_ = 0;
14259          returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14260          returnTypeId_ = 0;
14261          typeParameter_ = java.util.Collections.emptyList();
14262          receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14263          receiverTypeId_ = 0;
14264          setterValueParameter_ = org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
14265          getterFlags_ = 0;
14266          setterFlags_ = 0;
14267        }
14268        private byte memoizedIsInitialized = -1;
14269        public final boolean isInitialized() {
14270          byte isInitialized = memoizedIsInitialized;
14271          if (isInitialized == 1) return true;
14272          if (isInitialized == 0) return false;
14273    
14274          if (!hasName()) {
14275            memoizedIsInitialized = 0;
14276            return false;
14277          }
14278          if (hasReturnType()) {
14279            if (!getReturnType().isInitialized()) {
14280              memoizedIsInitialized = 0;
14281              return false;
14282            }
14283          }
14284          for (int i = 0; i < getTypeParameterCount(); i++) {
14285            if (!getTypeParameter(i).isInitialized()) {
14286              memoizedIsInitialized = 0;
14287              return false;
14288            }
14289          }
14290          if (hasReceiverType()) {
14291            if (!getReceiverType().isInitialized()) {
14292              memoizedIsInitialized = 0;
14293              return false;
14294            }
14295          }
14296          if (hasSetterValueParameter()) {
14297            if (!getSetterValueParameter().isInitialized()) {
14298              memoizedIsInitialized = 0;
14299              return false;
14300            }
14301          }
14302          if (!extensionsAreInitialized()) {
14303            memoizedIsInitialized = 0;
14304            return false;
14305          }
14306          memoizedIsInitialized = 1;
14307          return true;
14308        }
14309    
14310        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
14311                            throws java.io.IOException {
14312          getSerializedSize();
14313          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
14314            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Property>.ExtensionWriter extensionWriter =
14315              newExtensionWriter();
14316          if (((bitField0_ & 0x00000002) == 0x00000002)) {
14317            output.writeInt32(1, oldFlags_);
14318          }
14319          if (((bitField0_ & 0x00000004) == 0x00000004)) {
14320            output.writeInt32(2, name_);
14321          }
14322          if (((bitField0_ & 0x00000008) == 0x00000008)) {
14323            output.writeMessage(3, returnType_);
14324          }
14325          for (int i = 0; i < typeParameter_.size(); i++) {
14326            output.writeMessage(4, typeParameter_.get(i));
14327          }
14328          if (((bitField0_ & 0x00000020) == 0x00000020)) {
14329            output.writeMessage(5, receiverType_);
14330          }
14331          if (((bitField0_ & 0x00000080) == 0x00000080)) {
14332            output.writeMessage(6, setterValueParameter_);
14333          }
14334          if (((bitField0_ & 0x00000100) == 0x00000100)) {
14335            output.writeInt32(7, getterFlags_);
14336          }
14337          if (((bitField0_ & 0x00000200) == 0x00000200)) {
14338            output.writeInt32(8, setterFlags_);
14339          }
14340          if (((bitField0_ & 0x00000010) == 0x00000010)) {
14341            output.writeInt32(9, returnTypeId_);
14342          }
14343          if (((bitField0_ & 0x00000040) == 0x00000040)) {
14344            output.writeInt32(10, receiverTypeId_);
14345          }
14346          if (((bitField0_ & 0x00000001) == 0x00000001)) {
14347            output.writeInt32(11, flags_);
14348          }
14349          extensionWriter.writeUntil(200, output);
14350          output.writeRawBytes(unknownFields);
14351        }
14352    
14353        private int memoizedSerializedSize = -1;
14354        public int getSerializedSize() {
14355          int size = memoizedSerializedSize;
14356          if (size != -1) return size;
14357    
14358          size = 0;
14359          if (((bitField0_ & 0x00000002) == 0x00000002)) {
14360            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14361              .computeInt32Size(1, oldFlags_);
14362          }
14363          if (((bitField0_ & 0x00000004) == 0x00000004)) {
14364            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14365              .computeInt32Size(2, name_);
14366          }
14367          if (((bitField0_ & 0x00000008) == 0x00000008)) {
14368            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14369              .computeMessageSize(3, returnType_);
14370          }
14371          for (int i = 0; i < typeParameter_.size(); i++) {
14372            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14373              .computeMessageSize(4, typeParameter_.get(i));
14374          }
14375          if (((bitField0_ & 0x00000020) == 0x00000020)) {
14376            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14377              .computeMessageSize(5, receiverType_);
14378          }
14379          if (((bitField0_ & 0x00000080) == 0x00000080)) {
14380            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14381              .computeMessageSize(6, setterValueParameter_);
14382          }
14383          if (((bitField0_ & 0x00000100) == 0x00000100)) {
14384            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14385              .computeInt32Size(7, getterFlags_);
14386          }
14387          if (((bitField0_ & 0x00000200) == 0x00000200)) {
14388            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14389              .computeInt32Size(8, setterFlags_);
14390          }
14391          if (((bitField0_ & 0x00000010) == 0x00000010)) {
14392            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14393              .computeInt32Size(9, returnTypeId_);
14394          }
14395          if (((bitField0_ & 0x00000040) == 0x00000040)) {
14396            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14397              .computeInt32Size(10, receiverTypeId_);
14398          }
14399          if (((bitField0_ & 0x00000001) == 0x00000001)) {
14400            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
14401              .computeInt32Size(11, flags_);
14402          }
14403          size += extensionsSerializedSize();
14404          size += unknownFields.size();
14405          memoizedSerializedSize = size;
14406          return size;
14407        }
14408    
14409        private static final long serialVersionUID = 0L;
14410        @java.lang.Override
14411        protected java.lang.Object writeReplace()
14412            throws java.io.ObjectStreamException {
14413          return super.writeReplace();
14414        }
14415    
14416        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
14417            org.jetbrains.kotlin.protobuf.ByteString data)
14418            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
14419          return PARSER.parseFrom(data);
14420        }
14421        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
14422            org.jetbrains.kotlin.protobuf.ByteString data,
14423            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
14424            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
14425          return PARSER.parseFrom(data, extensionRegistry);
14426        }
14427        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(byte[] data)
14428            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
14429          return PARSER.parseFrom(data);
14430        }
14431        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
14432            byte[] data,
14433            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
14434            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
14435          return PARSER.parseFrom(data, extensionRegistry);
14436        }
14437        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(java.io.InputStream input)
14438            throws java.io.IOException {
14439          return PARSER.parseFrom(input);
14440        }
14441        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
14442            java.io.InputStream input,
14443            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
14444            throws java.io.IOException {
14445          return PARSER.parseFrom(input, extensionRegistry);
14446        }
14447        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseDelimitedFrom(java.io.InputStream input)
14448            throws java.io.IOException {
14449          return PARSER.parseDelimitedFrom(input);
14450        }
14451        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseDelimitedFrom(
14452            java.io.InputStream input,
14453            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
14454            throws java.io.IOException {
14455          return PARSER.parseDelimitedFrom(input, extensionRegistry);
14456        }
14457        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
14458            org.jetbrains.kotlin.protobuf.CodedInputStream input)
14459            throws java.io.IOException {
14460          return PARSER.parseFrom(input);
14461        }
14462        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
14463            org.jetbrains.kotlin.protobuf.CodedInputStream input,
14464            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
14465            throws java.io.IOException {
14466          return PARSER.parseFrom(input, extensionRegistry);
14467        }
14468    
14469        public static Builder newBuilder() { return Builder.create(); }
14470        public Builder newBuilderForType() { return newBuilder(); }
14471        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Property prototype) {
14472          return newBuilder().mergeFrom(prototype);
14473        }
14474        public Builder toBuilder() { return newBuilder(this); }
14475    
14476        /**
14477         * Protobuf type {@code org.jetbrains.kotlin.serialization.Property}
14478         */
14479        public static final class Builder extends
14480            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
14481              org.jetbrains.kotlin.serialization.ProtoBuf.Property, Builder> implements
14482            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.Property)
14483            org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder {
14484          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Property.newBuilder()
14485          private Builder() {
14486            maybeForceBuilderInitialization();
14487          }
14488    
14489          private void maybeForceBuilderInitialization() {
14490          }
14491          private static Builder create() {
14492            return new Builder();
14493          }
14494    
14495          public Builder clear() {
14496            super.clear();
14497            flags_ = 518;
14498            bitField0_ = (bitField0_ & ~0x00000001);
14499            oldFlags_ = 2054;
14500            bitField0_ = (bitField0_ & ~0x00000002);
14501            name_ = 0;
14502            bitField0_ = (bitField0_ & ~0x00000004);
14503            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14504            bitField0_ = (bitField0_ & ~0x00000008);
14505            returnTypeId_ = 0;
14506            bitField0_ = (bitField0_ & ~0x00000010);
14507            typeParameter_ = java.util.Collections.emptyList();
14508            bitField0_ = (bitField0_ & ~0x00000020);
14509            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14510            bitField0_ = (bitField0_ & ~0x00000040);
14511            receiverTypeId_ = 0;
14512            bitField0_ = (bitField0_ & ~0x00000080);
14513            setterValueParameter_ = org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
14514            bitField0_ = (bitField0_ & ~0x00000100);
14515            getterFlags_ = 0;
14516            bitField0_ = (bitField0_ & ~0x00000200);
14517            setterFlags_ = 0;
14518            bitField0_ = (bitField0_ & ~0x00000400);
14519            return this;
14520          }
14521    
14522          public Builder clone() {
14523            return create().mergeFrom(buildPartial());
14524          }
14525    
14526          public org.jetbrains.kotlin.serialization.ProtoBuf.Property getDefaultInstanceForType() {
14527            return org.jetbrains.kotlin.serialization.ProtoBuf.Property.getDefaultInstance();
14528          }
14529    
14530          public org.jetbrains.kotlin.serialization.ProtoBuf.Property build() {
14531            org.jetbrains.kotlin.serialization.ProtoBuf.Property result = buildPartial();
14532            if (!result.isInitialized()) {
14533              throw newUninitializedMessageException(result);
14534            }
14535            return result;
14536          }
14537    
14538          public org.jetbrains.kotlin.serialization.ProtoBuf.Property buildPartial() {
14539            org.jetbrains.kotlin.serialization.ProtoBuf.Property result = new org.jetbrains.kotlin.serialization.ProtoBuf.Property(this);
14540            int from_bitField0_ = bitField0_;
14541            int to_bitField0_ = 0;
14542            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
14543              to_bitField0_ |= 0x00000001;
14544            }
14545            result.flags_ = flags_;
14546            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
14547              to_bitField0_ |= 0x00000002;
14548            }
14549            result.oldFlags_ = oldFlags_;
14550            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
14551              to_bitField0_ |= 0x00000004;
14552            }
14553            result.name_ = name_;
14554            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
14555              to_bitField0_ |= 0x00000008;
14556            }
14557            result.returnType_ = returnType_;
14558            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
14559              to_bitField0_ |= 0x00000010;
14560            }
14561            result.returnTypeId_ = returnTypeId_;
14562            if (((bitField0_ & 0x00000020) == 0x00000020)) {
14563              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
14564              bitField0_ = (bitField0_ & ~0x00000020);
14565            }
14566            result.typeParameter_ = typeParameter_;
14567            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
14568              to_bitField0_ |= 0x00000020;
14569            }
14570            result.receiverType_ = receiverType_;
14571            if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
14572              to_bitField0_ |= 0x00000040;
14573            }
14574            result.receiverTypeId_ = receiverTypeId_;
14575            if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
14576              to_bitField0_ |= 0x00000080;
14577            }
14578            result.setterValueParameter_ = setterValueParameter_;
14579            if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
14580              to_bitField0_ |= 0x00000100;
14581            }
14582            result.getterFlags_ = getterFlags_;
14583            if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
14584              to_bitField0_ |= 0x00000200;
14585            }
14586            result.setterFlags_ = setterFlags_;
14587            result.bitField0_ = to_bitField0_;
14588            return result;
14589          }
14590    
14591          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Property other) {
14592            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Property.getDefaultInstance()) return this;
14593            if (other.hasFlags()) {
14594              setFlags(other.getFlags());
14595            }
14596            if (other.hasOldFlags()) {
14597              setOldFlags(other.getOldFlags());
14598            }
14599            if (other.hasName()) {
14600              setName(other.getName());
14601            }
14602            if (other.hasReturnType()) {
14603              mergeReturnType(other.getReturnType());
14604            }
14605            if (other.hasReturnTypeId()) {
14606              setReturnTypeId(other.getReturnTypeId());
14607            }
14608            if (!other.typeParameter_.isEmpty()) {
14609              if (typeParameter_.isEmpty()) {
14610                typeParameter_ = other.typeParameter_;
14611                bitField0_ = (bitField0_ & ~0x00000020);
14612              } else {
14613                ensureTypeParameterIsMutable();
14614                typeParameter_.addAll(other.typeParameter_);
14615              }
14616              
14617            }
14618            if (other.hasReceiverType()) {
14619              mergeReceiverType(other.getReceiverType());
14620            }
14621            if (other.hasReceiverTypeId()) {
14622              setReceiverTypeId(other.getReceiverTypeId());
14623            }
14624            if (other.hasSetterValueParameter()) {
14625              mergeSetterValueParameter(other.getSetterValueParameter());
14626            }
14627            if (other.hasGetterFlags()) {
14628              setGetterFlags(other.getGetterFlags());
14629            }
14630            if (other.hasSetterFlags()) {
14631              setSetterFlags(other.getSetterFlags());
14632            }
14633            this.mergeExtensionFields(other);
14634            setUnknownFields(
14635                getUnknownFields().concat(other.unknownFields));
14636            return this;
14637          }
14638    
14639          public final boolean isInitialized() {
14640            if (!hasName()) {
14641              
14642              return false;
14643            }
14644            if (hasReturnType()) {
14645              if (!getReturnType().isInitialized()) {
14646                
14647                return false;
14648              }
14649            }
14650            for (int i = 0; i < getTypeParameterCount(); i++) {
14651              if (!getTypeParameter(i).isInitialized()) {
14652                
14653                return false;
14654              }
14655            }
14656            if (hasReceiverType()) {
14657              if (!getReceiverType().isInitialized()) {
14658                
14659                return false;
14660              }
14661            }
14662            if (hasSetterValueParameter()) {
14663              if (!getSetterValueParameter().isInitialized()) {
14664                
14665                return false;
14666              }
14667            }
14668            if (!extensionsAreInitialized()) {
14669              
14670              return false;
14671            }
14672            return true;
14673          }
14674    
14675          public Builder mergeFrom(
14676              org.jetbrains.kotlin.protobuf.CodedInputStream input,
14677              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
14678              throws java.io.IOException {
14679            org.jetbrains.kotlin.serialization.ProtoBuf.Property parsedMessage = null;
14680            try {
14681              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
14682            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
14683              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Property) e.getUnfinishedMessage();
14684              throw e;
14685            } finally {
14686              if (parsedMessage != null) {
14687                mergeFrom(parsedMessage);
14688              }
14689            }
14690            return this;
14691          }
14692          private int bitField0_;
14693    
14694          private int flags_ = 518;
14695          /**
14696           * <code>optional int32 flags = 11 [default = 518];</code>
14697           *
14698           * <pre>
14699           *hasAnnotations
14700           *Visibility
14701           *Modality
14702           *MemberKind
14703           *isVar
14704           *hasGetter
14705           *hasSetter
14706           *isConst
14707           *lateinit
14708           *hasConstant
14709           * </pre>
14710           */
14711          public boolean hasFlags() {
14712            return ((bitField0_ & 0x00000001) == 0x00000001);
14713          }
14714          /**
14715           * <code>optional int32 flags = 11 [default = 518];</code>
14716           *
14717           * <pre>
14718           *hasAnnotations
14719           *Visibility
14720           *Modality
14721           *MemberKind
14722           *isVar
14723           *hasGetter
14724           *hasSetter
14725           *isConst
14726           *lateinit
14727           *hasConstant
14728           * </pre>
14729           */
14730          public int getFlags() {
14731            return flags_;
14732          }
14733          /**
14734           * <code>optional int32 flags = 11 [default = 518];</code>
14735           *
14736           * <pre>
14737           *hasAnnotations
14738           *Visibility
14739           *Modality
14740           *MemberKind
14741           *isVar
14742           *hasGetter
14743           *hasSetter
14744           *isConst
14745           *lateinit
14746           *hasConstant
14747           * </pre>
14748           */
14749          public Builder setFlags(int value) {
14750            bitField0_ |= 0x00000001;
14751            flags_ = value;
14752            
14753            return this;
14754          }
14755          /**
14756           * <code>optional int32 flags = 11 [default = 518];</code>
14757           *
14758           * <pre>
14759           *hasAnnotations
14760           *Visibility
14761           *Modality
14762           *MemberKind
14763           *isVar
14764           *hasGetter
14765           *hasSetter
14766           *isConst
14767           *lateinit
14768           *hasConstant
14769           * </pre>
14770           */
14771          public Builder clearFlags() {
14772            bitField0_ = (bitField0_ & ~0x00000001);
14773            flags_ = 518;
14774            
14775            return this;
14776          }
14777    
14778          private int oldFlags_ = 2054;
14779          /**
14780           * <code>optional int32 old_flags = 1 [default = 2054];</code>
14781           */
14782          public boolean hasOldFlags() {
14783            return ((bitField0_ & 0x00000002) == 0x00000002);
14784          }
14785          /**
14786           * <code>optional int32 old_flags = 1 [default = 2054];</code>
14787           */
14788          public int getOldFlags() {
14789            return oldFlags_;
14790          }
14791          /**
14792           * <code>optional int32 old_flags = 1 [default = 2054];</code>
14793           */
14794          public Builder setOldFlags(int value) {
14795            bitField0_ |= 0x00000002;
14796            oldFlags_ = value;
14797            
14798            return this;
14799          }
14800          /**
14801           * <code>optional int32 old_flags = 1 [default = 2054];</code>
14802           */
14803          public Builder clearOldFlags() {
14804            bitField0_ = (bitField0_ & ~0x00000002);
14805            oldFlags_ = 2054;
14806            
14807            return this;
14808          }
14809    
14810          private int name_ ;
14811          /**
14812           * <code>required int32 name = 2;</code>
14813           */
14814          public boolean hasName() {
14815            return ((bitField0_ & 0x00000004) == 0x00000004);
14816          }
14817          /**
14818           * <code>required int32 name = 2;</code>
14819           */
14820          public int getName() {
14821            return name_;
14822          }
14823          /**
14824           * <code>required int32 name = 2;</code>
14825           */
14826          public Builder setName(int value) {
14827            bitField0_ |= 0x00000004;
14828            name_ = value;
14829            
14830            return this;
14831          }
14832          /**
14833           * <code>required int32 name = 2;</code>
14834           */
14835          public Builder clearName() {
14836            bitField0_ = (bitField0_ & ~0x00000004);
14837            name_ = 0;
14838            
14839            return this;
14840          }
14841    
14842          private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14843          /**
14844           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14845           */
14846          public boolean hasReturnType() {
14847            return ((bitField0_ & 0x00000008) == 0x00000008);
14848          }
14849          /**
14850           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14851           */
14852          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
14853            return returnType_;
14854          }
14855          /**
14856           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14857           */
14858          public Builder setReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
14859            if (value == null) {
14860              throw new NullPointerException();
14861            }
14862            returnType_ = value;
14863    
14864            bitField0_ |= 0x00000008;
14865            return this;
14866          }
14867          /**
14868           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14869           */
14870          public Builder setReturnType(
14871              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
14872            returnType_ = builderForValue.build();
14873    
14874            bitField0_ |= 0x00000008;
14875            return this;
14876          }
14877          /**
14878           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14879           */
14880          public Builder mergeReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
14881            if (((bitField0_ & 0x00000008) == 0x00000008) &&
14882                returnType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
14883              returnType_ =
14884                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(returnType_).mergeFrom(value).buildPartial();
14885            } else {
14886              returnType_ = value;
14887            }
14888    
14889            bitField0_ |= 0x00000008;
14890            return this;
14891          }
14892          /**
14893           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14894           */
14895          public Builder clearReturnType() {
14896            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14897    
14898            bitField0_ = (bitField0_ & ~0x00000008);
14899            return this;
14900          }
14901    
14902          private int returnTypeId_ ;
14903          /**
14904           * <code>optional int32 return_type_id = 9;</code>
14905           */
14906          public boolean hasReturnTypeId() {
14907            return ((bitField0_ & 0x00000010) == 0x00000010);
14908          }
14909          /**
14910           * <code>optional int32 return_type_id = 9;</code>
14911           */
14912          public int getReturnTypeId() {
14913            return returnTypeId_;
14914          }
14915          /**
14916           * <code>optional int32 return_type_id = 9;</code>
14917           */
14918          public Builder setReturnTypeId(int value) {
14919            bitField0_ |= 0x00000010;
14920            returnTypeId_ = value;
14921            
14922            return this;
14923          }
14924          /**
14925           * <code>optional int32 return_type_id = 9;</code>
14926           */
14927          public Builder clearReturnTypeId() {
14928            bitField0_ = (bitField0_ & ~0x00000010);
14929            returnTypeId_ = 0;
14930            
14931            return this;
14932          }
14933    
14934          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
14935            java.util.Collections.emptyList();
14936          private void ensureTypeParameterIsMutable() {
14937            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
14938              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
14939              bitField0_ |= 0x00000020;
14940             }
14941          }
14942    
14943          /**
14944           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14945           */
14946          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
14947            return java.util.Collections.unmodifiableList(typeParameter_);
14948          }
14949          /**
14950           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14951           */
14952          public int getTypeParameterCount() {
14953            return typeParameter_.size();
14954          }
14955          /**
14956           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14957           */
14958          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
14959            return typeParameter_.get(index);
14960          }
14961          /**
14962           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14963           */
14964          public Builder setTypeParameter(
14965              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
14966            if (value == null) {
14967              throw new NullPointerException();
14968            }
14969            ensureTypeParameterIsMutable();
14970            typeParameter_.set(index, value);
14971    
14972            return this;
14973          }
14974          /**
14975           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14976           */
14977          public Builder setTypeParameter(
14978              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
14979            ensureTypeParameterIsMutable();
14980            typeParameter_.set(index, builderForValue.build());
14981    
14982            return this;
14983          }
14984          /**
14985           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14986           */
14987          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
14988            if (value == null) {
14989              throw new NullPointerException();
14990            }
14991            ensureTypeParameterIsMutable();
14992            typeParameter_.add(value);
14993    
14994            return this;
14995          }
14996          /**
14997           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14998           */
14999          public Builder addTypeParameter(
15000              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
15001            if (value == null) {
15002              throw new NullPointerException();
15003            }
15004            ensureTypeParameterIsMutable();
15005            typeParameter_.add(index, value);
15006    
15007            return this;
15008          }
15009          /**
15010           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15011           */
15012          public Builder addTypeParameter(
15013              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
15014            ensureTypeParameterIsMutable();
15015            typeParameter_.add(builderForValue.build());
15016    
15017            return this;
15018          }
15019          /**
15020           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15021           */
15022          public Builder addTypeParameter(
15023              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
15024            ensureTypeParameterIsMutable();
15025            typeParameter_.add(index, builderForValue.build());
15026    
15027            return this;
15028          }
15029          /**
15030           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15031           */
15032          public Builder addAllTypeParameter(
15033              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
15034            ensureTypeParameterIsMutable();
15035            org.jetbrains.kotlin.protobuf.AbstractMessageLite.Builder.addAll(
15036                values, typeParameter_);
15037    
15038            return this;
15039          }
15040          /**
15041           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15042           */
15043          public Builder clearTypeParameter() {
15044            typeParameter_ = java.util.Collections.emptyList();
15045            bitField0_ = (bitField0_ & ~0x00000020);
15046    
15047            return this;
15048          }
15049          /**
15050           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
15051           */
15052          public Builder removeTypeParameter(int index) {
15053            ensureTypeParameterIsMutable();
15054            typeParameter_.remove(index);
15055    
15056            return this;
15057          }
15058    
15059          private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15060          /**
15061           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
15062           */
15063          public boolean hasReceiverType() {
15064            return ((bitField0_ & 0x00000040) == 0x00000040);
15065          }
15066          /**
15067           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
15068           */
15069          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
15070            return receiverType_;
15071          }
15072          /**
15073           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
15074           */
15075          public Builder setReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
15076            if (value == null) {
15077              throw new NullPointerException();
15078            }
15079            receiverType_ = value;
15080    
15081            bitField0_ |= 0x00000040;
15082            return this;
15083          }
15084          /**
15085           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
15086           */
15087          public Builder setReceiverType(
15088              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
15089            receiverType_ = builderForValue.build();
15090    
15091            bitField0_ |= 0x00000040;
15092            return this;
15093          }
15094          /**
15095           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
15096           */
15097          public Builder mergeReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
15098            if (((bitField0_ & 0x00000040) == 0x00000040) &&
15099                receiverType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
15100              receiverType_ =
15101                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(receiverType_).mergeFrom(value).buildPartial();
15102            } else {
15103              receiverType_ = value;
15104            }
15105    
15106            bitField0_ |= 0x00000040;
15107            return this;
15108          }
15109          /**
15110           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
15111           */
15112          public Builder clearReceiverType() {
15113            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15114    
15115            bitField0_ = (bitField0_ & ~0x00000040);
15116            return this;
15117          }
15118    
15119          private int receiverTypeId_ ;
15120          /**
15121           * <code>optional int32 receiver_type_id = 10;</code>
15122           */
15123          public boolean hasReceiverTypeId() {
15124            return ((bitField0_ & 0x00000080) == 0x00000080);
15125          }
15126          /**
15127           * <code>optional int32 receiver_type_id = 10;</code>
15128           */
15129          public int getReceiverTypeId() {
15130            return receiverTypeId_;
15131          }
15132          /**
15133           * <code>optional int32 receiver_type_id = 10;</code>
15134           */
15135          public Builder setReceiverTypeId(int value) {
15136            bitField0_ |= 0x00000080;
15137            receiverTypeId_ = value;
15138            
15139            return this;
15140          }
15141          /**
15142           * <code>optional int32 receiver_type_id = 10;</code>
15143           */
15144          public Builder clearReceiverTypeId() {
15145            bitField0_ = (bitField0_ & ~0x00000080);
15146            receiverTypeId_ = 0;
15147            
15148            return this;
15149          }
15150    
15151          private org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter setterValueParameter_ = org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
15152          /**
15153           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15154           */
15155          public boolean hasSetterValueParameter() {
15156            return ((bitField0_ & 0x00000100) == 0x00000100);
15157          }
15158          /**
15159           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15160           */
15161          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getSetterValueParameter() {
15162            return setterValueParameter_;
15163          }
15164          /**
15165           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15166           */
15167          public Builder setSetterValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
15168            if (value == null) {
15169              throw new NullPointerException();
15170            }
15171            setterValueParameter_ = value;
15172    
15173            bitField0_ |= 0x00000100;
15174            return this;
15175          }
15176          /**
15177           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15178           */
15179          public Builder setSetterValueParameter(
15180              org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
15181            setterValueParameter_ = builderForValue.build();
15182    
15183            bitField0_ |= 0x00000100;
15184            return this;
15185          }
15186          /**
15187           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15188           */
15189          public Builder mergeSetterValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
15190            if (((bitField0_ & 0x00000100) == 0x00000100) &&
15191                setterValueParameter_ != org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance()) {
15192              setterValueParameter_ =
15193                org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.newBuilder(setterValueParameter_).mergeFrom(value).buildPartial();
15194            } else {
15195              setterValueParameter_ = value;
15196            }
15197    
15198            bitField0_ |= 0x00000100;
15199            return this;
15200          }
15201          /**
15202           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15203           */
15204          public Builder clearSetterValueParameter() {
15205            setterValueParameter_ = org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
15206    
15207            bitField0_ = (bitField0_ & ~0x00000100);
15208            return this;
15209          }
15210    
15211          private int getterFlags_ ;
15212          /**
15213           * <code>optional int32 getter_flags = 7;</code>
15214           *
15215           * <pre>
15216           *hasAnnotations
15217           *Visibility
15218           *Modality
15219           *isNotDefault
15220           *isExternal
15221           * </pre>
15222           */
15223          public boolean hasGetterFlags() {
15224            return ((bitField0_ & 0x00000200) == 0x00000200);
15225          }
15226          /**
15227           * <code>optional int32 getter_flags = 7;</code>
15228           *
15229           * <pre>
15230           *hasAnnotations
15231           *Visibility
15232           *Modality
15233           *isNotDefault
15234           *isExternal
15235           * </pre>
15236           */
15237          public int getGetterFlags() {
15238            return getterFlags_;
15239          }
15240          /**
15241           * <code>optional int32 getter_flags = 7;</code>
15242           *
15243           * <pre>
15244           *hasAnnotations
15245           *Visibility
15246           *Modality
15247           *isNotDefault
15248           *isExternal
15249           * </pre>
15250           */
15251          public Builder setGetterFlags(int value) {
15252            bitField0_ |= 0x00000200;
15253            getterFlags_ = value;
15254            
15255            return this;
15256          }
15257          /**
15258           * <code>optional int32 getter_flags = 7;</code>
15259           *
15260           * <pre>
15261           *hasAnnotations
15262           *Visibility
15263           *Modality
15264           *isNotDefault
15265           *isExternal
15266           * </pre>
15267           */
15268          public Builder clearGetterFlags() {
15269            bitField0_ = (bitField0_ & ~0x00000200);
15270            getterFlags_ = 0;
15271            
15272            return this;
15273          }
15274    
15275          private int setterFlags_ ;
15276          /**
15277           * <code>optional int32 setter_flags = 8;</code>
15278           */
15279          public boolean hasSetterFlags() {
15280            return ((bitField0_ & 0x00000400) == 0x00000400);
15281          }
15282          /**
15283           * <code>optional int32 setter_flags = 8;</code>
15284           */
15285          public int getSetterFlags() {
15286            return setterFlags_;
15287          }
15288          /**
15289           * <code>optional int32 setter_flags = 8;</code>
15290           */
15291          public Builder setSetterFlags(int value) {
15292            bitField0_ |= 0x00000400;
15293            setterFlags_ = value;
15294            
15295            return this;
15296          }
15297          /**
15298           * <code>optional int32 setter_flags = 8;</code>
15299           */
15300          public Builder clearSetterFlags() {
15301            bitField0_ = (bitField0_ & ~0x00000400);
15302            setterFlags_ = 0;
15303            
15304            return this;
15305          }
15306    
15307          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Property)
15308        }
15309    
15310        static {
15311          defaultInstance = new Property(true);
15312          defaultInstance.initFields();
15313        }
15314    
15315        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Property)
15316      }
15317    
15318      public interface ValueParameterOrBuilder extends 
15319          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.ValueParameter)
15320           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
15321                ExtendableMessageOrBuilder<ValueParameter> {
15322    
15323        /**
15324         * <code>optional int32 flags = 1 [default = 0];</code>
15325         *
15326         * <pre>
15327         *declaresDefault
15328         *hasAnnotations
15329         *isCrossinline
15330         *isNoinline
15331         * </pre>
15332         */
15333        boolean hasFlags();
15334        /**
15335         * <code>optional int32 flags = 1 [default = 0];</code>
15336         *
15337         * <pre>
15338         *declaresDefault
15339         *hasAnnotations
15340         *isCrossinline
15341         *isNoinline
15342         * </pre>
15343         */
15344        int getFlags();
15345    
15346        /**
15347         * <code>required int32 name = 2;</code>
15348         */
15349        boolean hasName();
15350        /**
15351         * <code>required int32 name = 2;</code>
15352         */
15353        int getName();
15354    
15355        /**
15356         * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15357         */
15358        boolean hasType();
15359        /**
15360         * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15361         */
15362        org.jetbrains.kotlin.serialization.ProtoBuf.Type getType();
15363    
15364        /**
15365         * <code>optional int32 type_id = 5;</code>
15366         */
15367        boolean hasTypeId();
15368        /**
15369         * <code>optional int32 type_id = 5;</code>
15370         */
15371        int getTypeId();
15372    
15373        /**
15374         * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
15375         */
15376        boolean hasVarargElementType();
15377        /**
15378         * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
15379         */
15380        org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType();
15381    
15382        /**
15383         * <code>optional int32 vararg_element_type_id = 6;</code>
15384         */
15385        boolean hasVarargElementTypeId();
15386        /**
15387         * <code>optional int32 vararg_element_type_id = 6;</code>
15388         */
15389        int getVarargElementTypeId();
15390      }
15391      /**
15392       * Protobuf type {@code org.jetbrains.kotlin.serialization.ValueParameter}
15393       */
15394      public static final class ValueParameter extends
15395          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
15396            ValueParameter> implements
15397          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.ValueParameter)
15398          ValueParameterOrBuilder {
15399        // Use ValueParameter.newBuilder() to construct.
15400        private ValueParameter(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter, ?> builder) {
15401          super(builder);
15402          this.unknownFields = builder.getUnknownFields();
15403        }
15404        private ValueParameter(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
15405    
15406        private static final ValueParameter defaultInstance;
15407        public static ValueParameter getDefaultInstance() {
15408          return defaultInstance;
15409        }
15410    
15411        public ValueParameter getDefaultInstanceForType() {
15412          return defaultInstance;
15413        }
15414    
15415        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
15416        private ValueParameter(
15417            org.jetbrains.kotlin.protobuf.CodedInputStream input,
15418            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
15419            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
15420          initFields();
15421          int mutable_bitField0_ = 0;
15422          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
15423              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
15424          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
15425              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
15426                  unknownFieldsOutput);
15427          try {
15428            boolean done = false;
15429            while (!done) {
15430              int tag = input.readTag();
15431              switch (tag) {
15432                case 0:
15433                  done = true;
15434                  break;
15435                default: {
15436                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
15437                                         extensionRegistry, tag)) {
15438                    done = true;
15439                  }
15440                  break;
15441                }
15442                case 8: {
15443                  bitField0_ |= 0x00000001;
15444                  flags_ = input.readInt32();
15445                  break;
15446                }
15447                case 16: {
15448                  bitField0_ |= 0x00000002;
15449                  name_ = input.readInt32();
15450                  break;
15451                }
15452                case 26: {
15453                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
15454                  if (((bitField0_ & 0x00000004) == 0x00000004)) {
15455                    subBuilder = type_.toBuilder();
15456                  }
15457                  type_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
15458                  if (subBuilder != null) {
15459                    subBuilder.mergeFrom(type_);
15460                    type_ = subBuilder.buildPartial();
15461                  }
15462                  bitField0_ |= 0x00000004;
15463                  break;
15464                }
15465                case 34: {
15466                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
15467                  if (((bitField0_ & 0x00000010) == 0x00000010)) {
15468                    subBuilder = varargElementType_.toBuilder();
15469                  }
15470                  varargElementType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
15471                  if (subBuilder != null) {
15472                    subBuilder.mergeFrom(varargElementType_);
15473                    varargElementType_ = subBuilder.buildPartial();
15474                  }
15475                  bitField0_ |= 0x00000010;
15476                  break;
15477                }
15478                case 40: {
15479                  bitField0_ |= 0x00000008;
15480                  typeId_ = input.readInt32();
15481                  break;
15482                }
15483                case 48: {
15484                  bitField0_ |= 0x00000020;
15485                  varargElementTypeId_ = input.readInt32();
15486                  break;
15487                }
15488              }
15489            }
15490          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
15491            throw e.setUnfinishedMessage(this);
15492          } catch (java.io.IOException e) {
15493            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
15494                e.getMessage()).setUnfinishedMessage(this);
15495          } finally {
15496            try {
15497              unknownFieldsCodedOutput.flush();
15498            } catch (java.io.IOException e) {
15499            // Should not happen
15500            } finally {
15501              unknownFields = unknownFieldsOutput.toByteString();
15502            }
15503            makeExtensionsImmutable();
15504          }
15505        }
15506        public static org.jetbrains.kotlin.protobuf.Parser<ValueParameter> PARSER =
15507            new org.jetbrains.kotlin.protobuf.AbstractParser<ValueParameter>() {
15508          public ValueParameter parsePartialFrom(
15509              org.jetbrains.kotlin.protobuf.CodedInputStream input,
15510              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
15511              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
15512            return new ValueParameter(input, extensionRegistry);
15513          }
15514        };
15515    
15516        @java.lang.Override
15517        public org.jetbrains.kotlin.protobuf.Parser<ValueParameter> getParserForType() {
15518          return PARSER;
15519        }
15520    
15521        private int bitField0_;
15522        public static final int FLAGS_FIELD_NUMBER = 1;
15523        private int flags_;
15524        /**
15525         * <code>optional int32 flags = 1 [default = 0];</code>
15526         *
15527         * <pre>
15528         *declaresDefault
15529         *hasAnnotations
15530         *isCrossinline
15531         *isNoinline
15532         * </pre>
15533         */
15534        public boolean hasFlags() {
15535          return ((bitField0_ & 0x00000001) == 0x00000001);
15536        }
15537        /**
15538         * <code>optional int32 flags = 1 [default = 0];</code>
15539         *
15540         * <pre>
15541         *declaresDefault
15542         *hasAnnotations
15543         *isCrossinline
15544         *isNoinline
15545         * </pre>
15546         */
15547        public int getFlags() {
15548          return flags_;
15549        }
15550    
15551        public static final int NAME_FIELD_NUMBER = 2;
15552        private int name_;
15553        /**
15554         * <code>required int32 name = 2;</code>
15555         */
15556        public boolean hasName() {
15557          return ((bitField0_ & 0x00000002) == 0x00000002);
15558        }
15559        /**
15560         * <code>required int32 name = 2;</code>
15561         */
15562        public int getName() {
15563          return name_;
15564        }
15565    
15566        public static final int TYPE_FIELD_NUMBER = 3;
15567        private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_;
15568        /**
15569         * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15570         */
15571        public boolean hasType() {
15572          return ((bitField0_ & 0x00000004) == 0x00000004);
15573        }
15574        /**
15575         * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15576         */
15577        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
15578          return type_;
15579        }
15580    
15581        public static final int TYPE_ID_FIELD_NUMBER = 5;
15582        private int typeId_;
15583        /**
15584         * <code>optional int32 type_id = 5;</code>
15585         */
15586        public boolean hasTypeId() {
15587          return ((bitField0_ & 0x00000008) == 0x00000008);
15588        }
15589        /**
15590         * <code>optional int32 type_id = 5;</code>
15591         */
15592        public int getTypeId() {
15593          return typeId_;
15594        }
15595    
15596        public static final int VARARG_ELEMENT_TYPE_FIELD_NUMBER = 4;
15597        private org.jetbrains.kotlin.serialization.ProtoBuf.Type varargElementType_;
15598        /**
15599         * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
15600         */
15601        public boolean hasVarargElementType() {
15602          return ((bitField0_ & 0x00000010) == 0x00000010);
15603        }
15604        /**
15605         * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
15606         */
15607        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType() {
15608          return varargElementType_;
15609        }
15610    
15611        public static final int VARARG_ELEMENT_TYPE_ID_FIELD_NUMBER = 6;
15612        private int varargElementTypeId_;
15613        /**
15614         * <code>optional int32 vararg_element_type_id = 6;</code>
15615         */
15616        public boolean hasVarargElementTypeId() {
15617          return ((bitField0_ & 0x00000020) == 0x00000020);
15618        }
15619        /**
15620         * <code>optional int32 vararg_element_type_id = 6;</code>
15621         */
15622        public int getVarargElementTypeId() {
15623          return varargElementTypeId_;
15624        }
15625    
15626        private void initFields() {
15627          flags_ = 0;
15628          name_ = 0;
15629          type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15630          typeId_ = 0;
15631          varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15632          varargElementTypeId_ = 0;
15633        }
15634        private byte memoizedIsInitialized = -1;
15635        public final boolean isInitialized() {
15636          byte isInitialized = memoizedIsInitialized;
15637          if (isInitialized == 1) return true;
15638          if (isInitialized == 0) return false;
15639    
15640          if (!hasName()) {
15641            memoizedIsInitialized = 0;
15642            return false;
15643          }
15644          if (hasType()) {
15645            if (!getType().isInitialized()) {
15646              memoizedIsInitialized = 0;
15647              return false;
15648            }
15649          }
15650          if (hasVarargElementType()) {
15651            if (!getVarargElementType().isInitialized()) {
15652              memoizedIsInitialized = 0;
15653              return false;
15654            }
15655          }
15656          if (!extensionsAreInitialized()) {
15657            memoizedIsInitialized = 0;
15658            return false;
15659          }
15660          memoizedIsInitialized = 1;
15661          return true;
15662        }
15663    
15664        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
15665                            throws java.io.IOException {
15666          getSerializedSize();
15667          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
15668            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>.ExtensionWriter extensionWriter =
15669              newExtensionWriter();
15670          if (((bitField0_ & 0x00000001) == 0x00000001)) {
15671            output.writeInt32(1, flags_);
15672          }
15673          if (((bitField0_ & 0x00000002) == 0x00000002)) {
15674            output.writeInt32(2, name_);
15675          }
15676          if (((bitField0_ & 0x00000004) == 0x00000004)) {
15677            output.writeMessage(3, type_);
15678          }
15679          if (((bitField0_ & 0x00000010) == 0x00000010)) {
15680            output.writeMessage(4, varargElementType_);
15681          }
15682          if (((bitField0_ & 0x00000008) == 0x00000008)) {
15683            output.writeInt32(5, typeId_);
15684          }
15685          if (((bitField0_ & 0x00000020) == 0x00000020)) {
15686            output.writeInt32(6, varargElementTypeId_);
15687          }
15688          extensionWriter.writeUntil(200, output);
15689          output.writeRawBytes(unknownFields);
15690        }
15691    
15692        private int memoizedSerializedSize = -1;
15693        public int getSerializedSize() {
15694          int size = memoizedSerializedSize;
15695          if (size != -1) return size;
15696    
15697          size = 0;
15698          if (((bitField0_ & 0x00000001) == 0x00000001)) {
15699            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
15700              .computeInt32Size(1, flags_);
15701          }
15702          if (((bitField0_ & 0x00000002) == 0x00000002)) {
15703            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
15704              .computeInt32Size(2, name_);
15705          }
15706          if (((bitField0_ & 0x00000004) == 0x00000004)) {
15707            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
15708              .computeMessageSize(3, type_);
15709          }
15710          if (((bitField0_ & 0x00000010) == 0x00000010)) {
15711            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
15712              .computeMessageSize(4, varargElementType_);
15713          }
15714          if (((bitField0_ & 0x00000008) == 0x00000008)) {
15715            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
15716              .computeInt32Size(5, typeId_);
15717          }
15718          if (((bitField0_ & 0x00000020) == 0x00000020)) {
15719            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
15720              .computeInt32Size(6, varargElementTypeId_);
15721          }
15722          size += extensionsSerializedSize();
15723          size += unknownFields.size();
15724          memoizedSerializedSize = size;
15725          return size;
15726        }
15727    
15728        private static final long serialVersionUID = 0L;
15729        @java.lang.Override
15730        protected java.lang.Object writeReplace()
15731            throws java.io.ObjectStreamException {
15732          return super.writeReplace();
15733        }
15734    
15735        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
15736            org.jetbrains.kotlin.protobuf.ByteString data)
15737            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
15738          return PARSER.parseFrom(data);
15739        }
15740        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
15741            org.jetbrains.kotlin.protobuf.ByteString data,
15742            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
15743            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
15744          return PARSER.parseFrom(data, extensionRegistry);
15745        }
15746        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(byte[] data)
15747            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
15748          return PARSER.parseFrom(data);
15749        }
15750        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
15751            byte[] data,
15752            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
15753            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
15754          return PARSER.parseFrom(data, extensionRegistry);
15755        }
15756        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(java.io.InputStream input)
15757            throws java.io.IOException {
15758          return PARSER.parseFrom(input);
15759        }
15760        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
15761            java.io.InputStream input,
15762            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
15763            throws java.io.IOException {
15764          return PARSER.parseFrom(input, extensionRegistry);
15765        }
15766        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseDelimitedFrom(java.io.InputStream input)
15767            throws java.io.IOException {
15768          return PARSER.parseDelimitedFrom(input);
15769        }
15770        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseDelimitedFrom(
15771            java.io.InputStream input,
15772            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
15773            throws java.io.IOException {
15774          return PARSER.parseDelimitedFrom(input, extensionRegistry);
15775        }
15776        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
15777            org.jetbrains.kotlin.protobuf.CodedInputStream input)
15778            throws java.io.IOException {
15779          return PARSER.parseFrom(input);
15780        }
15781        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
15782            org.jetbrains.kotlin.protobuf.CodedInputStream input,
15783            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
15784            throws java.io.IOException {
15785          return PARSER.parseFrom(input, extensionRegistry);
15786        }
15787    
15788        public static Builder newBuilder() { return Builder.create(); }
15789        public Builder newBuilderForType() { return newBuilder(); }
15790        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter prototype) {
15791          return newBuilder().mergeFrom(prototype);
15792        }
15793        public Builder toBuilder() { return newBuilder(this); }
15794    
15795        /**
15796         * Protobuf type {@code org.jetbrains.kotlin.serialization.ValueParameter}
15797         */
15798        public static final class Builder extends
15799            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
15800              org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter, Builder> implements
15801            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.ValueParameter)
15802            org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder {
15803          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.newBuilder()
15804          private Builder() {
15805            maybeForceBuilderInitialization();
15806          }
15807    
15808          private void maybeForceBuilderInitialization() {
15809          }
15810          private static Builder create() {
15811            return new Builder();
15812          }
15813    
15814          public Builder clear() {
15815            super.clear();
15816            flags_ = 0;
15817            bitField0_ = (bitField0_ & ~0x00000001);
15818            name_ = 0;
15819            bitField0_ = (bitField0_ & ~0x00000002);
15820            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15821            bitField0_ = (bitField0_ & ~0x00000004);
15822            typeId_ = 0;
15823            bitField0_ = (bitField0_ & ~0x00000008);
15824            varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15825            bitField0_ = (bitField0_ & ~0x00000010);
15826            varargElementTypeId_ = 0;
15827            bitField0_ = (bitField0_ & ~0x00000020);
15828            return this;
15829          }
15830    
15831          public Builder clone() {
15832            return create().mergeFrom(buildPartial());
15833          }
15834    
15835          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getDefaultInstanceForType() {
15836            return org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
15837          }
15838    
15839          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter build() {
15840            org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter result = buildPartial();
15841            if (!result.isInitialized()) {
15842              throw newUninitializedMessageException(result);
15843            }
15844            return result;
15845          }
15846    
15847          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter buildPartial() {
15848            org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter result = new org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter(this);
15849            int from_bitField0_ = bitField0_;
15850            int to_bitField0_ = 0;
15851            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
15852              to_bitField0_ |= 0x00000001;
15853            }
15854            result.flags_ = flags_;
15855            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
15856              to_bitField0_ |= 0x00000002;
15857            }
15858            result.name_ = name_;
15859            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
15860              to_bitField0_ |= 0x00000004;
15861            }
15862            result.type_ = type_;
15863            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
15864              to_bitField0_ |= 0x00000008;
15865            }
15866            result.typeId_ = typeId_;
15867            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
15868              to_bitField0_ |= 0x00000010;
15869            }
15870            result.varargElementType_ = varargElementType_;
15871            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
15872              to_bitField0_ |= 0x00000020;
15873            }
15874            result.varargElementTypeId_ = varargElementTypeId_;
15875            result.bitField0_ = to_bitField0_;
15876            return result;
15877          }
15878    
15879          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter other) {
15880            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance()) return this;
15881            if (other.hasFlags()) {
15882              setFlags(other.getFlags());
15883            }
15884            if (other.hasName()) {
15885              setName(other.getName());
15886            }
15887            if (other.hasType()) {
15888              mergeType(other.getType());
15889            }
15890            if (other.hasTypeId()) {
15891              setTypeId(other.getTypeId());
15892            }
15893            if (other.hasVarargElementType()) {
15894              mergeVarargElementType(other.getVarargElementType());
15895            }
15896            if (other.hasVarargElementTypeId()) {
15897              setVarargElementTypeId(other.getVarargElementTypeId());
15898            }
15899            this.mergeExtensionFields(other);
15900            setUnknownFields(
15901                getUnknownFields().concat(other.unknownFields));
15902            return this;
15903          }
15904    
15905          public final boolean isInitialized() {
15906            if (!hasName()) {
15907              
15908              return false;
15909            }
15910            if (hasType()) {
15911              if (!getType().isInitialized()) {
15912                
15913                return false;
15914              }
15915            }
15916            if (hasVarargElementType()) {
15917              if (!getVarargElementType().isInitialized()) {
15918                
15919                return false;
15920              }
15921            }
15922            if (!extensionsAreInitialized()) {
15923              
15924              return false;
15925            }
15926            return true;
15927          }
15928    
15929          public Builder mergeFrom(
15930              org.jetbrains.kotlin.protobuf.CodedInputStream input,
15931              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
15932              throws java.io.IOException {
15933            org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parsedMessage = null;
15934            try {
15935              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
15936            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
15937              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter) e.getUnfinishedMessage();
15938              throw e;
15939            } finally {
15940              if (parsedMessage != null) {
15941                mergeFrom(parsedMessage);
15942              }
15943            }
15944            return this;
15945          }
15946          private int bitField0_;
15947    
15948          private int flags_ ;
15949          /**
15950           * <code>optional int32 flags = 1 [default = 0];</code>
15951           *
15952           * <pre>
15953           *declaresDefault
15954           *hasAnnotations
15955           *isCrossinline
15956           *isNoinline
15957           * </pre>
15958           */
15959          public boolean hasFlags() {
15960            return ((bitField0_ & 0x00000001) == 0x00000001);
15961          }
15962          /**
15963           * <code>optional int32 flags = 1 [default = 0];</code>
15964           *
15965           * <pre>
15966           *declaresDefault
15967           *hasAnnotations
15968           *isCrossinline
15969           *isNoinline
15970           * </pre>
15971           */
15972          public int getFlags() {
15973            return flags_;
15974          }
15975          /**
15976           * <code>optional int32 flags = 1 [default = 0];</code>
15977           *
15978           * <pre>
15979           *declaresDefault
15980           *hasAnnotations
15981           *isCrossinline
15982           *isNoinline
15983           * </pre>
15984           */
15985          public Builder setFlags(int value) {
15986            bitField0_ |= 0x00000001;
15987            flags_ = value;
15988            
15989            return this;
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          public Builder clearFlags() {
16002            bitField0_ = (bitField0_ & ~0x00000001);
16003            flags_ = 0;
16004            
16005            return this;
16006          }
16007    
16008          private int name_ ;
16009          /**
16010           * <code>required int32 name = 2;</code>
16011           */
16012          public boolean hasName() {
16013            return ((bitField0_ & 0x00000002) == 0x00000002);
16014          }
16015          /**
16016           * <code>required int32 name = 2;</code>
16017           */
16018          public int getName() {
16019            return name_;
16020          }
16021          /**
16022           * <code>required int32 name = 2;</code>
16023           */
16024          public Builder setName(int value) {
16025            bitField0_ |= 0x00000002;
16026            name_ = value;
16027            
16028            return this;
16029          }
16030          /**
16031           * <code>required int32 name = 2;</code>
16032           */
16033          public Builder clearName() {
16034            bitField0_ = (bitField0_ & ~0x00000002);
16035            name_ = 0;
16036            
16037            return this;
16038          }
16039    
16040          private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
16041          /**
16042           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
16043           */
16044          public boolean hasType() {
16045            return ((bitField0_ & 0x00000004) == 0x00000004);
16046          }
16047          /**
16048           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
16049           */
16050          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
16051            return type_;
16052          }
16053          /**
16054           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
16055           */
16056          public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
16057            if (value == null) {
16058              throw new NullPointerException();
16059            }
16060            type_ = value;
16061    
16062            bitField0_ |= 0x00000004;
16063            return this;
16064          }
16065          /**
16066           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
16067           */
16068          public Builder setType(
16069              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
16070            type_ = builderForValue.build();
16071    
16072            bitField0_ |= 0x00000004;
16073            return this;
16074          }
16075          /**
16076           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
16077           */
16078          public Builder mergeType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
16079            if (((bitField0_ & 0x00000004) == 0x00000004) &&
16080                type_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
16081              type_ =
16082                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
16083            } else {
16084              type_ = value;
16085            }
16086    
16087            bitField0_ |= 0x00000004;
16088            return this;
16089          }
16090          /**
16091           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
16092           */
16093          public Builder clearType() {
16094            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
16095    
16096            bitField0_ = (bitField0_ & ~0x00000004);
16097            return this;
16098          }
16099    
16100          private int typeId_ ;
16101          /**
16102           * <code>optional int32 type_id = 5;</code>
16103           */
16104          public boolean hasTypeId() {
16105            return ((bitField0_ & 0x00000008) == 0x00000008);
16106          }
16107          /**
16108           * <code>optional int32 type_id = 5;</code>
16109           */
16110          public int getTypeId() {
16111            return typeId_;
16112          }
16113          /**
16114           * <code>optional int32 type_id = 5;</code>
16115           */
16116          public Builder setTypeId(int value) {
16117            bitField0_ |= 0x00000008;
16118            typeId_ = value;
16119            
16120            return this;
16121          }
16122          /**
16123           * <code>optional int32 type_id = 5;</code>
16124           */
16125          public Builder clearTypeId() {
16126            bitField0_ = (bitField0_ & ~0x00000008);
16127            typeId_ = 0;
16128            
16129            return this;
16130          }
16131    
16132          private org.jetbrains.kotlin.serialization.ProtoBuf.Type varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
16133          /**
16134           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16135           */
16136          public boolean hasVarargElementType() {
16137            return ((bitField0_ & 0x00000010) == 0x00000010);
16138          }
16139          /**
16140           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16141           */
16142          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType() {
16143            return varargElementType_;
16144          }
16145          /**
16146           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16147           */
16148          public Builder setVarargElementType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
16149            if (value == null) {
16150              throw new NullPointerException();
16151            }
16152            varargElementType_ = value;
16153    
16154            bitField0_ |= 0x00000010;
16155            return this;
16156          }
16157          /**
16158           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16159           */
16160          public Builder setVarargElementType(
16161              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
16162            varargElementType_ = builderForValue.build();
16163    
16164            bitField0_ |= 0x00000010;
16165            return this;
16166          }
16167          /**
16168           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16169           */
16170          public Builder mergeVarargElementType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
16171            if (((bitField0_ & 0x00000010) == 0x00000010) &&
16172                varargElementType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
16173              varargElementType_ =
16174                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(varargElementType_).mergeFrom(value).buildPartial();
16175            } else {
16176              varargElementType_ = value;
16177            }
16178    
16179            bitField0_ |= 0x00000010;
16180            return this;
16181          }
16182          /**
16183           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16184           */
16185          public Builder clearVarargElementType() {
16186            varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
16187    
16188            bitField0_ = (bitField0_ & ~0x00000010);
16189            return this;
16190          }
16191    
16192          private int varargElementTypeId_ ;
16193          /**
16194           * <code>optional int32 vararg_element_type_id = 6;</code>
16195           */
16196          public boolean hasVarargElementTypeId() {
16197            return ((bitField0_ & 0x00000020) == 0x00000020);
16198          }
16199          /**
16200           * <code>optional int32 vararg_element_type_id = 6;</code>
16201           */
16202          public int getVarargElementTypeId() {
16203            return varargElementTypeId_;
16204          }
16205          /**
16206           * <code>optional int32 vararg_element_type_id = 6;</code>
16207           */
16208          public Builder setVarargElementTypeId(int value) {
16209            bitField0_ |= 0x00000020;
16210            varargElementTypeId_ = value;
16211            
16212            return this;
16213          }
16214          /**
16215           * <code>optional int32 vararg_element_type_id = 6;</code>
16216           */
16217          public Builder clearVarargElementTypeId() {
16218            bitField0_ = (bitField0_ & ~0x00000020);
16219            varargElementTypeId_ = 0;
16220            
16221            return this;
16222          }
16223    
16224          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.ValueParameter)
16225        }
16226    
16227        static {
16228          defaultInstance = new ValueParameter(true);
16229          defaultInstance.initFields();
16230        }
16231    
16232        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.ValueParameter)
16233      }
16234    
16235      public interface EnumEntryOrBuilder extends 
16236          // @@protoc_insertion_point(interface_extends:org.jetbrains.kotlin.serialization.EnumEntry)
16237           org.jetbrains.kotlin.protobuf.GeneratedMessageLite.
16238                ExtendableMessageOrBuilder<EnumEntry> {
16239    
16240        /**
16241         * <code>optional int32 name = 1;</code>
16242         */
16243        boolean hasName();
16244        /**
16245         * <code>optional int32 name = 1;</code>
16246         */
16247        int getName();
16248      }
16249      /**
16250       * Protobuf type {@code org.jetbrains.kotlin.serialization.EnumEntry}
16251       */
16252      public static final class EnumEntry extends
16253          org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableMessage<
16254            EnumEntry> implements
16255          // @@protoc_insertion_point(message_implements:org.jetbrains.kotlin.serialization.EnumEntry)
16256          EnumEntryOrBuilder {
16257        // Use EnumEntry.newBuilder() to construct.
16258        private EnumEntry(org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry, ?> builder) {
16259          super(builder);
16260          this.unknownFields = builder.getUnknownFields();
16261        }
16262        private EnumEntry(boolean noInit) { this.unknownFields = org.jetbrains.kotlin.protobuf.ByteString.EMPTY;}
16263    
16264        private static final EnumEntry defaultInstance;
16265        public static EnumEntry getDefaultInstance() {
16266          return defaultInstance;
16267        }
16268    
16269        public EnumEntry getDefaultInstanceForType() {
16270          return defaultInstance;
16271        }
16272    
16273        private final org.jetbrains.kotlin.protobuf.ByteString unknownFields;
16274        private EnumEntry(
16275            org.jetbrains.kotlin.protobuf.CodedInputStream input,
16276            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16277            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
16278          initFields();
16279          int mutable_bitField0_ = 0;
16280          org.jetbrains.kotlin.protobuf.ByteString.Output unknownFieldsOutput =
16281              org.jetbrains.kotlin.protobuf.ByteString.newOutput();
16282          org.jetbrains.kotlin.protobuf.CodedOutputStream unknownFieldsCodedOutput =
16283              org.jetbrains.kotlin.protobuf.CodedOutputStream.newInstance(
16284                  unknownFieldsOutput);
16285          try {
16286            boolean done = false;
16287            while (!done) {
16288              int tag = input.readTag();
16289              switch (tag) {
16290                case 0:
16291                  done = true;
16292                  break;
16293                default: {
16294                  if (!parseUnknownField(input, unknownFieldsCodedOutput,
16295                                         extensionRegistry, tag)) {
16296                    done = true;
16297                  }
16298                  break;
16299                }
16300                case 8: {
16301                  bitField0_ |= 0x00000001;
16302                  name_ = input.readInt32();
16303                  break;
16304                }
16305              }
16306            }
16307          } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
16308            throw e.setUnfinishedMessage(this);
16309          } catch (java.io.IOException e) {
16310            throw new org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException(
16311                e.getMessage()).setUnfinishedMessage(this);
16312          } finally {
16313            try {
16314              unknownFieldsCodedOutput.flush();
16315            } catch (java.io.IOException e) {
16316            // Should not happen
16317            } finally {
16318              unknownFields = unknownFieldsOutput.toByteString();
16319            }
16320            makeExtensionsImmutable();
16321          }
16322        }
16323        public static org.jetbrains.kotlin.protobuf.Parser<EnumEntry> PARSER =
16324            new org.jetbrains.kotlin.protobuf.AbstractParser<EnumEntry>() {
16325          public EnumEntry parsePartialFrom(
16326              org.jetbrains.kotlin.protobuf.CodedInputStream input,
16327              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16328              throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
16329            return new EnumEntry(input, extensionRegistry);
16330          }
16331        };
16332    
16333        @java.lang.Override
16334        public org.jetbrains.kotlin.protobuf.Parser<EnumEntry> getParserForType() {
16335          return PARSER;
16336        }
16337    
16338        private int bitField0_;
16339        public static final int NAME_FIELD_NUMBER = 1;
16340        private int name_;
16341        /**
16342         * <code>optional int32 name = 1;</code>
16343         */
16344        public boolean hasName() {
16345          return ((bitField0_ & 0x00000001) == 0x00000001);
16346        }
16347        /**
16348         * <code>optional int32 name = 1;</code>
16349         */
16350        public int getName() {
16351          return name_;
16352        }
16353    
16354        private void initFields() {
16355          name_ = 0;
16356        }
16357        private byte memoizedIsInitialized = -1;
16358        public final boolean isInitialized() {
16359          byte isInitialized = memoizedIsInitialized;
16360          if (isInitialized == 1) return true;
16361          if (isInitialized == 0) return false;
16362    
16363          if (!extensionsAreInitialized()) {
16364            memoizedIsInitialized = 0;
16365            return false;
16366          }
16367          memoizedIsInitialized = 1;
16368          return true;
16369        }
16370    
16371        public void writeTo(org.jetbrains.kotlin.protobuf.CodedOutputStream output)
16372                            throws java.io.IOException {
16373          getSerializedSize();
16374          org.jetbrains.kotlin.protobuf.GeneratedMessageLite
16375            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry>.ExtensionWriter extensionWriter =
16376              newExtensionWriter();
16377          if (((bitField0_ & 0x00000001) == 0x00000001)) {
16378            output.writeInt32(1, name_);
16379          }
16380          extensionWriter.writeUntil(200, output);
16381          output.writeRawBytes(unknownFields);
16382        }
16383    
16384        private int memoizedSerializedSize = -1;
16385        public int getSerializedSize() {
16386          int size = memoizedSerializedSize;
16387          if (size != -1) return size;
16388    
16389          size = 0;
16390          if (((bitField0_ & 0x00000001) == 0x00000001)) {
16391            size += org.jetbrains.kotlin.protobuf.CodedOutputStream
16392              .computeInt32Size(1, name_);
16393          }
16394          size += extensionsSerializedSize();
16395          size += unknownFields.size();
16396          memoizedSerializedSize = size;
16397          return size;
16398        }
16399    
16400        private static final long serialVersionUID = 0L;
16401        @java.lang.Override
16402        protected java.lang.Object writeReplace()
16403            throws java.io.ObjectStreamException {
16404          return super.writeReplace();
16405        }
16406    
16407        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
16408            org.jetbrains.kotlin.protobuf.ByteString data)
16409            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
16410          return PARSER.parseFrom(data);
16411        }
16412        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
16413            org.jetbrains.kotlin.protobuf.ByteString data,
16414            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16415            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
16416          return PARSER.parseFrom(data, extensionRegistry);
16417        }
16418        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(byte[] data)
16419            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
16420          return PARSER.parseFrom(data);
16421        }
16422        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
16423            byte[] data,
16424            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16425            throws org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException {
16426          return PARSER.parseFrom(data, extensionRegistry);
16427        }
16428        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(java.io.InputStream input)
16429            throws java.io.IOException {
16430          return PARSER.parseFrom(input);
16431        }
16432        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
16433            java.io.InputStream input,
16434            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16435            throws java.io.IOException {
16436          return PARSER.parseFrom(input, extensionRegistry);
16437        }
16438        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseDelimitedFrom(java.io.InputStream input)
16439            throws java.io.IOException {
16440          return PARSER.parseDelimitedFrom(input);
16441        }
16442        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseDelimitedFrom(
16443            java.io.InputStream input,
16444            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16445            throws java.io.IOException {
16446          return PARSER.parseDelimitedFrom(input, extensionRegistry);
16447        }
16448        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
16449            org.jetbrains.kotlin.protobuf.CodedInputStream input)
16450            throws java.io.IOException {
16451          return PARSER.parseFrom(input);
16452        }
16453        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
16454            org.jetbrains.kotlin.protobuf.CodedInputStream input,
16455            org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16456            throws java.io.IOException {
16457          return PARSER.parseFrom(input, extensionRegistry);
16458        }
16459    
16460        public static Builder newBuilder() { return Builder.create(); }
16461        public Builder newBuilderForType() { return newBuilder(); }
16462        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry prototype) {
16463          return newBuilder().mergeFrom(prototype);
16464        }
16465        public Builder toBuilder() { return newBuilder(this); }
16466    
16467        /**
16468         * Protobuf type {@code org.jetbrains.kotlin.serialization.EnumEntry}
16469         */
16470        public static final class Builder extends
16471            org.jetbrains.kotlin.protobuf.GeneratedMessageLite.ExtendableBuilder<
16472              org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry, Builder> implements
16473            // @@protoc_insertion_point(builder_implements:org.jetbrains.kotlin.serialization.EnumEntry)
16474            org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntryOrBuilder {
16475          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.newBuilder()
16476          private Builder() {
16477            maybeForceBuilderInitialization();
16478          }
16479    
16480          private void maybeForceBuilderInitialization() {
16481          }
16482          private static Builder create() {
16483            return new Builder();
16484          }
16485    
16486          public Builder clear() {
16487            super.clear();
16488            name_ = 0;
16489            bitField0_ = (bitField0_ & ~0x00000001);
16490            return this;
16491          }
16492    
16493          public Builder clone() {
16494            return create().mergeFrom(buildPartial());
16495          }
16496    
16497          public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry getDefaultInstanceForType() {
16498            return org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.getDefaultInstance();
16499          }
16500    
16501          public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry build() {
16502            org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry result = buildPartial();
16503            if (!result.isInitialized()) {
16504              throw newUninitializedMessageException(result);
16505            }
16506            return result;
16507          }
16508    
16509          public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry buildPartial() {
16510            org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry result = new org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry(this);
16511            int from_bitField0_ = bitField0_;
16512            int to_bitField0_ = 0;
16513            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
16514              to_bitField0_ |= 0x00000001;
16515            }
16516            result.name_ = name_;
16517            result.bitField0_ = to_bitField0_;
16518            return result;
16519          }
16520    
16521          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry other) {
16522            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.getDefaultInstance()) return this;
16523            if (other.hasName()) {
16524              setName(other.getName());
16525            }
16526            this.mergeExtensionFields(other);
16527            setUnknownFields(
16528                getUnknownFields().concat(other.unknownFields));
16529            return this;
16530          }
16531    
16532          public final boolean isInitialized() {
16533            if (!extensionsAreInitialized()) {
16534              
16535              return false;
16536            }
16537            return true;
16538          }
16539    
16540          public Builder mergeFrom(
16541              org.jetbrains.kotlin.protobuf.CodedInputStream input,
16542              org.jetbrains.kotlin.protobuf.ExtensionRegistryLite extensionRegistry)
16543              throws java.io.IOException {
16544            org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parsedMessage = null;
16545            try {
16546              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
16547            } catch (org.jetbrains.kotlin.protobuf.InvalidProtocolBufferException e) {
16548              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry) e.getUnfinishedMessage();
16549              throw e;
16550            } finally {
16551              if (parsedMessage != null) {
16552                mergeFrom(parsedMessage);
16553              }
16554            }
16555            return this;
16556          }
16557          private int bitField0_;
16558    
16559          private int name_ ;
16560          /**
16561           * <code>optional int32 name = 1;</code>
16562           */
16563          public boolean hasName() {
16564            return ((bitField0_ & 0x00000001) == 0x00000001);
16565          }
16566          /**
16567           * <code>optional int32 name = 1;</code>
16568           */
16569          public int getName() {
16570            return name_;
16571          }
16572          /**
16573           * <code>optional int32 name = 1;</code>
16574           */
16575          public Builder setName(int value) {
16576            bitField0_ |= 0x00000001;
16577            name_ = value;
16578            
16579            return this;
16580          }
16581          /**
16582           * <code>optional int32 name = 1;</code>
16583           */
16584          public Builder clearName() {
16585            bitField0_ = (bitField0_ & ~0x00000001);
16586            name_ = 0;
16587            
16588            return this;
16589          }
16590    
16591          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.EnumEntry)
16592        }
16593    
16594        static {
16595          defaultInstance = new EnumEntry(true);
16596          defaultInstance.initFields();
16597        }
16598    
16599        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.EnumEntry)
16600      }
16601    
16602    
16603      static {
16604      }
16605    
16606      // @@protoc_insertion_point(outer_class_scope)
16607    }