001    // Generated by the protocol buffer compiler.  DO NOT EDIT!
002    // source: core/deserialization/src/descriptors.proto
003    
004    package org.jetbrains.kotlin.serialization;
005    
006    public final class ProtoBuf {
007      private ProtoBuf() {}
008      public static void registerAllExtensions(
009          com.google.protobuf.ExtensionRegistryLite registry) {
010      }
011      /**
012       * Protobuf enum {@code org.jetbrains.kotlin.serialization.Modality}
013       */
014      public enum Modality
015          implements com.google.protobuf.Internal.EnumLite {
016        /**
017         * <code>FINAL = 0;</code>
018         *
019         * <pre>
020         * 2 bits
021         * </pre>
022         */
023        FINAL(0, 0),
024        /**
025         * <code>OPEN = 1;</code>
026         */
027        OPEN(1, 1),
028        /**
029         * <code>ABSTRACT = 2;</code>
030         */
031        ABSTRACT(2, 2),
032        /**
033         * <code>SEALED = 3;</code>
034         */
035        SEALED(3, 3),
036        ;
037    
038        /**
039         * <code>FINAL = 0;</code>
040         *
041         * <pre>
042         * 2 bits
043         * </pre>
044         */
045        public static final int FINAL_VALUE = 0;
046        /**
047         * <code>OPEN = 1;</code>
048         */
049        public static final int OPEN_VALUE = 1;
050        /**
051         * <code>ABSTRACT = 2;</code>
052         */
053        public static final int ABSTRACT_VALUE = 2;
054        /**
055         * <code>SEALED = 3;</code>
056         */
057        public static final int SEALED_VALUE = 3;
058    
059    
060        public final int getNumber() { return value; }
061    
062        public static Modality valueOf(int value) {
063          switch (value) {
064            case 0: return FINAL;
065            case 1: return OPEN;
066            case 2: return ABSTRACT;
067            case 3: return SEALED;
068            default: return null;
069          }
070        }
071    
072        public static com.google.protobuf.Internal.EnumLiteMap<Modality>
073            internalGetValueMap() {
074          return internalValueMap;
075        }
076        private static com.google.protobuf.Internal.EnumLiteMap<Modality>
077            internalValueMap =
078              new com.google.protobuf.Internal.EnumLiteMap<Modality>() {
079                public Modality findValueByNumber(int number) {
080                  return Modality.valueOf(number);
081                }
082              };
083    
084        private final int value;
085    
086        private Modality(int index, int value) {
087          this.value = value;
088        }
089    
090        // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Modality)
091      }
092    
093      /**
094       * Protobuf enum {@code org.jetbrains.kotlin.serialization.Visibility}
095       */
096      public enum Visibility
097          implements com.google.protobuf.Internal.EnumLite {
098        /**
099         * <code>INTERNAL = 0;</code>
100         *
101         * <pre>
102         * 3 bits
103         * </pre>
104         */
105        INTERNAL(0, 0),
106        /**
107         * <code>PRIVATE = 1;</code>
108         */
109        PRIVATE(1, 1),
110        /**
111         * <code>PROTECTED = 2;</code>
112         */
113        PROTECTED(2, 2),
114        /**
115         * <code>PUBLIC = 3;</code>
116         */
117        PUBLIC(3, 3),
118        /**
119         * <code>PRIVATE_TO_THIS = 4;</code>
120         */
121        PRIVATE_TO_THIS(4, 4),
122        /**
123         * <code>LOCAL = 5;</code>
124         */
125        LOCAL(5, 5),
126        ;
127    
128        /**
129         * <code>INTERNAL = 0;</code>
130         *
131         * <pre>
132         * 3 bits
133         * </pre>
134         */
135        public static final int INTERNAL_VALUE = 0;
136        /**
137         * <code>PRIVATE = 1;</code>
138         */
139        public static final int PRIVATE_VALUE = 1;
140        /**
141         * <code>PROTECTED = 2;</code>
142         */
143        public static final int PROTECTED_VALUE = 2;
144        /**
145         * <code>PUBLIC = 3;</code>
146         */
147        public static final int PUBLIC_VALUE = 3;
148        /**
149         * <code>PRIVATE_TO_THIS = 4;</code>
150         */
151        public static final int PRIVATE_TO_THIS_VALUE = 4;
152        /**
153         * <code>LOCAL = 5;</code>
154         */
155        public static final int LOCAL_VALUE = 5;
156    
157    
158        public final int getNumber() { return value; }
159    
160        public static Visibility valueOf(int value) {
161          switch (value) {
162            case 0: return INTERNAL;
163            case 1: return PRIVATE;
164            case 2: return PROTECTED;
165            case 3: return PUBLIC;
166            case 4: return PRIVATE_TO_THIS;
167            case 5: return LOCAL;
168            default: return null;
169          }
170        }
171    
172        public static com.google.protobuf.Internal.EnumLiteMap<Visibility>
173            internalGetValueMap() {
174          return internalValueMap;
175        }
176        private static com.google.protobuf.Internal.EnumLiteMap<Visibility>
177            internalValueMap =
178              new com.google.protobuf.Internal.EnumLiteMap<Visibility>() {
179                public Visibility findValueByNumber(int number) {
180                  return Visibility.valueOf(number);
181                }
182              };
183    
184        private final int value;
185    
186        private Visibility(int index, int value) {
187          this.value = value;
188        }
189    
190        // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Visibility)
191      }
192    
193      /**
194       * Protobuf enum {@code org.jetbrains.kotlin.serialization.MemberKind}
195       */
196      public enum MemberKind
197          implements com.google.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 com.google.protobuf.Internal.EnumLiteMap<MemberKind>
255            internalGetValueMap() {
256          return internalValueMap;
257        }
258        private static com.google.protobuf.Internal.EnumLiteMap<MemberKind>
259            internalValueMap =
260              new com.google.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
276          extends com.google.protobuf.MessageLiteOrBuilder {
277    
278        // repeated string string = 1;
279        /**
280         * <code>repeated string string = 1;</code>
281         */
282        java.util.List<java.lang.String>
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        com.google.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          com.google.protobuf.GeneratedMessageLite
303          implements StringTableOrBuilder {
304        // Use StringTable.newBuilder() to construct.
305        private StringTable(com.google.protobuf.GeneratedMessageLite.Builder builder) {
306          super(builder);
307    
308        }
309        private StringTable(boolean noInit) {}
310    
311        private static final StringTable defaultInstance;
312        public static StringTable getDefaultInstance() {
313          return defaultInstance;
314        }
315    
316        public StringTable getDefaultInstanceForType() {
317          return defaultInstance;
318        }
319    
320        private StringTable(
321            com.google.protobuf.CodedInputStream input,
322            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
323            throws com.google.protobuf.InvalidProtocolBufferException {
324          initFields();
325          int mutable_bitField0_ = 0;
326          try {
327            boolean done = false;
328            while (!done) {
329              int tag = input.readTag();
330              switch (tag) {
331                case 0:
332                  done = true;
333                  break;
334                default: {
335                  if (!parseUnknownField(input,
336                                         extensionRegistry, tag)) {
337                    done = true;
338                  }
339                  break;
340                }
341                case 10: {
342                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
343                    string_ = new com.google.protobuf.LazyStringArrayList();
344                    mutable_bitField0_ |= 0x00000001;
345                  }
346                  string_.add(input.readBytes());
347                  break;
348                }
349              }
350            }
351          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
352            throw e.setUnfinishedMessage(this);
353          } catch (java.io.IOException e) {
354            throw new com.google.protobuf.InvalidProtocolBufferException(
355                e.getMessage()).setUnfinishedMessage(this);
356          } finally {
357            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
358              string_ = new com.google.protobuf.UnmodifiableLazyStringList(string_);
359            }
360            makeExtensionsImmutable();
361          }
362        }
363        public static com.google.protobuf.Parser<StringTable> PARSER =
364            new com.google.protobuf.AbstractParser<StringTable>() {
365          public StringTable parsePartialFrom(
366              com.google.protobuf.CodedInputStream input,
367              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
368              throws com.google.protobuf.InvalidProtocolBufferException {
369            return new StringTable(input, extensionRegistry);
370          }
371        };
372    
373        @java.lang.Override
374        public com.google.protobuf.Parser<StringTable> getParserForType() {
375          return PARSER;
376        }
377    
378        // repeated string string = 1;
379        public static final int STRING_FIELD_NUMBER = 1;
380        private com.google.protobuf.LazyStringList string_;
381        /**
382         * <code>repeated string string = 1;</code>
383         */
384        public java.util.List<java.lang.String>
385            getStringList() {
386          return string_;
387        }
388        /**
389         * <code>repeated string string = 1;</code>
390         */
391        public int getStringCount() {
392          return string_.size();
393        }
394        /**
395         * <code>repeated string string = 1;</code>
396         */
397        public java.lang.String getString(int index) {
398          return string_.get(index);
399        }
400        /**
401         * <code>repeated string string = 1;</code>
402         */
403        public com.google.protobuf.ByteString
404            getStringBytes(int index) {
405          return string_.getByteString(index);
406        }
407    
408        private void initFields() {
409          string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
410        }
411        private byte memoizedIsInitialized = -1;
412        public final boolean isInitialized() {
413          byte isInitialized = memoizedIsInitialized;
414          if (isInitialized != -1) return isInitialized == 1;
415    
416          memoizedIsInitialized = 1;
417          return true;
418        }
419    
420        public void writeTo(com.google.protobuf.CodedOutputStream output)
421                            throws java.io.IOException {
422          getSerializedSize();
423          for (int i = 0; i < string_.size(); i++) {
424            output.writeBytes(1, string_.getByteString(i));
425          }
426        }
427    
428        private int memoizedSerializedSize = -1;
429        public int getSerializedSize() {
430          int size = memoizedSerializedSize;
431          if (size != -1) return size;
432    
433          size = 0;
434          {
435            int dataSize = 0;
436            for (int i = 0; i < string_.size(); i++) {
437              dataSize += com.google.protobuf.CodedOutputStream
438                .computeBytesSizeNoTag(string_.getByteString(i));
439            }
440            size += dataSize;
441            size += 1 * getStringList().size();
442          }
443          memoizedSerializedSize = size;
444          return size;
445        }
446    
447        private static final long serialVersionUID = 0L;
448        @java.lang.Override
449        protected java.lang.Object writeReplace()
450            throws java.io.ObjectStreamException {
451          return super.writeReplace();
452        }
453    
454        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
455            com.google.protobuf.ByteString data)
456            throws com.google.protobuf.InvalidProtocolBufferException {
457          return PARSER.parseFrom(data);
458        }
459        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
460            com.google.protobuf.ByteString data,
461            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
462            throws com.google.protobuf.InvalidProtocolBufferException {
463          return PARSER.parseFrom(data, extensionRegistry);
464        }
465        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(byte[] data)
466            throws com.google.protobuf.InvalidProtocolBufferException {
467          return PARSER.parseFrom(data);
468        }
469        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
470            byte[] data,
471            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
472            throws com.google.protobuf.InvalidProtocolBufferException {
473          return PARSER.parseFrom(data, extensionRegistry);
474        }
475        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(java.io.InputStream input)
476            throws java.io.IOException {
477          return PARSER.parseFrom(input);
478        }
479        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
480            java.io.InputStream input,
481            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
482            throws java.io.IOException {
483          return PARSER.parseFrom(input, extensionRegistry);
484        }
485        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseDelimitedFrom(java.io.InputStream input)
486            throws java.io.IOException {
487          return PARSER.parseDelimitedFrom(input);
488        }
489        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseDelimitedFrom(
490            java.io.InputStream input,
491            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
492            throws java.io.IOException {
493          return PARSER.parseDelimitedFrom(input, extensionRegistry);
494        }
495        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
496            com.google.protobuf.CodedInputStream input)
497            throws java.io.IOException {
498          return PARSER.parseFrom(input);
499        }
500        public static org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parseFrom(
501            com.google.protobuf.CodedInputStream input,
502            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
503            throws java.io.IOException {
504          return PARSER.parseFrom(input, extensionRegistry);
505        }
506    
507        public static Builder newBuilder() { return Builder.create(); }
508        public Builder newBuilderForType() { return newBuilder(); }
509        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.StringTable prototype) {
510          return newBuilder().mergeFrom(prototype);
511        }
512        public Builder toBuilder() { return newBuilder(this); }
513    
514        /**
515         * Protobuf type {@code org.jetbrains.kotlin.serialization.StringTable}
516         */
517        public static final class Builder extends
518            com.google.protobuf.GeneratedMessageLite.Builder<
519              org.jetbrains.kotlin.serialization.ProtoBuf.StringTable, Builder>
520            implements org.jetbrains.kotlin.serialization.ProtoBuf.StringTableOrBuilder {
521          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.newBuilder()
522          private Builder() {
523            maybeForceBuilderInitialization();
524          }
525    
526          private void maybeForceBuilderInitialization() {
527          }
528          private static Builder create() {
529            return new Builder();
530          }
531    
532          public Builder clear() {
533            super.clear();
534            string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
535            bitField0_ = (bitField0_ & ~0x00000001);
536            return this;
537          }
538    
539          public Builder clone() {
540            return create().mergeFrom(buildPartial());
541          }
542    
543          public org.jetbrains.kotlin.serialization.ProtoBuf.StringTable getDefaultInstanceForType() {
544            return org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.getDefaultInstance();
545          }
546    
547          public org.jetbrains.kotlin.serialization.ProtoBuf.StringTable build() {
548            org.jetbrains.kotlin.serialization.ProtoBuf.StringTable result = buildPartial();
549            if (!result.isInitialized()) {
550              throw newUninitializedMessageException(result);
551            }
552            return result;
553          }
554    
555          public org.jetbrains.kotlin.serialization.ProtoBuf.StringTable buildPartial() {
556            org.jetbrains.kotlin.serialization.ProtoBuf.StringTable result = new org.jetbrains.kotlin.serialization.ProtoBuf.StringTable(this);
557            int from_bitField0_ = bitField0_;
558            if (((bitField0_ & 0x00000001) == 0x00000001)) {
559              string_ = new com.google.protobuf.UnmodifiableLazyStringList(
560                  string_);
561              bitField0_ = (bitField0_ & ~0x00000001);
562            }
563            result.string_ = string_;
564            return result;
565          }
566    
567          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.StringTable other) {
568            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.StringTable.getDefaultInstance()) return this;
569            if (!other.string_.isEmpty()) {
570              if (string_.isEmpty()) {
571                string_ = other.string_;
572                bitField0_ = (bitField0_ & ~0x00000001);
573              } else {
574                ensureStringIsMutable();
575                string_.addAll(other.string_);
576              }
577              
578            }
579            return this;
580          }
581    
582          public final boolean isInitialized() {
583            return true;
584          }
585    
586          public Builder mergeFrom(
587              com.google.protobuf.CodedInputStream input,
588              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
589              throws java.io.IOException {
590            org.jetbrains.kotlin.serialization.ProtoBuf.StringTable parsedMessage = null;
591            try {
592              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
593            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
594              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.StringTable) e.getUnfinishedMessage();
595              throw e;
596            } finally {
597              if (parsedMessage != null) {
598                mergeFrom(parsedMessage);
599              }
600            }
601            return this;
602          }
603          private int bitField0_;
604    
605          // repeated string string = 1;
606          private com.google.protobuf.LazyStringList string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
607          private void ensureStringIsMutable() {
608            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
609              string_ = new com.google.protobuf.LazyStringArrayList(string_);
610              bitField0_ |= 0x00000001;
611             }
612          }
613          /**
614           * <code>repeated string string = 1;</code>
615           */
616          public java.util.List<java.lang.String>
617              getStringList() {
618            return java.util.Collections.unmodifiableList(string_);
619          }
620          /**
621           * <code>repeated string string = 1;</code>
622           */
623          public int getStringCount() {
624            return string_.size();
625          }
626          /**
627           * <code>repeated string string = 1;</code>
628           */
629          public java.lang.String getString(int index) {
630            return string_.get(index);
631          }
632          /**
633           * <code>repeated string string = 1;</code>
634           */
635          public com.google.protobuf.ByteString
636              getStringBytes(int index) {
637            return string_.getByteString(index);
638          }
639          /**
640           * <code>repeated string string = 1;</code>
641           */
642          public Builder setString(
643              int index, java.lang.String value) {
644            if (value == null) {
645        throw new NullPointerException();
646      }
647      ensureStringIsMutable();
648            string_.set(index, value);
649            
650            return this;
651          }
652          /**
653           * <code>repeated string string = 1;</code>
654           */
655          public Builder addString(
656              java.lang.String value) {
657            if (value == null) {
658        throw new NullPointerException();
659      }
660      ensureStringIsMutable();
661            string_.add(value);
662            
663            return this;
664          }
665          /**
666           * <code>repeated string string = 1;</code>
667           */
668          public Builder addAllString(
669              java.lang.Iterable<java.lang.String> values) {
670            ensureStringIsMutable();
671            super.addAll(values, string_);
672            
673            return this;
674          }
675          /**
676           * <code>repeated string string = 1;</code>
677           */
678          public Builder clearString() {
679            string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
680            bitField0_ = (bitField0_ & ~0x00000001);
681            
682            return this;
683          }
684          /**
685           * <code>repeated string string = 1;</code>
686           */
687          public Builder addStringBytes(
688              com.google.protobuf.ByteString value) {
689            if (value == null) {
690        throw new NullPointerException();
691      }
692      ensureStringIsMutable();
693            string_.add(value);
694            
695            return this;
696          }
697    
698          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.StringTable)
699        }
700    
701        static {
702          defaultInstance = new StringTable(true);
703          defaultInstance.initFields();
704        }
705    
706        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.StringTable)
707      }
708    
709      public interface QualifiedNameTableOrBuilder
710          extends com.google.protobuf.MessageLiteOrBuilder {
711    
712        // repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;
713        /**
714         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
715         */
716        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> 
717            getQualifiedNameList();
718        /**
719         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
720         */
721        org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index);
722        /**
723         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
724         */
725        int getQualifiedNameCount();
726      }
727      /**
728       * Protobuf type {@code org.jetbrains.kotlin.serialization.QualifiedNameTable}
729       */
730      public static final class QualifiedNameTable extends
731          com.google.protobuf.GeneratedMessageLite
732          implements QualifiedNameTableOrBuilder {
733        // Use QualifiedNameTable.newBuilder() to construct.
734        private QualifiedNameTable(com.google.protobuf.GeneratedMessageLite.Builder builder) {
735          super(builder);
736    
737        }
738        private QualifiedNameTable(boolean noInit) {}
739    
740        private static final QualifiedNameTable defaultInstance;
741        public static QualifiedNameTable getDefaultInstance() {
742          return defaultInstance;
743        }
744    
745        public QualifiedNameTable getDefaultInstanceForType() {
746          return defaultInstance;
747        }
748    
749        private QualifiedNameTable(
750            com.google.protobuf.CodedInputStream input,
751            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
752            throws com.google.protobuf.InvalidProtocolBufferException {
753          initFields();
754          int mutable_bitField0_ = 0;
755          try {
756            boolean done = false;
757            while (!done) {
758              int tag = input.readTag();
759              switch (tag) {
760                case 0:
761                  done = true;
762                  break;
763                default: {
764                  if (!parseUnknownField(input,
765                                         extensionRegistry, tag)) {
766                    done = true;
767                  }
768                  break;
769                }
770                case 10: {
771                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
772                    qualifiedName_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName>();
773                    mutable_bitField0_ |= 0x00000001;
774                  }
775                  qualifiedName_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.PARSER, extensionRegistry));
776                  break;
777                }
778              }
779            }
780          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
781            throw e.setUnfinishedMessage(this);
782          } catch (java.io.IOException e) {
783            throw new com.google.protobuf.InvalidProtocolBufferException(
784                e.getMessage()).setUnfinishedMessage(this);
785          } finally {
786            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
787              qualifiedName_ = java.util.Collections.unmodifiableList(qualifiedName_);
788            }
789            makeExtensionsImmutable();
790          }
791        }
792        public static com.google.protobuf.Parser<QualifiedNameTable> PARSER =
793            new com.google.protobuf.AbstractParser<QualifiedNameTable>() {
794          public QualifiedNameTable parsePartialFrom(
795              com.google.protobuf.CodedInputStream input,
796              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
797              throws com.google.protobuf.InvalidProtocolBufferException {
798            return new QualifiedNameTable(input, extensionRegistry);
799          }
800        };
801    
802        @java.lang.Override
803        public com.google.protobuf.Parser<QualifiedNameTable> getParserForType() {
804          return PARSER;
805        }
806    
807        public interface QualifiedNameOrBuilder
808            extends com.google.protobuf.MessageLiteOrBuilder {
809    
810          // optional int32 parent_qualified_name = 1 [default = -1];
811          /**
812           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
813           */
814          boolean hasParentQualifiedName();
815          /**
816           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
817           */
818          int getParentQualifiedName();
819    
820          // required int32 short_name = 2;
821          /**
822           * <code>required int32 short_name = 2;</code>
823           *
824           * <pre>
825           * id in the StringTable
826           * </pre>
827           */
828          boolean hasShortName();
829          /**
830           * <code>required int32 short_name = 2;</code>
831           *
832           * <pre>
833           * id in the StringTable
834           * </pre>
835           */
836          int getShortName();
837    
838          // optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];
839          /**
840           * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
841           */
842          boolean hasKind();
843          /**
844           * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
845           */
846          org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind();
847        }
848        /**
849         * Protobuf type {@code org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName}
850         */
851        public static final class QualifiedName extends
852            com.google.protobuf.GeneratedMessageLite
853            implements QualifiedNameOrBuilder {
854          // Use QualifiedName.newBuilder() to construct.
855          private QualifiedName(com.google.protobuf.GeneratedMessageLite.Builder builder) {
856            super(builder);
857    
858          }
859          private QualifiedName(boolean noInit) {}
860    
861          private static final QualifiedName defaultInstance;
862          public static QualifiedName getDefaultInstance() {
863            return defaultInstance;
864          }
865    
866          public QualifiedName getDefaultInstanceForType() {
867            return defaultInstance;
868          }
869    
870          private QualifiedName(
871              com.google.protobuf.CodedInputStream input,
872              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
873              throws com.google.protobuf.InvalidProtocolBufferException {
874            initFields();
875            int mutable_bitField0_ = 0;
876            try {
877              boolean done = false;
878              while (!done) {
879                int tag = input.readTag();
880                switch (tag) {
881                  case 0:
882                    done = true;
883                    break;
884                  default: {
885                    if (!parseUnknownField(input,
886                                           extensionRegistry, tag)) {
887                      done = true;
888                    }
889                    break;
890                  }
891                  case 8: {
892                    bitField0_ |= 0x00000001;
893                    parentQualifiedName_ = input.readInt32();
894                    break;
895                  }
896                  case 16: {
897                    bitField0_ |= 0x00000002;
898                    shortName_ = input.readInt32();
899                    break;
900                  }
901                  case 24: {
902                    int rawValue = input.readEnum();
903                    org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind value = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.valueOf(rawValue);
904                    if (value != null) {
905                      bitField0_ |= 0x00000004;
906                      kind_ = value;
907                    }
908                    break;
909                  }
910                }
911              }
912            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
913              throw e.setUnfinishedMessage(this);
914            } catch (java.io.IOException e) {
915              throw new com.google.protobuf.InvalidProtocolBufferException(
916                  e.getMessage()).setUnfinishedMessage(this);
917            } finally {
918              makeExtensionsImmutable();
919            }
920          }
921          public static com.google.protobuf.Parser<QualifiedName> PARSER =
922              new com.google.protobuf.AbstractParser<QualifiedName>() {
923            public QualifiedName parsePartialFrom(
924                com.google.protobuf.CodedInputStream input,
925                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
926                throws com.google.protobuf.InvalidProtocolBufferException {
927              return new QualifiedName(input, extensionRegistry);
928            }
929          };
930    
931          @java.lang.Override
932          public com.google.protobuf.Parser<QualifiedName> getParserForType() {
933            return PARSER;
934          }
935    
936          /**
937           * Protobuf enum {@code org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind}
938           */
939          public enum Kind
940              implements com.google.protobuf.Internal.EnumLite {
941            /**
942             * <code>CLASS = 0;</code>
943             */
944            CLASS(0, 0),
945            /**
946             * <code>PACKAGE = 1;</code>
947             */
948            PACKAGE(1, 1),
949            /**
950             * <code>LOCAL = 2;</code>
951             */
952            LOCAL(2, 2),
953            ;
954    
955            /**
956             * <code>CLASS = 0;</code>
957             */
958            public static final int CLASS_VALUE = 0;
959            /**
960             * <code>PACKAGE = 1;</code>
961             */
962            public static final int PACKAGE_VALUE = 1;
963            /**
964             * <code>LOCAL = 2;</code>
965             */
966            public static final int LOCAL_VALUE = 2;
967    
968    
969            public final int getNumber() { return value; }
970    
971            public static Kind valueOf(int value) {
972              switch (value) {
973                case 0: return CLASS;
974                case 1: return PACKAGE;
975                case 2: return LOCAL;
976                default: return null;
977              }
978            }
979    
980            public static com.google.protobuf.Internal.EnumLiteMap<Kind>
981                internalGetValueMap() {
982              return internalValueMap;
983            }
984            private static com.google.protobuf.Internal.EnumLiteMap<Kind>
985                internalValueMap =
986                  new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
987                    public Kind findValueByNumber(int number) {
988                      return Kind.valueOf(number);
989                    }
990                  };
991    
992            private final int value;
993    
994            private Kind(int index, int value) {
995              this.value = value;
996            }
997    
998            // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind)
999          }
1000    
1001          private int bitField0_;
1002          // optional int32 parent_qualified_name = 1 [default = -1];
1003          public static final int PARENT_QUALIFIED_NAME_FIELD_NUMBER = 1;
1004          private int parentQualifiedName_;
1005          /**
1006           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1007           */
1008          public boolean hasParentQualifiedName() {
1009            return ((bitField0_ & 0x00000001) == 0x00000001);
1010          }
1011          /**
1012           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1013           */
1014          public int getParentQualifiedName() {
1015            return parentQualifiedName_;
1016          }
1017    
1018          // required int32 short_name = 2;
1019          public static final int SHORT_NAME_FIELD_NUMBER = 2;
1020          private int shortName_;
1021          /**
1022           * <code>required int32 short_name = 2;</code>
1023           *
1024           * <pre>
1025           * id in the StringTable
1026           * </pre>
1027           */
1028          public boolean hasShortName() {
1029            return ((bitField0_ & 0x00000002) == 0x00000002);
1030          }
1031          /**
1032           * <code>required int32 short_name = 2;</code>
1033           *
1034           * <pre>
1035           * id in the StringTable
1036           * </pre>
1037           */
1038          public int getShortName() {
1039            return shortName_;
1040          }
1041    
1042          // optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];
1043          public static final int KIND_FIELD_NUMBER = 3;
1044          private org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind kind_;
1045          /**
1046           * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1047           */
1048          public boolean hasKind() {
1049            return ((bitField0_ & 0x00000004) == 0x00000004);
1050          }
1051          /**
1052           * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1053           */
1054          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind() {
1055            return kind_;
1056          }
1057    
1058          private void initFields() {
1059            parentQualifiedName_ = -1;
1060            shortName_ = 0;
1061            kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1062          }
1063          private byte memoizedIsInitialized = -1;
1064          public final boolean isInitialized() {
1065            byte isInitialized = memoizedIsInitialized;
1066            if (isInitialized != -1) return isInitialized == 1;
1067    
1068            if (!hasShortName()) {
1069              memoizedIsInitialized = 0;
1070              return false;
1071            }
1072            memoizedIsInitialized = 1;
1073            return true;
1074          }
1075    
1076          public void writeTo(com.google.protobuf.CodedOutputStream output)
1077                              throws java.io.IOException {
1078            getSerializedSize();
1079            if (((bitField0_ & 0x00000001) == 0x00000001)) {
1080              output.writeInt32(1, parentQualifiedName_);
1081            }
1082            if (((bitField0_ & 0x00000002) == 0x00000002)) {
1083              output.writeInt32(2, shortName_);
1084            }
1085            if (((bitField0_ & 0x00000004) == 0x00000004)) {
1086              output.writeEnum(3, kind_.getNumber());
1087            }
1088          }
1089    
1090          private int memoizedSerializedSize = -1;
1091          public int getSerializedSize() {
1092            int size = memoizedSerializedSize;
1093            if (size != -1) return size;
1094    
1095            size = 0;
1096            if (((bitField0_ & 0x00000001) == 0x00000001)) {
1097              size += com.google.protobuf.CodedOutputStream
1098                .computeInt32Size(1, parentQualifiedName_);
1099            }
1100            if (((bitField0_ & 0x00000002) == 0x00000002)) {
1101              size += com.google.protobuf.CodedOutputStream
1102                .computeInt32Size(2, shortName_);
1103            }
1104            if (((bitField0_ & 0x00000004) == 0x00000004)) {
1105              size += com.google.protobuf.CodedOutputStream
1106                .computeEnumSize(3, kind_.getNumber());
1107            }
1108            memoizedSerializedSize = size;
1109            return size;
1110          }
1111    
1112          private static final long serialVersionUID = 0L;
1113          @java.lang.Override
1114          protected java.lang.Object writeReplace()
1115              throws java.io.ObjectStreamException {
1116            return super.writeReplace();
1117          }
1118    
1119          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1120              com.google.protobuf.ByteString data)
1121              throws com.google.protobuf.InvalidProtocolBufferException {
1122            return PARSER.parseFrom(data);
1123          }
1124          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1125              com.google.protobuf.ByteString data,
1126              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1127              throws com.google.protobuf.InvalidProtocolBufferException {
1128            return PARSER.parseFrom(data, extensionRegistry);
1129          }
1130          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(byte[] data)
1131              throws com.google.protobuf.InvalidProtocolBufferException {
1132            return PARSER.parseFrom(data);
1133          }
1134          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1135              byte[] data,
1136              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1137              throws com.google.protobuf.InvalidProtocolBufferException {
1138            return PARSER.parseFrom(data, extensionRegistry);
1139          }
1140          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(java.io.InputStream input)
1141              throws java.io.IOException {
1142            return PARSER.parseFrom(input);
1143          }
1144          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1145              java.io.InputStream input,
1146              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1147              throws java.io.IOException {
1148            return PARSER.parseFrom(input, extensionRegistry);
1149          }
1150          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseDelimitedFrom(java.io.InputStream input)
1151              throws java.io.IOException {
1152            return PARSER.parseDelimitedFrom(input);
1153          }
1154          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseDelimitedFrom(
1155              java.io.InputStream input,
1156              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1157              throws java.io.IOException {
1158            return PARSER.parseDelimitedFrom(input, extensionRegistry);
1159          }
1160          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1161              com.google.protobuf.CodedInputStream input)
1162              throws java.io.IOException {
1163            return PARSER.parseFrom(input);
1164          }
1165          public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1166              com.google.protobuf.CodedInputStream input,
1167              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1168              throws java.io.IOException {
1169            return PARSER.parseFrom(input, extensionRegistry);
1170          }
1171    
1172          public static Builder newBuilder() { return Builder.create(); }
1173          public Builder newBuilderForType() { return newBuilder(); }
1174          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName prototype) {
1175            return newBuilder().mergeFrom(prototype);
1176          }
1177          public Builder toBuilder() { return newBuilder(this); }
1178    
1179          /**
1180           * Protobuf type {@code org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName}
1181           */
1182          public static final class Builder extends
1183              com.google.protobuf.GeneratedMessageLite.Builder<
1184                org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName, Builder>
1185              implements org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder {
1186            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.newBuilder()
1187            private Builder() {
1188              maybeForceBuilderInitialization();
1189            }
1190    
1191            private void maybeForceBuilderInitialization() {
1192            }
1193            private static Builder create() {
1194              return new Builder();
1195            }
1196    
1197            public Builder clear() {
1198              super.clear();
1199              parentQualifiedName_ = -1;
1200              bitField0_ = (bitField0_ & ~0x00000001);
1201              shortName_ = 0;
1202              bitField0_ = (bitField0_ & ~0x00000002);
1203              kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1204              bitField0_ = (bitField0_ & ~0x00000004);
1205              return this;
1206            }
1207    
1208            public Builder clone() {
1209              return create().mergeFrom(buildPartial());
1210            }
1211    
1212            public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getDefaultInstanceForType() {
1213              return org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.getDefaultInstance();
1214            }
1215    
1216            public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName build() {
1217              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName result = buildPartial();
1218              if (!result.isInitialized()) {
1219                throw newUninitializedMessageException(result);
1220              }
1221              return result;
1222            }
1223    
1224            public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName buildPartial() {
1225              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName result = new org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName(this);
1226              int from_bitField0_ = bitField0_;
1227              int to_bitField0_ = 0;
1228              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
1229                to_bitField0_ |= 0x00000001;
1230              }
1231              result.parentQualifiedName_ = parentQualifiedName_;
1232              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
1233                to_bitField0_ |= 0x00000002;
1234              }
1235              result.shortName_ = shortName_;
1236              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
1237                to_bitField0_ |= 0x00000004;
1238              }
1239              result.kind_ = kind_;
1240              result.bitField0_ = to_bitField0_;
1241              return result;
1242            }
1243    
1244            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName other) {
1245              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.getDefaultInstance()) return this;
1246              if (other.hasParentQualifiedName()) {
1247                setParentQualifiedName(other.getParentQualifiedName());
1248              }
1249              if (other.hasShortName()) {
1250                setShortName(other.getShortName());
1251              }
1252              if (other.hasKind()) {
1253                setKind(other.getKind());
1254              }
1255              return this;
1256            }
1257    
1258            public final boolean isInitialized() {
1259              if (!hasShortName()) {
1260                
1261                return false;
1262              }
1263              return true;
1264            }
1265    
1266            public Builder mergeFrom(
1267                com.google.protobuf.CodedInputStream input,
1268                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1269                throws java.io.IOException {
1270              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parsedMessage = null;
1271              try {
1272                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1273              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1274                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName) e.getUnfinishedMessage();
1275                throw e;
1276              } finally {
1277                if (parsedMessage != null) {
1278                  mergeFrom(parsedMessage);
1279                }
1280              }
1281              return this;
1282            }
1283            private int bitField0_;
1284    
1285            // optional int32 parent_qualified_name = 1 [default = -1];
1286            private int parentQualifiedName_ = -1;
1287            /**
1288             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1289             */
1290            public boolean hasParentQualifiedName() {
1291              return ((bitField0_ & 0x00000001) == 0x00000001);
1292            }
1293            /**
1294             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1295             */
1296            public int getParentQualifiedName() {
1297              return parentQualifiedName_;
1298            }
1299            /**
1300             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1301             */
1302            public Builder setParentQualifiedName(int value) {
1303              bitField0_ |= 0x00000001;
1304              parentQualifiedName_ = value;
1305              
1306              return this;
1307            }
1308            /**
1309             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1310             */
1311            public Builder clearParentQualifiedName() {
1312              bitField0_ = (bitField0_ & ~0x00000001);
1313              parentQualifiedName_ = -1;
1314              
1315              return this;
1316            }
1317    
1318            // required int32 short_name = 2;
1319            private int shortName_ ;
1320            /**
1321             * <code>required int32 short_name = 2;</code>
1322             *
1323             * <pre>
1324             * id in the StringTable
1325             * </pre>
1326             */
1327            public boolean hasShortName() {
1328              return ((bitField0_ & 0x00000002) == 0x00000002);
1329            }
1330            /**
1331             * <code>required int32 short_name = 2;</code>
1332             *
1333             * <pre>
1334             * id in the StringTable
1335             * </pre>
1336             */
1337            public int getShortName() {
1338              return shortName_;
1339            }
1340            /**
1341             * <code>required int32 short_name = 2;</code>
1342             *
1343             * <pre>
1344             * id in the StringTable
1345             * </pre>
1346             */
1347            public Builder setShortName(int value) {
1348              bitField0_ |= 0x00000002;
1349              shortName_ = value;
1350              
1351              return this;
1352            }
1353            /**
1354             * <code>required int32 short_name = 2;</code>
1355             *
1356             * <pre>
1357             * id in the StringTable
1358             * </pre>
1359             */
1360            public Builder clearShortName() {
1361              bitField0_ = (bitField0_ & ~0x00000002);
1362              shortName_ = 0;
1363              
1364              return this;
1365            }
1366    
1367            // optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];
1368            private org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1369            /**
1370             * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1371             */
1372            public boolean hasKind() {
1373              return ((bitField0_ & 0x00000004) == 0x00000004);
1374            }
1375            /**
1376             * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1377             */
1378            public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind() {
1379              return kind_;
1380            }
1381            /**
1382             * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1383             */
1384            public Builder setKind(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind value) {
1385              if (value == null) {
1386                throw new NullPointerException();
1387              }
1388              bitField0_ |= 0x00000004;
1389              kind_ = value;
1390              
1391              return this;
1392            }
1393            /**
1394             * <code>optional .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1395             */
1396            public Builder clearKind() {
1397              bitField0_ = (bitField0_ & ~0x00000004);
1398              kind_ = org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1399              
1400              return this;
1401            }
1402    
1403            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName)
1404          }
1405    
1406          static {
1407            defaultInstance = new QualifiedName(true);
1408            defaultInstance.initFields();
1409          }
1410    
1411          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName)
1412        }
1413    
1414        // repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;
1415        public static final int QUALIFIED_NAME_FIELD_NUMBER = 1;
1416        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> qualifiedName_;
1417        /**
1418         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1419         */
1420        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> getQualifiedNameList() {
1421          return qualifiedName_;
1422        }
1423        /**
1424         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1425         */
1426        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder> 
1427            getQualifiedNameOrBuilderList() {
1428          return qualifiedName_;
1429        }
1430        /**
1431         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1432         */
1433        public int getQualifiedNameCount() {
1434          return qualifiedName_.size();
1435        }
1436        /**
1437         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1438         */
1439        public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index) {
1440          return qualifiedName_.get(index);
1441        }
1442        /**
1443         * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1444         */
1445        public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder getQualifiedNameOrBuilder(
1446            int index) {
1447          return qualifiedName_.get(index);
1448        }
1449    
1450        private void initFields() {
1451          qualifiedName_ = java.util.Collections.emptyList();
1452        }
1453        private byte memoizedIsInitialized = -1;
1454        public final boolean isInitialized() {
1455          byte isInitialized = memoizedIsInitialized;
1456          if (isInitialized != -1) return isInitialized == 1;
1457    
1458          for (int i = 0; i < getQualifiedNameCount(); i++) {
1459            if (!getQualifiedName(i).isInitialized()) {
1460              memoizedIsInitialized = 0;
1461              return false;
1462            }
1463          }
1464          memoizedIsInitialized = 1;
1465          return true;
1466        }
1467    
1468        public void writeTo(com.google.protobuf.CodedOutputStream output)
1469                            throws java.io.IOException {
1470          getSerializedSize();
1471          for (int i = 0; i < qualifiedName_.size(); i++) {
1472            output.writeMessage(1, qualifiedName_.get(i));
1473          }
1474        }
1475    
1476        private int memoizedSerializedSize = -1;
1477        public int getSerializedSize() {
1478          int size = memoizedSerializedSize;
1479          if (size != -1) return size;
1480    
1481          size = 0;
1482          for (int i = 0; i < qualifiedName_.size(); i++) {
1483            size += com.google.protobuf.CodedOutputStream
1484              .computeMessageSize(1, qualifiedName_.get(i));
1485          }
1486          memoizedSerializedSize = size;
1487          return size;
1488        }
1489    
1490        private static final long serialVersionUID = 0L;
1491        @java.lang.Override
1492        protected java.lang.Object writeReplace()
1493            throws java.io.ObjectStreamException {
1494          return super.writeReplace();
1495        }
1496    
1497        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1498            com.google.protobuf.ByteString data)
1499            throws com.google.protobuf.InvalidProtocolBufferException {
1500          return PARSER.parseFrom(data);
1501        }
1502        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1503            com.google.protobuf.ByteString data,
1504            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1505            throws com.google.protobuf.InvalidProtocolBufferException {
1506          return PARSER.parseFrom(data, extensionRegistry);
1507        }
1508        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(byte[] data)
1509            throws com.google.protobuf.InvalidProtocolBufferException {
1510          return PARSER.parseFrom(data);
1511        }
1512        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1513            byte[] data,
1514            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1515            throws com.google.protobuf.InvalidProtocolBufferException {
1516          return PARSER.parseFrom(data, extensionRegistry);
1517        }
1518        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(java.io.InputStream input)
1519            throws java.io.IOException {
1520          return PARSER.parseFrom(input);
1521        }
1522        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1523            java.io.InputStream input,
1524            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1525            throws java.io.IOException {
1526          return PARSER.parseFrom(input, extensionRegistry);
1527        }
1528        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseDelimitedFrom(java.io.InputStream input)
1529            throws java.io.IOException {
1530          return PARSER.parseDelimitedFrom(input);
1531        }
1532        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseDelimitedFrom(
1533            java.io.InputStream input,
1534            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1535            throws java.io.IOException {
1536          return PARSER.parseDelimitedFrom(input, extensionRegistry);
1537        }
1538        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1539            com.google.protobuf.CodedInputStream input)
1540            throws java.io.IOException {
1541          return PARSER.parseFrom(input);
1542        }
1543        public static org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1544            com.google.protobuf.CodedInputStream input,
1545            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1546            throws java.io.IOException {
1547          return PARSER.parseFrom(input, extensionRegistry);
1548        }
1549    
1550        public static Builder newBuilder() { return Builder.create(); }
1551        public Builder newBuilderForType() { return newBuilder(); }
1552        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable prototype) {
1553          return newBuilder().mergeFrom(prototype);
1554        }
1555        public Builder toBuilder() { return newBuilder(this); }
1556    
1557        /**
1558         * Protobuf type {@code org.jetbrains.kotlin.serialization.QualifiedNameTable}
1559         */
1560        public static final class Builder extends
1561            com.google.protobuf.GeneratedMessageLite.Builder<
1562              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable, Builder>
1563            implements org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTableOrBuilder {
1564          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.newBuilder()
1565          private Builder() {
1566            maybeForceBuilderInitialization();
1567          }
1568    
1569          private void maybeForceBuilderInitialization() {
1570          }
1571          private static Builder create() {
1572            return new Builder();
1573          }
1574    
1575          public Builder clear() {
1576            super.clear();
1577            qualifiedName_ = java.util.Collections.emptyList();
1578            bitField0_ = (bitField0_ & ~0x00000001);
1579            return this;
1580          }
1581    
1582          public Builder clone() {
1583            return create().mergeFrom(buildPartial());
1584          }
1585    
1586          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable getDefaultInstanceForType() {
1587            return org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance();
1588          }
1589    
1590          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable build() {
1591            org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable result = buildPartial();
1592            if (!result.isInitialized()) {
1593              throw newUninitializedMessageException(result);
1594            }
1595            return result;
1596          }
1597    
1598          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable buildPartial() {
1599            org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable result = new org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable(this);
1600            int from_bitField0_ = bitField0_;
1601            if (((bitField0_ & 0x00000001) == 0x00000001)) {
1602              qualifiedName_ = java.util.Collections.unmodifiableList(qualifiedName_);
1603              bitField0_ = (bitField0_ & ~0x00000001);
1604            }
1605            result.qualifiedName_ = qualifiedName_;
1606            return result;
1607          }
1608    
1609          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable other) {
1610            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance()) return this;
1611            if (!other.qualifiedName_.isEmpty()) {
1612              if (qualifiedName_.isEmpty()) {
1613                qualifiedName_ = other.qualifiedName_;
1614                bitField0_ = (bitField0_ & ~0x00000001);
1615              } else {
1616                ensureQualifiedNameIsMutable();
1617                qualifiedName_.addAll(other.qualifiedName_);
1618              }
1619              
1620            }
1621            return this;
1622          }
1623    
1624          public final boolean isInitialized() {
1625            for (int i = 0; i < getQualifiedNameCount(); i++) {
1626              if (!getQualifiedName(i).isInitialized()) {
1627                
1628                return false;
1629              }
1630            }
1631            return true;
1632          }
1633    
1634          public Builder mergeFrom(
1635              com.google.protobuf.CodedInputStream input,
1636              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1637              throws java.io.IOException {
1638            org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable parsedMessage = null;
1639            try {
1640              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1641            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1642              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable) e.getUnfinishedMessage();
1643              throw e;
1644            } finally {
1645              if (parsedMessage != null) {
1646                mergeFrom(parsedMessage);
1647              }
1648            }
1649            return this;
1650          }
1651          private int bitField0_;
1652    
1653          // repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;
1654          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> qualifiedName_ =
1655            java.util.Collections.emptyList();
1656          private void ensureQualifiedNameIsMutable() {
1657            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
1658              qualifiedName_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName>(qualifiedName_);
1659              bitField0_ |= 0x00000001;
1660             }
1661          }
1662    
1663          /**
1664           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1665           */
1666          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> getQualifiedNameList() {
1667            return java.util.Collections.unmodifiableList(qualifiedName_);
1668          }
1669          /**
1670           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1671           */
1672          public int getQualifiedNameCount() {
1673            return qualifiedName_.size();
1674          }
1675          /**
1676           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1677           */
1678          public org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index) {
1679            return qualifiedName_.get(index);
1680          }
1681          /**
1682           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1683           */
1684          public Builder setQualifiedName(
1685              int index, org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1686            if (value == null) {
1687              throw new NullPointerException();
1688            }
1689            ensureQualifiedNameIsMutable();
1690            qualifiedName_.set(index, value);
1691    
1692            return this;
1693          }
1694          /**
1695           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1696           */
1697          public Builder setQualifiedName(
1698              int index, org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1699            ensureQualifiedNameIsMutable();
1700            qualifiedName_.set(index, builderForValue.build());
1701    
1702            return this;
1703          }
1704          /**
1705           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1706           */
1707          public Builder addQualifiedName(org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1708            if (value == null) {
1709              throw new NullPointerException();
1710            }
1711            ensureQualifiedNameIsMutable();
1712            qualifiedName_.add(value);
1713    
1714            return this;
1715          }
1716          /**
1717           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1718           */
1719          public Builder addQualifiedName(
1720              int index, org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1721            if (value == null) {
1722              throw new NullPointerException();
1723            }
1724            ensureQualifiedNameIsMutable();
1725            qualifiedName_.add(index, value);
1726    
1727            return this;
1728          }
1729          /**
1730           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1731           */
1732          public Builder addQualifiedName(
1733              org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1734            ensureQualifiedNameIsMutable();
1735            qualifiedName_.add(builderForValue.build());
1736    
1737            return this;
1738          }
1739          /**
1740           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1741           */
1742          public Builder addQualifiedName(
1743              int index, org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1744            ensureQualifiedNameIsMutable();
1745            qualifiedName_.add(index, builderForValue.build());
1746    
1747            return this;
1748          }
1749          /**
1750           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1751           */
1752          public Builder addAllQualifiedName(
1753              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> values) {
1754            ensureQualifiedNameIsMutable();
1755            super.addAll(values, qualifiedName_);
1756    
1757            return this;
1758          }
1759          /**
1760           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1761           */
1762          public Builder clearQualifiedName() {
1763            qualifiedName_ = java.util.Collections.emptyList();
1764            bitField0_ = (bitField0_ & ~0x00000001);
1765    
1766            return this;
1767          }
1768          /**
1769           * <code>repeated .org.jetbrains.kotlin.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1770           */
1771          public Builder removeQualifiedName(int index) {
1772            ensureQualifiedNameIsMutable();
1773            qualifiedName_.remove(index);
1774    
1775            return this;
1776          }
1777    
1778          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable)
1779        }
1780    
1781        static {
1782          defaultInstance = new QualifiedNameTable(true);
1783          defaultInstance.initFields();
1784        }
1785    
1786        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.QualifiedNameTable)
1787      }
1788    
1789      public interface AnnotationOrBuilder
1790          extends com.google.protobuf.MessageLiteOrBuilder {
1791    
1792        // required int32 id = 1;
1793        /**
1794         * <code>required int32 id = 1;</code>
1795         */
1796        boolean hasId();
1797        /**
1798         * <code>required int32 id = 1;</code>
1799         */
1800        int getId();
1801    
1802        // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;
1803        /**
1804         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
1805         */
1806        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> 
1807            getArgumentList();
1808        /**
1809         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
1810         */
1811        org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument getArgument(int index);
1812        /**
1813         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
1814         */
1815        int getArgumentCount();
1816      }
1817      /**
1818       * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation}
1819       */
1820      public static final class Annotation extends
1821          com.google.protobuf.GeneratedMessageLite
1822          implements AnnotationOrBuilder {
1823        // Use Annotation.newBuilder() to construct.
1824        private Annotation(com.google.protobuf.GeneratedMessageLite.Builder builder) {
1825          super(builder);
1826    
1827        }
1828        private Annotation(boolean noInit) {}
1829    
1830        private static final Annotation defaultInstance;
1831        public static Annotation getDefaultInstance() {
1832          return defaultInstance;
1833        }
1834    
1835        public Annotation getDefaultInstanceForType() {
1836          return defaultInstance;
1837        }
1838    
1839        private Annotation(
1840            com.google.protobuf.CodedInputStream input,
1841            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1842            throws com.google.protobuf.InvalidProtocolBufferException {
1843          initFields();
1844          int mutable_bitField0_ = 0;
1845          try {
1846            boolean done = false;
1847            while (!done) {
1848              int tag = input.readTag();
1849              switch (tag) {
1850                case 0:
1851                  done = true;
1852                  break;
1853                default: {
1854                  if (!parseUnknownField(input,
1855                                         extensionRegistry, tag)) {
1856                    done = true;
1857                  }
1858                  break;
1859                }
1860                case 8: {
1861                  bitField0_ |= 0x00000001;
1862                  id_ = input.readInt32();
1863                  break;
1864                }
1865                case 18: {
1866                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
1867                    argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument>();
1868                    mutable_bitField0_ |= 0x00000002;
1869                  }
1870                  argument_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.PARSER, extensionRegistry));
1871                  break;
1872                }
1873              }
1874            }
1875          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1876            throw e.setUnfinishedMessage(this);
1877          } catch (java.io.IOException e) {
1878            throw new com.google.protobuf.InvalidProtocolBufferException(
1879                e.getMessage()).setUnfinishedMessage(this);
1880          } finally {
1881            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
1882              argument_ = java.util.Collections.unmodifiableList(argument_);
1883            }
1884            makeExtensionsImmutable();
1885          }
1886        }
1887        public static com.google.protobuf.Parser<Annotation> PARSER =
1888            new com.google.protobuf.AbstractParser<Annotation>() {
1889          public Annotation parsePartialFrom(
1890              com.google.protobuf.CodedInputStream input,
1891              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1892              throws com.google.protobuf.InvalidProtocolBufferException {
1893            return new Annotation(input, extensionRegistry);
1894          }
1895        };
1896    
1897        @java.lang.Override
1898        public com.google.protobuf.Parser<Annotation> getParserForType() {
1899          return PARSER;
1900        }
1901    
1902        public interface ArgumentOrBuilder
1903            extends com.google.protobuf.MessageLiteOrBuilder {
1904    
1905          // required int32 name_id = 1;
1906          /**
1907           * <code>required int32 name_id = 1;</code>
1908           */
1909          boolean hasNameId();
1910          /**
1911           * <code>required int32 name_id = 1;</code>
1912           */
1913          int getNameId();
1914    
1915          // required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;
1916          /**
1917           * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
1918           */
1919          boolean hasValue();
1920          /**
1921           * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
1922           */
1923          org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getValue();
1924        }
1925        /**
1926         * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation.Argument}
1927         */
1928        public static final class Argument extends
1929            com.google.protobuf.GeneratedMessageLite
1930            implements ArgumentOrBuilder {
1931          // Use Argument.newBuilder() to construct.
1932          private Argument(com.google.protobuf.GeneratedMessageLite.Builder builder) {
1933            super(builder);
1934    
1935          }
1936          private Argument(boolean noInit) {}
1937    
1938          private static final Argument defaultInstance;
1939          public static Argument getDefaultInstance() {
1940            return defaultInstance;
1941          }
1942    
1943          public Argument getDefaultInstanceForType() {
1944            return defaultInstance;
1945          }
1946    
1947          private Argument(
1948              com.google.protobuf.CodedInputStream input,
1949              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1950              throws com.google.protobuf.InvalidProtocolBufferException {
1951            initFields();
1952            int mutable_bitField0_ = 0;
1953            try {
1954              boolean done = false;
1955              while (!done) {
1956                int tag = input.readTag();
1957                switch (tag) {
1958                  case 0:
1959                    done = true;
1960                    break;
1961                  default: {
1962                    if (!parseUnknownField(input,
1963                                           extensionRegistry, tag)) {
1964                      done = true;
1965                    }
1966                    break;
1967                  }
1968                  case 8: {
1969                    bitField0_ |= 0x00000001;
1970                    nameId_ = input.readInt32();
1971                    break;
1972                  }
1973                  case 18: {
1974                    org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder subBuilder = null;
1975                    if (((bitField0_ & 0x00000002) == 0x00000002)) {
1976                      subBuilder = value_.toBuilder();
1977                    }
1978                    value_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.PARSER, extensionRegistry);
1979                    if (subBuilder != null) {
1980                      subBuilder.mergeFrom(value_);
1981                      value_ = subBuilder.buildPartial();
1982                    }
1983                    bitField0_ |= 0x00000002;
1984                    break;
1985                  }
1986                }
1987              }
1988            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1989              throw e.setUnfinishedMessage(this);
1990            } catch (java.io.IOException e) {
1991              throw new com.google.protobuf.InvalidProtocolBufferException(
1992                  e.getMessage()).setUnfinishedMessage(this);
1993            } finally {
1994              makeExtensionsImmutable();
1995            }
1996          }
1997          public static com.google.protobuf.Parser<Argument> PARSER =
1998              new com.google.protobuf.AbstractParser<Argument>() {
1999            public Argument parsePartialFrom(
2000                com.google.protobuf.CodedInputStream input,
2001                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2002                throws com.google.protobuf.InvalidProtocolBufferException {
2003              return new Argument(input, extensionRegistry);
2004            }
2005          };
2006    
2007          @java.lang.Override
2008          public com.google.protobuf.Parser<Argument> getParserForType() {
2009            return PARSER;
2010          }
2011    
2012          public interface ValueOrBuilder
2013              extends com.google.protobuf.MessageLiteOrBuilder {
2014    
2015            // optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;
2016            /**
2017             * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2018             *
2019             * <pre>
2020             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2021             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2022             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2023             * </pre>
2024             */
2025            boolean hasType();
2026            /**
2027             * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2028             *
2029             * <pre>
2030             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2031             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2032             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2033             * </pre>
2034             */
2035            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type getType();
2036    
2037            // optional sint64 int_value = 2;
2038            /**
2039             * <code>optional sint64 int_value = 2;</code>
2040             */
2041            boolean hasIntValue();
2042            /**
2043             * <code>optional sint64 int_value = 2;</code>
2044             */
2045            long getIntValue();
2046    
2047            // optional float float_value = 3;
2048            /**
2049             * <code>optional float float_value = 3;</code>
2050             */
2051            boolean hasFloatValue();
2052            /**
2053             * <code>optional float float_value = 3;</code>
2054             */
2055            float getFloatValue();
2056    
2057            // optional double double_value = 4;
2058            /**
2059             * <code>optional double double_value = 4;</code>
2060             */
2061            boolean hasDoubleValue();
2062            /**
2063             * <code>optional double double_value = 4;</code>
2064             */
2065            double getDoubleValue();
2066    
2067            // optional int32 string_value = 5;
2068            /**
2069             * <code>optional int32 string_value = 5;</code>
2070             */
2071            boolean hasStringValue();
2072            /**
2073             * <code>optional int32 string_value = 5;</code>
2074             */
2075            int getStringValue();
2076    
2077            // optional int32 class_id = 6;
2078            /**
2079             * <code>optional int32 class_id = 6;</code>
2080             *
2081             * <pre>
2082             * If type = CLASS, FQ name of the referenced class; if type = ENUM, FQ name of the enum class
2083             * </pre>
2084             */
2085            boolean hasClassId();
2086            /**
2087             * <code>optional int32 class_id = 6;</code>
2088             *
2089             * <pre>
2090             * If type = CLASS, FQ name of the referenced class; if type = ENUM, FQ name of the enum class
2091             * </pre>
2092             */
2093            int getClassId();
2094    
2095            // optional int32 enum_value_id = 7;
2096            /**
2097             * <code>optional int32 enum_value_id = 7;</code>
2098             */
2099            boolean hasEnumValueId();
2100            /**
2101             * <code>optional int32 enum_value_id = 7;</code>
2102             */
2103            int getEnumValueId();
2104    
2105            // optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;
2106            /**
2107             * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
2108             */
2109            boolean hasAnnotation();
2110            /**
2111             * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
2112             */
2113            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getAnnotation();
2114    
2115            // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;
2116            /**
2117             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2118             */
2119            java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> 
2120                getArrayElementList();
2121            /**
2122             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2123             */
2124            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getArrayElement(int index);
2125            /**
2126             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2127             */
2128            int getArrayElementCount();
2129          }
2130          /**
2131           * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation.Argument.Value}
2132           */
2133          public static final class Value extends
2134              com.google.protobuf.GeneratedMessageLite
2135              implements ValueOrBuilder {
2136            // Use Value.newBuilder() to construct.
2137            private Value(com.google.protobuf.GeneratedMessageLite.Builder builder) {
2138              super(builder);
2139    
2140            }
2141            private Value(boolean noInit) {}
2142    
2143            private static final Value defaultInstance;
2144            public static Value getDefaultInstance() {
2145              return defaultInstance;
2146            }
2147    
2148            public Value getDefaultInstanceForType() {
2149              return defaultInstance;
2150            }
2151    
2152            private Value(
2153                com.google.protobuf.CodedInputStream input,
2154                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2155                throws com.google.protobuf.InvalidProtocolBufferException {
2156              initFields();
2157              int mutable_bitField0_ = 0;
2158              try {
2159                boolean done = false;
2160                while (!done) {
2161                  int tag = input.readTag();
2162                  switch (tag) {
2163                    case 0:
2164                      done = true;
2165                      break;
2166                    default: {
2167                      if (!parseUnknownField(input,
2168                                             extensionRegistry, tag)) {
2169                        done = true;
2170                      }
2171                      break;
2172                    }
2173                    case 8: {
2174                      int rawValue = input.readEnum();
2175                      org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type value = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.valueOf(rawValue);
2176                      if (value != null) {
2177                        bitField0_ |= 0x00000001;
2178                        type_ = value;
2179                      }
2180                      break;
2181                    }
2182                    case 16: {
2183                      bitField0_ |= 0x00000002;
2184                      intValue_ = input.readSInt64();
2185                      break;
2186                    }
2187                    case 29: {
2188                      bitField0_ |= 0x00000004;
2189                      floatValue_ = input.readFloat();
2190                      break;
2191                    }
2192                    case 33: {
2193                      bitField0_ |= 0x00000008;
2194                      doubleValue_ = input.readDouble();
2195                      break;
2196                    }
2197                    case 40: {
2198                      bitField0_ |= 0x00000010;
2199                      stringValue_ = input.readInt32();
2200                      break;
2201                    }
2202                    case 48: {
2203                      bitField0_ |= 0x00000020;
2204                      classId_ = input.readInt32();
2205                      break;
2206                    }
2207                    case 56: {
2208                      bitField0_ |= 0x00000040;
2209                      enumValueId_ = input.readInt32();
2210                      break;
2211                    }
2212                    case 66: {
2213                      org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Builder subBuilder = null;
2214                      if (((bitField0_ & 0x00000080) == 0x00000080)) {
2215                        subBuilder = annotation_.toBuilder();
2216                      }
2217                      annotation_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.PARSER, extensionRegistry);
2218                      if (subBuilder != null) {
2219                        subBuilder.mergeFrom(annotation_);
2220                        annotation_ = subBuilder.buildPartial();
2221                      }
2222                      bitField0_ |= 0x00000080;
2223                      break;
2224                    }
2225                    case 74: {
2226                      if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
2227                        arrayElement_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value>();
2228                        mutable_bitField0_ |= 0x00000100;
2229                      }
2230                      arrayElement_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.PARSER, extensionRegistry));
2231                      break;
2232                    }
2233                  }
2234                }
2235              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2236                throw e.setUnfinishedMessage(this);
2237              } catch (java.io.IOException e) {
2238                throw new com.google.protobuf.InvalidProtocolBufferException(
2239                    e.getMessage()).setUnfinishedMessage(this);
2240              } finally {
2241                if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
2242                  arrayElement_ = java.util.Collections.unmodifiableList(arrayElement_);
2243                }
2244                makeExtensionsImmutable();
2245              }
2246            }
2247            public static com.google.protobuf.Parser<Value> PARSER =
2248                new com.google.protobuf.AbstractParser<Value>() {
2249              public Value parsePartialFrom(
2250                  com.google.protobuf.CodedInputStream input,
2251                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2252                  throws com.google.protobuf.InvalidProtocolBufferException {
2253                return new Value(input, extensionRegistry);
2254              }
2255            };
2256    
2257            @java.lang.Override
2258            public com.google.protobuf.Parser<Value> getParserForType() {
2259              return PARSER;
2260            }
2261    
2262            /**
2263             * Protobuf enum {@code org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type}
2264             */
2265            public enum Type
2266                implements com.google.protobuf.Internal.EnumLite {
2267              /**
2268               * <code>BYTE = 0;</code>
2269               */
2270              BYTE(0, 0),
2271              /**
2272               * <code>CHAR = 1;</code>
2273               */
2274              CHAR(1, 1),
2275              /**
2276               * <code>SHORT = 2;</code>
2277               */
2278              SHORT(2, 2),
2279              /**
2280               * <code>INT = 3;</code>
2281               */
2282              INT(3, 3),
2283              /**
2284               * <code>LONG = 4;</code>
2285               */
2286              LONG(4, 4),
2287              /**
2288               * <code>FLOAT = 5;</code>
2289               */
2290              FLOAT(5, 5),
2291              /**
2292               * <code>DOUBLE = 6;</code>
2293               */
2294              DOUBLE(6, 6),
2295              /**
2296               * <code>BOOLEAN = 7;</code>
2297               */
2298              BOOLEAN(7, 7),
2299              /**
2300               * <code>STRING = 8;</code>
2301               */
2302              STRING(8, 8),
2303              /**
2304               * <code>CLASS = 9;</code>
2305               */
2306              CLASS(9, 9),
2307              /**
2308               * <code>ENUM = 10;</code>
2309               */
2310              ENUM(10, 10),
2311              /**
2312               * <code>ANNOTATION = 11;</code>
2313               */
2314              ANNOTATION(11, 11),
2315              /**
2316               * <code>ARRAY = 12;</code>
2317               */
2318              ARRAY(12, 12),
2319              ;
2320    
2321              /**
2322               * <code>BYTE = 0;</code>
2323               */
2324              public static final int BYTE_VALUE = 0;
2325              /**
2326               * <code>CHAR = 1;</code>
2327               */
2328              public static final int CHAR_VALUE = 1;
2329              /**
2330               * <code>SHORT = 2;</code>
2331               */
2332              public static final int SHORT_VALUE = 2;
2333              /**
2334               * <code>INT = 3;</code>
2335               */
2336              public static final int INT_VALUE = 3;
2337              /**
2338               * <code>LONG = 4;</code>
2339               */
2340              public static final int LONG_VALUE = 4;
2341              /**
2342               * <code>FLOAT = 5;</code>
2343               */
2344              public static final int FLOAT_VALUE = 5;
2345              /**
2346               * <code>DOUBLE = 6;</code>
2347               */
2348              public static final int DOUBLE_VALUE = 6;
2349              /**
2350               * <code>BOOLEAN = 7;</code>
2351               */
2352              public static final int BOOLEAN_VALUE = 7;
2353              /**
2354               * <code>STRING = 8;</code>
2355               */
2356              public static final int STRING_VALUE = 8;
2357              /**
2358               * <code>CLASS = 9;</code>
2359               */
2360              public static final int CLASS_VALUE = 9;
2361              /**
2362               * <code>ENUM = 10;</code>
2363               */
2364              public static final int ENUM_VALUE = 10;
2365              /**
2366               * <code>ANNOTATION = 11;</code>
2367               */
2368              public static final int ANNOTATION_VALUE = 11;
2369              /**
2370               * <code>ARRAY = 12;</code>
2371               */
2372              public static final int ARRAY_VALUE = 12;
2373    
2374    
2375              public final int getNumber() { return value; }
2376    
2377              public static Type valueOf(int value) {
2378                switch (value) {
2379                  case 0: return BYTE;
2380                  case 1: return CHAR;
2381                  case 2: return SHORT;
2382                  case 3: return INT;
2383                  case 4: return LONG;
2384                  case 5: return FLOAT;
2385                  case 6: return DOUBLE;
2386                  case 7: return BOOLEAN;
2387                  case 8: return STRING;
2388                  case 9: return CLASS;
2389                  case 10: return ENUM;
2390                  case 11: return ANNOTATION;
2391                  case 12: return ARRAY;
2392                  default: return null;
2393                }
2394              }
2395    
2396              public static com.google.protobuf.Internal.EnumLiteMap<Type>
2397                  internalGetValueMap() {
2398                return internalValueMap;
2399              }
2400              private static com.google.protobuf.Internal.EnumLiteMap<Type>
2401                  internalValueMap =
2402                    new com.google.protobuf.Internal.EnumLiteMap<Type>() {
2403                      public Type findValueByNumber(int number) {
2404                        return Type.valueOf(number);
2405                      }
2406                    };
2407    
2408              private final int value;
2409    
2410              private Type(int index, int value) {
2411                this.value = value;
2412              }
2413    
2414              // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type)
2415            }
2416    
2417            private int bitField0_;
2418            // optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;
2419            public static final int TYPE_FIELD_NUMBER = 1;
2420            private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type type_;
2421            /**
2422             * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2423             *
2424             * <pre>
2425             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2426             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2427             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2428             * </pre>
2429             */
2430            public boolean hasType() {
2431              return ((bitField0_ & 0x00000001) == 0x00000001);
2432            }
2433            /**
2434             * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2435             *
2436             * <pre>
2437             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2438             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2439             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2440             * </pre>
2441             */
2442            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type getType() {
2443              return type_;
2444            }
2445    
2446            // optional sint64 int_value = 2;
2447            public static final int INT_VALUE_FIELD_NUMBER = 2;
2448            private long intValue_;
2449            /**
2450             * <code>optional sint64 int_value = 2;</code>
2451             */
2452            public boolean hasIntValue() {
2453              return ((bitField0_ & 0x00000002) == 0x00000002);
2454            }
2455            /**
2456             * <code>optional sint64 int_value = 2;</code>
2457             */
2458            public long getIntValue() {
2459              return intValue_;
2460            }
2461    
2462            // optional float float_value = 3;
2463            public static final int FLOAT_VALUE_FIELD_NUMBER = 3;
2464            private float floatValue_;
2465            /**
2466             * <code>optional float float_value = 3;</code>
2467             */
2468            public boolean hasFloatValue() {
2469              return ((bitField0_ & 0x00000004) == 0x00000004);
2470            }
2471            /**
2472             * <code>optional float float_value = 3;</code>
2473             */
2474            public float getFloatValue() {
2475              return floatValue_;
2476            }
2477    
2478            // optional double double_value = 4;
2479            public static final int DOUBLE_VALUE_FIELD_NUMBER = 4;
2480            private double doubleValue_;
2481            /**
2482             * <code>optional double double_value = 4;</code>
2483             */
2484            public boolean hasDoubleValue() {
2485              return ((bitField0_ & 0x00000008) == 0x00000008);
2486            }
2487            /**
2488             * <code>optional double double_value = 4;</code>
2489             */
2490            public double getDoubleValue() {
2491              return doubleValue_;
2492            }
2493    
2494            // optional int32 string_value = 5;
2495            public static final int STRING_VALUE_FIELD_NUMBER = 5;
2496            private int stringValue_;
2497            /**
2498             * <code>optional int32 string_value = 5;</code>
2499             */
2500            public boolean hasStringValue() {
2501              return ((bitField0_ & 0x00000010) == 0x00000010);
2502            }
2503            /**
2504             * <code>optional int32 string_value = 5;</code>
2505             */
2506            public int getStringValue() {
2507              return stringValue_;
2508            }
2509    
2510            // optional int32 class_id = 6;
2511            public static final int CLASS_ID_FIELD_NUMBER = 6;
2512            private int classId_;
2513            /**
2514             * <code>optional int32 class_id = 6;</code>
2515             *
2516             * <pre>
2517             * If type = CLASS, FQ name of the referenced class; if type = ENUM, FQ name of the enum class
2518             * </pre>
2519             */
2520            public boolean hasClassId() {
2521              return ((bitField0_ & 0x00000020) == 0x00000020);
2522            }
2523            /**
2524             * <code>optional int32 class_id = 6;</code>
2525             *
2526             * <pre>
2527             * If type = CLASS, FQ name of the referenced class; if type = ENUM, FQ name of the enum class
2528             * </pre>
2529             */
2530            public int getClassId() {
2531              return classId_;
2532            }
2533    
2534            // optional int32 enum_value_id = 7;
2535            public static final int ENUM_VALUE_ID_FIELD_NUMBER = 7;
2536            private int enumValueId_;
2537            /**
2538             * <code>optional int32 enum_value_id = 7;</code>
2539             */
2540            public boolean hasEnumValueId() {
2541              return ((bitField0_ & 0x00000040) == 0x00000040);
2542            }
2543            /**
2544             * <code>optional int32 enum_value_id = 7;</code>
2545             */
2546            public int getEnumValueId() {
2547              return enumValueId_;
2548            }
2549    
2550            // optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;
2551            public static final int ANNOTATION_FIELD_NUMBER = 8;
2552            private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation annotation_;
2553            /**
2554             * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
2555             */
2556            public boolean hasAnnotation() {
2557              return ((bitField0_ & 0x00000080) == 0x00000080);
2558            }
2559            /**
2560             * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
2561             */
2562            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getAnnotation() {
2563              return annotation_;
2564            }
2565    
2566            // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;
2567            public static final int ARRAY_ELEMENT_FIELD_NUMBER = 9;
2568            private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> arrayElement_;
2569            /**
2570             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2571             */
2572            public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> getArrayElementList() {
2573              return arrayElement_;
2574            }
2575            /**
2576             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2577             */
2578            public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.ValueOrBuilder> 
2579                getArrayElementOrBuilderList() {
2580              return arrayElement_;
2581            }
2582            /**
2583             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2584             */
2585            public int getArrayElementCount() {
2586              return arrayElement_.size();
2587            }
2588            /**
2589             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2590             */
2591            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getArrayElement(int index) {
2592              return arrayElement_.get(index);
2593            }
2594            /**
2595             * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
2596             */
2597            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.ValueOrBuilder getArrayElementOrBuilder(
2598                int index) {
2599              return arrayElement_.get(index);
2600            }
2601    
2602            private void initFields() {
2603              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
2604              intValue_ = 0L;
2605              floatValue_ = 0F;
2606              doubleValue_ = 0D;
2607              stringValue_ = 0;
2608              classId_ = 0;
2609              enumValueId_ = 0;
2610              annotation_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
2611              arrayElement_ = java.util.Collections.emptyList();
2612            }
2613            private byte memoizedIsInitialized = -1;
2614            public final boolean isInitialized() {
2615              byte isInitialized = memoizedIsInitialized;
2616              if (isInitialized != -1) return isInitialized == 1;
2617    
2618              if (hasAnnotation()) {
2619                if (!getAnnotation().isInitialized()) {
2620                  memoizedIsInitialized = 0;
2621                  return false;
2622                }
2623              }
2624              for (int i = 0; i < getArrayElementCount(); i++) {
2625                if (!getArrayElement(i).isInitialized()) {
2626                  memoizedIsInitialized = 0;
2627                  return false;
2628                }
2629              }
2630              memoizedIsInitialized = 1;
2631              return true;
2632            }
2633    
2634            public void writeTo(com.google.protobuf.CodedOutputStream output)
2635                                throws java.io.IOException {
2636              getSerializedSize();
2637              if (((bitField0_ & 0x00000001) == 0x00000001)) {
2638                output.writeEnum(1, type_.getNumber());
2639              }
2640              if (((bitField0_ & 0x00000002) == 0x00000002)) {
2641                output.writeSInt64(2, intValue_);
2642              }
2643              if (((bitField0_ & 0x00000004) == 0x00000004)) {
2644                output.writeFloat(3, floatValue_);
2645              }
2646              if (((bitField0_ & 0x00000008) == 0x00000008)) {
2647                output.writeDouble(4, doubleValue_);
2648              }
2649              if (((bitField0_ & 0x00000010) == 0x00000010)) {
2650                output.writeInt32(5, stringValue_);
2651              }
2652              if (((bitField0_ & 0x00000020) == 0x00000020)) {
2653                output.writeInt32(6, classId_);
2654              }
2655              if (((bitField0_ & 0x00000040) == 0x00000040)) {
2656                output.writeInt32(7, enumValueId_);
2657              }
2658              if (((bitField0_ & 0x00000080) == 0x00000080)) {
2659                output.writeMessage(8, annotation_);
2660              }
2661              for (int i = 0; i < arrayElement_.size(); i++) {
2662                output.writeMessage(9, arrayElement_.get(i));
2663              }
2664            }
2665    
2666            private int memoizedSerializedSize = -1;
2667            public int getSerializedSize() {
2668              int size = memoizedSerializedSize;
2669              if (size != -1) return size;
2670    
2671              size = 0;
2672              if (((bitField0_ & 0x00000001) == 0x00000001)) {
2673                size += com.google.protobuf.CodedOutputStream
2674                  .computeEnumSize(1, type_.getNumber());
2675              }
2676              if (((bitField0_ & 0x00000002) == 0x00000002)) {
2677                size += com.google.protobuf.CodedOutputStream
2678                  .computeSInt64Size(2, intValue_);
2679              }
2680              if (((bitField0_ & 0x00000004) == 0x00000004)) {
2681                size += com.google.protobuf.CodedOutputStream
2682                  .computeFloatSize(3, floatValue_);
2683              }
2684              if (((bitField0_ & 0x00000008) == 0x00000008)) {
2685                size += com.google.protobuf.CodedOutputStream
2686                  .computeDoubleSize(4, doubleValue_);
2687              }
2688              if (((bitField0_ & 0x00000010) == 0x00000010)) {
2689                size += com.google.protobuf.CodedOutputStream
2690                  .computeInt32Size(5, stringValue_);
2691              }
2692              if (((bitField0_ & 0x00000020) == 0x00000020)) {
2693                size += com.google.protobuf.CodedOutputStream
2694                  .computeInt32Size(6, classId_);
2695              }
2696              if (((bitField0_ & 0x00000040) == 0x00000040)) {
2697                size += com.google.protobuf.CodedOutputStream
2698                  .computeInt32Size(7, enumValueId_);
2699              }
2700              if (((bitField0_ & 0x00000080) == 0x00000080)) {
2701                size += com.google.protobuf.CodedOutputStream
2702                  .computeMessageSize(8, annotation_);
2703              }
2704              for (int i = 0; i < arrayElement_.size(); i++) {
2705                size += com.google.protobuf.CodedOutputStream
2706                  .computeMessageSize(9, arrayElement_.get(i));
2707              }
2708              memoizedSerializedSize = size;
2709              return size;
2710            }
2711    
2712            private static final long serialVersionUID = 0L;
2713            @java.lang.Override
2714            protected java.lang.Object writeReplace()
2715                throws java.io.ObjectStreamException {
2716              return super.writeReplace();
2717            }
2718    
2719            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2720                com.google.protobuf.ByteString data)
2721                throws com.google.protobuf.InvalidProtocolBufferException {
2722              return PARSER.parseFrom(data);
2723            }
2724            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2725                com.google.protobuf.ByteString data,
2726                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2727                throws com.google.protobuf.InvalidProtocolBufferException {
2728              return PARSER.parseFrom(data, extensionRegistry);
2729            }
2730            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(byte[] data)
2731                throws com.google.protobuf.InvalidProtocolBufferException {
2732              return PARSER.parseFrom(data);
2733            }
2734            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2735                byte[] data,
2736                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2737                throws com.google.protobuf.InvalidProtocolBufferException {
2738              return PARSER.parseFrom(data, extensionRegistry);
2739            }
2740            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(java.io.InputStream input)
2741                throws java.io.IOException {
2742              return PARSER.parseFrom(input);
2743            }
2744            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2745                java.io.InputStream input,
2746                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2747                throws java.io.IOException {
2748              return PARSER.parseFrom(input, extensionRegistry);
2749            }
2750            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseDelimitedFrom(java.io.InputStream input)
2751                throws java.io.IOException {
2752              return PARSER.parseDelimitedFrom(input);
2753            }
2754            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseDelimitedFrom(
2755                java.io.InputStream input,
2756                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2757                throws java.io.IOException {
2758              return PARSER.parseDelimitedFrom(input, extensionRegistry);
2759            }
2760            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2761                com.google.protobuf.CodedInputStream input)
2762                throws java.io.IOException {
2763              return PARSER.parseFrom(input);
2764            }
2765            public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2766                com.google.protobuf.CodedInputStream input,
2767                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2768                throws java.io.IOException {
2769              return PARSER.parseFrom(input, extensionRegistry);
2770            }
2771    
2772            public static Builder newBuilder() { return Builder.create(); }
2773            public Builder newBuilderForType() { return newBuilder(); }
2774            public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value prototype) {
2775              return newBuilder().mergeFrom(prototype);
2776            }
2777            public Builder toBuilder() { return newBuilder(this); }
2778    
2779            /**
2780             * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation.Argument.Value}
2781             */
2782            public static final class Builder extends
2783                com.google.protobuf.GeneratedMessageLite.Builder<
2784                  org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value, Builder>
2785                implements org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.ValueOrBuilder {
2786              // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.newBuilder()
2787              private Builder() {
2788                maybeForceBuilderInitialization();
2789              }
2790    
2791              private void maybeForceBuilderInitialization() {
2792              }
2793              private static Builder create() {
2794                return new Builder();
2795              }
2796    
2797              public Builder clear() {
2798                super.clear();
2799                type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
2800                bitField0_ = (bitField0_ & ~0x00000001);
2801                intValue_ = 0L;
2802                bitField0_ = (bitField0_ & ~0x00000002);
2803                floatValue_ = 0F;
2804                bitField0_ = (bitField0_ & ~0x00000004);
2805                doubleValue_ = 0D;
2806                bitField0_ = (bitField0_ & ~0x00000008);
2807                stringValue_ = 0;
2808                bitField0_ = (bitField0_ & ~0x00000010);
2809                classId_ = 0;
2810                bitField0_ = (bitField0_ & ~0x00000020);
2811                enumValueId_ = 0;
2812                bitField0_ = (bitField0_ & ~0x00000040);
2813                annotation_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
2814                bitField0_ = (bitField0_ & ~0x00000080);
2815                arrayElement_ = java.util.Collections.emptyList();
2816                bitField0_ = (bitField0_ & ~0x00000100);
2817                return this;
2818              }
2819    
2820              public Builder clone() {
2821                return create().mergeFrom(buildPartial());
2822              }
2823    
2824              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getDefaultInstanceForType() {
2825                return org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
2826              }
2827    
2828              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value build() {
2829                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value result = buildPartial();
2830                if (!result.isInitialized()) {
2831                  throw newUninitializedMessageException(result);
2832                }
2833                return result;
2834              }
2835    
2836              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value buildPartial() {
2837                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value result = new org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value(this);
2838                int from_bitField0_ = bitField0_;
2839                int to_bitField0_ = 0;
2840                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
2841                  to_bitField0_ |= 0x00000001;
2842                }
2843                result.type_ = type_;
2844                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
2845                  to_bitField0_ |= 0x00000002;
2846                }
2847                result.intValue_ = intValue_;
2848                if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
2849                  to_bitField0_ |= 0x00000004;
2850                }
2851                result.floatValue_ = floatValue_;
2852                if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
2853                  to_bitField0_ |= 0x00000008;
2854                }
2855                result.doubleValue_ = doubleValue_;
2856                if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
2857                  to_bitField0_ |= 0x00000010;
2858                }
2859                result.stringValue_ = stringValue_;
2860                if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
2861                  to_bitField0_ |= 0x00000020;
2862                }
2863                result.classId_ = classId_;
2864                if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
2865                  to_bitField0_ |= 0x00000040;
2866                }
2867                result.enumValueId_ = enumValueId_;
2868                if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
2869                  to_bitField0_ |= 0x00000080;
2870                }
2871                result.annotation_ = annotation_;
2872                if (((bitField0_ & 0x00000100) == 0x00000100)) {
2873                  arrayElement_ = java.util.Collections.unmodifiableList(arrayElement_);
2874                  bitField0_ = (bitField0_ & ~0x00000100);
2875                }
2876                result.arrayElement_ = arrayElement_;
2877                result.bitField0_ = to_bitField0_;
2878                return result;
2879              }
2880    
2881              public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value other) {
2882                if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance()) return this;
2883                if (other.hasType()) {
2884                  setType(other.getType());
2885                }
2886                if (other.hasIntValue()) {
2887                  setIntValue(other.getIntValue());
2888                }
2889                if (other.hasFloatValue()) {
2890                  setFloatValue(other.getFloatValue());
2891                }
2892                if (other.hasDoubleValue()) {
2893                  setDoubleValue(other.getDoubleValue());
2894                }
2895                if (other.hasStringValue()) {
2896                  setStringValue(other.getStringValue());
2897                }
2898                if (other.hasClassId()) {
2899                  setClassId(other.getClassId());
2900                }
2901                if (other.hasEnumValueId()) {
2902                  setEnumValueId(other.getEnumValueId());
2903                }
2904                if (other.hasAnnotation()) {
2905                  mergeAnnotation(other.getAnnotation());
2906                }
2907                if (!other.arrayElement_.isEmpty()) {
2908                  if (arrayElement_.isEmpty()) {
2909                    arrayElement_ = other.arrayElement_;
2910                    bitField0_ = (bitField0_ & ~0x00000100);
2911                  } else {
2912                    ensureArrayElementIsMutable();
2913                    arrayElement_.addAll(other.arrayElement_);
2914                  }
2915                  
2916                }
2917                return this;
2918              }
2919    
2920              public final boolean isInitialized() {
2921                if (hasAnnotation()) {
2922                  if (!getAnnotation().isInitialized()) {
2923                    
2924                    return false;
2925                  }
2926                }
2927                for (int i = 0; i < getArrayElementCount(); i++) {
2928                  if (!getArrayElement(i).isInitialized()) {
2929                    
2930                    return false;
2931                  }
2932                }
2933                return true;
2934              }
2935    
2936              public Builder mergeFrom(
2937                  com.google.protobuf.CodedInputStream input,
2938                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2939                  throws java.io.IOException {
2940                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value parsedMessage = null;
2941                try {
2942                  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
2943                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2944                  parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value) e.getUnfinishedMessage();
2945                  throw e;
2946                } finally {
2947                  if (parsedMessage != null) {
2948                    mergeFrom(parsedMessage);
2949                  }
2950                }
2951                return this;
2952              }
2953              private int bitField0_;
2954    
2955              // optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;
2956              private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
2957              /**
2958               * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2959               *
2960               * <pre>
2961               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2962               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2963               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2964               * </pre>
2965               */
2966              public boolean hasType() {
2967                return ((bitField0_ & 0x00000001) == 0x00000001);
2968              }
2969              /**
2970               * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2971               *
2972               * <pre>
2973               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2974               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2975               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2976               * </pre>
2977               */
2978              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type getType() {
2979                return type_;
2980              }
2981              /**
2982               * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
2983               *
2984               * <pre>
2985               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2986               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2987               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2988               * </pre>
2989               */
2990              public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type value) {
2991                if (value == null) {
2992                  throw new NullPointerException();
2993                }
2994                bitField0_ |= 0x00000001;
2995                type_ = value;
2996                
2997                return this;
2998              }
2999              /**
3000               * <code>optional .org.jetbrains.kotlin.serialization.Annotation.Argument.Value.Type type = 1;</code>
3001               *
3002               * <pre>
3003               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
3004               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
3005               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
3006               * </pre>
3007               */
3008              public Builder clearType() {
3009                bitField0_ = (bitField0_ & ~0x00000001);
3010                type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
3011                
3012                return this;
3013              }
3014    
3015              // optional sint64 int_value = 2;
3016              private long intValue_ ;
3017              /**
3018               * <code>optional sint64 int_value = 2;</code>
3019               */
3020              public boolean hasIntValue() {
3021                return ((bitField0_ & 0x00000002) == 0x00000002);
3022              }
3023              /**
3024               * <code>optional sint64 int_value = 2;</code>
3025               */
3026              public long getIntValue() {
3027                return intValue_;
3028              }
3029              /**
3030               * <code>optional sint64 int_value = 2;</code>
3031               */
3032              public Builder setIntValue(long value) {
3033                bitField0_ |= 0x00000002;
3034                intValue_ = value;
3035                
3036                return this;
3037              }
3038              /**
3039               * <code>optional sint64 int_value = 2;</code>
3040               */
3041              public Builder clearIntValue() {
3042                bitField0_ = (bitField0_ & ~0x00000002);
3043                intValue_ = 0L;
3044                
3045                return this;
3046              }
3047    
3048              // optional float float_value = 3;
3049              private float floatValue_ ;
3050              /**
3051               * <code>optional float float_value = 3;</code>
3052               */
3053              public boolean hasFloatValue() {
3054                return ((bitField0_ & 0x00000004) == 0x00000004);
3055              }
3056              /**
3057               * <code>optional float float_value = 3;</code>
3058               */
3059              public float getFloatValue() {
3060                return floatValue_;
3061              }
3062              /**
3063               * <code>optional float float_value = 3;</code>
3064               */
3065              public Builder setFloatValue(float value) {
3066                bitField0_ |= 0x00000004;
3067                floatValue_ = value;
3068                
3069                return this;
3070              }
3071              /**
3072               * <code>optional float float_value = 3;</code>
3073               */
3074              public Builder clearFloatValue() {
3075                bitField0_ = (bitField0_ & ~0x00000004);
3076                floatValue_ = 0F;
3077                
3078                return this;
3079              }
3080    
3081              // optional double double_value = 4;
3082              private double doubleValue_ ;
3083              /**
3084               * <code>optional double double_value = 4;</code>
3085               */
3086              public boolean hasDoubleValue() {
3087                return ((bitField0_ & 0x00000008) == 0x00000008);
3088              }
3089              /**
3090               * <code>optional double double_value = 4;</code>
3091               */
3092              public double getDoubleValue() {
3093                return doubleValue_;
3094              }
3095              /**
3096               * <code>optional double double_value = 4;</code>
3097               */
3098              public Builder setDoubleValue(double value) {
3099                bitField0_ |= 0x00000008;
3100                doubleValue_ = value;
3101                
3102                return this;
3103              }
3104              /**
3105               * <code>optional double double_value = 4;</code>
3106               */
3107              public Builder clearDoubleValue() {
3108                bitField0_ = (bitField0_ & ~0x00000008);
3109                doubleValue_ = 0D;
3110                
3111                return this;
3112              }
3113    
3114              // optional int32 string_value = 5;
3115              private int stringValue_ ;
3116              /**
3117               * <code>optional int32 string_value = 5;</code>
3118               */
3119              public boolean hasStringValue() {
3120                return ((bitField0_ & 0x00000010) == 0x00000010);
3121              }
3122              /**
3123               * <code>optional int32 string_value = 5;</code>
3124               */
3125              public int getStringValue() {
3126                return stringValue_;
3127              }
3128              /**
3129               * <code>optional int32 string_value = 5;</code>
3130               */
3131              public Builder setStringValue(int value) {
3132                bitField0_ |= 0x00000010;
3133                stringValue_ = value;
3134                
3135                return this;
3136              }
3137              /**
3138               * <code>optional int32 string_value = 5;</code>
3139               */
3140              public Builder clearStringValue() {
3141                bitField0_ = (bitField0_ & ~0x00000010);
3142                stringValue_ = 0;
3143                
3144                return this;
3145              }
3146    
3147              // optional int32 class_id = 6;
3148              private int classId_ ;
3149              /**
3150               * <code>optional int32 class_id = 6;</code>
3151               *
3152               * <pre>
3153               * If type = CLASS, FQ name of the referenced class; if type = ENUM, FQ name of the enum class
3154               * </pre>
3155               */
3156              public boolean hasClassId() {
3157                return ((bitField0_ & 0x00000020) == 0x00000020);
3158              }
3159              /**
3160               * <code>optional int32 class_id = 6;</code>
3161               *
3162               * <pre>
3163               * If type = CLASS, FQ name of the referenced class; if type = ENUM, FQ name of the enum class
3164               * </pre>
3165               */
3166              public int getClassId() {
3167                return classId_;
3168              }
3169              /**
3170               * <code>optional int32 class_id = 6;</code>
3171               *
3172               * <pre>
3173               * If type = CLASS, FQ name of the referenced class; if type = ENUM, FQ name of the enum class
3174               * </pre>
3175               */
3176              public Builder setClassId(int value) {
3177                bitField0_ |= 0x00000020;
3178                classId_ = value;
3179                
3180                return this;
3181              }
3182              /**
3183               * <code>optional int32 class_id = 6;</code>
3184               *
3185               * <pre>
3186               * If type = CLASS, FQ name of the referenced class; if type = ENUM, FQ name of the enum class
3187               * </pre>
3188               */
3189              public Builder clearClassId() {
3190                bitField0_ = (bitField0_ & ~0x00000020);
3191                classId_ = 0;
3192                
3193                return this;
3194              }
3195    
3196              // optional int32 enum_value_id = 7;
3197              private int enumValueId_ ;
3198              /**
3199               * <code>optional int32 enum_value_id = 7;</code>
3200               */
3201              public boolean hasEnumValueId() {
3202                return ((bitField0_ & 0x00000040) == 0x00000040);
3203              }
3204              /**
3205               * <code>optional int32 enum_value_id = 7;</code>
3206               */
3207              public int getEnumValueId() {
3208                return enumValueId_;
3209              }
3210              /**
3211               * <code>optional int32 enum_value_id = 7;</code>
3212               */
3213              public Builder setEnumValueId(int value) {
3214                bitField0_ |= 0x00000040;
3215                enumValueId_ = value;
3216                
3217                return this;
3218              }
3219              /**
3220               * <code>optional int32 enum_value_id = 7;</code>
3221               */
3222              public Builder clearEnumValueId() {
3223                bitField0_ = (bitField0_ & ~0x00000040);
3224                enumValueId_ = 0;
3225                
3226                return this;
3227              }
3228    
3229              // optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;
3230              private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation annotation_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
3231              /**
3232               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3233               */
3234              public boolean hasAnnotation() {
3235                return ((bitField0_ & 0x00000080) == 0x00000080);
3236              }
3237              /**
3238               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3239               */
3240              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getAnnotation() {
3241                return annotation_;
3242              }
3243              /**
3244               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3245               */
3246              public Builder setAnnotation(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation value) {
3247                if (value == null) {
3248                  throw new NullPointerException();
3249                }
3250                annotation_ = value;
3251    
3252                bitField0_ |= 0x00000080;
3253                return this;
3254              }
3255              /**
3256               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3257               */
3258              public Builder setAnnotation(
3259                  org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Builder builderForValue) {
3260                annotation_ = builderForValue.build();
3261    
3262                bitField0_ |= 0x00000080;
3263                return this;
3264              }
3265              /**
3266               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3267               */
3268              public Builder mergeAnnotation(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation value) {
3269                if (((bitField0_ & 0x00000080) == 0x00000080) &&
3270                    annotation_ != org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance()) {
3271                  annotation_ =
3272                    org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.newBuilder(annotation_).mergeFrom(value).buildPartial();
3273                } else {
3274                  annotation_ = value;
3275                }
3276    
3277                bitField0_ |= 0x00000080;
3278                return this;
3279              }
3280              /**
3281               * <code>optional .org.jetbrains.kotlin.serialization.Annotation annotation = 8;</code>
3282               */
3283              public Builder clearAnnotation() {
3284                annotation_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
3285    
3286                bitField0_ = (bitField0_ & ~0x00000080);
3287                return this;
3288              }
3289    
3290              // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;
3291              private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> arrayElement_ =
3292                java.util.Collections.emptyList();
3293              private void ensureArrayElementIsMutable() {
3294                if (!((bitField0_ & 0x00000100) == 0x00000100)) {
3295                  arrayElement_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value>(arrayElement_);
3296                  bitField0_ |= 0x00000100;
3297                 }
3298              }
3299    
3300              /**
3301               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3302               */
3303              public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> getArrayElementList() {
3304                return java.util.Collections.unmodifiableList(arrayElement_);
3305              }
3306              /**
3307               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3308               */
3309              public int getArrayElementCount() {
3310                return arrayElement_.size();
3311              }
3312              /**
3313               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3314               */
3315              public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getArrayElement(int index) {
3316                return arrayElement_.get(index);
3317              }
3318              /**
3319               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3320               */
3321              public Builder setArrayElement(
3322                  int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3323                if (value == null) {
3324                  throw new NullPointerException();
3325                }
3326                ensureArrayElementIsMutable();
3327                arrayElement_.set(index, value);
3328    
3329                return this;
3330              }
3331              /**
3332               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3333               */
3334              public Builder setArrayElement(
3335                  int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3336                ensureArrayElementIsMutable();
3337                arrayElement_.set(index, builderForValue.build());
3338    
3339                return this;
3340              }
3341              /**
3342               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3343               */
3344              public Builder addArrayElement(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3345                if (value == null) {
3346                  throw new NullPointerException();
3347                }
3348                ensureArrayElementIsMutable();
3349                arrayElement_.add(value);
3350    
3351                return this;
3352              }
3353              /**
3354               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3355               */
3356              public Builder addArrayElement(
3357                  int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3358                if (value == null) {
3359                  throw new NullPointerException();
3360                }
3361                ensureArrayElementIsMutable();
3362                arrayElement_.add(index, value);
3363    
3364                return this;
3365              }
3366              /**
3367               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3368               */
3369              public Builder addArrayElement(
3370                  org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3371                ensureArrayElementIsMutable();
3372                arrayElement_.add(builderForValue.build());
3373    
3374                return this;
3375              }
3376              /**
3377               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3378               */
3379              public Builder addArrayElement(
3380                  int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3381                ensureArrayElementIsMutable();
3382                arrayElement_.add(index, builderForValue.build());
3383    
3384                return this;
3385              }
3386              /**
3387               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3388               */
3389              public Builder addAllArrayElement(
3390                  java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value> values) {
3391                ensureArrayElementIsMutable();
3392                super.addAll(values, arrayElement_);
3393    
3394                return this;
3395              }
3396              /**
3397               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3398               */
3399              public Builder clearArrayElement() {
3400                arrayElement_ = java.util.Collections.emptyList();
3401                bitField0_ = (bitField0_ & ~0x00000100);
3402    
3403                return this;
3404              }
3405              /**
3406               * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument.Value array_element = 9;</code>
3407               */
3408              public Builder removeArrayElement(int index) {
3409                ensureArrayElementIsMutable();
3410                arrayElement_.remove(index);
3411    
3412                return this;
3413              }
3414    
3415              // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Annotation.Argument.Value)
3416            }
3417    
3418            static {
3419              defaultInstance = new Value(true);
3420              defaultInstance.initFields();
3421            }
3422    
3423            // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Annotation.Argument.Value)
3424          }
3425    
3426          private int bitField0_;
3427          // required int32 name_id = 1;
3428          public static final int NAME_ID_FIELD_NUMBER = 1;
3429          private int nameId_;
3430          /**
3431           * <code>required int32 name_id = 1;</code>
3432           */
3433          public boolean hasNameId() {
3434            return ((bitField0_ & 0x00000001) == 0x00000001);
3435          }
3436          /**
3437           * <code>required int32 name_id = 1;</code>
3438           */
3439          public int getNameId() {
3440            return nameId_;
3441          }
3442    
3443          // required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;
3444          public static final int VALUE_FIELD_NUMBER = 2;
3445          private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value_;
3446          /**
3447           * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3448           */
3449          public boolean hasValue() {
3450            return ((bitField0_ & 0x00000002) == 0x00000002);
3451          }
3452          /**
3453           * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3454           */
3455          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getValue() {
3456            return value_;
3457          }
3458    
3459          private void initFields() {
3460            nameId_ = 0;
3461            value_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3462          }
3463          private byte memoizedIsInitialized = -1;
3464          public final boolean isInitialized() {
3465            byte isInitialized = memoizedIsInitialized;
3466            if (isInitialized != -1) return isInitialized == 1;
3467    
3468            if (!hasNameId()) {
3469              memoizedIsInitialized = 0;
3470              return false;
3471            }
3472            if (!hasValue()) {
3473              memoizedIsInitialized = 0;
3474              return false;
3475            }
3476            if (!getValue().isInitialized()) {
3477              memoizedIsInitialized = 0;
3478              return false;
3479            }
3480            memoizedIsInitialized = 1;
3481            return true;
3482          }
3483    
3484          public void writeTo(com.google.protobuf.CodedOutputStream output)
3485                              throws java.io.IOException {
3486            getSerializedSize();
3487            if (((bitField0_ & 0x00000001) == 0x00000001)) {
3488              output.writeInt32(1, nameId_);
3489            }
3490            if (((bitField0_ & 0x00000002) == 0x00000002)) {
3491              output.writeMessage(2, value_);
3492            }
3493          }
3494    
3495          private int memoizedSerializedSize = -1;
3496          public int getSerializedSize() {
3497            int size = memoizedSerializedSize;
3498            if (size != -1) return size;
3499    
3500            size = 0;
3501            if (((bitField0_ & 0x00000001) == 0x00000001)) {
3502              size += com.google.protobuf.CodedOutputStream
3503                .computeInt32Size(1, nameId_);
3504            }
3505            if (((bitField0_ & 0x00000002) == 0x00000002)) {
3506              size += com.google.protobuf.CodedOutputStream
3507                .computeMessageSize(2, value_);
3508            }
3509            memoizedSerializedSize = size;
3510            return size;
3511          }
3512    
3513          private static final long serialVersionUID = 0L;
3514          @java.lang.Override
3515          protected java.lang.Object writeReplace()
3516              throws java.io.ObjectStreamException {
3517            return super.writeReplace();
3518          }
3519    
3520          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3521              com.google.protobuf.ByteString data)
3522              throws com.google.protobuf.InvalidProtocolBufferException {
3523            return PARSER.parseFrom(data);
3524          }
3525          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3526              com.google.protobuf.ByteString data,
3527              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3528              throws com.google.protobuf.InvalidProtocolBufferException {
3529            return PARSER.parseFrom(data, extensionRegistry);
3530          }
3531          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(byte[] data)
3532              throws com.google.protobuf.InvalidProtocolBufferException {
3533            return PARSER.parseFrom(data);
3534          }
3535          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3536              byte[] data,
3537              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3538              throws com.google.protobuf.InvalidProtocolBufferException {
3539            return PARSER.parseFrom(data, extensionRegistry);
3540          }
3541          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(java.io.InputStream input)
3542              throws java.io.IOException {
3543            return PARSER.parseFrom(input);
3544          }
3545          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3546              java.io.InputStream input,
3547              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3548              throws java.io.IOException {
3549            return PARSER.parseFrom(input, extensionRegistry);
3550          }
3551          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseDelimitedFrom(java.io.InputStream input)
3552              throws java.io.IOException {
3553            return PARSER.parseDelimitedFrom(input);
3554          }
3555          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseDelimitedFrom(
3556              java.io.InputStream input,
3557              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3558              throws java.io.IOException {
3559            return PARSER.parseDelimitedFrom(input, extensionRegistry);
3560          }
3561          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3562              com.google.protobuf.CodedInputStream input)
3563              throws java.io.IOException {
3564            return PARSER.parseFrom(input);
3565          }
3566          public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parseFrom(
3567              com.google.protobuf.CodedInputStream input,
3568              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3569              throws java.io.IOException {
3570            return PARSER.parseFrom(input, extensionRegistry);
3571          }
3572    
3573          public static Builder newBuilder() { return Builder.create(); }
3574          public Builder newBuilderForType() { return newBuilder(); }
3575          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument prototype) {
3576            return newBuilder().mergeFrom(prototype);
3577          }
3578          public Builder toBuilder() { return newBuilder(this); }
3579    
3580          /**
3581           * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation.Argument}
3582           */
3583          public static final class Builder extends
3584              com.google.protobuf.GeneratedMessageLite.Builder<
3585                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument, Builder>
3586              implements org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.ArgumentOrBuilder {
3587            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.newBuilder()
3588            private Builder() {
3589              maybeForceBuilderInitialization();
3590            }
3591    
3592            private void maybeForceBuilderInitialization() {
3593            }
3594            private static Builder create() {
3595              return new Builder();
3596            }
3597    
3598            public Builder clear() {
3599              super.clear();
3600              nameId_ = 0;
3601              bitField0_ = (bitField0_ & ~0x00000001);
3602              value_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3603              bitField0_ = (bitField0_ & ~0x00000002);
3604              return this;
3605            }
3606    
3607            public Builder clone() {
3608              return create().mergeFrom(buildPartial());
3609            }
3610    
3611            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument getDefaultInstanceForType() {
3612              return org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.getDefaultInstance();
3613            }
3614    
3615            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument build() {
3616              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument result = buildPartial();
3617              if (!result.isInitialized()) {
3618                throw newUninitializedMessageException(result);
3619              }
3620              return result;
3621            }
3622    
3623            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument buildPartial() {
3624              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument result = new org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument(this);
3625              int from_bitField0_ = bitField0_;
3626              int to_bitField0_ = 0;
3627              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
3628                to_bitField0_ |= 0x00000001;
3629              }
3630              result.nameId_ = nameId_;
3631              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
3632                to_bitField0_ |= 0x00000002;
3633              }
3634              result.value_ = value_;
3635              result.bitField0_ = to_bitField0_;
3636              return result;
3637            }
3638    
3639            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument other) {
3640              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.getDefaultInstance()) return this;
3641              if (other.hasNameId()) {
3642                setNameId(other.getNameId());
3643              }
3644              if (other.hasValue()) {
3645                mergeValue(other.getValue());
3646              }
3647              return this;
3648            }
3649    
3650            public final boolean isInitialized() {
3651              if (!hasNameId()) {
3652                
3653                return false;
3654              }
3655              if (!hasValue()) {
3656                
3657                return false;
3658              }
3659              if (!getValue().isInitialized()) {
3660                
3661                return false;
3662              }
3663              return true;
3664            }
3665    
3666            public Builder mergeFrom(
3667                com.google.protobuf.CodedInputStream input,
3668                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3669                throws java.io.IOException {
3670              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument parsedMessage = null;
3671              try {
3672                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
3673              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3674                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument) e.getUnfinishedMessage();
3675                throw e;
3676              } finally {
3677                if (parsedMessage != null) {
3678                  mergeFrom(parsedMessage);
3679                }
3680              }
3681              return this;
3682            }
3683            private int bitField0_;
3684    
3685            // required int32 name_id = 1;
3686            private int nameId_ ;
3687            /**
3688             * <code>required int32 name_id = 1;</code>
3689             */
3690            public boolean hasNameId() {
3691              return ((bitField0_ & 0x00000001) == 0x00000001);
3692            }
3693            /**
3694             * <code>required int32 name_id = 1;</code>
3695             */
3696            public int getNameId() {
3697              return nameId_;
3698            }
3699            /**
3700             * <code>required int32 name_id = 1;</code>
3701             */
3702            public Builder setNameId(int value) {
3703              bitField0_ |= 0x00000001;
3704              nameId_ = value;
3705              
3706              return this;
3707            }
3708            /**
3709             * <code>required int32 name_id = 1;</code>
3710             */
3711            public Builder clearNameId() {
3712              bitField0_ = (bitField0_ & ~0x00000001);
3713              nameId_ = 0;
3714              
3715              return this;
3716            }
3717    
3718            // required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;
3719            private org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3720            /**
3721             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3722             */
3723            public boolean hasValue() {
3724              return ((bitField0_ & 0x00000002) == 0x00000002);
3725            }
3726            /**
3727             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3728             */
3729            public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value getValue() {
3730              return value_;
3731            }
3732            /**
3733             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3734             */
3735            public Builder setValue(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3736              if (value == null) {
3737                throw new NullPointerException();
3738              }
3739              value_ = value;
3740    
3741              bitField0_ |= 0x00000002;
3742              return this;
3743            }
3744            /**
3745             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3746             */
3747            public Builder setValue(
3748                org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3749              value_ = builderForValue.build();
3750    
3751              bitField0_ |= 0x00000002;
3752              return this;
3753            }
3754            /**
3755             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3756             */
3757            public Builder mergeValue(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value value) {
3758              if (((bitField0_ & 0x00000002) == 0x00000002) &&
3759                  value_ != org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance()) {
3760                value_ =
3761                  org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.newBuilder(value_).mergeFrom(value).buildPartial();
3762              } else {
3763                value_ = value;
3764              }
3765    
3766              bitField0_ |= 0x00000002;
3767              return this;
3768            }
3769            /**
3770             * <code>required .org.jetbrains.kotlin.serialization.Annotation.Argument.Value value = 2;</code>
3771             */
3772            public Builder clearValue() {
3773              value_ = org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3774    
3775              bitField0_ = (bitField0_ & ~0x00000002);
3776              return this;
3777            }
3778    
3779            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Annotation.Argument)
3780          }
3781    
3782          static {
3783            defaultInstance = new Argument(true);
3784            defaultInstance.initFields();
3785          }
3786    
3787          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Annotation.Argument)
3788        }
3789    
3790        private int bitField0_;
3791        // required int32 id = 1;
3792        public static final int ID_FIELD_NUMBER = 1;
3793        private int id_;
3794        /**
3795         * <code>required int32 id = 1;</code>
3796         */
3797        public boolean hasId() {
3798          return ((bitField0_ & 0x00000001) == 0x00000001);
3799        }
3800        /**
3801         * <code>required int32 id = 1;</code>
3802         */
3803        public int getId() {
3804          return id_;
3805        }
3806    
3807        // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;
3808        public static final int ARGUMENT_FIELD_NUMBER = 2;
3809        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> argument_;
3810        /**
3811         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3812         */
3813        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> getArgumentList() {
3814          return argument_;
3815        }
3816        /**
3817         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3818         */
3819        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.ArgumentOrBuilder> 
3820            getArgumentOrBuilderList() {
3821          return argument_;
3822        }
3823        /**
3824         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3825         */
3826        public int getArgumentCount() {
3827          return argument_.size();
3828        }
3829        /**
3830         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3831         */
3832        public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument getArgument(int index) {
3833          return argument_.get(index);
3834        }
3835        /**
3836         * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
3837         */
3838        public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.ArgumentOrBuilder getArgumentOrBuilder(
3839            int index) {
3840          return argument_.get(index);
3841        }
3842    
3843        private void initFields() {
3844          id_ = 0;
3845          argument_ = java.util.Collections.emptyList();
3846        }
3847        private byte memoizedIsInitialized = -1;
3848        public final boolean isInitialized() {
3849          byte isInitialized = memoizedIsInitialized;
3850          if (isInitialized != -1) return isInitialized == 1;
3851    
3852          if (!hasId()) {
3853            memoizedIsInitialized = 0;
3854            return false;
3855          }
3856          for (int i = 0; i < getArgumentCount(); i++) {
3857            if (!getArgument(i).isInitialized()) {
3858              memoizedIsInitialized = 0;
3859              return false;
3860            }
3861          }
3862          memoizedIsInitialized = 1;
3863          return true;
3864        }
3865    
3866        public void writeTo(com.google.protobuf.CodedOutputStream output)
3867                            throws java.io.IOException {
3868          getSerializedSize();
3869          if (((bitField0_ & 0x00000001) == 0x00000001)) {
3870            output.writeInt32(1, id_);
3871          }
3872          for (int i = 0; i < argument_.size(); i++) {
3873            output.writeMessage(2, argument_.get(i));
3874          }
3875        }
3876    
3877        private int memoizedSerializedSize = -1;
3878        public int getSerializedSize() {
3879          int size = memoizedSerializedSize;
3880          if (size != -1) return size;
3881    
3882          size = 0;
3883          if (((bitField0_ & 0x00000001) == 0x00000001)) {
3884            size += com.google.protobuf.CodedOutputStream
3885              .computeInt32Size(1, id_);
3886          }
3887          for (int i = 0; i < argument_.size(); i++) {
3888            size += com.google.protobuf.CodedOutputStream
3889              .computeMessageSize(2, argument_.get(i));
3890          }
3891          memoizedSerializedSize = size;
3892          return size;
3893        }
3894    
3895        private static final long serialVersionUID = 0L;
3896        @java.lang.Override
3897        protected java.lang.Object writeReplace()
3898            throws java.io.ObjectStreamException {
3899          return super.writeReplace();
3900        }
3901    
3902        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3903            com.google.protobuf.ByteString data)
3904            throws com.google.protobuf.InvalidProtocolBufferException {
3905          return PARSER.parseFrom(data);
3906        }
3907        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3908            com.google.protobuf.ByteString data,
3909            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3910            throws com.google.protobuf.InvalidProtocolBufferException {
3911          return PARSER.parseFrom(data, extensionRegistry);
3912        }
3913        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(byte[] data)
3914            throws com.google.protobuf.InvalidProtocolBufferException {
3915          return PARSER.parseFrom(data);
3916        }
3917        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3918            byte[] data,
3919            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3920            throws com.google.protobuf.InvalidProtocolBufferException {
3921          return PARSER.parseFrom(data, extensionRegistry);
3922        }
3923        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(java.io.InputStream input)
3924            throws java.io.IOException {
3925          return PARSER.parseFrom(input);
3926        }
3927        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3928            java.io.InputStream input,
3929            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3930            throws java.io.IOException {
3931          return PARSER.parseFrom(input, extensionRegistry);
3932        }
3933        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseDelimitedFrom(java.io.InputStream input)
3934            throws java.io.IOException {
3935          return PARSER.parseDelimitedFrom(input);
3936        }
3937        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseDelimitedFrom(
3938            java.io.InputStream input,
3939            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3940            throws java.io.IOException {
3941          return PARSER.parseDelimitedFrom(input, extensionRegistry);
3942        }
3943        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3944            com.google.protobuf.CodedInputStream input)
3945            throws java.io.IOException {
3946          return PARSER.parseFrom(input);
3947        }
3948        public static org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parseFrom(
3949            com.google.protobuf.CodedInputStream input,
3950            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3951            throws java.io.IOException {
3952          return PARSER.parseFrom(input, extensionRegistry);
3953        }
3954    
3955        public static Builder newBuilder() { return Builder.create(); }
3956        public Builder newBuilderForType() { return newBuilder(); }
3957        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation prototype) {
3958          return newBuilder().mergeFrom(prototype);
3959        }
3960        public Builder toBuilder() { return newBuilder(this); }
3961    
3962        /**
3963         * Protobuf type {@code org.jetbrains.kotlin.serialization.Annotation}
3964         */
3965        public static final class Builder extends
3966            com.google.protobuf.GeneratedMessageLite.Builder<
3967              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation, Builder>
3968            implements org.jetbrains.kotlin.serialization.ProtoBuf.AnnotationOrBuilder {
3969          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.newBuilder()
3970          private Builder() {
3971            maybeForceBuilderInitialization();
3972          }
3973    
3974          private void maybeForceBuilderInitialization() {
3975          }
3976          private static Builder create() {
3977            return new Builder();
3978          }
3979    
3980          public Builder clear() {
3981            super.clear();
3982            id_ = 0;
3983            bitField0_ = (bitField0_ & ~0x00000001);
3984            argument_ = java.util.Collections.emptyList();
3985            bitField0_ = (bitField0_ & ~0x00000002);
3986            return this;
3987          }
3988    
3989          public Builder clone() {
3990            return create().mergeFrom(buildPartial());
3991          }
3992    
3993          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation getDefaultInstanceForType() {
3994            return org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance();
3995          }
3996    
3997          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation build() {
3998            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation result = buildPartial();
3999            if (!result.isInitialized()) {
4000              throw newUninitializedMessageException(result);
4001            }
4002            return result;
4003          }
4004    
4005          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation buildPartial() {
4006            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation result = new org.jetbrains.kotlin.serialization.ProtoBuf.Annotation(this);
4007            int from_bitField0_ = bitField0_;
4008            int to_bitField0_ = 0;
4009            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
4010              to_bitField0_ |= 0x00000001;
4011            }
4012            result.id_ = id_;
4013            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4014              argument_ = java.util.Collections.unmodifiableList(argument_);
4015              bitField0_ = (bitField0_ & ~0x00000002);
4016            }
4017            result.argument_ = argument_;
4018            result.bitField0_ = to_bitField0_;
4019            return result;
4020          }
4021    
4022          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation other) {
4023            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.getDefaultInstance()) return this;
4024            if (other.hasId()) {
4025              setId(other.getId());
4026            }
4027            if (!other.argument_.isEmpty()) {
4028              if (argument_.isEmpty()) {
4029                argument_ = other.argument_;
4030                bitField0_ = (bitField0_ & ~0x00000002);
4031              } else {
4032                ensureArgumentIsMutable();
4033                argument_.addAll(other.argument_);
4034              }
4035              
4036            }
4037            return this;
4038          }
4039    
4040          public final boolean isInitialized() {
4041            if (!hasId()) {
4042              
4043              return false;
4044            }
4045            for (int i = 0; i < getArgumentCount(); i++) {
4046              if (!getArgument(i).isInitialized()) {
4047                
4048                return false;
4049              }
4050            }
4051            return true;
4052          }
4053    
4054          public Builder mergeFrom(
4055              com.google.protobuf.CodedInputStream input,
4056              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4057              throws java.io.IOException {
4058            org.jetbrains.kotlin.serialization.ProtoBuf.Annotation parsedMessage = null;
4059            try {
4060              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
4061            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4062              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Annotation) e.getUnfinishedMessage();
4063              throw e;
4064            } finally {
4065              if (parsedMessage != null) {
4066                mergeFrom(parsedMessage);
4067              }
4068            }
4069            return this;
4070          }
4071          private int bitField0_;
4072    
4073          // required int32 id = 1;
4074          private int id_ ;
4075          /**
4076           * <code>required int32 id = 1;</code>
4077           */
4078          public boolean hasId() {
4079            return ((bitField0_ & 0x00000001) == 0x00000001);
4080          }
4081          /**
4082           * <code>required int32 id = 1;</code>
4083           */
4084          public int getId() {
4085            return id_;
4086          }
4087          /**
4088           * <code>required int32 id = 1;</code>
4089           */
4090          public Builder setId(int value) {
4091            bitField0_ |= 0x00000001;
4092            id_ = value;
4093            
4094            return this;
4095          }
4096          /**
4097           * <code>required int32 id = 1;</code>
4098           */
4099          public Builder clearId() {
4100            bitField0_ = (bitField0_ & ~0x00000001);
4101            id_ = 0;
4102            
4103            return this;
4104          }
4105    
4106          // repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;
4107          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> argument_ =
4108            java.util.Collections.emptyList();
4109          private void ensureArgumentIsMutable() {
4110            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
4111              argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument>(argument_);
4112              bitField0_ |= 0x00000002;
4113             }
4114          }
4115    
4116          /**
4117           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4118           */
4119          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> getArgumentList() {
4120            return java.util.Collections.unmodifiableList(argument_);
4121          }
4122          /**
4123           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4124           */
4125          public int getArgumentCount() {
4126            return argument_.size();
4127          }
4128          /**
4129           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4130           */
4131          public org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument getArgument(int index) {
4132            return argument_.get(index);
4133          }
4134          /**
4135           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4136           */
4137          public Builder setArgument(
4138              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument value) {
4139            if (value == null) {
4140              throw new NullPointerException();
4141            }
4142            ensureArgumentIsMutable();
4143            argument_.set(index, value);
4144    
4145            return this;
4146          }
4147          /**
4148           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4149           */
4150          public Builder setArgument(
4151              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Builder builderForValue) {
4152            ensureArgumentIsMutable();
4153            argument_.set(index, builderForValue.build());
4154    
4155            return this;
4156          }
4157          /**
4158           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4159           */
4160          public Builder addArgument(org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument value) {
4161            if (value == null) {
4162              throw new NullPointerException();
4163            }
4164            ensureArgumentIsMutable();
4165            argument_.add(value);
4166    
4167            return this;
4168          }
4169          /**
4170           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4171           */
4172          public Builder addArgument(
4173              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument value) {
4174            if (value == null) {
4175              throw new NullPointerException();
4176            }
4177            ensureArgumentIsMutable();
4178            argument_.add(index, value);
4179    
4180            return this;
4181          }
4182          /**
4183           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4184           */
4185          public Builder addArgument(
4186              org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Builder builderForValue) {
4187            ensureArgumentIsMutable();
4188            argument_.add(builderForValue.build());
4189    
4190            return this;
4191          }
4192          /**
4193           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4194           */
4195          public Builder addArgument(
4196              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument.Builder builderForValue) {
4197            ensureArgumentIsMutable();
4198            argument_.add(index, builderForValue.build());
4199    
4200            return this;
4201          }
4202          /**
4203           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4204           */
4205          public Builder addAllArgument(
4206              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Annotation.Argument> values) {
4207            ensureArgumentIsMutable();
4208            super.addAll(values, argument_);
4209    
4210            return this;
4211          }
4212          /**
4213           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4214           */
4215          public Builder clearArgument() {
4216            argument_ = java.util.Collections.emptyList();
4217            bitField0_ = (bitField0_ & ~0x00000002);
4218    
4219            return this;
4220          }
4221          /**
4222           * <code>repeated .org.jetbrains.kotlin.serialization.Annotation.Argument argument = 2;</code>
4223           */
4224          public Builder removeArgument(int index) {
4225            ensureArgumentIsMutable();
4226            argument_.remove(index);
4227    
4228            return this;
4229          }
4230    
4231          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Annotation)
4232        }
4233    
4234        static {
4235          defaultInstance = new Annotation(true);
4236          defaultInstance.initFields();
4237        }
4238    
4239        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Annotation)
4240      }
4241    
4242      public interface TypeOrBuilder extends 
4243           com.google.protobuf.GeneratedMessageLite.
4244                ExtendableMessageOrBuilder<Type> {
4245    
4246        // repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;
4247        /**
4248         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
4249         */
4250        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> 
4251            getArgumentList();
4252        /**
4253         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
4254         */
4255        org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index);
4256        /**
4257         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
4258         */
4259        int getArgumentCount();
4260    
4261        // optional bool nullable = 3 [default = false];
4262        /**
4263         * <code>optional bool nullable = 3 [default = false];</code>
4264         */
4265        boolean hasNullable();
4266        /**
4267         * <code>optional bool nullable = 3 [default = false];</code>
4268         */
4269        boolean getNullable();
4270    
4271        // optional int32 flexible_type_capabilities_id = 4;
4272        /**
4273         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
4274         *
4275         * <pre>
4276         * If this field is set, the type is flexible.
4277         * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
4278         * </pre>
4279         */
4280        boolean hasFlexibleTypeCapabilitiesId();
4281        /**
4282         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
4283         *
4284         * <pre>
4285         * If this field is set, the type is flexible.
4286         * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
4287         * </pre>
4288         */
4289        int getFlexibleTypeCapabilitiesId();
4290    
4291        // optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;
4292        /**
4293         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
4294         */
4295        boolean hasFlexibleUpperBound();
4296        /**
4297         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
4298         */
4299        org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound();
4300    
4301        // optional int32 flexible_upper_bound_id = 8;
4302        /**
4303         * <code>optional int32 flexible_upper_bound_id = 8;</code>
4304         */
4305        boolean hasFlexibleUpperBoundId();
4306        /**
4307         * <code>optional int32 flexible_upper_bound_id = 8;</code>
4308         */
4309        int getFlexibleUpperBoundId();
4310    
4311        // optional int32 class_name = 6;
4312        /**
4313         * <code>optional int32 class_name = 6;</code>
4314         */
4315        boolean hasClassName();
4316        /**
4317         * <code>optional int32 class_name = 6;</code>
4318         */
4319        int getClassName();
4320    
4321        // optional int32 type_parameter = 7;
4322        /**
4323         * <code>optional int32 type_parameter = 7;</code>
4324         *
4325         * <pre>
4326         * id of the type parameter
4327         * </pre>
4328         */
4329        boolean hasTypeParameter();
4330        /**
4331         * <code>optional int32 type_parameter = 7;</code>
4332         *
4333         * <pre>
4334         * id of the type parameter
4335         * </pre>
4336         */
4337        int getTypeParameter();
4338    
4339        // optional int32 type_parameter_name = 9;
4340        /**
4341         * <code>optional int32 type_parameter_name = 9;</code>
4342         *
4343         * <pre>
4344         * Name of the type parameter in the immediate owner
4345         * </pre>
4346         */
4347        boolean hasTypeParameterName();
4348        /**
4349         * <code>optional int32 type_parameter_name = 9;</code>
4350         *
4351         * <pre>
4352         * Name of the type parameter in the immediate owner
4353         * </pre>
4354         */
4355        int getTypeParameterName();
4356    
4357        // optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;
4358        /**
4359         * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
4360         */
4361        boolean hasOuterType();
4362        /**
4363         * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
4364         */
4365        org.jetbrains.kotlin.serialization.ProtoBuf.Type getOuterType();
4366    
4367        // optional int32 outer_type_id = 11;
4368        /**
4369         * <code>optional int32 outer_type_id = 11;</code>
4370         */
4371        boolean hasOuterTypeId();
4372        /**
4373         * <code>optional int32 outer_type_id = 11;</code>
4374         */
4375        int getOuterTypeId();
4376      }
4377      /**
4378       * Protobuf type {@code org.jetbrains.kotlin.serialization.Type}
4379       */
4380      public static final class Type extends
4381          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
4382            Type> implements TypeOrBuilder {
4383        // Use Type.newBuilder() to construct.
4384        private Type(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Type, ?> builder) {
4385          super(builder);
4386    
4387        }
4388        private Type(boolean noInit) {}
4389    
4390        private static final Type defaultInstance;
4391        public static Type getDefaultInstance() {
4392          return defaultInstance;
4393        }
4394    
4395        public Type getDefaultInstanceForType() {
4396          return defaultInstance;
4397        }
4398    
4399        private Type(
4400            com.google.protobuf.CodedInputStream input,
4401            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4402            throws com.google.protobuf.InvalidProtocolBufferException {
4403          initFields();
4404          int mutable_bitField0_ = 0;
4405          try {
4406            boolean done = false;
4407            while (!done) {
4408              int tag = input.readTag();
4409              switch (tag) {
4410                case 0:
4411                  done = true;
4412                  break;
4413                default: {
4414                  if (!parseUnknownField(input,
4415                                         extensionRegistry, tag)) {
4416                    done = true;
4417                  }
4418                  break;
4419                }
4420                case 18: {
4421                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
4422                    argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument>();
4423                    mutable_bitField0_ |= 0x00000001;
4424                  }
4425                  argument_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.PARSER, extensionRegistry));
4426                  break;
4427                }
4428                case 24: {
4429                  bitField0_ |= 0x00000001;
4430                  nullable_ = input.readBool();
4431                  break;
4432                }
4433                case 32: {
4434                  bitField0_ |= 0x00000002;
4435                  flexibleTypeCapabilitiesId_ = input.readInt32();
4436                  break;
4437                }
4438                case 42: {
4439                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
4440                  if (((bitField0_ & 0x00000004) == 0x00000004)) {
4441                    subBuilder = flexibleUpperBound_.toBuilder();
4442                  }
4443                  flexibleUpperBound_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
4444                  if (subBuilder != null) {
4445                    subBuilder.mergeFrom(flexibleUpperBound_);
4446                    flexibleUpperBound_ = subBuilder.buildPartial();
4447                  }
4448                  bitField0_ |= 0x00000004;
4449                  break;
4450                }
4451                case 48: {
4452                  bitField0_ |= 0x00000010;
4453                  className_ = input.readInt32();
4454                  break;
4455                }
4456                case 56: {
4457                  bitField0_ |= 0x00000020;
4458                  typeParameter_ = input.readInt32();
4459                  break;
4460                }
4461                case 64: {
4462                  bitField0_ |= 0x00000008;
4463                  flexibleUpperBoundId_ = input.readInt32();
4464                  break;
4465                }
4466                case 72: {
4467                  bitField0_ |= 0x00000040;
4468                  typeParameterName_ = input.readInt32();
4469                  break;
4470                }
4471                case 82: {
4472                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
4473                  if (((bitField0_ & 0x00000080) == 0x00000080)) {
4474                    subBuilder = outerType_.toBuilder();
4475                  }
4476                  outerType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
4477                  if (subBuilder != null) {
4478                    subBuilder.mergeFrom(outerType_);
4479                    outerType_ = subBuilder.buildPartial();
4480                  }
4481                  bitField0_ |= 0x00000080;
4482                  break;
4483                }
4484                case 88: {
4485                  bitField0_ |= 0x00000100;
4486                  outerTypeId_ = input.readInt32();
4487                  break;
4488                }
4489              }
4490            }
4491          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4492            throw e.setUnfinishedMessage(this);
4493          } catch (java.io.IOException e) {
4494            throw new com.google.protobuf.InvalidProtocolBufferException(
4495                e.getMessage()).setUnfinishedMessage(this);
4496          } finally {
4497            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
4498              argument_ = java.util.Collections.unmodifiableList(argument_);
4499            }
4500            makeExtensionsImmutable();
4501          }
4502        }
4503        public static com.google.protobuf.Parser<Type> PARSER =
4504            new com.google.protobuf.AbstractParser<Type>() {
4505          public Type parsePartialFrom(
4506              com.google.protobuf.CodedInputStream input,
4507              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4508              throws com.google.protobuf.InvalidProtocolBufferException {
4509            return new Type(input, extensionRegistry);
4510          }
4511        };
4512    
4513        @java.lang.Override
4514        public com.google.protobuf.Parser<Type> getParserForType() {
4515          return PARSER;
4516        }
4517    
4518        public interface ArgumentOrBuilder
4519            extends com.google.protobuf.MessageLiteOrBuilder {
4520    
4521          // optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];
4522          /**
4523           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
4524           */
4525          boolean hasProjection();
4526          /**
4527           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
4528           */
4529          org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection();
4530    
4531          // optional .org.jetbrains.kotlin.serialization.Type type = 2;
4532          /**
4533           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
4534           *
4535           * <pre>
4536           * When projection is STAR, no type is written, otherwise type must be specified
4537           * </pre>
4538           */
4539          boolean hasType();
4540          /**
4541           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
4542           *
4543           * <pre>
4544           * When projection is STAR, no type is written, otherwise type must be specified
4545           * </pre>
4546           */
4547          org.jetbrains.kotlin.serialization.ProtoBuf.Type getType();
4548    
4549          // optional int32 type_id = 3;
4550          /**
4551           * <code>optional int32 type_id = 3;</code>
4552           */
4553          boolean hasTypeId();
4554          /**
4555           * <code>optional int32 type_id = 3;</code>
4556           */
4557          int getTypeId();
4558        }
4559        /**
4560         * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Argument}
4561         */
4562        public static final class Argument extends
4563            com.google.protobuf.GeneratedMessageLite
4564            implements ArgumentOrBuilder {
4565          // Use Argument.newBuilder() to construct.
4566          private Argument(com.google.protobuf.GeneratedMessageLite.Builder builder) {
4567            super(builder);
4568    
4569          }
4570          private Argument(boolean noInit) {}
4571    
4572          private static final Argument defaultInstance;
4573          public static Argument getDefaultInstance() {
4574            return defaultInstance;
4575          }
4576    
4577          public Argument getDefaultInstanceForType() {
4578            return defaultInstance;
4579          }
4580    
4581          private Argument(
4582              com.google.protobuf.CodedInputStream input,
4583              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4584              throws com.google.protobuf.InvalidProtocolBufferException {
4585            initFields();
4586            int mutable_bitField0_ = 0;
4587            try {
4588              boolean done = false;
4589              while (!done) {
4590                int tag = input.readTag();
4591                switch (tag) {
4592                  case 0:
4593                    done = true;
4594                    break;
4595                  default: {
4596                    if (!parseUnknownField(input,
4597                                           extensionRegistry, tag)) {
4598                      done = true;
4599                    }
4600                    break;
4601                  }
4602                  case 8: {
4603                    int rawValue = input.readEnum();
4604                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection value = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.valueOf(rawValue);
4605                    if (value != null) {
4606                      bitField0_ |= 0x00000001;
4607                      projection_ = value;
4608                    }
4609                    break;
4610                  }
4611                  case 18: {
4612                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
4613                    if (((bitField0_ & 0x00000002) == 0x00000002)) {
4614                      subBuilder = type_.toBuilder();
4615                    }
4616                    type_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
4617                    if (subBuilder != null) {
4618                      subBuilder.mergeFrom(type_);
4619                      type_ = subBuilder.buildPartial();
4620                    }
4621                    bitField0_ |= 0x00000002;
4622                    break;
4623                  }
4624                  case 24: {
4625                    bitField0_ |= 0x00000004;
4626                    typeId_ = input.readInt32();
4627                    break;
4628                  }
4629                }
4630              }
4631            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4632              throw e.setUnfinishedMessage(this);
4633            } catch (java.io.IOException e) {
4634              throw new com.google.protobuf.InvalidProtocolBufferException(
4635                  e.getMessage()).setUnfinishedMessage(this);
4636            } finally {
4637              makeExtensionsImmutable();
4638            }
4639          }
4640          public static com.google.protobuf.Parser<Argument> PARSER =
4641              new com.google.protobuf.AbstractParser<Argument>() {
4642            public Argument parsePartialFrom(
4643                com.google.protobuf.CodedInputStream input,
4644                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4645                throws com.google.protobuf.InvalidProtocolBufferException {
4646              return new Argument(input, extensionRegistry);
4647            }
4648          };
4649    
4650          @java.lang.Override
4651          public com.google.protobuf.Parser<Argument> getParserForType() {
4652            return PARSER;
4653          }
4654    
4655          /**
4656           * Protobuf enum {@code org.jetbrains.kotlin.serialization.Type.Argument.Projection}
4657           */
4658          public enum Projection
4659              implements com.google.protobuf.Internal.EnumLite {
4660            /**
4661             * <code>IN = 0;</code>
4662             */
4663            IN(0, 0),
4664            /**
4665             * <code>OUT = 1;</code>
4666             */
4667            OUT(1, 1),
4668            /**
4669             * <code>INV = 2;</code>
4670             */
4671            INV(2, 2),
4672            /**
4673             * <code>STAR = 3;</code>
4674             */
4675            STAR(3, 3),
4676            ;
4677    
4678            /**
4679             * <code>IN = 0;</code>
4680             */
4681            public static final int IN_VALUE = 0;
4682            /**
4683             * <code>OUT = 1;</code>
4684             */
4685            public static final int OUT_VALUE = 1;
4686            /**
4687             * <code>INV = 2;</code>
4688             */
4689            public static final int INV_VALUE = 2;
4690            /**
4691             * <code>STAR = 3;</code>
4692             */
4693            public static final int STAR_VALUE = 3;
4694    
4695    
4696            public final int getNumber() { return value; }
4697    
4698            public static Projection valueOf(int value) {
4699              switch (value) {
4700                case 0: return IN;
4701                case 1: return OUT;
4702                case 2: return INV;
4703                case 3: return STAR;
4704                default: return null;
4705              }
4706            }
4707    
4708            public static com.google.protobuf.Internal.EnumLiteMap<Projection>
4709                internalGetValueMap() {
4710              return internalValueMap;
4711            }
4712            private static com.google.protobuf.Internal.EnumLiteMap<Projection>
4713                internalValueMap =
4714                  new com.google.protobuf.Internal.EnumLiteMap<Projection>() {
4715                    public Projection findValueByNumber(int number) {
4716                      return Projection.valueOf(number);
4717                    }
4718                  };
4719    
4720            private final int value;
4721    
4722            private Projection(int index, int value) {
4723              this.value = value;
4724            }
4725    
4726            // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Type.Argument.Projection)
4727          }
4728    
4729          private int bitField0_;
4730          // optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];
4731          public static final int PROJECTION_FIELD_NUMBER = 1;
4732          private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection projection_;
4733          /**
4734           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
4735           */
4736          public boolean hasProjection() {
4737            return ((bitField0_ & 0x00000001) == 0x00000001);
4738          }
4739          /**
4740           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
4741           */
4742          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
4743            return projection_;
4744          }
4745    
4746          // optional .org.jetbrains.kotlin.serialization.Type type = 2;
4747          public static final int TYPE_FIELD_NUMBER = 2;
4748          private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_;
4749          /**
4750           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
4751           *
4752           * <pre>
4753           * When projection is STAR, no type is written, otherwise type must be specified
4754           * </pre>
4755           */
4756          public boolean hasType() {
4757            return ((bitField0_ & 0x00000002) == 0x00000002);
4758          }
4759          /**
4760           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
4761           *
4762           * <pre>
4763           * When projection is STAR, no type is written, otherwise type must be specified
4764           * </pre>
4765           */
4766          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
4767            return type_;
4768          }
4769    
4770          // optional int32 type_id = 3;
4771          public static final int TYPE_ID_FIELD_NUMBER = 3;
4772          private int typeId_;
4773          /**
4774           * <code>optional int32 type_id = 3;</code>
4775           */
4776          public boolean hasTypeId() {
4777            return ((bitField0_ & 0x00000004) == 0x00000004);
4778          }
4779          /**
4780           * <code>optional int32 type_id = 3;</code>
4781           */
4782          public int getTypeId() {
4783            return typeId_;
4784          }
4785    
4786          private void initFields() {
4787            projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
4788            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
4789            typeId_ = 0;
4790          }
4791          private byte memoizedIsInitialized = -1;
4792          public final boolean isInitialized() {
4793            byte isInitialized = memoizedIsInitialized;
4794            if (isInitialized != -1) return isInitialized == 1;
4795    
4796            if (hasType()) {
4797              if (!getType().isInitialized()) {
4798                memoizedIsInitialized = 0;
4799                return false;
4800              }
4801            }
4802            memoizedIsInitialized = 1;
4803            return true;
4804          }
4805    
4806          public void writeTo(com.google.protobuf.CodedOutputStream output)
4807                              throws java.io.IOException {
4808            getSerializedSize();
4809            if (((bitField0_ & 0x00000001) == 0x00000001)) {
4810              output.writeEnum(1, projection_.getNumber());
4811            }
4812            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4813              output.writeMessage(2, type_);
4814            }
4815            if (((bitField0_ & 0x00000004) == 0x00000004)) {
4816              output.writeInt32(3, typeId_);
4817            }
4818          }
4819    
4820          private int memoizedSerializedSize = -1;
4821          public int getSerializedSize() {
4822            int size = memoizedSerializedSize;
4823            if (size != -1) return size;
4824    
4825            size = 0;
4826            if (((bitField0_ & 0x00000001) == 0x00000001)) {
4827              size += com.google.protobuf.CodedOutputStream
4828                .computeEnumSize(1, projection_.getNumber());
4829            }
4830            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4831              size += com.google.protobuf.CodedOutputStream
4832                .computeMessageSize(2, type_);
4833            }
4834            if (((bitField0_ & 0x00000004) == 0x00000004)) {
4835              size += com.google.protobuf.CodedOutputStream
4836                .computeInt32Size(3, typeId_);
4837            }
4838            memoizedSerializedSize = size;
4839            return size;
4840          }
4841    
4842          private static final long serialVersionUID = 0L;
4843          @java.lang.Override
4844          protected java.lang.Object writeReplace()
4845              throws java.io.ObjectStreamException {
4846            return super.writeReplace();
4847          }
4848    
4849          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
4850              com.google.protobuf.ByteString data)
4851              throws com.google.protobuf.InvalidProtocolBufferException {
4852            return PARSER.parseFrom(data);
4853          }
4854          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
4855              com.google.protobuf.ByteString data,
4856              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4857              throws com.google.protobuf.InvalidProtocolBufferException {
4858            return PARSER.parseFrom(data, extensionRegistry);
4859          }
4860          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(byte[] data)
4861              throws com.google.protobuf.InvalidProtocolBufferException {
4862            return PARSER.parseFrom(data);
4863          }
4864          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
4865              byte[] data,
4866              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4867              throws com.google.protobuf.InvalidProtocolBufferException {
4868            return PARSER.parseFrom(data, extensionRegistry);
4869          }
4870          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(java.io.InputStream input)
4871              throws java.io.IOException {
4872            return PARSER.parseFrom(input);
4873          }
4874          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
4875              java.io.InputStream input,
4876              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4877              throws java.io.IOException {
4878            return PARSER.parseFrom(input, extensionRegistry);
4879          }
4880          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(java.io.InputStream input)
4881              throws java.io.IOException {
4882            return PARSER.parseDelimitedFrom(input);
4883          }
4884          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(
4885              java.io.InputStream input,
4886              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4887              throws java.io.IOException {
4888            return PARSER.parseDelimitedFrom(input, extensionRegistry);
4889          }
4890          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
4891              com.google.protobuf.CodedInputStream input)
4892              throws java.io.IOException {
4893            return PARSER.parseFrom(input);
4894          }
4895          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
4896              com.google.protobuf.CodedInputStream input,
4897              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4898              throws java.io.IOException {
4899            return PARSER.parseFrom(input, extensionRegistry);
4900          }
4901    
4902          public static Builder newBuilder() { return Builder.create(); }
4903          public Builder newBuilderForType() { return newBuilder(); }
4904          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument prototype) {
4905            return newBuilder().mergeFrom(prototype);
4906          }
4907          public Builder toBuilder() { return newBuilder(this); }
4908    
4909          /**
4910           * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Argument}
4911           */
4912          public static final class Builder extends
4913              com.google.protobuf.GeneratedMessageLite.Builder<
4914                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument, Builder>
4915              implements org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder {
4916            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.newBuilder()
4917            private Builder() {
4918              maybeForceBuilderInitialization();
4919            }
4920    
4921            private void maybeForceBuilderInitialization() {
4922            }
4923            private static Builder create() {
4924              return new Builder();
4925            }
4926    
4927            public Builder clear() {
4928              super.clear();
4929              projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
4930              bitField0_ = (bitField0_ & ~0x00000001);
4931              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
4932              bitField0_ = (bitField0_ & ~0x00000002);
4933              typeId_ = 0;
4934              bitField0_ = (bitField0_ & ~0x00000004);
4935              return this;
4936            }
4937    
4938            public Builder clone() {
4939              return create().mergeFrom(buildPartial());
4940            }
4941    
4942            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getDefaultInstanceForType() {
4943              return org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.getDefaultInstance();
4944            }
4945    
4946            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument build() {
4947              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument result = buildPartial();
4948              if (!result.isInitialized()) {
4949                throw newUninitializedMessageException(result);
4950              }
4951              return result;
4952            }
4953    
4954            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument buildPartial() {
4955              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument result = new org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument(this);
4956              int from_bitField0_ = bitField0_;
4957              int to_bitField0_ = 0;
4958              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
4959                to_bitField0_ |= 0x00000001;
4960              }
4961              result.projection_ = projection_;
4962              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
4963                to_bitField0_ |= 0x00000002;
4964              }
4965              result.type_ = type_;
4966              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
4967                to_bitField0_ |= 0x00000004;
4968              }
4969              result.typeId_ = typeId_;
4970              result.bitField0_ = to_bitField0_;
4971              return result;
4972            }
4973    
4974            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument other) {
4975              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.getDefaultInstance()) return this;
4976              if (other.hasProjection()) {
4977                setProjection(other.getProjection());
4978              }
4979              if (other.hasType()) {
4980                mergeType(other.getType());
4981              }
4982              if (other.hasTypeId()) {
4983                setTypeId(other.getTypeId());
4984              }
4985              return this;
4986            }
4987    
4988            public final boolean isInitialized() {
4989              if (hasType()) {
4990                if (!getType().isInitialized()) {
4991                  
4992                  return false;
4993                }
4994              }
4995              return true;
4996            }
4997    
4998            public Builder mergeFrom(
4999                com.google.protobuf.CodedInputStream input,
5000                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5001                throws java.io.IOException {
5002              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parsedMessage = null;
5003              try {
5004                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
5005              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5006                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument) e.getUnfinishedMessage();
5007                throw e;
5008              } finally {
5009                if (parsedMessage != null) {
5010                  mergeFrom(parsedMessage);
5011                }
5012              }
5013              return this;
5014            }
5015            private int bitField0_;
5016    
5017            // optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];
5018            private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5019            /**
5020             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5021             */
5022            public boolean hasProjection() {
5023              return ((bitField0_ & 0x00000001) == 0x00000001);
5024            }
5025            /**
5026             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5027             */
5028            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
5029              return projection_;
5030            }
5031            /**
5032             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5033             */
5034            public Builder setProjection(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection value) {
5035              if (value == null) {
5036                throw new NullPointerException();
5037              }
5038              bitField0_ |= 0x00000001;
5039              projection_ = value;
5040              
5041              return this;
5042            }
5043            /**
5044             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5045             */
5046            public Builder clearProjection() {
5047              bitField0_ = (bitField0_ & ~0x00000001);
5048              projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5049              
5050              return this;
5051            }
5052    
5053            // optional .org.jetbrains.kotlin.serialization.Type type = 2;
5054            private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5055            /**
5056             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5057             *
5058             * <pre>
5059             * When projection is STAR, no type is written, otherwise type must be specified
5060             * </pre>
5061             */
5062            public boolean hasType() {
5063              return ((bitField0_ & 0x00000002) == 0x00000002);
5064            }
5065            /**
5066             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5067             *
5068             * <pre>
5069             * When projection is STAR, no type is written, otherwise type must be specified
5070             * </pre>
5071             */
5072            public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
5073              return type_;
5074            }
5075            /**
5076             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5077             *
5078             * <pre>
5079             * When projection is STAR, no type is written, otherwise type must be specified
5080             * </pre>
5081             */
5082            public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
5083              if (value == null) {
5084                throw new NullPointerException();
5085              }
5086              type_ = value;
5087    
5088              bitField0_ |= 0x00000002;
5089              return this;
5090            }
5091            /**
5092             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5093             *
5094             * <pre>
5095             * When projection is STAR, no type is written, otherwise type must be specified
5096             * </pre>
5097             */
5098            public Builder setType(
5099                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
5100              type_ = builderForValue.build();
5101    
5102              bitField0_ |= 0x00000002;
5103              return this;
5104            }
5105            /**
5106             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5107             *
5108             * <pre>
5109             * When projection is STAR, no type is written, otherwise type must be specified
5110             * </pre>
5111             */
5112            public Builder mergeType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
5113              if (((bitField0_ & 0x00000002) == 0x00000002) &&
5114                  type_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
5115                type_ =
5116                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
5117              } else {
5118                type_ = value;
5119              }
5120    
5121              bitField0_ |= 0x00000002;
5122              return this;
5123            }
5124            /**
5125             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5126             *
5127             * <pre>
5128             * When projection is STAR, no type is written, otherwise type must be specified
5129             * </pre>
5130             */
5131            public Builder clearType() {
5132              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5133    
5134              bitField0_ = (bitField0_ & ~0x00000002);
5135              return this;
5136            }
5137    
5138            // optional int32 type_id = 3;
5139            private int typeId_ ;
5140            /**
5141             * <code>optional int32 type_id = 3;</code>
5142             */
5143            public boolean hasTypeId() {
5144              return ((bitField0_ & 0x00000004) == 0x00000004);
5145            }
5146            /**
5147             * <code>optional int32 type_id = 3;</code>
5148             */
5149            public int getTypeId() {
5150              return typeId_;
5151            }
5152            /**
5153             * <code>optional int32 type_id = 3;</code>
5154             */
5155            public Builder setTypeId(int value) {
5156              bitField0_ |= 0x00000004;
5157              typeId_ = value;
5158              
5159              return this;
5160            }
5161            /**
5162             * <code>optional int32 type_id = 3;</code>
5163             */
5164            public Builder clearTypeId() {
5165              bitField0_ = (bitField0_ & ~0x00000004);
5166              typeId_ = 0;
5167              
5168              return this;
5169            }
5170    
5171            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Type.Argument)
5172          }
5173    
5174          static {
5175            defaultInstance = new Argument(true);
5176            defaultInstance.initFields();
5177          }
5178    
5179          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Type.Argument)
5180        }
5181    
5182        private int bitField0_;
5183        // repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;
5184        public static final int ARGUMENT_FIELD_NUMBER = 2;
5185        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> argument_;
5186        /**
5187         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5188         */
5189        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> getArgumentList() {
5190          return argument_;
5191        }
5192        /**
5193         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5194         */
5195        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder> 
5196            getArgumentOrBuilderList() {
5197          return argument_;
5198        }
5199        /**
5200         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5201         */
5202        public int getArgumentCount() {
5203          return argument_.size();
5204        }
5205        /**
5206         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5207         */
5208        public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index) {
5209          return argument_.get(index);
5210        }
5211        /**
5212         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5213         */
5214        public org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder getArgumentOrBuilder(
5215            int index) {
5216          return argument_.get(index);
5217        }
5218    
5219        // optional bool nullable = 3 [default = false];
5220        public static final int NULLABLE_FIELD_NUMBER = 3;
5221        private boolean nullable_;
5222        /**
5223         * <code>optional bool nullable = 3 [default = false];</code>
5224         */
5225        public boolean hasNullable() {
5226          return ((bitField0_ & 0x00000001) == 0x00000001);
5227        }
5228        /**
5229         * <code>optional bool nullable = 3 [default = false];</code>
5230         */
5231        public boolean getNullable() {
5232          return nullable_;
5233        }
5234    
5235        // optional int32 flexible_type_capabilities_id = 4;
5236        public static final int FLEXIBLE_TYPE_CAPABILITIES_ID_FIELD_NUMBER = 4;
5237        private int flexibleTypeCapabilitiesId_;
5238        /**
5239         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5240         *
5241         * <pre>
5242         * If this field is set, the type is flexible.
5243         * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5244         * </pre>
5245         */
5246        public boolean hasFlexibleTypeCapabilitiesId() {
5247          return ((bitField0_ & 0x00000002) == 0x00000002);
5248        }
5249        /**
5250         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5251         *
5252         * <pre>
5253         * If this field is set, the type is flexible.
5254         * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5255         * </pre>
5256         */
5257        public int getFlexibleTypeCapabilitiesId() {
5258          return flexibleTypeCapabilitiesId_;
5259        }
5260    
5261        // optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;
5262        public static final int FLEXIBLE_UPPER_BOUND_FIELD_NUMBER = 5;
5263        private org.jetbrains.kotlin.serialization.ProtoBuf.Type flexibleUpperBound_;
5264        /**
5265         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5266         */
5267        public boolean hasFlexibleUpperBound() {
5268          return ((bitField0_ & 0x00000004) == 0x00000004);
5269        }
5270        /**
5271         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5272         */
5273        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound() {
5274          return flexibleUpperBound_;
5275        }
5276    
5277        // optional int32 flexible_upper_bound_id = 8;
5278        public static final int FLEXIBLE_UPPER_BOUND_ID_FIELD_NUMBER = 8;
5279        private int flexibleUpperBoundId_;
5280        /**
5281         * <code>optional int32 flexible_upper_bound_id = 8;</code>
5282         */
5283        public boolean hasFlexibleUpperBoundId() {
5284          return ((bitField0_ & 0x00000008) == 0x00000008);
5285        }
5286        /**
5287         * <code>optional int32 flexible_upper_bound_id = 8;</code>
5288         */
5289        public int getFlexibleUpperBoundId() {
5290          return flexibleUpperBoundId_;
5291        }
5292    
5293        // optional int32 class_name = 6;
5294        public static final int CLASS_NAME_FIELD_NUMBER = 6;
5295        private int className_;
5296        /**
5297         * <code>optional int32 class_name = 6;</code>
5298         */
5299        public boolean hasClassName() {
5300          return ((bitField0_ & 0x00000010) == 0x00000010);
5301        }
5302        /**
5303         * <code>optional int32 class_name = 6;</code>
5304         */
5305        public int getClassName() {
5306          return className_;
5307        }
5308    
5309        // optional int32 type_parameter = 7;
5310        public static final int TYPE_PARAMETER_FIELD_NUMBER = 7;
5311        private int typeParameter_;
5312        /**
5313         * <code>optional int32 type_parameter = 7;</code>
5314         *
5315         * <pre>
5316         * id of the type parameter
5317         * </pre>
5318         */
5319        public boolean hasTypeParameter() {
5320          return ((bitField0_ & 0x00000020) == 0x00000020);
5321        }
5322        /**
5323         * <code>optional int32 type_parameter = 7;</code>
5324         *
5325         * <pre>
5326         * id of the type parameter
5327         * </pre>
5328         */
5329        public int getTypeParameter() {
5330          return typeParameter_;
5331        }
5332    
5333        // optional int32 type_parameter_name = 9;
5334        public static final int TYPE_PARAMETER_NAME_FIELD_NUMBER = 9;
5335        private int typeParameterName_;
5336        /**
5337         * <code>optional int32 type_parameter_name = 9;</code>
5338         *
5339         * <pre>
5340         * Name of the type parameter in the immediate owner
5341         * </pre>
5342         */
5343        public boolean hasTypeParameterName() {
5344          return ((bitField0_ & 0x00000040) == 0x00000040);
5345        }
5346        /**
5347         * <code>optional int32 type_parameter_name = 9;</code>
5348         *
5349         * <pre>
5350         * Name of the type parameter in the immediate owner
5351         * </pre>
5352         */
5353        public int getTypeParameterName() {
5354          return typeParameterName_;
5355        }
5356    
5357        // optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;
5358        public static final int OUTER_TYPE_FIELD_NUMBER = 10;
5359        private org.jetbrains.kotlin.serialization.ProtoBuf.Type outerType_;
5360        /**
5361         * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
5362         */
5363        public boolean hasOuterType() {
5364          return ((bitField0_ & 0x00000080) == 0x00000080);
5365        }
5366        /**
5367         * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
5368         */
5369        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getOuterType() {
5370          return outerType_;
5371        }
5372    
5373        // optional int32 outer_type_id = 11;
5374        public static final int OUTER_TYPE_ID_FIELD_NUMBER = 11;
5375        private int outerTypeId_;
5376        /**
5377         * <code>optional int32 outer_type_id = 11;</code>
5378         */
5379        public boolean hasOuterTypeId() {
5380          return ((bitField0_ & 0x00000100) == 0x00000100);
5381        }
5382        /**
5383         * <code>optional int32 outer_type_id = 11;</code>
5384         */
5385        public int getOuterTypeId() {
5386          return outerTypeId_;
5387        }
5388    
5389        private void initFields() {
5390          argument_ = java.util.Collections.emptyList();
5391          nullable_ = false;
5392          flexibleTypeCapabilitiesId_ = 0;
5393          flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5394          flexibleUpperBoundId_ = 0;
5395          className_ = 0;
5396          typeParameter_ = 0;
5397          typeParameterName_ = 0;
5398          outerType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5399          outerTypeId_ = 0;
5400        }
5401        private byte memoizedIsInitialized = -1;
5402        public final boolean isInitialized() {
5403          byte isInitialized = memoizedIsInitialized;
5404          if (isInitialized != -1) return isInitialized == 1;
5405    
5406          for (int i = 0; i < getArgumentCount(); i++) {
5407            if (!getArgument(i).isInitialized()) {
5408              memoizedIsInitialized = 0;
5409              return false;
5410            }
5411          }
5412          if (hasFlexibleUpperBound()) {
5413            if (!getFlexibleUpperBound().isInitialized()) {
5414              memoizedIsInitialized = 0;
5415              return false;
5416            }
5417          }
5418          if (hasOuterType()) {
5419            if (!getOuterType().isInitialized()) {
5420              memoizedIsInitialized = 0;
5421              return false;
5422            }
5423          }
5424          if (!extensionsAreInitialized()) {
5425            memoizedIsInitialized = 0;
5426            return false;
5427          }
5428          memoizedIsInitialized = 1;
5429          return true;
5430        }
5431    
5432        public void writeTo(com.google.protobuf.CodedOutputStream output)
5433                            throws java.io.IOException {
5434          getSerializedSize();
5435          com.google.protobuf.GeneratedMessageLite
5436            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Type>.ExtensionWriter extensionWriter =
5437              newExtensionWriter();
5438          for (int i = 0; i < argument_.size(); i++) {
5439            output.writeMessage(2, argument_.get(i));
5440          }
5441          if (((bitField0_ & 0x00000001) == 0x00000001)) {
5442            output.writeBool(3, nullable_);
5443          }
5444          if (((bitField0_ & 0x00000002) == 0x00000002)) {
5445            output.writeInt32(4, flexibleTypeCapabilitiesId_);
5446          }
5447          if (((bitField0_ & 0x00000004) == 0x00000004)) {
5448            output.writeMessage(5, flexibleUpperBound_);
5449          }
5450          if (((bitField0_ & 0x00000010) == 0x00000010)) {
5451            output.writeInt32(6, className_);
5452          }
5453          if (((bitField0_ & 0x00000020) == 0x00000020)) {
5454            output.writeInt32(7, typeParameter_);
5455          }
5456          if (((bitField0_ & 0x00000008) == 0x00000008)) {
5457            output.writeInt32(8, flexibleUpperBoundId_);
5458          }
5459          if (((bitField0_ & 0x00000040) == 0x00000040)) {
5460            output.writeInt32(9, typeParameterName_);
5461          }
5462          if (((bitField0_ & 0x00000080) == 0x00000080)) {
5463            output.writeMessage(10, outerType_);
5464          }
5465          if (((bitField0_ & 0x00000100) == 0x00000100)) {
5466            output.writeInt32(11, outerTypeId_);
5467          }
5468          extensionWriter.writeUntil(200, output);
5469        }
5470    
5471        private int memoizedSerializedSize = -1;
5472        public int getSerializedSize() {
5473          int size = memoizedSerializedSize;
5474          if (size != -1) return size;
5475    
5476          size = 0;
5477          for (int i = 0; i < argument_.size(); i++) {
5478            size += com.google.protobuf.CodedOutputStream
5479              .computeMessageSize(2, argument_.get(i));
5480          }
5481          if (((bitField0_ & 0x00000001) == 0x00000001)) {
5482            size += com.google.protobuf.CodedOutputStream
5483              .computeBoolSize(3, nullable_);
5484          }
5485          if (((bitField0_ & 0x00000002) == 0x00000002)) {
5486            size += com.google.protobuf.CodedOutputStream
5487              .computeInt32Size(4, flexibleTypeCapabilitiesId_);
5488          }
5489          if (((bitField0_ & 0x00000004) == 0x00000004)) {
5490            size += com.google.protobuf.CodedOutputStream
5491              .computeMessageSize(5, flexibleUpperBound_);
5492          }
5493          if (((bitField0_ & 0x00000010) == 0x00000010)) {
5494            size += com.google.protobuf.CodedOutputStream
5495              .computeInt32Size(6, className_);
5496          }
5497          if (((bitField0_ & 0x00000020) == 0x00000020)) {
5498            size += com.google.protobuf.CodedOutputStream
5499              .computeInt32Size(7, typeParameter_);
5500          }
5501          if (((bitField0_ & 0x00000008) == 0x00000008)) {
5502            size += com.google.protobuf.CodedOutputStream
5503              .computeInt32Size(8, flexibleUpperBoundId_);
5504          }
5505          if (((bitField0_ & 0x00000040) == 0x00000040)) {
5506            size += com.google.protobuf.CodedOutputStream
5507              .computeInt32Size(9, typeParameterName_);
5508          }
5509          if (((bitField0_ & 0x00000080) == 0x00000080)) {
5510            size += com.google.protobuf.CodedOutputStream
5511              .computeMessageSize(10, outerType_);
5512          }
5513          if (((bitField0_ & 0x00000100) == 0x00000100)) {
5514            size += com.google.protobuf.CodedOutputStream
5515              .computeInt32Size(11, outerTypeId_);
5516          }
5517          size += extensionsSerializedSize();
5518          memoizedSerializedSize = size;
5519          return size;
5520        }
5521    
5522        private static final long serialVersionUID = 0L;
5523        @java.lang.Override
5524        protected java.lang.Object writeReplace()
5525            throws java.io.ObjectStreamException {
5526          return super.writeReplace();
5527        }
5528    
5529        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5530            com.google.protobuf.ByteString data)
5531            throws com.google.protobuf.InvalidProtocolBufferException {
5532          return PARSER.parseFrom(data);
5533        }
5534        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5535            com.google.protobuf.ByteString data,
5536            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5537            throws com.google.protobuf.InvalidProtocolBufferException {
5538          return PARSER.parseFrom(data, extensionRegistry);
5539        }
5540        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(byte[] data)
5541            throws com.google.protobuf.InvalidProtocolBufferException {
5542          return PARSER.parseFrom(data);
5543        }
5544        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5545            byte[] data,
5546            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5547            throws com.google.protobuf.InvalidProtocolBufferException {
5548          return PARSER.parseFrom(data, extensionRegistry);
5549        }
5550        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(java.io.InputStream input)
5551            throws java.io.IOException {
5552          return PARSER.parseFrom(input);
5553        }
5554        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5555            java.io.InputStream input,
5556            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5557            throws java.io.IOException {
5558          return PARSER.parseFrom(input, extensionRegistry);
5559        }
5560        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseDelimitedFrom(java.io.InputStream input)
5561            throws java.io.IOException {
5562          return PARSER.parseDelimitedFrom(input);
5563        }
5564        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseDelimitedFrom(
5565            java.io.InputStream input,
5566            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5567            throws java.io.IOException {
5568          return PARSER.parseDelimitedFrom(input, extensionRegistry);
5569        }
5570        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5571            com.google.protobuf.CodedInputStream input)
5572            throws java.io.IOException {
5573          return PARSER.parseFrom(input);
5574        }
5575        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5576            com.google.protobuf.CodedInputStream input,
5577            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5578            throws java.io.IOException {
5579          return PARSER.parseFrom(input, extensionRegistry);
5580        }
5581    
5582        public static Builder newBuilder() { return Builder.create(); }
5583        public Builder newBuilderForType() { return newBuilder(); }
5584        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Type prototype) {
5585          return newBuilder().mergeFrom(prototype);
5586        }
5587        public Builder toBuilder() { return newBuilder(this); }
5588    
5589        /**
5590         * Protobuf type {@code org.jetbrains.kotlin.serialization.Type}
5591         */
5592        public static final class Builder extends
5593            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
5594              org.jetbrains.kotlin.serialization.ProtoBuf.Type, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder {
5595          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder()
5596          private Builder() {
5597            maybeForceBuilderInitialization();
5598          }
5599    
5600          private void maybeForceBuilderInitialization() {
5601          }
5602          private static Builder create() {
5603            return new Builder();
5604          }
5605    
5606          public Builder clear() {
5607            super.clear();
5608            argument_ = java.util.Collections.emptyList();
5609            bitField0_ = (bitField0_ & ~0x00000001);
5610            nullable_ = false;
5611            bitField0_ = (bitField0_ & ~0x00000002);
5612            flexibleTypeCapabilitiesId_ = 0;
5613            bitField0_ = (bitField0_ & ~0x00000004);
5614            flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5615            bitField0_ = (bitField0_ & ~0x00000008);
5616            flexibleUpperBoundId_ = 0;
5617            bitField0_ = (bitField0_ & ~0x00000010);
5618            className_ = 0;
5619            bitField0_ = (bitField0_ & ~0x00000020);
5620            typeParameter_ = 0;
5621            bitField0_ = (bitField0_ & ~0x00000040);
5622            typeParameterName_ = 0;
5623            bitField0_ = (bitField0_ & ~0x00000080);
5624            outerType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5625            bitField0_ = (bitField0_ & ~0x00000100);
5626            outerTypeId_ = 0;
5627            bitField0_ = (bitField0_ & ~0x00000200);
5628            return this;
5629          }
5630    
5631          public Builder clone() {
5632            return create().mergeFrom(buildPartial());
5633          }
5634    
5635          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getDefaultInstanceForType() {
5636            return org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5637          }
5638    
5639          public org.jetbrains.kotlin.serialization.ProtoBuf.Type build() {
5640            org.jetbrains.kotlin.serialization.ProtoBuf.Type result = buildPartial();
5641            if (!result.isInitialized()) {
5642              throw newUninitializedMessageException(result);
5643            }
5644            return result;
5645          }
5646    
5647          public org.jetbrains.kotlin.serialization.ProtoBuf.Type buildPartial() {
5648            org.jetbrains.kotlin.serialization.ProtoBuf.Type result = new org.jetbrains.kotlin.serialization.ProtoBuf.Type(this);
5649            int from_bitField0_ = bitField0_;
5650            int to_bitField0_ = 0;
5651            if (((bitField0_ & 0x00000001) == 0x00000001)) {
5652              argument_ = java.util.Collections.unmodifiableList(argument_);
5653              bitField0_ = (bitField0_ & ~0x00000001);
5654            }
5655            result.argument_ = argument_;
5656            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
5657              to_bitField0_ |= 0x00000001;
5658            }
5659            result.nullable_ = nullable_;
5660            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
5661              to_bitField0_ |= 0x00000002;
5662            }
5663            result.flexibleTypeCapabilitiesId_ = flexibleTypeCapabilitiesId_;
5664            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
5665              to_bitField0_ |= 0x00000004;
5666            }
5667            result.flexibleUpperBound_ = flexibleUpperBound_;
5668            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
5669              to_bitField0_ |= 0x00000008;
5670            }
5671            result.flexibleUpperBoundId_ = flexibleUpperBoundId_;
5672            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
5673              to_bitField0_ |= 0x00000010;
5674            }
5675            result.className_ = className_;
5676            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
5677              to_bitField0_ |= 0x00000020;
5678            }
5679            result.typeParameter_ = typeParameter_;
5680            if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
5681              to_bitField0_ |= 0x00000040;
5682            }
5683            result.typeParameterName_ = typeParameterName_;
5684            if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
5685              to_bitField0_ |= 0x00000080;
5686            }
5687            result.outerType_ = outerType_;
5688            if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
5689              to_bitField0_ |= 0x00000100;
5690            }
5691            result.outerTypeId_ = outerTypeId_;
5692            result.bitField0_ = to_bitField0_;
5693            return result;
5694          }
5695    
5696          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Type other) {
5697            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) return this;
5698            if (!other.argument_.isEmpty()) {
5699              if (argument_.isEmpty()) {
5700                argument_ = other.argument_;
5701                bitField0_ = (bitField0_ & ~0x00000001);
5702              } else {
5703                ensureArgumentIsMutable();
5704                argument_.addAll(other.argument_);
5705              }
5706              
5707            }
5708            if (other.hasNullable()) {
5709              setNullable(other.getNullable());
5710            }
5711            if (other.hasFlexibleTypeCapabilitiesId()) {
5712              setFlexibleTypeCapabilitiesId(other.getFlexibleTypeCapabilitiesId());
5713            }
5714            if (other.hasFlexibleUpperBound()) {
5715              mergeFlexibleUpperBound(other.getFlexibleUpperBound());
5716            }
5717            if (other.hasFlexibleUpperBoundId()) {
5718              setFlexibleUpperBoundId(other.getFlexibleUpperBoundId());
5719            }
5720            if (other.hasClassName()) {
5721              setClassName(other.getClassName());
5722            }
5723            if (other.hasTypeParameter()) {
5724              setTypeParameter(other.getTypeParameter());
5725            }
5726            if (other.hasTypeParameterName()) {
5727              setTypeParameterName(other.getTypeParameterName());
5728            }
5729            if (other.hasOuterType()) {
5730              mergeOuterType(other.getOuterType());
5731            }
5732            if (other.hasOuterTypeId()) {
5733              setOuterTypeId(other.getOuterTypeId());
5734            }
5735            this.mergeExtensionFields(other);
5736            return this;
5737          }
5738    
5739          public final boolean isInitialized() {
5740            for (int i = 0; i < getArgumentCount(); i++) {
5741              if (!getArgument(i).isInitialized()) {
5742                
5743                return false;
5744              }
5745            }
5746            if (hasFlexibleUpperBound()) {
5747              if (!getFlexibleUpperBound().isInitialized()) {
5748                
5749                return false;
5750              }
5751            }
5752            if (hasOuterType()) {
5753              if (!getOuterType().isInitialized()) {
5754                
5755                return false;
5756              }
5757            }
5758            if (!extensionsAreInitialized()) {
5759              
5760              return false;
5761            }
5762            return true;
5763          }
5764    
5765          public Builder mergeFrom(
5766              com.google.protobuf.CodedInputStream input,
5767              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5768              throws java.io.IOException {
5769            org.jetbrains.kotlin.serialization.ProtoBuf.Type parsedMessage = null;
5770            try {
5771              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
5772            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5773              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Type) e.getUnfinishedMessage();
5774              throw e;
5775            } finally {
5776              if (parsedMessage != null) {
5777                mergeFrom(parsedMessage);
5778              }
5779            }
5780            return this;
5781          }
5782          private int bitField0_;
5783    
5784          // repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;
5785          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> argument_ =
5786            java.util.Collections.emptyList();
5787          private void ensureArgumentIsMutable() {
5788            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
5789              argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument>(argument_);
5790              bitField0_ |= 0x00000001;
5791             }
5792          }
5793    
5794          /**
5795           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5796           */
5797          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> getArgumentList() {
5798            return java.util.Collections.unmodifiableList(argument_);
5799          }
5800          /**
5801           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5802           */
5803          public int getArgumentCount() {
5804            return argument_.size();
5805          }
5806          /**
5807           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5808           */
5809          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index) {
5810            return argument_.get(index);
5811          }
5812          /**
5813           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5814           */
5815          public Builder setArgument(
5816              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
5817            if (value == null) {
5818              throw new NullPointerException();
5819            }
5820            ensureArgumentIsMutable();
5821            argument_.set(index, value);
5822    
5823            return this;
5824          }
5825          /**
5826           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5827           */
5828          public Builder setArgument(
5829              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
5830            ensureArgumentIsMutable();
5831            argument_.set(index, builderForValue.build());
5832    
5833            return this;
5834          }
5835          /**
5836           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5837           */
5838          public Builder addArgument(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
5839            if (value == null) {
5840              throw new NullPointerException();
5841            }
5842            ensureArgumentIsMutable();
5843            argument_.add(value);
5844    
5845            return this;
5846          }
5847          /**
5848           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5849           */
5850          public Builder addArgument(
5851              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
5852            if (value == null) {
5853              throw new NullPointerException();
5854            }
5855            ensureArgumentIsMutable();
5856            argument_.add(index, value);
5857    
5858            return this;
5859          }
5860          /**
5861           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5862           */
5863          public Builder addArgument(
5864              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
5865            ensureArgumentIsMutable();
5866            argument_.add(builderForValue.build());
5867    
5868            return this;
5869          }
5870          /**
5871           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5872           */
5873          public Builder addArgument(
5874              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
5875            ensureArgumentIsMutable();
5876            argument_.add(index, builderForValue.build());
5877    
5878            return this;
5879          }
5880          /**
5881           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5882           */
5883          public Builder addAllArgument(
5884              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> values) {
5885            ensureArgumentIsMutable();
5886            super.addAll(values, argument_);
5887    
5888            return this;
5889          }
5890          /**
5891           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5892           */
5893          public Builder clearArgument() {
5894            argument_ = java.util.Collections.emptyList();
5895            bitField0_ = (bitField0_ & ~0x00000001);
5896    
5897            return this;
5898          }
5899          /**
5900           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5901           */
5902          public Builder removeArgument(int index) {
5903            ensureArgumentIsMutable();
5904            argument_.remove(index);
5905    
5906            return this;
5907          }
5908    
5909          // optional bool nullable = 3 [default = false];
5910          private boolean nullable_ ;
5911          /**
5912           * <code>optional bool nullable = 3 [default = false];</code>
5913           */
5914          public boolean hasNullable() {
5915            return ((bitField0_ & 0x00000002) == 0x00000002);
5916          }
5917          /**
5918           * <code>optional bool nullable = 3 [default = false];</code>
5919           */
5920          public boolean getNullable() {
5921            return nullable_;
5922          }
5923          /**
5924           * <code>optional bool nullable = 3 [default = false];</code>
5925           */
5926          public Builder setNullable(boolean value) {
5927            bitField0_ |= 0x00000002;
5928            nullable_ = value;
5929            
5930            return this;
5931          }
5932          /**
5933           * <code>optional bool nullable = 3 [default = false];</code>
5934           */
5935          public Builder clearNullable() {
5936            bitField0_ = (bitField0_ & ~0x00000002);
5937            nullable_ = false;
5938            
5939            return this;
5940          }
5941    
5942          // optional int32 flexible_type_capabilities_id = 4;
5943          private int flexibleTypeCapabilitiesId_ ;
5944          /**
5945           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5946           *
5947           * <pre>
5948           * If this field is set, the type is flexible.
5949           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5950           * </pre>
5951           */
5952          public boolean hasFlexibleTypeCapabilitiesId() {
5953            return ((bitField0_ & 0x00000004) == 0x00000004);
5954          }
5955          /**
5956           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5957           *
5958           * <pre>
5959           * If this field is set, the type is flexible.
5960           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5961           * </pre>
5962           */
5963          public int getFlexibleTypeCapabilitiesId() {
5964            return flexibleTypeCapabilitiesId_;
5965          }
5966          /**
5967           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5968           *
5969           * <pre>
5970           * If this field is set, the type is flexible.
5971           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5972           * </pre>
5973           */
5974          public Builder setFlexibleTypeCapabilitiesId(int value) {
5975            bitField0_ |= 0x00000004;
5976            flexibleTypeCapabilitiesId_ = value;
5977            
5978            return this;
5979          }
5980          /**
5981           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5982           *
5983           * <pre>
5984           * If this field is set, the type is flexible.
5985           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5986           * </pre>
5987           */
5988          public Builder clearFlexibleTypeCapabilitiesId() {
5989            bitField0_ = (bitField0_ & ~0x00000004);
5990            flexibleTypeCapabilitiesId_ = 0;
5991            
5992            return this;
5993          }
5994    
5995          // optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;
5996          private org.jetbrains.kotlin.serialization.ProtoBuf.Type flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5997          /**
5998           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5999           */
6000          public boolean hasFlexibleUpperBound() {
6001            return ((bitField0_ & 0x00000008) == 0x00000008);
6002          }
6003          /**
6004           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6005           */
6006          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound() {
6007            return flexibleUpperBound_;
6008          }
6009          /**
6010           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6011           */
6012          public Builder setFlexibleUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6013            if (value == null) {
6014              throw new NullPointerException();
6015            }
6016            flexibleUpperBound_ = value;
6017    
6018            bitField0_ |= 0x00000008;
6019            return this;
6020          }
6021          /**
6022           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6023           */
6024          public Builder setFlexibleUpperBound(
6025              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
6026            flexibleUpperBound_ = builderForValue.build();
6027    
6028            bitField0_ |= 0x00000008;
6029            return this;
6030          }
6031          /**
6032           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6033           */
6034          public Builder mergeFlexibleUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6035            if (((bitField0_ & 0x00000008) == 0x00000008) &&
6036                flexibleUpperBound_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
6037              flexibleUpperBound_ =
6038                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(flexibleUpperBound_).mergeFrom(value).buildPartial();
6039            } else {
6040              flexibleUpperBound_ = value;
6041            }
6042    
6043            bitField0_ |= 0x00000008;
6044            return this;
6045          }
6046          /**
6047           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
6048           */
6049          public Builder clearFlexibleUpperBound() {
6050            flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6051    
6052            bitField0_ = (bitField0_ & ~0x00000008);
6053            return this;
6054          }
6055    
6056          // optional int32 flexible_upper_bound_id = 8;
6057          private int flexibleUpperBoundId_ ;
6058          /**
6059           * <code>optional int32 flexible_upper_bound_id = 8;</code>
6060           */
6061          public boolean hasFlexibleUpperBoundId() {
6062            return ((bitField0_ & 0x00000010) == 0x00000010);
6063          }
6064          /**
6065           * <code>optional int32 flexible_upper_bound_id = 8;</code>
6066           */
6067          public int getFlexibleUpperBoundId() {
6068            return flexibleUpperBoundId_;
6069          }
6070          /**
6071           * <code>optional int32 flexible_upper_bound_id = 8;</code>
6072           */
6073          public Builder setFlexibleUpperBoundId(int value) {
6074            bitField0_ |= 0x00000010;
6075            flexibleUpperBoundId_ = value;
6076            
6077            return this;
6078          }
6079          /**
6080           * <code>optional int32 flexible_upper_bound_id = 8;</code>
6081           */
6082          public Builder clearFlexibleUpperBoundId() {
6083            bitField0_ = (bitField0_ & ~0x00000010);
6084            flexibleUpperBoundId_ = 0;
6085            
6086            return this;
6087          }
6088    
6089          // optional int32 class_name = 6;
6090          private int className_ ;
6091          /**
6092           * <code>optional int32 class_name = 6;</code>
6093           */
6094          public boolean hasClassName() {
6095            return ((bitField0_ & 0x00000020) == 0x00000020);
6096          }
6097          /**
6098           * <code>optional int32 class_name = 6;</code>
6099           */
6100          public int getClassName() {
6101            return className_;
6102          }
6103          /**
6104           * <code>optional int32 class_name = 6;</code>
6105           */
6106          public Builder setClassName(int value) {
6107            bitField0_ |= 0x00000020;
6108            className_ = value;
6109            
6110            return this;
6111          }
6112          /**
6113           * <code>optional int32 class_name = 6;</code>
6114           */
6115          public Builder clearClassName() {
6116            bitField0_ = (bitField0_ & ~0x00000020);
6117            className_ = 0;
6118            
6119            return this;
6120          }
6121    
6122          // optional int32 type_parameter = 7;
6123          private int typeParameter_ ;
6124          /**
6125           * <code>optional int32 type_parameter = 7;</code>
6126           *
6127           * <pre>
6128           * id of the type parameter
6129           * </pre>
6130           */
6131          public boolean hasTypeParameter() {
6132            return ((bitField0_ & 0x00000040) == 0x00000040);
6133          }
6134          /**
6135           * <code>optional int32 type_parameter = 7;</code>
6136           *
6137           * <pre>
6138           * id of the type parameter
6139           * </pre>
6140           */
6141          public int getTypeParameter() {
6142            return typeParameter_;
6143          }
6144          /**
6145           * <code>optional int32 type_parameter = 7;</code>
6146           *
6147           * <pre>
6148           * id of the type parameter
6149           * </pre>
6150           */
6151          public Builder setTypeParameter(int value) {
6152            bitField0_ |= 0x00000040;
6153            typeParameter_ = value;
6154            
6155            return this;
6156          }
6157          /**
6158           * <code>optional int32 type_parameter = 7;</code>
6159           *
6160           * <pre>
6161           * id of the type parameter
6162           * </pre>
6163           */
6164          public Builder clearTypeParameter() {
6165            bitField0_ = (bitField0_ & ~0x00000040);
6166            typeParameter_ = 0;
6167            
6168            return this;
6169          }
6170    
6171          // optional int32 type_parameter_name = 9;
6172          private int typeParameterName_ ;
6173          /**
6174           * <code>optional int32 type_parameter_name = 9;</code>
6175           *
6176           * <pre>
6177           * Name of the type parameter in the immediate owner
6178           * </pre>
6179           */
6180          public boolean hasTypeParameterName() {
6181            return ((bitField0_ & 0x00000080) == 0x00000080);
6182          }
6183          /**
6184           * <code>optional int32 type_parameter_name = 9;</code>
6185           *
6186           * <pre>
6187           * Name of the type parameter in the immediate owner
6188           * </pre>
6189           */
6190          public int getTypeParameterName() {
6191            return typeParameterName_;
6192          }
6193          /**
6194           * <code>optional int32 type_parameter_name = 9;</code>
6195           *
6196           * <pre>
6197           * Name of the type parameter in the immediate owner
6198           * </pre>
6199           */
6200          public Builder setTypeParameterName(int value) {
6201            bitField0_ |= 0x00000080;
6202            typeParameterName_ = value;
6203            
6204            return this;
6205          }
6206          /**
6207           * <code>optional int32 type_parameter_name = 9;</code>
6208           *
6209           * <pre>
6210           * Name of the type parameter in the immediate owner
6211           * </pre>
6212           */
6213          public Builder clearTypeParameterName() {
6214            bitField0_ = (bitField0_ & ~0x00000080);
6215            typeParameterName_ = 0;
6216            
6217            return this;
6218          }
6219    
6220          // optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;
6221          private org.jetbrains.kotlin.serialization.ProtoBuf.Type outerType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6222          /**
6223           * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
6224           */
6225          public boolean hasOuterType() {
6226            return ((bitField0_ & 0x00000100) == 0x00000100);
6227          }
6228          /**
6229           * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
6230           */
6231          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getOuterType() {
6232            return outerType_;
6233          }
6234          /**
6235           * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
6236           */
6237          public Builder setOuterType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6238            if (value == null) {
6239              throw new NullPointerException();
6240            }
6241            outerType_ = value;
6242    
6243            bitField0_ |= 0x00000100;
6244            return this;
6245          }
6246          /**
6247           * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
6248           */
6249          public Builder setOuterType(
6250              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
6251            outerType_ = builderForValue.build();
6252    
6253            bitField0_ |= 0x00000100;
6254            return this;
6255          }
6256          /**
6257           * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
6258           */
6259          public Builder mergeOuterType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
6260            if (((bitField0_ & 0x00000100) == 0x00000100) &&
6261                outerType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
6262              outerType_ =
6263                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(outerType_).mergeFrom(value).buildPartial();
6264            } else {
6265              outerType_ = value;
6266            }
6267    
6268            bitField0_ |= 0x00000100;
6269            return this;
6270          }
6271          /**
6272           * <code>optional .org.jetbrains.kotlin.serialization.Type outer_type = 10;</code>
6273           */
6274          public Builder clearOuterType() {
6275            outerType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
6276    
6277            bitField0_ = (bitField0_ & ~0x00000100);
6278            return this;
6279          }
6280    
6281          // optional int32 outer_type_id = 11;
6282          private int outerTypeId_ ;
6283          /**
6284           * <code>optional int32 outer_type_id = 11;</code>
6285           */
6286          public boolean hasOuterTypeId() {
6287            return ((bitField0_ & 0x00000200) == 0x00000200);
6288          }
6289          /**
6290           * <code>optional int32 outer_type_id = 11;</code>
6291           */
6292          public int getOuterTypeId() {
6293            return outerTypeId_;
6294          }
6295          /**
6296           * <code>optional int32 outer_type_id = 11;</code>
6297           */
6298          public Builder setOuterTypeId(int value) {
6299            bitField0_ |= 0x00000200;
6300            outerTypeId_ = value;
6301            
6302            return this;
6303          }
6304          /**
6305           * <code>optional int32 outer_type_id = 11;</code>
6306           */
6307          public Builder clearOuterTypeId() {
6308            bitField0_ = (bitField0_ & ~0x00000200);
6309            outerTypeId_ = 0;
6310            
6311            return this;
6312          }
6313    
6314          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Type)
6315        }
6316    
6317        static {
6318          defaultInstance = new Type(true);
6319          defaultInstance.initFields();
6320        }
6321    
6322        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Type)
6323      }
6324    
6325      public interface TypeParameterOrBuilder extends 
6326           com.google.protobuf.GeneratedMessageLite.
6327                ExtendableMessageOrBuilder<TypeParameter> {
6328    
6329        // required int32 id = 1;
6330        /**
6331         * <code>required int32 id = 1;</code>
6332         */
6333        boolean hasId();
6334        /**
6335         * <code>required int32 id = 1;</code>
6336         */
6337        int getId();
6338    
6339        // required int32 name = 2;
6340        /**
6341         * <code>required int32 name = 2;</code>
6342         */
6343        boolean hasName();
6344        /**
6345         * <code>required int32 name = 2;</code>
6346         */
6347        int getName();
6348    
6349        // optional bool reified = 3 [default = false];
6350        /**
6351         * <code>optional bool reified = 3 [default = false];</code>
6352         */
6353        boolean hasReified();
6354        /**
6355         * <code>optional bool reified = 3 [default = false];</code>
6356         */
6357        boolean getReified();
6358    
6359        // optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];
6360        /**
6361         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6362         */
6363        boolean hasVariance();
6364        /**
6365         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6366         */
6367        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance();
6368    
6369        // repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;
6370        /**
6371         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6372         */
6373        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> 
6374            getUpperBoundList();
6375        /**
6376         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6377         */
6378        org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index);
6379        /**
6380         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6381         */
6382        int getUpperBoundCount();
6383    
6384        // repeated int32 upper_bound_id = 6;
6385        /**
6386         * <code>repeated int32 upper_bound_id = 6;</code>
6387         */
6388        java.util.List<java.lang.Integer> getUpperBoundIdList();
6389        /**
6390         * <code>repeated int32 upper_bound_id = 6;</code>
6391         */
6392        int getUpperBoundIdCount();
6393        /**
6394         * <code>repeated int32 upper_bound_id = 6;</code>
6395         */
6396        int getUpperBoundId(int index);
6397      }
6398      /**
6399       * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeParameter}
6400       */
6401      public static final class TypeParameter extends
6402          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
6403            TypeParameter> implements TypeParameterOrBuilder {
6404        // Use TypeParameter.newBuilder() to construct.
6405        private TypeParameter(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter, ?> builder) {
6406          super(builder);
6407    
6408        }
6409        private TypeParameter(boolean noInit) {}
6410    
6411        private static final TypeParameter defaultInstance;
6412        public static TypeParameter getDefaultInstance() {
6413          return defaultInstance;
6414        }
6415    
6416        public TypeParameter getDefaultInstanceForType() {
6417          return defaultInstance;
6418        }
6419    
6420        private TypeParameter(
6421            com.google.protobuf.CodedInputStream input,
6422            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6423            throws com.google.protobuf.InvalidProtocolBufferException {
6424          initFields();
6425          int mutable_bitField0_ = 0;
6426          try {
6427            boolean done = false;
6428            while (!done) {
6429              int tag = input.readTag();
6430              switch (tag) {
6431                case 0:
6432                  done = true;
6433                  break;
6434                default: {
6435                  if (!parseUnknownField(input,
6436                                         extensionRegistry, tag)) {
6437                    done = true;
6438                  }
6439                  break;
6440                }
6441                case 8: {
6442                  bitField0_ |= 0x00000001;
6443                  id_ = input.readInt32();
6444                  break;
6445                }
6446                case 16: {
6447                  bitField0_ |= 0x00000002;
6448                  name_ = input.readInt32();
6449                  break;
6450                }
6451                case 24: {
6452                  bitField0_ |= 0x00000004;
6453                  reified_ = input.readBool();
6454                  break;
6455                }
6456                case 32: {
6457                  int rawValue = input.readEnum();
6458                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance value = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.valueOf(rawValue);
6459                  if (value != null) {
6460                    bitField0_ |= 0x00000008;
6461                    variance_ = value;
6462                  }
6463                  break;
6464                }
6465                case 42: {
6466                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
6467                    upperBound_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
6468                    mutable_bitField0_ |= 0x00000010;
6469                  }
6470                  upperBound_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
6471                  break;
6472                }
6473                case 48: {
6474                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
6475                    upperBoundId_ = new java.util.ArrayList<java.lang.Integer>();
6476                    mutable_bitField0_ |= 0x00000020;
6477                  }
6478                  upperBoundId_.add(input.readInt32());
6479                  break;
6480                }
6481                case 50: {
6482                  int length = input.readRawVarint32();
6483                  int limit = input.pushLimit(length);
6484                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
6485                    upperBoundId_ = new java.util.ArrayList<java.lang.Integer>();
6486                    mutable_bitField0_ |= 0x00000020;
6487                  }
6488                  while (input.getBytesUntilLimit() > 0) {
6489                    upperBoundId_.add(input.readInt32());
6490                  }
6491                  input.popLimit(limit);
6492                  break;
6493                }
6494              }
6495            }
6496          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6497            throw e.setUnfinishedMessage(this);
6498          } catch (java.io.IOException e) {
6499            throw new com.google.protobuf.InvalidProtocolBufferException(
6500                e.getMessage()).setUnfinishedMessage(this);
6501          } finally {
6502            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
6503              upperBound_ = java.util.Collections.unmodifiableList(upperBound_);
6504            }
6505            if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
6506              upperBoundId_ = java.util.Collections.unmodifiableList(upperBoundId_);
6507            }
6508            makeExtensionsImmutable();
6509          }
6510        }
6511        public static com.google.protobuf.Parser<TypeParameter> PARSER =
6512            new com.google.protobuf.AbstractParser<TypeParameter>() {
6513          public TypeParameter parsePartialFrom(
6514              com.google.protobuf.CodedInputStream input,
6515              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6516              throws com.google.protobuf.InvalidProtocolBufferException {
6517            return new TypeParameter(input, extensionRegistry);
6518          }
6519        };
6520    
6521        @java.lang.Override
6522        public com.google.protobuf.Parser<TypeParameter> getParserForType() {
6523          return PARSER;
6524        }
6525    
6526        /**
6527         * Protobuf enum {@code org.jetbrains.kotlin.serialization.TypeParameter.Variance}
6528         */
6529        public enum Variance
6530            implements com.google.protobuf.Internal.EnumLite {
6531          /**
6532           * <code>IN = 0;</code>
6533           */
6534          IN(0, 0),
6535          /**
6536           * <code>OUT = 1;</code>
6537           */
6538          OUT(1, 1),
6539          /**
6540           * <code>INV = 2;</code>
6541           */
6542          INV(2, 2),
6543          ;
6544    
6545          /**
6546           * <code>IN = 0;</code>
6547           */
6548          public static final int IN_VALUE = 0;
6549          /**
6550           * <code>OUT = 1;</code>
6551           */
6552          public static final int OUT_VALUE = 1;
6553          /**
6554           * <code>INV = 2;</code>
6555           */
6556          public static final int INV_VALUE = 2;
6557    
6558    
6559          public final int getNumber() { return value; }
6560    
6561          public static Variance valueOf(int value) {
6562            switch (value) {
6563              case 0: return IN;
6564              case 1: return OUT;
6565              case 2: return INV;
6566              default: return null;
6567            }
6568          }
6569    
6570          public static com.google.protobuf.Internal.EnumLiteMap<Variance>
6571              internalGetValueMap() {
6572            return internalValueMap;
6573          }
6574          private static com.google.protobuf.Internal.EnumLiteMap<Variance>
6575              internalValueMap =
6576                new com.google.protobuf.Internal.EnumLiteMap<Variance>() {
6577                  public Variance findValueByNumber(int number) {
6578                    return Variance.valueOf(number);
6579                  }
6580                };
6581    
6582          private final int value;
6583    
6584          private Variance(int index, int value) {
6585            this.value = value;
6586          }
6587    
6588          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.TypeParameter.Variance)
6589        }
6590    
6591        private int bitField0_;
6592        // required int32 id = 1;
6593        public static final int ID_FIELD_NUMBER = 1;
6594        private int id_;
6595        /**
6596         * <code>required int32 id = 1;</code>
6597         */
6598        public boolean hasId() {
6599          return ((bitField0_ & 0x00000001) == 0x00000001);
6600        }
6601        /**
6602         * <code>required int32 id = 1;</code>
6603         */
6604        public int getId() {
6605          return id_;
6606        }
6607    
6608        // required int32 name = 2;
6609        public static final int NAME_FIELD_NUMBER = 2;
6610        private int name_;
6611        /**
6612         * <code>required int32 name = 2;</code>
6613         */
6614        public boolean hasName() {
6615          return ((bitField0_ & 0x00000002) == 0x00000002);
6616        }
6617        /**
6618         * <code>required int32 name = 2;</code>
6619         */
6620        public int getName() {
6621          return name_;
6622        }
6623    
6624        // optional bool reified = 3 [default = false];
6625        public static final int REIFIED_FIELD_NUMBER = 3;
6626        private boolean reified_;
6627        /**
6628         * <code>optional bool reified = 3 [default = false];</code>
6629         */
6630        public boolean hasReified() {
6631          return ((bitField0_ & 0x00000004) == 0x00000004);
6632        }
6633        /**
6634         * <code>optional bool reified = 3 [default = false];</code>
6635         */
6636        public boolean getReified() {
6637          return reified_;
6638        }
6639    
6640        // optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];
6641        public static final int VARIANCE_FIELD_NUMBER = 4;
6642        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance variance_;
6643        /**
6644         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6645         */
6646        public boolean hasVariance() {
6647          return ((bitField0_ & 0x00000008) == 0x00000008);
6648        }
6649        /**
6650         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6651         */
6652        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
6653          return variance_;
6654        }
6655    
6656        // repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;
6657        public static final int UPPER_BOUND_FIELD_NUMBER = 5;
6658        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> upperBound_;
6659        /**
6660         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6661         */
6662        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getUpperBoundList() {
6663          return upperBound_;
6664        }
6665        /**
6666         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6667         */
6668        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
6669            getUpperBoundOrBuilderList() {
6670          return upperBound_;
6671        }
6672        /**
6673         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6674         */
6675        public int getUpperBoundCount() {
6676          return upperBound_.size();
6677        }
6678        /**
6679         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6680         */
6681        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index) {
6682          return upperBound_.get(index);
6683        }
6684        /**
6685         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6686         */
6687        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getUpperBoundOrBuilder(
6688            int index) {
6689          return upperBound_.get(index);
6690        }
6691    
6692        // repeated int32 upper_bound_id = 6;
6693        public static final int UPPER_BOUND_ID_FIELD_NUMBER = 6;
6694        private java.util.List<java.lang.Integer> upperBoundId_;
6695        /**
6696         * <code>repeated int32 upper_bound_id = 6;</code>
6697         */
6698        public java.util.List<java.lang.Integer>
6699            getUpperBoundIdList() {
6700          return upperBoundId_;
6701        }
6702        /**
6703         * <code>repeated int32 upper_bound_id = 6;</code>
6704         */
6705        public int getUpperBoundIdCount() {
6706          return upperBoundId_.size();
6707        }
6708        /**
6709         * <code>repeated int32 upper_bound_id = 6;</code>
6710         */
6711        public int getUpperBoundId(int index) {
6712          return upperBoundId_.get(index);
6713        }
6714    
6715        private void initFields() {
6716          id_ = 0;
6717          name_ = 0;
6718          reified_ = false;
6719          variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
6720          upperBound_ = java.util.Collections.emptyList();
6721          upperBoundId_ = java.util.Collections.emptyList();
6722        }
6723        private byte memoizedIsInitialized = -1;
6724        public final boolean isInitialized() {
6725          byte isInitialized = memoizedIsInitialized;
6726          if (isInitialized != -1) return isInitialized == 1;
6727    
6728          if (!hasId()) {
6729            memoizedIsInitialized = 0;
6730            return false;
6731          }
6732          if (!hasName()) {
6733            memoizedIsInitialized = 0;
6734            return false;
6735          }
6736          for (int i = 0; i < getUpperBoundCount(); i++) {
6737            if (!getUpperBound(i).isInitialized()) {
6738              memoizedIsInitialized = 0;
6739              return false;
6740            }
6741          }
6742          if (!extensionsAreInitialized()) {
6743            memoizedIsInitialized = 0;
6744            return false;
6745          }
6746          memoizedIsInitialized = 1;
6747          return true;
6748        }
6749    
6750        public void writeTo(com.google.protobuf.CodedOutputStream output)
6751                            throws java.io.IOException {
6752          getSerializedSize();
6753          com.google.protobuf.GeneratedMessageLite
6754            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>.ExtensionWriter extensionWriter =
6755              newExtensionWriter();
6756          if (((bitField0_ & 0x00000001) == 0x00000001)) {
6757            output.writeInt32(1, id_);
6758          }
6759          if (((bitField0_ & 0x00000002) == 0x00000002)) {
6760            output.writeInt32(2, name_);
6761          }
6762          if (((bitField0_ & 0x00000004) == 0x00000004)) {
6763            output.writeBool(3, reified_);
6764          }
6765          if (((bitField0_ & 0x00000008) == 0x00000008)) {
6766            output.writeEnum(4, variance_.getNumber());
6767          }
6768          for (int i = 0; i < upperBound_.size(); i++) {
6769            output.writeMessage(5, upperBound_.get(i));
6770          }
6771          for (int i = 0; i < upperBoundId_.size(); i++) {
6772            output.writeInt32(6, upperBoundId_.get(i));
6773          }
6774          extensionWriter.writeUntil(1000, output);
6775        }
6776    
6777        private int memoizedSerializedSize = -1;
6778        public int getSerializedSize() {
6779          int size = memoizedSerializedSize;
6780          if (size != -1) return size;
6781    
6782          size = 0;
6783          if (((bitField0_ & 0x00000001) == 0x00000001)) {
6784            size += com.google.protobuf.CodedOutputStream
6785              .computeInt32Size(1, id_);
6786          }
6787          if (((bitField0_ & 0x00000002) == 0x00000002)) {
6788            size += com.google.protobuf.CodedOutputStream
6789              .computeInt32Size(2, name_);
6790          }
6791          if (((bitField0_ & 0x00000004) == 0x00000004)) {
6792            size += com.google.protobuf.CodedOutputStream
6793              .computeBoolSize(3, reified_);
6794          }
6795          if (((bitField0_ & 0x00000008) == 0x00000008)) {
6796            size += com.google.protobuf.CodedOutputStream
6797              .computeEnumSize(4, variance_.getNumber());
6798          }
6799          for (int i = 0; i < upperBound_.size(); i++) {
6800            size += com.google.protobuf.CodedOutputStream
6801              .computeMessageSize(5, upperBound_.get(i));
6802          }
6803          {
6804            int dataSize = 0;
6805            for (int i = 0; i < upperBoundId_.size(); i++) {
6806              dataSize += com.google.protobuf.CodedOutputStream
6807                .computeInt32SizeNoTag(upperBoundId_.get(i));
6808            }
6809            size += dataSize;
6810            size += 1 * getUpperBoundIdList().size();
6811          }
6812          size += extensionsSerializedSize();
6813          memoizedSerializedSize = size;
6814          return size;
6815        }
6816    
6817        private static final long serialVersionUID = 0L;
6818        @java.lang.Override
6819        protected java.lang.Object writeReplace()
6820            throws java.io.ObjectStreamException {
6821          return super.writeReplace();
6822        }
6823    
6824        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6825            com.google.protobuf.ByteString data)
6826            throws com.google.protobuf.InvalidProtocolBufferException {
6827          return PARSER.parseFrom(data);
6828        }
6829        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6830            com.google.protobuf.ByteString data,
6831            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6832            throws com.google.protobuf.InvalidProtocolBufferException {
6833          return PARSER.parseFrom(data, extensionRegistry);
6834        }
6835        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(byte[] data)
6836            throws com.google.protobuf.InvalidProtocolBufferException {
6837          return PARSER.parseFrom(data);
6838        }
6839        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6840            byte[] data,
6841            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6842            throws com.google.protobuf.InvalidProtocolBufferException {
6843          return PARSER.parseFrom(data, extensionRegistry);
6844        }
6845        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(java.io.InputStream input)
6846            throws java.io.IOException {
6847          return PARSER.parseFrom(input);
6848        }
6849        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6850            java.io.InputStream input,
6851            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6852            throws java.io.IOException {
6853          return PARSER.parseFrom(input, extensionRegistry);
6854        }
6855        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(java.io.InputStream input)
6856            throws java.io.IOException {
6857          return PARSER.parseDelimitedFrom(input);
6858        }
6859        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(
6860            java.io.InputStream input,
6861            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6862            throws java.io.IOException {
6863          return PARSER.parseDelimitedFrom(input, extensionRegistry);
6864        }
6865        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6866            com.google.protobuf.CodedInputStream input)
6867            throws java.io.IOException {
6868          return PARSER.parseFrom(input);
6869        }
6870        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6871            com.google.protobuf.CodedInputStream input,
6872            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6873            throws java.io.IOException {
6874          return PARSER.parseFrom(input, extensionRegistry);
6875        }
6876    
6877        public static Builder newBuilder() { return Builder.create(); }
6878        public Builder newBuilderForType() { return newBuilder(); }
6879        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter prototype) {
6880          return newBuilder().mergeFrom(prototype);
6881        }
6882        public Builder toBuilder() { return newBuilder(this); }
6883    
6884        /**
6885         * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeParameter}
6886         */
6887        public static final class Builder extends
6888            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
6889              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder {
6890          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.newBuilder()
6891          private Builder() {
6892            maybeForceBuilderInitialization();
6893          }
6894    
6895          private void maybeForceBuilderInitialization() {
6896          }
6897          private static Builder create() {
6898            return new Builder();
6899          }
6900    
6901          public Builder clear() {
6902            super.clear();
6903            id_ = 0;
6904            bitField0_ = (bitField0_ & ~0x00000001);
6905            name_ = 0;
6906            bitField0_ = (bitField0_ & ~0x00000002);
6907            reified_ = false;
6908            bitField0_ = (bitField0_ & ~0x00000004);
6909            variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
6910            bitField0_ = (bitField0_ & ~0x00000008);
6911            upperBound_ = java.util.Collections.emptyList();
6912            bitField0_ = (bitField0_ & ~0x00000010);
6913            upperBoundId_ = java.util.Collections.emptyList();
6914            bitField0_ = (bitField0_ & ~0x00000020);
6915            return this;
6916          }
6917    
6918          public Builder clone() {
6919            return create().mergeFrom(buildPartial());
6920          }
6921    
6922          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getDefaultInstanceForType() {
6923            return org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.getDefaultInstance();
6924          }
6925    
6926          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter build() {
6927            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter result = buildPartial();
6928            if (!result.isInitialized()) {
6929              throw newUninitializedMessageException(result);
6930            }
6931            return result;
6932          }
6933    
6934          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter buildPartial() {
6935            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter result = new org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter(this);
6936            int from_bitField0_ = bitField0_;
6937            int to_bitField0_ = 0;
6938            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
6939              to_bitField0_ |= 0x00000001;
6940            }
6941            result.id_ = id_;
6942            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
6943              to_bitField0_ |= 0x00000002;
6944            }
6945            result.name_ = name_;
6946            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
6947              to_bitField0_ |= 0x00000004;
6948            }
6949            result.reified_ = reified_;
6950            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
6951              to_bitField0_ |= 0x00000008;
6952            }
6953            result.variance_ = variance_;
6954            if (((bitField0_ & 0x00000010) == 0x00000010)) {
6955              upperBound_ = java.util.Collections.unmodifiableList(upperBound_);
6956              bitField0_ = (bitField0_ & ~0x00000010);
6957            }
6958            result.upperBound_ = upperBound_;
6959            if (((bitField0_ & 0x00000020) == 0x00000020)) {
6960              upperBoundId_ = java.util.Collections.unmodifiableList(upperBoundId_);
6961              bitField0_ = (bitField0_ & ~0x00000020);
6962            }
6963            result.upperBoundId_ = upperBoundId_;
6964            result.bitField0_ = to_bitField0_;
6965            return result;
6966          }
6967    
6968          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter other) {
6969            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.getDefaultInstance()) return this;
6970            if (other.hasId()) {
6971              setId(other.getId());
6972            }
6973            if (other.hasName()) {
6974              setName(other.getName());
6975            }
6976            if (other.hasReified()) {
6977              setReified(other.getReified());
6978            }
6979            if (other.hasVariance()) {
6980              setVariance(other.getVariance());
6981            }
6982            if (!other.upperBound_.isEmpty()) {
6983              if (upperBound_.isEmpty()) {
6984                upperBound_ = other.upperBound_;
6985                bitField0_ = (bitField0_ & ~0x00000010);
6986              } else {
6987                ensureUpperBoundIsMutable();
6988                upperBound_.addAll(other.upperBound_);
6989              }
6990              
6991            }
6992            if (!other.upperBoundId_.isEmpty()) {
6993              if (upperBoundId_.isEmpty()) {
6994                upperBoundId_ = other.upperBoundId_;
6995                bitField0_ = (bitField0_ & ~0x00000020);
6996              } else {
6997                ensureUpperBoundIdIsMutable();
6998                upperBoundId_.addAll(other.upperBoundId_);
6999              }
7000              
7001            }
7002            this.mergeExtensionFields(other);
7003            return this;
7004          }
7005    
7006          public final boolean isInitialized() {
7007            if (!hasId()) {
7008              
7009              return false;
7010            }
7011            if (!hasName()) {
7012              
7013              return false;
7014            }
7015            for (int i = 0; i < getUpperBoundCount(); i++) {
7016              if (!getUpperBound(i).isInitialized()) {
7017                
7018                return false;
7019              }
7020            }
7021            if (!extensionsAreInitialized()) {
7022              
7023              return false;
7024            }
7025            return true;
7026          }
7027    
7028          public Builder mergeFrom(
7029              com.google.protobuf.CodedInputStream input,
7030              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7031              throws java.io.IOException {
7032            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parsedMessage = null;
7033            try {
7034              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
7035            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7036              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter) e.getUnfinishedMessage();
7037              throw e;
7038            } finally {
7039              if (parsedMessage != null) {
7040                mergeFrom(parsedMessage);
7041              }
7042            }
7043            return this;
7044          }
7045          private int bitField0_;
7046    
7047          // required int32 id = 1;
7048          private int id_ ;
7049          /**
7050           * <code>required int32 id = 1;</code>
7051           */
7052          public boolean hasId() {
7053            return ((bitField0_ & 0x00000001) == 0x00000001);
7054          }
7055          /**
7056           * <code>required int32 id = 1;</code>
7057           */
7058          public int getId() {
7059            return id_;
7060          }
7061          /**
7062           * <code>required int32 id = 1;</code>
7063           */
7064          public Builder setId(int value) {
7065            bitField0_ |= 0x00000001;
7066            id_ = value;
7067            
7068            return this;
7069          }
7070          /**
7071           * <code>required int32 id = 1;</code>
7072           */
7073          public Builder clearId() {
7074            bitField0_ = (bitField0_ & ~0x00000001);
7075            id_ = 0;
7076            
7077            return this;
7078          }
7079    
7080          // required int32 name = 2;
7081          private int name_ ;
7082          /**
7083           * <code>required int32 name = 2;</code>
7084           */
7085          public boolean hasName() {
7086            return ((bitField0_ & 0x00000002) == 0x00000002);
7087          }
7088          /**
7089           * <code>required int32 name = 2;</code>
7090           */
7091          public int getName() {
7092            return name_;
7093          }
7094          /**
7095           * <code>required int32 name = 2;</code>
7096           */
7097          public Builder setName(int value) {
7098            bitField0_ |= 0x00000002;
7099            name_ = value;
7100            
7101            return this;
7102          }
7103          /**
7104           * <code>required int32 name = 2;</code>
7105           */
7106          public Builder clearName() {
7107            bitField0_ = (bitField0_ & ~0x00000002);
7108            name_ = 0;
7109            
7110            return this;
7111          }
7112    
7113          // optional bool reified = 3 [default = false];
7114          private boolean reified_ ;
7115          /**
7116           * <code>optional bool reified = 3 [default = false];</code>
7117           */
7118          public boolean hasReified() {
7119            return ((bitField0_ & 0x00000004) == 0x00000004);
7120          }
7121          /**
7122           * <code>optional bool reified = 3 [default = false];</code>
7123           */
7124          public boolean getReified() {
7125            return reified_;
7126          }
7127          /**
7128           * <code>optional bool reified = 3 [default = false];</code>
7129           */
7130          public Builder setReified(boolean value) {
7131            bitField0_ |= 0x00000004;
7132            reified_ = value;
7133            
7134            return this;
7135          }
7136          /**
7137           * <code>optional bool reified = 3 [default = false];</code>
7138           */
7139          public Builder clearReified() {
7140            bitField0_ = (bitField0_ & ~0x00000004);
7141            reified_ = false;
7142            
7143            return this;
7144          }
7145    
7146          // optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];
7147          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
7148          /**
7149           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7150           */
7151          public boolean hasVariance() {
7152            return ((bitField0_ & 0x00000008) == 0x00000008);
7153          }
7154          /**
7155           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7156           */
7157          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
7158            return variance_;
7159          }
7160          /**
7161           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7162           */
7163          public Builder setVariance(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance value) {
7164            if (value == null) {
7165              throw new NullPointerException();
7166            }
7167            bitField0_ |= 0x00000008;
7168            variance_ = value;
7169            
7170            return this;
7171          }
7172          /**
7173           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7174           */
7175          public Builder clearVariance() {
7176            bitField0_ = (bitField0_ & ~0x00000008);
7177            variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
7178            
7179            return this;
7180          }
7181    
7182          // repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;
7183          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> upperBound_ =
7184            java.util.Collections.emptyList();
7185          private void ensureUpperBoundIsMutable() {
7186            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
7187              upperBound_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(upperBound_);
7188              bitField0_ |= 0x00000010;
7189             }
7190          }
7191    
7192          /**
7193           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7194           */
7195          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getUpperBoundList() {
7196            return java.util.Collections.unmodifiableList(upperBound_);
7197          }
7198          /**
7199           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7200           */
7201          public int getUpperBoundCount() {
7202            return upperBound_.size();
7203          }
7204          /**
7205           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7206           */
7207          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index) {
7208            return upperBound_.get(index);
7209          }
7210          /**
7211           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7212           */
7213          public Builder setUpperBound(
7214              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7215            if (value == null) {
7216              throw new NullPointerException();
7217            }
7218            ensureUpperBoundIsMutable();
7219            upperBound_.set(index, value);
7220    
7221            return this;
7222          }
7223          /**
7224           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7225           */
7226          public Builder setUpperBound(
7227              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7228            ensureUpperBoundIsMutable();
7229            upperBound_.set(index, builderForValue.build());
7230    
7231            return this;
7232          }
7233          /**
7234           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7235           */
7236          public Builder addUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7237            if (value == null) {
7238              throw new NullPointerException();
7239            }
7240            ensureUpperBoundIsMutable();
7241            upperBound_.add(value);
7242    
7243            return this;
7244          }
7245          /**
7246           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7247           */
7248          public Builder addUpperBound(
7249              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7250            if (value == null) {
7251              throw new NullPointerException();
7252            }
7253            ensureUpperBoundIsMutable();
7254            upperBound_.add(index, value);
7255    
7256            return this;
7257          }
7258          /**
7259           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7260           */
7261          public Builder addUpperBound(
7262              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7263            ensureUpperBoundIsMutable();
7264            upperBound_.add(builderForValue.build());
7265    
7266            return this;
7267          }
7268          /**
7269           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7270           */
7271          public Builder addUpperBound(
7272              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7273            ensureUpperBoundIsMutable();
7274            upperBound_.add(index, builderForValue.build());
7275    
7276            return this;
7277          }
7278          /**
7279           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7280           */
7281          public Builder addAllUpperBound(
7282              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
7283            ensureUpperBoundIsMutable();
7284            super.addAll(values, upperBound_);
7285    
7286            return this;
7287          }
7288          /**
7289           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7290           */
7291          public Builder clearUpperBound() {
7292            upperBound_ = java.util.Collections.emptyList();
7293            bitField0_ = (bitField0_ & ~0x00000010);
7294    
7295            return this;
7296          }
7297          /**
7298           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7299           */
7300          public Builder removeUpperBound(int index) {
7301            ensureUpperBoundIsMutable();
7302            upperBound_.remove(index);
7303    
7304            return this;
7305          }
7306    
7307          // repeated int32 upper_bound_id = 6;
7308          private java.util.List<java.lang.Integer> upperBoundId_ = java.util.Collections.emptyList();
7309          private void ensureUpperBoundIdIsMutable() {
7310            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
7311              upperBoundId_ = new java.util.ArrayList<java.lang.Integer>(upperBoundId_);
7312              bitField0_ |= 0x00000020;
7313             }
7314          }
7315          /**
7316           * <code>repeated int32 upper_bound_id = 6;</code>
7317           */
7318          public java.util.List<java.lang.Integer>
7319              getUpperBoundIdList() {
7320            return java.util.Collections.unmodifiableList(upperBoundId_);
7321          }
7322          /**
7323           * <code>repeated int32 upper_bound_id = 6;</code>
7324           */
7325          public int getUpperBoundIdCount() {
7326            return upperBoundId_.size();
7327          }
7328          /**
7329           * <code>repeated int32 upper_bound_id = 6;</code>
7330           */
7331          public int getUpperBoundId(int index) {
7332            return upperBoundId_.get(index);
7333          }
7334          /**
7335           * <code>repeated int32 upper_bound_id = 6;</code>
7336           */
7337          public Builder setUpperBoundId(
7338              int index, int value) {
7339            ensureUpperBoundIdIsMutable();
7340            upperBoundId_.set(index, value);
7341            
7342            return this;
7343          }
7344          /**
7345           * <code>repeated int32 upper_bound_id = 6;</code>
7346           */
7347          public Builder addUpperBoundId(int value) {
7348            ensureUpperBoundIdIsMutable();
7349            upperBoundId_.add(value);
7350            
7351            return this;
7352          }
7353          /**
7354           * <code>repeated int32 upper_bound_id = 6;</code>
7355           */
7356          public Builder addAllUpperBoundId(
7357              java.lang.Iterable<? extends java.lang.Integer> values) {
7358            ensureUpperBoundIdIsMutable();
7359            super.addAll(values, upperBoundId_);
7360            
7361            return this;
7362          }
7363          /**
7364           * <code>repeated int32 upper_bound_id = 6;</code>
7365           */
7366          public Builder clearUpperBoundId() {
7367            upperBoundId_ = java.util.Collections.emptyList();
7368            bitField0_ = (bitField0_ & ~0x00000020);
7369            
7370            return this;
7371          }
7372    
7373          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.TypeParameter)
7374        }
7375    
7376        static {
7377          defaultInstance = new TypeParameter(true);
7378          defaultInstance.initFields();
7379        }
7380    
7381        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.TypeParameter)
7382      }
7383    
7384      public interface ClassOrBuilder extends 
7385           com.google.protobuf.GeneratedMessageLite.
7386                ExtendableMessageOrBuilder<Class> {
7387    
7388        // optional int32 flags = 1 [default = 6];
7389        /**
7390         * <code>optional int32 flags = 1 [default = 6];</code>
7391         *
7392         * <pre>
7393         *
7394         *hasAnnotations
7395         *Visibility
7396         *Modality
7397         *ClassKind
7398         *isInner
7399         *isData
7400         * </pre>
7401         */
7402        boolean hasFlags();
7403        /**
7404         * <code>optional int32 flags = 1 [default = 6];</code>
7405         *
7406         * <pre>
7407         *
7408         *hasAnnotations
7409         *Visibility
7410         *Modality
7411         *ClassKind
7412         *isInner
7413         *isData
7414         * </pre>
7415         */
7416        int getFlags();
7417    
7418        // required int32 fq_name = 3;
7419        /**
7420         * <code>required int32 fq_name = 3;</code>
7421         */
7422        boolean hasFqName();
7423        /**
7424         * <code>required int32 fq_name = 3;</code>
7425         */
7426        int getFqName();
7427    
7428        // optional int32 companion_object_name = 4;
7429        /**
7430         * <code>optional int32 companion_object_name = 4;</code>
7431         */
7432        boolean hasCompanionObjectName();
7433        /**
7434         * <code>optional int32 companion_object_name = 4;</code>
7435         */
7436        int getCompanionObjectName();
7437    
7438        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;
7439        /**
7440         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7441         */
7442        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
7443            getTypeParameterList();
7444        /**
7445         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7446         */
7447        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
7448        /**
7449         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7450         */
7451        int getTypeParameterCount();
7452    
7453        // repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;
7454        /**
7455         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7456         */
7457        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> 
7458            getSupertypeList();
7459        /**
7460         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7461         */
7462        org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index);
7463        /**
7464         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7465         */
7466        int getSupertypeCount();
7467    
7468        // repeated int32 supertype_id = 2 [packed = true];
7469        /**
7470         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
7471         */
7472        java.util.List<java.lang.Integer> getSupertypeIdList();
7473        /**
7474         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
7475         */
7476        int getSupertypeIdCount();
7477        /**
7478         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
7479         */
7480        int getSupertypeId(int index);
7481    
7482        // repeated int32 nested_class_name = 7 [packed = true];
7483        /**
7484         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
7485         */
7486        java.util.List<java.lang.Integer> getNestedClassNameList();
7487        /**
7488         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
7489         */
7490        int getNestedClassNameCount();
7491        /**
7492         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
7493         */
7494        int getNestedClassName(int index);
7495    
7496        // repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;
7497        /**
7498         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
7499         */
7500        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> 
7501            getConstructorList();
7502        /**
7503         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
7504         */
7505        org.jetbrains.kotlin.serialization.ProtoBuf.Constructor getConstructor(int index);
7506        /**
7507         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
7508         */
7509        int getConstructorCount();
7510    
7511        // repeated .org.jetbrains.kotlin.serialization.Function function = 9;
7512        /**
7513         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
7514         */
7515        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> 
7516            getFunctionList();
7517        /**
7518         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
7519         */
7520        org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index);
7521        /**
7522         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
7523         */
7524        int getFunctionCount();
7525    
7526        // repeated .org.jetbrains.kotlin.serialization.Property property = 10;
7527        /**
7528         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
7529         */
7530        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> 
7531            getPropertyList();
7532        /**
7533         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
7534         */
7535        org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index);
7536        /**
7537         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
7538         */
7539        int getPropertyCount();
7540    
7541        // repeated int32 enum_entry_name = 12 [packed = true];
7542        /**
7543         * <code>repeated int32 enum_entry_name = 12 [packed = true];</code>
7544         */
7545        java.util.List<java.lang.Integer> getEnumEntryNameList();
7546        /**
7547         * <code>repeated int32 enum_entry_name = 12 [packed = true];</code>
7548         */
7549        int getEnumEntryNameCount();
7550        /**
7551         * <code>repeated int32 enum_entry_name = 12 [packed = true];</code>
7552         */
7553        int getEnumEntryName(int index);
7554    
7555        // repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;
7556        /**
7557         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
7558         */
7559        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> 
7560            getEnumEntryList();
7561        /**
7562         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
7563         */
7564        org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry getEnumEntry(int index);
7565        /**
7566         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
7567         */
7568        int getEnumEntryCount();
7569    
7570        // optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;
7571        /**
7572         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
7573         */
7574        boolean hasTypeTable();
7575        /**
7576         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
7577         */
7578        org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable();
7579      }
7580      /**
7581       * Protobuf type {@code org.jetbrains.kotlin.serialization.Class}
7582       */
7583      public static final class Class extends
7584          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
7585            Class> implements ClassOrBuilder {
7586        // Use Class.newBuilder() to construct.
7587        private Class(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Class, ?> builder) {
7588          super(builder);
7589    
7590        }
7591        private Class(boolean noInit) {}
7592    
7593        private static final Class defaultInstance;
7594        public static Class getDefaultInstance() {
7595          return defaultInstance;
7596        }
7597    
7598        public Class getDefaultInstanceForType() {
7599          return defaultInstance;
7600        }
7601    
7602        private Class(
7603            com.google.protobuf.CodedInputStream input,
7604            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7605            throws com.google.protobuf.InvalidProtocolBufferException {
7606          initFields();
7607          int mutable_bitField0_ = 0;
7608          try {
7609            boolean done = false;
7610            while (!done) {
7611              int tag = input.readTag();
7612              switch (tag) {
7613                case 0:
7614                  done = true;
7615                  break;
7616                default: {
7617                  if (!parseUnknownField(input,
7618                                         extensionRegistry, tag)) {
7619                    done = true;
7620                  }
7621                  break;
7622                }
7623                case 8: {
7624                  bitField0_ |= 0x00000001;
7625                  flags_ = input.readInt32();
7626                  break;
7627                }
7628                case 16: {
7629                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
7630                    supertypeId_ = new java.util.ArrayList<java.lang.Integer>();
7631                    mutable_bitField0_ |= 0x00000020;
7632                  }
7633                  supertypeId_.add(input.readInt32());
7634                  break;
7635                }
7636                case 18: {
7637                  int length = input.readRawVarint32();
7638                  int limit = input.pushLimit(length);
7639                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
7640                    supertypeId_ = new java.util.ArrayList<java.lang.Integer>();
7641                    mutable_bitField0_ |= 0x00000020;
7642                  }
7643                  while (input.getBytesUntilLimit() > 0) {
7644                    supertypeId_.add(input.readInt32());
7645                  }
7646                  input.popLimit(limit);
7647                  break;
7648                }
7649                case 24: {
7650                  bitField0_ |= 0x00000002;
7651                  fqName_ = input.readInt32();
7652                  break;
7653                }
7654                case 32: {
7655                  bitField0_ |= 0x00000004;
7656                  companionObjectName_ = input.readInt32();
7657                  break;
7658                }
7659                case 42: {
7660                  if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
7661                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
7662                    mutable_bitField0_ |= 0x00000008;
7663                  }
7664                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
7665                  break;
7666                }
7667                case 50: {
7668                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7669                    supertype_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
7670                    mutable_bitField0_ |= 0x00000010;
7671                  }
7672                  supertype_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
7673                  break;
7674                }
7675                case 56: {
7676                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
7677                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
7678                    mutable_bitField0_ |= 0x00000040;
7679                  }
7680                  nestedClassName_.add(input.readInt32());
7681                  break;
7682                }
7683                case 58: {
7684                  int length = input.readRawVarint32();
7685                  int limit = input.pushLimit(length);
7686                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) {
7687                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
7688                    mutable_bitField0_ |= 0x00000040;
7689                  }
7690                  while (input.getBytesUntilLimit() > 0) {
7691                    nestedClassName_.add(input.readInt32());
7692                  }
7693                  input.popLimit(limit);
7694                  break;
7695                }
7696                case 66: {
7697                  if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
7698                    constructor_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor>();
7699                    mutable_bitField0_ |= 0x00000080;
7700                  }
7701                  constructor_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.PARSER, extensionRegistry));
7702                  break;
7703                }
7704                case 74: {
7705                  if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
7706                    function_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Function>();
7707                    mutable_bitField0_ |= 0x00000100;
7708                  }
7709                  function_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Function.PARSER, extensionRegistry));
7710                  break;
7711                }
7712                case 82: {
7713                  if (!((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
7714                    property_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Property>();
7715                    mutable_bitField0_ |= 0x00000200;
7716                  }
7717                  property_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Property.PARSER, extensionRegistry));
7718                  break;
7719                }
7720                case 96: {
7721                  if (!((mutable_bitField0_ & 0x00000400) == 0x00000400)) {
7722                    enumEntryName_ = new java.util.ArrayList<java.lang.Integer>();
7723                    mutable_bitField0_ |= 0x00000400;
7724                  }
7725                  enumEntryName_.add(input.readInt32());
7726                  break;
7727                }
7728                case 98: {
7729                  int length = input.readRawVarint32();
7730                  int limit = input.pushLimit(length);
7731                  if (!((mutable_bitField0_ & 0x00000400) == 0x00000400) && input.getBytesUntilLimit() > 0) {
7732                    enumEntryName_ = new java.util.ArrayList<java.lang.Integer>();
7733                    mutable_bitField0_ |= 0x00000400;
7734                  }
7735                  while (input.getBytesUntilLimit() > 0) {
7736                    enumEntryName_.add(input.readInt32());
7737                  }
7738                  input.popLimit(limit);
7739                  break;
7740                }
7741                case 106: {
7742                  if (!((mutable_bitField0_ & 0x00000800) == 0x00000800)) {
7743                    enumEntry_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry>();
7744                    mutable_bitField0_ |= 0x00000800;
7745                  }
7746                  enumEntry_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.PARSER, extensionRegistry));
7747                  break;
7748                }
7749                case 242: {
7750                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder subBuilder = null;
7751                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
7752                    subBuilder = typeTable_.toBuilder();
7753                  }
7754                  typeTable_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.PARSER, extensionRegistry);
7755                  if (subBuilder != null) {
7756                    subBuilder.mergeFrom(typeTable_);
7757                    typeTable_ = subBuilder.buildPartial();
7758                  }
7759                  bitField0_ |= 0x00000008;
7760                  break;
7761                }
7762              }
7763            }
7764          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7765            throw e.setUnfinishedMessage(this);
7766          } catch (java.io.IOException e) {
7767            throw new com.google.protobuf.InvalidProtocolBufferException(
7768                e.getMessage()).setUnfinishedMessage(this);
7769          } finally {
7770            if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
7771              supertypeId_ = java.util.Collections.unmodifiableList(supertypeId_);
7772            }
7773            if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
7774              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
7775            }
7776            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7777              supertype_ = java.util.Collections.unmodifiableList(supertype_);
7778            }
7779            if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
7780              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
7781            }
7782            if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
7783              constructor_ = java.util.Collections.unmodifiableList(constructor_);
7784            }
7785            if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
7786              function_ = java.util.Collections.unmodifiableList(function_);
7787            }
7788            if (((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
7789              property_ = java.util.Collections.unmodifiableList(property_);
7790            }
7791            if (((mutable_bitField0_ & 0x00000400) == 0x00000400)) {
7792              enumEntryName_ = java.util.Collections.unmodifiableList(enumEntryName_);
7793            }
7794            if (((mutable_bitField0_ & 0x00000800) == 0x00000800)) {
7795              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
7796            }
7797            makeExtensionsImmutable();
7798          }
7799        }
7800        public static com.google.protobuf.Parser<Class> PARSER =
7801            new com.google.protobuf.AbstractParser<Class>() {
7802          public Class parsePartialFrom(
7803              com.google.protobuf.CodedInputStream input,
7804              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7805              throws com.google.protobuf.InvalidProtocolBufferException {
7806            return new Class(input, extensionRegistry);
7807          }
7808        };
7809    
7810        @java.lang.Override
7811        public com.google.protobuf.Parser<Class> getParserForType() {
7812          return PARSER;
7813        }
7814    
7815        /**
7816         * Protobuf enum {@code org.jetbrains.kotlin.serialization.Class.Kind}
7817         */
7818        public enum Kind
7819            implements com.google.protobuf.Internal.EnumLite {
7820          /**
7821           * <code>CLASS = 0;</code>
7822           *
7823           * <pre>
7824           * 3 bits
7825           * </pre>
7826           */
7827          CLASS(0, 0),
7828          /**
7829           * <code>INTERFACE = 1;</code>
7830           */
7831          INTERFACE(1, 1),
7832          /**
7833           * <code>ENUM_CLASS = 2;</code>
7834           */
7835          ENUM_CLASS(2, 2),
7836          /**
7837           * <code>ENUM_ENTRY = 3;</code>
7838           */
7839          ENUM_ENTRY(3, 3),
7840          /**
7841           * <code>ANNOTATION_CLASS = 4;</code>
7842           */
7843          ANNOTATION_CLASS(4, 4),
7844          /**
7845           * <code>OBJECT = 5;</code>
7846           */
7847          OBJECT(5, 5),
7848          /**
7849           * <code>COMPANION_OBJECT = 6;</code>
7850           */
7851          COMPANION_OBJECT(6, 6),
7852          ;
7853    
7854          /**
7855           * <code>CLASS = 0;</code>
7856           *
7857           * <pre>
7858           * 3 bits
7859           * </pre>
7860           */
7861          public static final int CLASS_VALUE = 0;
7862          /**
7863           * <code>INTERFACE = 1;</code>
7864           */
7865          public static final int INTERFACE_VALUE = 1;
7866          /**
7867           * <code>ENUM_CLASS = 2;</code>
7868           */
7869          public static final int ENUM_CLASS_VALUE = 2;
7870          /**
7871           * <code>ENUM_ENTRY = 3;</code>
7872           */
7873          public static final int ENUM_ENTRY_VALUE = 3;
7874          /**
7875           * <code>ANNOTATION_CLASS = 4;</code>
7876           */
7877          public static final int ANNOTATION_CLASS_VALUE = 4;
7878          /**
7879           * <code>OBJECT = 5;</code>
7880           */
7881          public static final int OBJECT_VALUE = 5;
7882          /**
7883           * <code>COMPANION_OBJECT = 6;</code>
7884           */
7885          public static final int COMPANION_OBJECT_VALUE = 6;
7886    
7887    
7888          public final int getNumber() { return value; }
7889    
7890          public static Kind valueOf(int value) {
7891            switch (value) {
7892              case 0: return CLASS;
7893              case 1: return INTERFACE;
7894              case 2: return ENUM_CLASS;
7895              case 3: return ENUM_ENTRY;
7896              case 4: return ANNOTATION_CLASS;
7897              case 5: return OBJECT;
7898              case 6: return COMPANION_OBJECT;
7899              default: return null;
7900            }
7901          }
7902    
7903          public static com.google.protobuf.Internal.EnumLiteMap<Kind>
7904              internalGetValueMap() {
7905            return internalValueMap;
7906          }
7907          private static com.google.protobuf.Internal.EnumLiteMap<Kind>
7908              internalValueMap =
7909                new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
7910                  public Kind findValueByNumber(int number) {
7911                    return Kind.valueOf(number);
7912                  }
7913                };
7914    
7915          private final int value;
7916    
7917          private Kind(int index, int value) {
7918            this.value = value;
7919          }
7920    
7921          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Class.Kind)
7922        }
7923    
7924        private int bitField0_;
7925        // optional int32 flags = 1 [default = 6];
7926        public static final int FLAGS_FIELD_NUMBER = 1;
7927        private int flags_;
7928        /**
7929         * <code>optional int32 flags = 1 [default = 6];</code>
7930         *
7931         * <pre>
7932         *
7933         *hasAnnotations
7934         *Visibility
7935         *Modality
7936         *ClassKind
7937         *isInner
7938         *isData
7939         * </pre>
7940         */
7941        public boolean hasFlags() {
7942          return ((bitField0_ & 0x00000001) == 0x00000001);
7943        }
7944        /**
7945         * <code>optional int32 flags = 1 [default = 6];</code>
7946         *
7947         * <pre>
7948         *
7949         *hasAnnotations
7950         *Visibility
7951         *Modality
7952         *ClassKind
7953         *isInner
7954         *isData
7955         * </pre>
7956         */
7957        public int getFlags() {
7958          return flags_;
7959        }
7960    
7961        // required int32 fq_name = 3;
7962        public static final int FQ_NAME_FIELD_NUMBER = 3;
7963        private int fqName_;
7964        /**
7965         * <code>required int32 fq_name = 3;</code>
7966         */
7967        public boolean hasFqName() {
7968          return ((bitField0_ & 0x00000002) == 0x00000002);
7969        }
7970        /**
7971         * <code>required int32 fq_name = 3;</code>
7972         */
7973        public int getFqName() {
7974          return fqName_;
7975        }
7976    
7977        // optional int32 companion_object_name = 4;
7978        public static final int COMPANION_OBJECT_NAME_FIELD_NUMBER = 4;
7979        private int companionObjectName_;
7980        /**
7981         * <code>optional int32 companion_object_name = 4;</code>
7982         */
7983        public boolean hasCompanionObjectName() {
7984          return ((bitField0_ & 0x00000004) == 0x00000004);
7985        }
7986        /**
7987         * <code>optional int32 companion_object_name = 4;</code>
7988         */
7989        public int getCompanionObjectName() {
7990          return companionObjectName_;
7991        }
7992    
7993        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;
7994        public static final int TYPE_PARAMETER_FIELD_NUMBER = 5;
7995        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
7996        /**
7997         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7998         */
7999        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
8000          return typeParameter_;
8001        }
8002        /**
8003         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8004         */
8005        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
8006            getTypeParameterOrBuilderList() {
8007          return typeParameter_;
8008        }
8009        /**
8010         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8011         */
8012        public int getTypeParameterCount() {
8013          return typeParameter_.size();
8014        }
8015        /**
8016         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8017         */
8018        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
8019          return typeParameter_.get(index);
8020        }
8021        /**
8022         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8023         */
8024        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
8025            int index) {
8026          return typeParameter_.get(index);
8027        }
8028    
8029        // repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;
8030        public static final int SUPERTYPE_FIELD_NUMBER = 6;
8031        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> supertype_;
8032        /**
8033         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8034         */
8035        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getSupertypeList() {
8036          return supertype_;
8037        }
8038        /**
8039         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8040         */
8041        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
8042            getSupertypeOrBuilderList() {
8043          return supertype_;
8044        }
8045        /**
8046         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8047         */
8048        public int getSupertypeCount() {
8049          return supertype_.size();
8050        }
8051        /**
8052         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8053         */
8054        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index) {
8055          return supertype_.get(index);
8056        }
8057        /**
8058         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8059         */
8060        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getSupertypeOrBuilder(
8061            int index) {
8062          return supertype_.get(index);
8063        }
8064    
8065        // repeated int32 supertype_id = 2 [packed = true];
8066        public static final int SUPERTYPE_ID_FIELD_NUMBER = 2;
8067        private java.util.List<java.lang.Integer> supertypeId_;
8068        /**
8069         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
8070         */
8071        public java.util.List<java.lang.Integer>
8072            getSupertypeIdList() {
8073          return supertypeId_;
8074        }
8075        /**
8076         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
8077         */
8078        public int getSupertypeIdCount() {
8079          return supertypeId_.size();
8080        }
8081        /**
8082         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
8083         */
8084        public int getSupertypeId(int index) {
8085          return supertypeId_.get(index);
8086        }
8087        private int supertypeIdMemoizedSerializedSize = -1;
8088    
8089        // repeated int32 nested_class_name = 7 [packed = true];
8090        public static final int NESTED_CLASS_NAME_FIELD_NUMBER = 7;
8091        private java.util.List<java.lang.Integer> nestedClassName_;
8092        /**
8093         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
8094         */
8095        public java.util.List<java.lang.Integer>
8096            getNestedClassNameList() {
8097          return nestedClassName_;
8098        }
8099        /**
8100         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
8101         */
8102        public int getNestedClassNameCount() {
8103          return nestedClassName_.size();
8104        }
8105        /**
8106         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
8107         */
8108        public int getNestedClassName(int index) {
8109          return nestedClassName_.get(index);
8110        }
8111        private int nestedClassNameMemoizedSerializedSize = -1;
8112    
8113        // repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;
8114        public static final int CONSTRUCTOR_FIELD_NUMBER = 8;
8115        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> constructor_;
8116        /**
8117         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8118         */
8119        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> getConstructorList() {
8120          return constructor_;
8121        }
8122        /**
8123         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8124         */
8125        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ConstructorOrBuilder> 
8126            getConstructorOrBuilderList() {
8127          return constructor_;
8128        }
8129        /**
8130         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8131         */
8132        public int getConstructorCount() {
8133          return constructor_.size();
8134        }
8135        /**
8136         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8137         */
8138        public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor getConstructor(int index) {
8139          return constructor_.get(index);
8140        }
8141        /**
8142         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
8143         */
8144        public org.jetbrains.kotlin.serialization.ProtoBuf.ConstructorOrBuilder getConstructorOrBuilder(
8145            int index) {
8146          return constructor_.get(index);
8147        }
8148    
8149        // repeated .org.jetbrains.kotlin.serialization.Function function = 9;
8150        public static final int FUNCTION_FIELD_NUMBER = 9;
8151        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> function_;
8152        /**
8153         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8154         */
8155        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> getFunctionList() {
8156          return function_;
8157        }
8158        /**
8159         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8160         */
8161        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder> 
8162            getFunctionOrBuilderList() {
8163          return function_;
8164        }
8165        /**
8166         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8167         */
8168        public int getFunctionCount() {
8169          return function_.size();
8170        }
8171        /**
8172         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8173         */
8174        public org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index) {
8175          return function_.get(index);
8176        }
8177        /**
8178         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
8179         */
8180        public org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder getFunctionOrBuilder(
8181            int index) {
8182          return function_.get(index);
8183        }
8184    
8185        // repeated .org.jetbrains.kotlin.serialization.Property property = 10;
8186        public static final int PROPERTY_FIELD_NUMBER = 10;
8187        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> property_;
8188        /**
8189         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8190         */
8191        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> getPropertyList() {
8192          return property_;
8193        }
8194        /**
8195         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8196         */
8197        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder> 
8198            getPropertyOrBuilderList() {
8199          return property_;
8200        }
8201        /**
8202         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8203         */
8204        public int getPropertyCount() {
8205          return property_.size();
8206        }
8207        /**
8208         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8209         */
8210        public org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index) {
8211          return property_.get(index);
8212        }
8213        /**
8214         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
8215         */
8216        public org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder getPropertyOrBuilder(
8217            int index) {
8218          return property_.get(index);
8219        }
8220    
8221        // repeated int32 enum_entry_name = 12 [packed = true];
8222        public static final int ENUM_ENTRY_NAME_FIELD_NUMBER = 12;
8223        private java.util.List<java.lang.Integer> enumEntryName_;
8224        /**
8225         * <code>repeated int32 enum_entry_name = 12 [packed = true];</code>
8226         */
8227        public java.util.List<java.lang.Integer>
8228            getEnumEntryNameList() {
8229          return enumEntryName_;
8230        }
8231        /**
8232         * <code>repeated int32 enum_entry_name = 12 [packed = true];</code>
8233         */
8234        public int getEnumEntryNameCount() {
8235          return enumEntryName_.size();
8236        }
8237        /**
8238         * <code>repeated int32 enum_entry_name = 12 [packed = true];</code>
8239         */
8240        public int getEnumEntryName(int index) {
8241          return enumEntryName_.get(index);
8242        }
8243        private int enumEntryNameMemoizedSerializedSize = -1;
8244    
8245        // repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;
8246        public static final int ENUM_ENTRY_FIELD_NUMBER = 13;
8247        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> enumEntry_;
8248        /**
8249         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8250         */
8251        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> getEnumEntryList() {
8252          return enumEntry_;
8253        }
8254        /**
8255         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8256         */
8257        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntryOrBuilder> 
8258            getEnumEntryOrBuilderList() {
8259          return enumEntry_;
8260        }
8261        /**
8262         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8263         */
8264        public int getEnumEntryCount() {
8265          return enumEntry_.size();
8266        }
8267        /**
8268         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8269         */
8270        public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry getEnumEntry(int index) {
8271          return enumEntry_.get(index);
8272        }
8273        /**
8274         * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
8275         */
8276        public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntryOrBuilder getEnumEntryOrBuilder(
8277            int index) {
8278          return enumEntry_.get(index);
8279        }
8280    
8281        // optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;
8282        public static final int TYPE_TABLE_FIELD_NUMBER = 30;
8283        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_;
8284        /**
8285         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
8286         */
8287        public boolean hasTypeTable() {
8288          return ((bitField0_ & 0x00000008) == 0x00000008);
8289        }
8290        /**
8291         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
8292         */
8293        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
8294          return typeTable_;
8295        }
8296    
8297        private void initFields() {
8298          flags_ = 6;
8299          fqName_ = 0;
8300          companionObjectName_ = 0;
8301          typeParameter_ = java.util.Collections.emptyList();
8302          supertype_ = java.util.Collections.emptyList();
8303          supertypeId_ = java.util.Collections.emptyList();
8304          nestedClassName_ = java.util.Collections.emptyList();
8305          constructor_ = java.util.Collections.emptyList();
8306          function_ = java.util.Collections.emptyList();
8307          property_ = java.util.Collections.emptyList();
8308          enumEntryName_ = java.util.Collections.emptyList();
8309          enumEntry_ = java.util.Collections.emptyList();
8310          typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
8311        }
8312        private byte memoizedIsInitialized = -1;
8313        public final boolean isInitialized() {
8314          byte isInitialized = memoizedIsInitialized;
8315          if (isInitialized != -1) return isInitialized == 1;
8316    
8317          if (!hasFqName()) {
8318            memoizedIsInitialized = 0;
8319            return false;
8320          }
8321          for (int i = 0; i < getTypeParameterCount(); i++) {
8322            if (!getTypeParameter(i).isInitialized()) {
8323              memoizedIsInitialized = 0;
8324              return false;
8325            }
8326          }
8327          for (int i = 0; i < getSupertypeCount(); i++) {
8328            if (!getSupertype(i).isInitialized()) {
8329              memoizedIsInitialized = 0;
8330              return false;
8331            }
8332          }
8333          for (int i = 0; i < getConstructorCount(); i++) {
8334            if (!getConstructor(i).isInitialized()) {
8335              memoizedIsInitialized = 0;
8336              return false;
8337            }
8338          }
8339          for (int i = 0; i < getFunctionCount(); i++) {
8340            if (!getFunction(i).isInitialized()) {
8341              memoizedIsInitialized = 0;
8342              return false;
8343            }
8344          }
8345          for (int i = 0; i < getPropertyCount(); i++) {
8346            if (!getProperty(i).isInitialized()) {
8347              memoizedIsInitialized = 0;
8348              return false;
8349            }
8350          }
8351          for (int i = 0; i < getEnumEntryCount(); i++) {
8352            if (!getEnumEntry(i).isInitialized()) {
8353              memoizedIsInitialized = 0;
8354              return false;
8355            }
8356          }
8357          if (hasTypeTable()) {
8358            if (!getTypeTable().isInitialized()) {
8359              memoizedIsInitialized = 0;
8360              return false;
8361            }
8362          }
8363          if (!extensionsAreInitialized()) {
8364            memoizedIsInitialized = 0;
8365            return false;
8366          }
8367          memoizedIsInitialized = 1;
8368          return true;
8369        }
8370    
8371        public void writeTo(com.google.protobuf.CodedOutputStream output)
8372                            throws java.io.IOException {
8373          getSerializedSize();
8374          com.google.protobuf.GeneratedMessageLite
8375            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Class>.ExtensionWriter extensionWriter =
8376              newExtensionWriter();
8377          if (((bitField0_ & 0x00000001) == 0x00000001)) {
8378            output.writeInt32(1, flags_);
8379          }
8380          if (getSupertypeIdList().size() > 0) {
8381            output.writeRawVarint32(18);
8382            output.writeRawVarint32(supertypeIdMemoizedSerializedSize);
8383          }
8384          for (int i = 0; i < supertypeId_.size(); i++) {
8385            output.writeInt32NoTag(supertypeId_.get(i));
8386          }
8387          if (((bitField0_ & 0x00000002) == 0x00000002)) {
8388            output.writeInt32(3, fqName_);
8389          }
8390          if (((bitField0_ & 0x00000004) == 0x00000004)) {
8391            output.writeInt32(4, companionObjectName_);
8392          }
8393          for (int i = 0; i < typeParameter_.size(); i++) {
8394            output.writeMessage(5, typeParameter_.get(i));
8395          }
8396          for (int i = 0; i < supertype_.size(); i++) {
8397            output.writeMessage(6, supertype_.get(i));
8398          }
8399          if (getNestedClassNameList().size() > 0) {
8400            output.writeRawVarint32(58);
8401            output.writeRawVarint32(nestedClassNameMemoizedSerializedSize);
8402          }
8403          for (int i = 0; i < nestedClassName_.size(); i++) {
8404            output.writeInt32NoTag(nestedClassName_.get(i));
8405          }
8406          for (int i = 0; i < constructor_.size(); i++) {
8407            output.writeMessage(8, constructor_.get(i));
8408          }
8409          for (int i = 0; i < function_.size(); i++) {
8410            output.writeMessage(9, function_.get(i));
8411          }
8412          for (int i = 0; i < property_.size(); i++) {
8413            output.writeMessage(10, property_.get(i));
8414          }
8415          if (getEnumEntryNameList().size() > 0) {
8416            output.writeRawVarint32(98);
8417            output.writeRawVarint32(enumEntryNameMemoizedSerializedSize);
8418          }
8419          for (int i = 0; i < enumEntryName_.size(); i++) {
8420            output.writeInt32NoTag(enumEntryName_.get(i));
8421          }
8422          for (int i = 0; i < enumEntry_.size(); i++) {
8423            output.writeMessage(13, enumEntry_.get(i));
8424          }
8425          if (((bitField0_ & 0x00000008) == 0x00000008)) {
8426            output.writeMessage(30, typeTable_);
8427          }
8428          extensionWriter.writeUntil(200, output);
8429        }
8430    
8431        private int memoizedSerializedSize = -1;
8432        public int getSerializedSize() {
8433          int size = memoizedSerializedSize;
8434          if (size != -1) return size;
8435    
8436          size = 0;
8437          if (((bitField0_ & 0x00000001) == 0x00000001)) {
8438            size += com.google.protobuf.CodedOutputStream
8439              .computeInt32Size(1, flags_);
8440          }
8441          {
8442            int dataSize = 0;
8443            for (int i = 0; i < supertypeId_.size(); i++) {
8444              dataSize += com.google.protobuf.CodedOutputStream
8445                .computeInt32SizeNoTag(supertypeId_.get(i));
8446            }
8447            size += dataSize;
8448            if (!getSupertypeIdList().isEmpty()) {
8449              size += 1;
8450              size += com.google.protobuf.CodedOutputStream
8451                  .computeInt32SizeNoTag(dataSize);
8452            }
8453            supertypeIdMemoizedSerializedSize = dataSize;
8454          }
8455          if (((bitField0_ & 0x00000002) == 0x00000002)) {
8456            size += com.google.protobuf.CodedOutputStream
8457              .computeInt32Size(3, fqName_);
8458          }
8459          if (((bitField0_ & 0x00000004) == 0x00000004)) {
8460            size += com.google.protobuf.CodedOutputStream
8461              .computeInt32Size(4, companionObjectName_);
8462          }
8463          for (int i = 0; i < typeParameter_.size(); i++) {
8464            size += com.google.protobuf.CodedOutputStream
8465              .computeMessageSize(5, typeParameter_.get(i));
8466          }
8467          for (int i = 0; i < supertype_.size(); i++) {
8468            size += com.google.protobuf.CodedOutputStream
8469              .computeMessageSize(6, supertype_.get(i));
8470          }
8471          {
8472            int dataSize = 0;
8473            for (int i = 0; i < nestedClassName_.size(); i++) {
8474              dataSize += com.google.protobuf.CodedOutputStream
8475                .computeInt32SizeNoTag(nestedClassName_.get(i));
8476            }
8477            size += dataSize;
8478            if (!getNestedClassNameList().isEmpty()) {
8479              size += 1;
8480              size += com.google.protobuf.CodedOutputStream
8481                  .computeInt32SizeNoTag(dataSize);
8482            }
8483            nestedClassNameMemoizedSerializedSize = dataSize;
8484          }
8485          for (int i = 0; i < constructor_.size(); i++) {
8486            size += com.google.protobuf.CodedOutputStream
8487              .computeMessageSize(8, constructor_.get(i));
8488          }
8489          for (int i = 0; i < function_.size(); i++) {
8490            size += com.google.protobuf.CodedOutputStream
8491              .computeMessageSize(9, function_.get(i));
8492          }
8493          for (int i = 0; i < property_.size(); i++) {
8494            size += com.google.protobuf.CodedOutputStream
8495              .computeMessageSize(10, property_.get(i));
8496          }
8497          {
8498            int dataSize = 0;
8499            for (int i = 0; i < enumEntryName_.size(); i++) {
8500              dataSize += com.google.protobuf.CodedOutputStream
8501                .computeInt32SizeNoTag(enumEntryName_.get(i));
8502            }
8503            size += dataSize;
8504            if (!getEnumEntryNameList().isEmpty()) {
8505              size += 1;
8506              size += com.google.protobuf.CodedOutputStream
8507                  .computeInt32SizeNoTag(dataSize);
8508            }
8509            enumEntryNameMemoizedSerializedSize = dataSize;
8510          }
8511          for (int i = 0; i < enumEntry_.size(); i++) {
8512            size += com.google.protobuf.CodedOutputStream
8513              .computeMessageSize(13, enumEntry_.get(i));
8514          }
8515          if (((bitField0_ & 0x00000008) == 0x00000008)) {
8516            size += com.google.protobuf.CodedOutputStream
8517              .computeMessageSize(30, typeTable_);
8518          }
8519          size += extensionsSerializedSize();
8520          memoizedSerializedSize = size;
8521          return size;
8522        }
8523    
8524        private static final long serialVersionUID = 0L;
8525        @java.lang.Override
8526        protected java.lang.Object writeReplace()
8527            throws java.io.ObjectStreamException {
8528          return super.writeReplace();
8529        }
8530    
8531        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8532            com.google.protobuf.ByteString data)
8533            throws com.google.protobuf.InvalidProtocolBufferException {
8534          return PARSER.parseFrom(data);
8535        }
8536        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8537            com.google.protobuf.ByteString data,
8538            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8539            throws com.google.protobuf.InvalidProtocolBufferException {
8540          return PARSER.parseFrom(data, extensionRegistry);
8541        }
8542        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(byte[] data)
8543            throws com.google.protobuf.InvalidProtocolBufferException {
8544          return PARSER.parseFrom(data);
8545        }
8546        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8547            byte[] data,
8548            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8549            throws com.google.protobuf.InvalidProtocolBufferException {
8550          return PARSER.parseFrom(data, extensionRegistry);
8551        }
8552        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(java.io.InputStream input)
8553            throws java.io.IOException {
8554          return PARSER.parseFrom(input);
8555        }
8556        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8557            java.io.InputStream input,
8558            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8559            throws java.io.IOException {
8560          return PARSER.parseFrom(input, extensionRegistry);
8561        }
8562        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseDelimitedFrom(java.io.InputStream input)
8563            throws java.io.IOException {
8564          return PARSER.parseDelimitedFrom(input);
8565        }
8566        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseDelimitedFrom(
8567            java.io.InputStream input,
8568            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8569            throws java.io.IOException {
8570          return PARSER.parseDelimitedFrom(input, extensionRegistry);
8571        }
8572        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8573            com.google.protobuf.CodedInputStream input)
8574            throws java.io.IOException {
8575          return PARSER.parseFrom(input);
8576        }
8577        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8578            com.google.protobuf.CodedInputStream input,
8579            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8580            throws java.io.IOException {
8581          return PARSER.parseFrom(input, extensionRegistry);
8582        }
8583    
8584        public static Builder newBuilder() { return Builder.create(); }
8585        public Builder newBuilderForType() { return newBuilder(); }
8586        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Class prototype) {
8587          return newBuilder().mergeFrom(prototype);
8588        }
8589        public Builder toBuilder() { return newBuilder(this); }
8590    
8591        /**
8592         * Protobuf type {@code org.jetbrains.kotlin.serialization.Class}
8593         */
8594        public static final class Builder extends
8595            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
8596              org.jetbrains.kotlin.serialization.ProtoBuf.Class, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.ClassOrBuilder {
8597          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Class.newBuilder()
8598          private Builder() {
8599            maybeForceBuilderInitialization();
8600          }
8601    
8602          private void maybeForceBuilderInitialization() {
8603          }
8604          private static Builder create() {
8605            return new Builder();
8606          }
8607    
8608          public Builder clear() {
8609            super.clear();
8610            flags_ = 6;
8611            bitField0_ = (bitField0_ & ~0x00000001);
8612            fqName_ = 0;
8613            bitField0_ = (bitField0_ & ~0x00000002);
8614            companionObjectName_ = 0;
8615            bitField0_ = (bitField0_ & ~0x00000004);
8616            typeParameter_ = java.util.Collections.emptyList();
8617            bitField0_ = (bitField0_ & ~0x00000008);
8618            supertype_ = java.util.Collections.emptyList();
8619            bitField0_ = (bitField0_ & ~0x00000010);
8620            supertypeId_ = java.util.Collections.emptyList();
8621            bitField0_ = (bitField0_ & ~0x00000020);
8622            nestedClassName_ = java.util.Collections.emptyList();
8623            bitField0_ = (bitField0_ & ~0x00000040);
8624            constructor_ = java.util.Collections.emptyList();
8625            bitField0_ = (bitField0_ & ~0x00000080);
8626            function_ = java.util.Collections.emptyList();
8627            bitField0_ = (bitField0_ & ~0x00000100);
8628            property_ = java.util.Collections.emptyList();
8629            bitField0_ = (bitField0_ & ~0x00000200);
8630            enumEntryName_ = java.util.Collections.emptyList();
8631            bitField0_ = (bitField0_ & ~0x00000400);
8632            enumEntry_ = java.util.Collections.emptyList();
8633            bitField0_ = (bitField0_ & ~0x00000800);
8634            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
8635            bitField0_ = (bitField0_ & ~0x00001000);
8636            return this;
8637          }
8638    
8639          public Builder clone() {
8640            return create().mergeFrom(buildPartial());
8641          }
8642    
8643          public org.jetbrains.kotlin.serialization.ProtoBuf.Class getDefaultInstanceForType() {
8644            return org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance();
8645          }
8646    
8647          public org.jetbrains.kotlin.serialization.ProtoBuf.Class build() {
8648            org.jetbrains.kotlin.serialization.ProtoBuf.Class result = buildPartial();
8649            if (!result.isInitialized()) {
8650              throw newUninitializedMessageException(result);
8651            }
8652            return result;
8653          }
8654    
8655          public org.jetbrains.kotlin.serialization.ProtoBuf.Class buildPartial() {
8656            org.jetbrains.kotlin.serialization.ProtoBuf.Class result = new org.jetbrains.kotlin.serialization.ProtoBuf.Class(this);
8657            int from_bitField0_ = bitField0_;
8658            int to_bitField0_ = 0;
8659            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
8660              to_bitField0_ |= 0x00000001;
8661            }
8662            result.flags_ = flags_;
8663            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
8664              to_bitField0_ |= 0x00000002;
8665            }
8666            result.fqName_ = fqName_;
8667            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
8668              to_bitField0_ |= 0x00000004;
8669            }
8670            result.companionObjectName_ = companionObjectName_;
8671            if (((bitField0_ & 0x00000008) == 0x00000008)) {
8672              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
8673              bitField0_ = (bitField0_ & ~0x00000008);
8674            }
8675            result.typeParameter_ = typeParameter_;
8676            if (((bitField0_ & 0x00000010) == 0x00000010)) {
8677              supertype_ = java.util.Collections.unmodifiableList(supertype_);
8678              bitField0_ = (bitField0_ & ~0x00000010);
8679            }
8680            result.supertype_ = supertype_;
8681            if (((bitField0_ & 0x00000020) == 0x00000020)) {
8682              supertypeId_ = java.util.Collections.unmodifiableList(supertypeId_);
8683              bitField0_ = (bitField0_ & ~0x00000020);
8684            }
8685            result.supertypeId_ = supertypeId_;
8686            if (((bitField0_ & 0x00000040) == 0x00000040)) {
8687              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
8688              bitField0_ = (bitField0_ & ~0x00000040);
8689            }
8690            result.nestedClassName_ = nestedClassName_;
8691            if (((bitField0_ & 0x00000080) == 0x00000080)) {
8692              constructor_ = java.util.Collections.unmodifiableList(constructor_);
8693              bitField0_ = (bitField0_ & ~0x00000080);
8694            }
8695            result.constructor_ = constructor_;
8696            if (((bitField0_ & 0x00000100) == 0x00000100)) {
8697              function_ = java.util.Collections.unmodifiableList(function_);
8698              bitField0_ = (bitField0_ & ~0x00000100);
8699            }
8700            result.function_ = function_;
8701            if (((bitField0_ & 0x00000200) == 0x00000200)) {
8702              property_ = java.util.Collections.unmodifiableList(property_);
8703              bitField0_ = (bitField0_ & ~0x00000200);
8704            }
8705            result.property_ = property_;
8706            if (((bitField0_ & 0x00000400) == 0x00000400)) {
8707              enumEntryName_ = java.util.Collections.unmodifiableList(enumEntryName_);
8708              bitField0_ = (bitField0_ & ~0x00000400);
8709            }
8710            result.enumEntryName_ = enumEntryName_;
8711            if (((bitField0_ & 0x00000800) == 0x00000800)) {
8712              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
8713              bitField0_ = (bitField0_ & ~0x00000800);
8714            }
8715            result.enumEntry_ = enumEntry_;
8716            if (((from_bitField0_ & 0x00001000) == 0x00001000)) {
8717              to_bitField0_ |= 0x00000008;
8718            }
8719            result.typeTable_ = typeTable_;
8720            result.bitField0_ = to_bitField0_;
8721            return result;
8722          }
8723    
8724          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Class other) {
8725            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance()) return this;
8726            if (other.hasFlags()) {
8727              setFlags(other.getFlags());
8728            }
8729            if (other.hasFqName()) {
8730              setFqName(other.getFqName());
8731            }
8732            if (other.hasCompanionObjectName()) {
8733              setCompanionObjectName(other.getCompanionObjectName());
8734            }
8735            if (!other.typeParameter_.isEmpty()) {
8736              if (typeParameter_.isEmpty()) {
8737                typeParameter_ = other.typeParameter_;
8738                bitField0_ = (bitField0_ & ~0x00000008);
8739              } else {
8740                ensureTypeParameterIsMutable();
8741                typeParameter_.addAll(other.typeParameter_);
8742              }
8743              
8744            }
8745            if (!other.supertype_.isEmpty()) {
8746              if (supertype_.isEmpty()) {
8747                supertype_ = other.supertype_;
8748                bitField0_ = (bitField0_ & ~0x00000010);
8749              } else {
8750                ensureSupertypeIsMutable();
8751                supertype_.addAll(other.supertype_);
8752              }
8753              
8754            }
8755            if (!other.supertypeId_.isEmpty()) {
8756              if (supertypeId_.isEmpty()) {
8757                supertypeId_ = other.supertypeId_;
8758                bitField0_ = (bitField0_ & ~0x00000020);
8759              } else {
8760                ensureSupertypeIdIsMutable();
8761                supertypeId_.addAll(other.supertypeId_);
8762              }
8763              
8764            }
8765            if (!other.nestedClassName_.isEmpty()) {
8766              if (nestedClassName_.isEmpty()) {
8767                nestedClassName_ = other.nestedClassName_;
8768                bitField0_ = (bitField0_ & ~0x00000040);
8769              } else {
8770                ensureNestedClassNameIsMutable();
8771                nestedClassName_.addAll(other.nestedClassName_);
8772              }
8773              
8774            }
8775            if (!other.constructor_.isEmpty()) {
8776              if (constructor_.isEmpty()) {
8777                constructor_ = other.constructor_;
8778                bitField0_ = (bitField0_ & ~0x00000080);
8779              } else {
8780                ensureConstructorIsMutable();
8781                constructor_.addAll(other.constructor_);
8782              }
8783              
8784            }
8785            if (!other.function_.isEmpty()) {
8786              if (function_.isEmpty()) {
8787                function_ = other.function_;
8788                bitField0_ = (bitField0_ & ~0x00000100);
8789              } else {
8790                ensureFunctionIsMutable();
8791                function_.addAll(other.function_);
8792              }
8793              
8794            }
8795            if (!other.property_.isEmpty()) {
8796              if (property_.isEmpty()) {
8797                property_ = other.property_;
8798                bitField0_ = (bitField0_ & ~0x00000200);
8799              } else {
8800                ensurePropertyIsMutable();
8801                property_.addAll(other.property_);
8802              }
8803              
8804            }
8805            if (!other.enumEntryName_.isEmpty()) {
8806              if (enumEntryName_.isEmpty()) {
8807                enumEntryName_ = other.enumEntryName_;
8808                bitField0_ = (bitField0_ & ~0x00000400);
8809              } else {
8810                ensureEnumEntryNameIsMutable();
8811                enumEntryName_.addAll(other.enumEntryName_);
8812              }
8813              
8814            }
8815            if (!other.enumEntry_.isEmpty()) {
8816              if (enumEntry_.isEmpty()) {
8817                enumEntry_ = other.enumEntry_;
8818                bitField0_ = (bitField0_ & ~0x00000800);
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            return this;
8830          }
8831    
8832          public final boolean isInitialized() {
8833            if (!hasFqName()) {
8834              
8835              return false;
8836            }
8837            for (int i = 0; i < getTypeParameterCount(); i++) {
8838              if (!getTypeParameter(i).isInitialized()) {
8839                
8840                return false;
8841              }
8842            }
8843            for (int i = 0; i < getSupertypeCount(); i++) {
8844              if (!getSupertype(i).isInitialized()) {
8845                
8846                return false;
8847              }
8848            }
8849            for (int i = 0; i < getConstructorCount(); i++) {
8850              if (!getConstructor(i).isInitialized()) {
8851                
8852                return false;
8853              }
8854            }
8855            for (int i = 0; i < getFunctionCount(); i++) {
8856              if (!getFunction(i).isInitialized()) {
8857                
8858                return false;
8859              }
8860            }
8861            for (int i = 0; i < getPropertyCount(); i++) {
8862              if (!getProperty(i).isInitialized()) {
8863                
8864                return false;
8865              }
8866            }
8867            for (int i = 0; i < getEnumEntryCount(); i++) {
8868              if (!getEnumEntry(i).isInitialized()) {
8869                
8870                return false;
8871              }
8872            }
8873            if (hasTypeTable()) {
8874              if (!getTypeTable().isInitialized()) {
8875                
8876                return false;
8877              }
8878            }
8879            if (!extensionsAreInitialized()) {
8880              
8881              return false;
8882            }
8883            return true;
8884          }
8885    
8886          public Builder mergeFrom(
8887              com.google.protobuf.CodedInputStream input,
8888              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8889              throws java.io.IOException {
8890            org.jetbrains.kotlin.serialization.ProtoBuf.Class parsedMessage = null;
8891            try {
8892              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
8893            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8894              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Class) e.getUnfinishedMessage();
8895              throw e;
8896            } finally {
8897              if (parsedMessage != null) {
8898                mergeFrom(parsedMessage);
8899              }
8900            }
8901            return this;
8902          }
8903          private int bitField0_;
8904    
8905          // optional int32 flags = 1 [default = 6];
8906          private int flags_ = 6;
8907          /**
8908           * <code>optional int32 flags = 1 [default = 6];</code>
8909           *
8910           * <pre>
8911           *
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           *
8928           *hasAnnotations
8929           *Visibility
8930           *Modality
8931           *ClassKind
8932           *isInner
8933           *isData
8934           * </pre>
8935           */
8936          public int getFlags() {
8937            return flags_;
8938          }
8939          /**
8940           * <code>optional int32 flags = 1 [default = 6];</code>
8941           *
8942           * <pre>
8943           *
8944           *hasAnnotations
8945           *Visibility
8946           *Modality
8947           *ClassKind
8948           *isInner
8949           *isData
8950           * </pre>
8951           */
8952          public Builder setFlags(int value) {
8953            bitField0_ |= 0x00000001;
8954            flags_ = value;
8955            
8956            return this;
8957          }
8958          /**
8959           * <code>optional int32 flags = 1 [default = 6];</code>
8960           *
8961           * <pre>
8962           *
8963           *hasAnnotations
8964           *Visibility
8965           *Modality
8966           *ClassKind
8967           *isInner
8968           *isData
8969           * </pre>
8970           */
8971          public Builder clearFlags() {
8972            bitField0_ = (bitField0_ & ~0x00000001);
8973            flags_ = 6;
8974            
8975            return this;
8976          }
8977    
8978          // required int32 fq_name = 3;
8979          private int fqName_ ;
8980          /**
8981           * <code>required int32 fq_name = 3;</code>
8982           */
8983          public boolean hasFqName() {
8984            return ((bitField0_ & 0x00000002) == 0x00000002);
8985          }
8986          /**
8987           * <code>required int32 fq_name = 3;</code>
8988           */
8989          public int getFqName() {
8990            return fqName_;
8991          }
8992          /**
8993           * <code>required int32 fq_name = 3;</code>
8994           */
8995          public Builder setFqName(int value) {
8996            bitField0_ |= 0x00000002;
8997            fqName_ = value;
8998            
8999            return this;
9000          }
9001          /**
9002           * <code>required int32 fq_name = 3;</code>
9003           */
9004          public Builder clearFqName() {
9005            bitField0_ = (bitField0_ & ~0x00000002);
9006            fqName_ = 0;
9007            
9008            return this;
9009          }
9010    
9011          // optional int32 companion_object_name = 4;
9012          private int companionObjectName_ ;
9013          /**
9014           * <code>optional int32 companion_object_name = 4;</code>
9015           */
9016          public boolean hasCompanionObjectName() {
9017            return ((bitField0_ & 0x00000004) == 0x00000004);
9018          }
9019          /**
9020           * <code>optional int32 companion_object_name = 4;</code>
9021           */
9022          public int getCompanionObjectName() {
9023            return companionObjectName_;
9024          }
9025          /**
9026           * <code>optional int32 companion_object_name = 4;</code>
9027           */
9028          public Builder setCompanionObjectName(int value) {
9029            bitField0_ |= 0x00000004;
9030            companionObjectName_ = value;
9031            
9032            return this;
9033          }
9034          /**
9035           * <code>optional int32 companion_object_name = 4;</code>
9036           */
9037          public Builder clearCompanionObjectName() {
9038            bitField0_ = (bitField0_ & ~0x00000004);
9039            companionObjectName_ = 0;
9040            
9041            return this;
9042          }
9043    
9044          // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;
9045          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
9046            java.util.Collections.emptyList();
9047          private void ensureTypeParameterIsMutable() {
9048            if (!((bitField0_ & 0x00000008) == 0x00000008)) {
9049              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
9050              bitField0_ |= 0x00000008;
9051             }
9052          }
9053    
9054          /**
9055           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9056           */
9057          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
9058            return java.util.Collections.unmodifiableList(typeParameter_);
9059          }
9060          /**
9061           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9062           */
9063          public int getTypeParameterCount() {
9064            return typeParameter_.size();
9065          }
9066          /**
9067           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9068           */
9069          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
9070            return typeParameter_.get(index);
9071          }
9072          /**
9073           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9074           */
9075          public Builder setTypeParameter(
9076              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9077            if (value == null) {
9078              throw new NullPointerException();
9079            }
9080            ensureTypeParameterIsMutable();
9081            typeParameter_.set(index, value);
9082    
9083            return this;
9084          }
9085          /**
9086           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9087           */
9088          public Builder setTypeParameter(
9089              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9090            ensureTypeParameterIsMutable();
9091            typeParameter_.set(index, builderForValue.build());
9092    
9093            return this;
9094          }
9095          /**
9096           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9097           */
9098          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9099            if (value == null) {
9100              throw new NullPointerException();
9101            }
9102            ensureTypeParameterIsMutable();
9103            typeParameter_.add(value);
9104    
9105            return this;
9106          }
9107          /**
9108           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9109           */
9110          public Builder addTypeParameter(
9111              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
9112            if (value == null) {
9113              throw new NullPointerException();
9114            }
9115            ensureTypeParameterIsMutable();
9116            typeParameter_.add(index, value);
9117    
9118            return this;
9119          }
9120          /**
9121           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9122           */
9123          public Builder addTypeParameter(
9124              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9125            ensureTypeParameterIsMutable();
9126            typeParameter_.add(builderForValue.build());
9127    
9128            return this;
9129          }
9130          /**
9131           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9132           */
9133          public Builder addTypeParameter(
9134              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9135            ensureTypeParameterIsMutable();
9136            typeParameter_.add(index, builderForValue.build());
9137    
9138            return this;
9139          }
9140          /**
9141           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9142           */
9143          public Builder addAllTypeParameter(
9144              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
9145            ensureTypeParameterIsMutable();
9146            super.addAll(values, typeParameter_);
9147    
9148            return this;
9149          }
9150          /**
9151           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9152           */
9153          public Builder clearTypeParameter() {
9154            typeParameter_ = java.util.Collections.emptyList();
9155            bitField0_ = (bitField0_ & ~0x00000008);
9156    
9157            return this;
9158          }
9159          /**
9160           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
9161           */
9162          public Builder removeTypeParameter(int index) {
9163            ensureTypeParameterIsMutable();
9164            typeParameter_.remove(index);
9165    
9166            return this;
9167          }
9168    
9169          // repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;
9170          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> supertype_ =
9171            java.util.Collections.emptyList();
9172          private void ensureSupertypeIsMutable() {
9173            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
9174              supertype_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(supertype_);
9175              bitField0_ |= 0x00000010;
9176             }
9177          }
9178    
9179          /**
9180           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9181           */
9182          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getSupertypeList() {
9183            return java.util.Collections.unmodifiableList(supertype_);
9184          }
9185          /**
9186           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9187           */
9188          public int getSupertypeCount() {
9189            return supertype_.size();
9190          }
9191          /**
9192           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9193           */
9194          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index) {
9195            return supertype_.get(index);
9196          }
9197          /**
9198           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9199           */
9200          public Builder setSupertype(
9201              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9202            if (value == null) {
9203              throw new NullPointerException();
9204            }
9205            ensureSupertypeIsMutable();
9206            supertype_.set(index, value);
9207    
9208            return this;
9209          }
9210          /**
9211           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9212           */
9213          public Builder setSupertype(
9214              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9215            ensureSupertypeIsMutable();
9216            supertype_.set(index, builderForValue.build());
9217    
9218            return this;
9219          }
9220          /**
9221           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9222           */
9223          public Builder addSupertype(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9224            if (value == null) {
9225              throw new NullPointerException();
9226            }
9227            ensureSupertypeIsMutable();
9228            supertype_.add(value);
9229    
9230            return this;
9231          }
9232          /**
9233           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9234           */
9235          public Builder addSupertype(
9236              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
9237            if (value == null) {
9238              throw new NullPointerException();
9239            }
9240            ensureSupertypeIsMutable();
9241            supertype_.add(index, value);
9242    
9243            return this;
9244          }
9245          /**
9246           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9247           */
9248          public Builder addSupertype(
9249              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9250            ensureSupertypeIsMutable();
9251            supertype_.add(builderForValue.build());
9252    
9253            return this;
9254          }
9255          /**
9256           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9257           */
9258          public Builder addSupertype(
9259              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
9260            ensureSupertypeIsMutable();
9261            supertype_.add(index, builderForValue.build());
9262    
9263            return this;
9264          }
9265          /**
9266           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9267           */
9268          public Builder addAllSupertype(
9269              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
9270            ensureSupertypeIsMutable();
9271            super.addAll(values, supertype_);
9272    
9273            return this;
9274          }
9275          /**
9276           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9277           */
9278          public Builder clearSupertype() {
9279            supertype_ = java.util.Collections.emptyList();
9280            bitField0_ = (bitField0_ & ~0x00000010);
9281    
9282            return this;
9283          }
9284          /**
9285           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
9286           */
9287          public Builder removeSupertype(int index) {
9288            ensureSupertypeIsMutable();
9289            supertype_.remove(index);
9290    
9291            return this;
9292          }
9293    
9294          // repeated int32 supertype_id = 2 [packed = true];
9295          private java.util.List<java.lang.Integer> supertypeId_ = java.util.Collections.emptyList();
9296          private void ensureSupertypeIdIsMutable() {
9297            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
9298              supertypeId_ = new java.util.ArrayList<java.lang.Integer>(supertypeId_);
9299              bitField0_ |= 0x00000020;
9300             }
9301          }
9302          /**
9303           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9304           */
9305          public java.util.List<java.lang.Integer>
9306              getSupertypeIdList() {
9307            return java.util.Collections.unmodifiableList(supertypeId_);
9308          }
9309          /**
9310           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9311           */
9312          public int getSupertypeIdCount() {
9313            return supertypeId_.size();
9314          }
9315          /**
9316           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9317           */
9318          public int getSupertypeId(int index) {
9319            return supertypeId_.get(index);
9320          }
9321          /**
9322           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9323           */
9324          public Builder setSupertypeId(
9325              int index, int value) {
9326            ensureSupertypeIdIsMutable();
9327            supertypeId_.set(index, value);
9328            
9329            return this;
9330          }
9331          /**
9332           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9333           */
9334          public Builder addSupertypeId(int value) {
9335            ensureSupertypeIdIsMutable();
9336            supertypeId_.add(value);
9337            
9338            return this;
9339          }
9340          /**
9341           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9342           */
9343          public Builder addAllSupertypeId(
9344              java.lang.Iterable<? extends java.lang.Integer> values) {
9345            ensureSupertypeIdIsMutable();
9346            super.addAll(values, supertypeId_);
9347            
9348            return this;
9349          }
9350          /**
9351           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9352           */
9353          public Builder clearSupertypeId() {
9354            supertypeId_ = java.util.Collections.emptyList();
9355            bitField0_ = (bitField0_ & ~0x00000020);
9356            
9357            return this;
9358          }
9359    
9360          // repeated int32 nested_class_name = 7 [packed = true];
9361          private java.util.List<java.lang.Integer> nestedClassName_ = java.util.Collections.emptyList();
9362          private void ensureNestedClassNameIsMutable() {
9363            if (!((bitField0_ & 0x00000040) == 0x00000040)) {
9364              nestedClassName_ = new java.util.ArrayList<java.lang.Integer>(nestedClassName_);
9365              bitField0_ |= 0x00000040;
9366             }
9367          }
9368          /**
9369           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9370           */
9371          public java.util.List<java.lang.Integer>
9372              getNestedClassNameList() {
9373            return java.util.Collections.unmodifiableList(nestedClassName_);
9374          }
9375          /**
9376           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9377           */
9378          public int getNestedClassNameCount() {
9379            return nestedClassName_.size();
9380          }
9381          /**
9382           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9383           */
9384          public int getNestedClassName(int index) {
9385            return nestedClassName_.get(index);
9386          }
9387          /**
9388           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9389           */
9390          public Builder setNestedClassName(
9391              int index, int value) {
9392            ensureNestedClassNameIsMutable();
9393            nestedClassName_.set(index, value);
9394            
9395            return this;
9396          }
9397          /**
9398           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9399           */
9400          public Builder addNestedClassName(int value) {
9401            ensureNestedClassNameIsMutable();
9402            nestedClassName_.add(value);
9403            
9404            return this;
9405          }
9406          /**
9407           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9408           */
9409          public Builder addAllNestedClassName(
9410              java.lang.Iterable<? extends java.lang.Integer> values) {
9411            ensureNestedClassNameIsMutable();
9412            super.addAll(values, nestedClassName_);
9413            
9414            return this;
9415          }
9416          /**
9417           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9418           */
9419          public Builder clearNestedClassName() {
9420            nestedClassName_ = java.util.Collections.emptyList();
9421            bitField0_ = (bitField0_ & ~0x00000040);
9422            
9423            return this;
9424          }
9425    
9426          // repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;
9427          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> constructor_ =
9428            java.util.Collections.emptyList();
9429          private void ensureConstructorIsMutable() {
9430            if (!((bitField0_ & 0x00000080) == 0x00000080)) {
9431              constructor_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor>(constructor_);
9432              bitField0_ |= 0x00000080;
9433             }
9434          }
9435    
9436          /**
9437           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9438           */
9439          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> getConstructorList() {
9440            return java.util.Collections.unmodifiableList(constructor_);
9441          }
9442          /**
9443           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9444           */
9445          public int getConstructorCount() {
9446            return constructor_.size();
9447          }
9448          /**
9449           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9450           */
9451          public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor getConstructor(int index) {
9452            return constructor_.get(index);
9453          }
9454          /**
9455           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9456           */
9457          public Builder setConstructor(
9458              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Constructor value) {
9459            if (value == null) {
9460              throw new NullPointerException();
9461            }
9462            ensureConstructorIsMutable();
9463            constructor_.set(index, value);
9464    
9465            return this;
9466          }
9467          /**
9468           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9469           */
9470          public Builder setConstructor(
9471              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.Builder builderForValue) {
9472            ensureConstructorIsMutable();
9473            constructor_.set(index, builderForValue.build());
9474    
9475            return this;
9476          }
9477          /**
9478           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9479           */
9480          public Builder addConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Constructor value) {
9481            if (value == null) {
9482              throw new NullPointerException();
9483            }
9484            ensureConstructorIsMutable();
9485            constructor_.add(value);
9486    
9487            return this;
9488          }
9489          /**
9490           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9491           */
9492          public Builder addConstructor(
9493              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Constructor value) {
9494            if (value == null) {
9495              throw new NullPointerException();
9496            }
9497            ensureConstructorIsMutable();
9498            constructor_.add(index, value);
9499    
9500            return this;
9501          }
9502          /**
9503           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9504           */
9505          public Builder addConstructor(
9506              org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.Builder builderForValue) {
9507            ensureConstructorIsMutable();
9508            constructor_.add(builderForValue.build());
9509    
9510            return this;
9511          }
9512          /**
9513           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9514           */
9515          public Builder addConstructor(
9516              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.Builder builderForValue) {
9517            ensureConstructorIsMutable();
9518            constructor_.add(index, builderForValue.build());
9519    
9520            return this;
9521          }
9522          /**
9523           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9524           */
9525          public Builder addAllConstructor(
9526              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> values) {
9527            ensureConstructorIsMutable();
9528            super.addAll(values, constructor_);
9529    
9530            return this;
9531          }
9532          /**
9533           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9534           */
9535          public Builder clearConstructor() {
9536            constructor_ = java.util.Collections.emptyList();
9537            bitField0_ = (bitField0_ & ~0x00000080);
9538    
9539            return this;
9540          }
9541          /**
9542           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9543           */
9544          public Builder removeConstructor(int index) {
9545            ensureConstructorIsMutable();
9546            constructor_.remove(index);
9547    
9548            return this;
9549          }
9550    
9551          // repeated .org.jetbrains.kotlin.serialization.Function function = 9;
9552          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> function_ =
9553            java.util.Collections.emptyList();
9554          private void ensureFunctionIsMutable() {
9555            if (!((bitField0_ & 0x00000100) == 0x00000100)) {
9556              function_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Function>(function_);
9557              bitField0_ |= 0x00000100;
9558             }
9559          }
9560    
9561          /**
9562           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9563           */
9564          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> getFunctionList() {
9565            return java.util.Collections.unmodifiableList(function_);
9566          }
9567          /**
9568           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9569           */
9570          public int getFunctionCount() {
9571            return function_.size();
9572          }
9573          /**
9574           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9575           */
9576          public org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index) {
9577            return function_.get(index);
9578          }
9579          /**
9580           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9581           */
9582          public Builder setFunction(
9583              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
9584            if (value == null) {
9585              throw new NullPointerException();
9586            }
9587            ensureFunctionIsMutable();
9588            function_.set(index, value);
9589    
9590            return this;
9591          }
9592          /**
9593           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9594           */
9595          public Builder setFunction(
9596              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
9597            ensureFunctionIsMutable();
9598            function_.set(index, builderForValue.build());
9599    
9600            return this;
9601          }
9602          /**
9603           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9604           */
9605          public Builder addFunction(org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
9606            if (value == null) {
9607              throw new NullPointerException();
9608            }
9609            ensureFunctionIsMutable();
9610            function_.add(value);
9611    
9612            return this;
9613          }
9614          /**
9615           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9616           */
9617          public Builder addFunction(
9618              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
9619            if (value == null) {
9620              throw new NullPointerException();
9621            }
9622            ensureFunctionIsMutable();
9623            function_.add(index, value);
9624    
9625            return this;
9626          }
9627          /**
9628           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9629           */
9630          public Builder addFunction(
9631              org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
9632            ensureFunctionIsMutable();
9633            function_.add(builderForValue.build());
9634    
9635            return this;
9636          }
9637          /**
9638           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9639           */
9640          public Builder addFunction(
9641              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
9642            ensureFunctionIsMutable();
9643            function_.add(index, builderForValue.build());
9644    
9645            return this;
9646          }
9647          /**
9648           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9649           */
9650          public Builder addAllFunction(
9651              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Function> values) {
9652            ensureFunctionIsMutable();
9653            super.addAll(values, function_);
9654    
9655            return this;
9656          }
9657          /**
9658           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9659           */
9660          public Builder clearFunction() {
9661            function_ = java.util.Collections.emptyList();
9662            bitField0_ = (bitField0_ & ~0x00000100);
9663    
9664            return this;
9665          }
9666          /**
9667           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9668           */
9669          public Builder removeFunction(int index) {
9670            ensureFunctionIsMutable();
9671            function_.remove(index);
9672    
9673            return this;
9674          }
9675    
9676          // repeated .org.jetbrains.kotlin.serialization.Property property = 10;
9677          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> property_ =
9678            java.util.Collections.emptyList();
9679          private void ensurePropertyIsMutable() {
9680            if (!((bitField0_ & 0x00000200) == 0x00000200)) {
9681              property_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Property>(property_);
9682              bitField0_ |= 0x00000200;
9683             }
9684          }
9685    
9686          /**
9687           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9688           */
9689          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> getPropertyList() {
9690            return java.util.Collections.unmodifiableList(property_);
9691          }
9692          /**
9693           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9694           */
9695          public int getPropertyCount() {
9696            return property_.size();
9697          }
9698          /**
9699           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9700           */
9701          public org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index) {
9702            return property_.get(index);
9703          }
9704          /**
9705           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9706           */
9707          public Builder setProperty(
9708              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
9709            if (value == null) {
9710              throw new NullPointerException();
9711            }
9712            ensurePropertyIsMutable();
9713            property_.set(index, value);
9714    
9715            return this;
9716          }
9717          /**
9718           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9719           */
9720          public Builder setProperty(
9721              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
9722            ensurePropertyIsMutable();
9723            property_.set(index, builderForValue.build());
9724    
9725            return this;
9726          }
9727          /**
9728           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9729           */
9730          public Builder addProperty(org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
9731            if (value == null) {
9732              throw new NullPointerException();
9733            }
9734            ensurePropertyIsMutable();
9735            property_.add(value);
9736    
9737            return this;
9738          }
9739          /**
9740           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9741           */
9742          public Builder addProperty(
9743              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
9744            if (value == null) {
9745              throw new NullPointerException();
9746            }
9747            ensurePropertyIsMutable();
9748            property_.add(index, value);
9749    
9750            return this;
9751          }
9752          /**
9753           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9754           */
9755          public Builder addProperty(
9756              org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
9757            ensurePropertyIsMutable();
9758            property_.add(builderForValue.build());
9759    
9760            return this;
9761          }
9762          /**
9763           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9764           */
9765          public Builder addProperty(
9766              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
9767            ensurePropertyIsMutable();
9768            property_.add(index, builderForValue.build());
9769    
9770            return this;
9771          }
9772          /**
9773           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9774           */
9775          public Builder addAllProperty(
9776              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Property> values) {
9777            ensurePropertyIsMutable();
9778            super.addAll(values, property_);
9779    
9780            return this;
9781          }
9782          /**
9783           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9784           */
9785          public Builder clearProperty() {
9786            property_ = java.util.Collections.emptyList();
9787            bitField0_ = (bitField0_ & ~0x00000200);
9788    
9789            return this;
9790          }
9791          /**
9792           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9793           */
9794          public Builder removeProperty(int index) {
9795            ensurePropertyIsMutable();
9796            property_.remove(index);
9797    
9798            return this;
9799          }
9800    
9801          // repeated int32 enum_entry_name = 12 [packed = true];
9802          private java.util.List<java.lang.Integer> enumEntryName_ = java.util.Collections.emptyList();
9803          private void ensureEnumEntryNameIsMutable() {
9804            if (!((bitField0_ & 0x00000400) == 0x00000400)) {
9805              enumEntryName_ = new java.util.ArrayList<java.lang.Integer>(enumEntryName_);
9806              bitField0_ |= 0x00000400;
9807             }
9808          }
9809          /**
9810           * <code>repeated int32 enum_entry_name = 12 [packed = true];</code>
9811           */
9812          public java.util.List<java.lang.Integer>
9813              getEnumEntryNameList() {
9814            return java.util.Collections.unmodifiableList(enumEntryName_);
9815          }
9816          /**
9817           * <code>repeated int32 enum_entry_name = 12 [packed = true];</code>
9818           */
9819          public int getEnumEntryNameCount() {
9820            return enumEntryName_.size();
9821          }
9822          /**
9823           * <code>repeated int32 enum_entry_name = 12 [packed = true];</code>
9824           */
9825          public int getEnumEntryName(int index) {
9826            return enumEntryName_.get(index);
9827          }
9828          /**
9829           * <code>repeated int32 enum_entry_name = 12 [packed = true];</code>
9830           */
9831          public Builder setEnumEntryName(
9832              int index, int value) {
9833            ensureEnumEntryNameIsMutable();
9834            enumEntryName_.set(index, value);
9835            
9836            return this;
9837          }
9838          /**
9839           * <code>repeated int32 enum_entry_name = 12 [packed = true];</code>
9840           */
9841          public Builder addEnumEntryName(int value) {
9842            ensureEnumEntryNameIsMutable();
9843            enumEntryName_.add(value);
9844            
9845            return this;
9846          }
9847          /**
9848           * <code>repeated int32 enum_entry_name = 12 [packed = true];</code>
9849           */
9850          public Builder addAllEnumEntryName(
9851              java.lang.Iterable<? extends java.lang.Integer> values) {
9852            ensureEnumEntryNameIsMutable();
9853            super.addAll(values, enumEntryName_);
9854            
9855            return this;
9856          }
9857          /**
9858           * <code>repeated int32 enum_entry_name = 12 [packed = true];</code>
9859           */
9860          public Builder clearEnumEntryName() {
9861            enumEntryName_ = java.util.Collections.emptyList();
9862            bitField0_ = (bitField0_ & ~0x00000400);
9863            
9864            return this;
9865          }
9866    
9867          // repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;
9868          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> enumEntry_ =
9869            java.util.Collections.emptyList();
9870          private void ensureEnumEntryIsMutable() {
9871            if (!((bitField0_ & 0x00000800) == 0x00000800)) {
9872              enumEntry_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry>(enumEntry_);
9873              bitField0_ |= 0x00000800;
9874             }
9875          }
9876    
9877          /**
9878           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9879           */
9880          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> getEnumEntryList() {
9881            return java.util.Collections.unmodifiableList(enumEntry_);
9882          }
9883          /**
9884           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9885           */
9886          public int getEnumEntryCount() {
9887            return enumEntry_.size();
9888          }
9889          /**
9890           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9891           */
9892          public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry getEnumEntry(int index) {
9893            return enumEntry_.get(index);
9894          }
9895          /**
9896           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9897           */
9898          public Builder setEnumEntry(
9899              int index, org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry value) {
9900            if (value == null) {
9901              throw new NullPointerException();
9902            }
9903            ensureEnumEntryIsMutable();
9904            enumEntry_.set(index, value);
9905    
9906            return this;
9907          }
9908          /**
9909           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9910           */
9911          public Builder setEnumEntry(
9912              int index, org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.Builder builderForValue) {
9913            ensureEnumEntryIsMutable();
9914            enumEntry_.set(index, builderForValue.build());
9915    
9916            return this;
9917          }
9918          /**
9919           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9920           */
9921          public Builder addEnumEntry(org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry value) {
9922            if (value == null) {
9923              throw new NullPointerException();
9924            }
9925            ensureEnumEntryIsMutable();
9926            enumEntry_.add(value);
9927    
9928            return this;
9929          }
9930          /**
9931           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9932           */
9933          public Builder addEnumEntry(
9934              int index, org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry value) {
9935            if (value == null) {
9936              throw new NullPointerException();
9937            }
9938            ensureEnumEntryIsMutable();
9939            enumEntry_.add(index, value);
9940    
9941            return this;
9942          }
9943          /**
9944           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9945           */
9946          public Builder addEnumEntry(
9947              org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.Builder builderForValue) {
9948            ensureEnumEntryIsMutable();
9949            enumEntry_.add(builderForValue.build());
9950    
9951            return this;
9952          }
9953          /**
9954           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9955           */
9956          public Builder addEnumEntry(
9957              int index, org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.Builder builderForValue) {
9958            ensureEnumEntryIsMutable();
9959            enumEntry_.add(index, builderForValue.build());
9960    
9961            return this;
9962          }
9963          /**
9964           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9965           */
9966          public Builder addAllEnumEntry(
9967              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry> values) {
9968            ensureEnumEntryIsMutable();
9969            super.addAll(values, enumEntry_);
9970    
9971            return this;
9972          }
9973          /**
9974           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9975           */
9976          public Builder clearEnumEntry() {
9977            enumEntry_ = java.util.Collections.emptyList();
9978            bitField0_ = (bitField0_ & ~0x00000800);
9979    
9980            return this;
9981          }
9982          /**
9983           * <code>repeated .org.jetbrains.kotlin.serialization.EnumEntry enum_entry = 13;</code>
9984           */
9985          public Builder removeEnumEntry(int index) {
9986            ensureEnumEntryIsMutable();
9987            enumEntry_.remove(index);
9988    
9989            return this;
9990          }
9991    
9992          // optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;
9993          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
9994          /**
9995           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
9996           */
9997          public boolean hasTypeTable() {
9998            return ((bitField0_ & 0x00001000) == 0x00001000);
9999          }
10000          /**
10001           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10002           */
10003          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
10004            return typeTable_;
10005          }
10006          /**
10007           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10008           */
10009          public Builder setTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
10010            if (value == null) {
10011              throw new NullPointerException();
10012            }
10013            typeTable_ = value;
10014    
10015            bitField0_ |= 0x00001000;
10016            return this;
10017          }
10018          /**
10019           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10020           */
10021          public Builder setTypeTable(
10022              org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder builderForValue) {
10023            typeTable_ = builderForValue.build();
10024    
10025            bitField0_ |= 0x00001000;
10026            return this;
10027          }
10028          /**
10029           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10030           */
10031          public Builder mergeTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
10032            if (((bitField0_ & 0x00001000) == 0x00001000) &&
10033                typeTable_ != org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance()) {
10034              typeTable_ =
10035                org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.newBuilder(typeTable_).mergeFrom(value).buildPartial();
10036            } else {
10037              typeTable_ = value;
10038            }
10039    
10040            bitField0_ |= 0x00001000;
10041            return this;
10042          }
10043          /**
10044           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10045           */
10046          public Builder clearTypeTable() {
10047            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
10048    
10049            bitField0_ = (bitField0_ & ~0x00001000);
10050            return this;
10051          }
10052    
10053          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Class)
10054        }
10055    
10056        static {
10057          defaultInstance = new Class(true);
10058          defaultInstance.initFields();
10059        }
10060    
10061        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Class)
10062      }
10063    
10064      public interface PackageOrBuilder extends 
10065           com.google.protobuf.GeneratedMessageLite.
10066                ExtendableMessageOrBuilder<Package> {
10067    
10068        // repeated .org.jetbrains.kotlin.serialization.Function function = 3;
10069        /**
10070         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10071         */
10072        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> 
10073            getFunctionList();
10074        /**
10075         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10076         */
10077        org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index);
10078        /**
10079         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10080         */
10081        int getFunctionCount();
10082    
10083        // repeated .org.jetbrains.kotlin.serialization.Property property = 4;
10084        /**
10085         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10086         */
10087        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> 
10088            getPropertyList();
10089        /**
10090         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10091         */
10092        org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index);
10093        /**
10094         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10095         */
10096        int getPropertyCount();
10097    
10098        // optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;
10099        /**
10100         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10101         */
10102        boolean hasTypeTable();
10103        /**
10104         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10105         */
10106        org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable();
10107      }
10108      /**
10109       * Protobuf type {@code org.jetbrains.kotlin.serialization.Package}
10110       */
10111      public static final class Package extends
10112          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
10113            Package> implements PackageOrBuilder {
10114        // Use Package.newBuilder() to construct.
10115        private Package(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Package, ?> builder) {
10116          super(builder);
10117    
10118        }
10119        private Package(boolean noInit) {}
10120    
10121        private static final Package defaultInstance;
10122        public static Package getDefaultInstance() {
10123          return defaultInstance;
10124        }
10125    
10126        public Package getDefaultInstanceForType() {
10127          return defaultInstance;
10128        }
10129    
10130        private Package(
10131            com.google.protobuf.CodedInputStream input,
10132            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10133            throws com.google.protobuf.InvalidProtocolBufferException {
10134          initFields();
10135          int mutable_bitField0_ = 0;
10136          try {
10137            boolean done = false;
10138            while (!done) {
10139              int tag = input.readTag();
10140              switch (tag) {
10141                case 0:
10142                  done = true;
10143                  break;
10144                default: {
10145                  if (!parseUnknownField(input,
10146                                         extensionRegistry, tag)) {
10147                    done = true;
10148                  }
10149                  break;
10150                }
10151                case 26: {
10152                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
10153                    function_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Function>();
10154                    mutable_bitField0_ |= 0x00000001;
10155                  }
10156                  function_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Function.PARSER, extensionRegistry));
10157                  break;
10158                }
10159                case 34: {
10160                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
10161                    property_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Property>();
10162                    mutable_bitField0_ |= 0x00000002;
10163                  }
10164                  property_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Property.PARSER, extensionRegistry));
10165                  break;
10166                }
10167                case 242: {
10168                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder subBuilder = null;
10169                  if (((bitField0_ & 0x00000001) == 0x00000001)) {
10170                    subBuilder = typeTable_.toBuilder();
10171                  }
10172                  typeTable_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.PARSER, extensionRegistry);
10173                  if (subBuilder != null) {
10174                    subBuilder.mergeFrom(typeTable_);
10175                    typeTable_ = subBuilder.buildPartial();
10176                  }
10177                  bitField0_ |= 0x00000001;
10178                  break;
10179                }
10180              }
10181            }
10182          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10183            throw e.setUnfinishedMessage(this);
10184          } catch (java.io.IOException e) {
10185            throw new com.google.protobuf.InvalidProtocolBufferException(
10186                e.getMessage()).setUnfinishedMessage(this);
10187          } finally {
10188            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
10189              function_ = java.util.Collections.unmodifiableList(function_);
10190            }
10191            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
10192              property_ = java.util.Collections.unmodifiableList(property_);
10193            }
10194            makeExtensionsImmutable();
10195          }
10196        }
10197        public static com.google.protobuf.Parser<Package> PARSER =
10198            new com.google.protobuf.AbstractParser<Package>() {
10199          public Package parsePartialFrom(
10200              com.google.protobuf.CodedInputStream input,
10201              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10202              throws com.google.protobuf.InvalidProtocolBufferException {
10203            return new Package(input, extensionRegistry);
10204          }
10205        };
10206    
10207        @java.lang.Override
10208        public com.google.protobuf.Parser<Package> getParserForType() {
10209          return PARSER;
10210        }
10211    
10212        private int bitField0_;
10213        // repeated .org.jetbrains.kotlin.serialization.Function function = 3;
10214        public static final int FUNCTION_FIELD_NUMBER = 3;
10215        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> function_;
10216        /**
10217         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10218         */
10219        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> getFunctionList() {
10220          return function_;
10221        }
10222        /**
10223         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10224         */
10225        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder> 
10226            getFunctionOrBuilderList() {
10227          return function_;
10228        }
10229        /**
10230         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10231         */
10232        public int getFunctionCount() {
10233          return function_.size();
10234        }
10235        /**
10236         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10237         */
10238        public org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index) {
10239          return function_.get(index);
10240        }
10241        /**
10242         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10243         */
10244        public org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder getFunctionOrBuilder(
10245            int index) {
10246          return function_.get(index);
10247        }
10248    
10249        // repeated .org.jetbrains.kotlin.serialization.Property property = 4;
10250        public static final int PROPERTY_FIELD_NUMBER = 4;
10251        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> property_;
10252        /**
10253         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10254         */
10255        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> getPropertyList() {
10256          return property_;
10257        }
10258        /**
10259         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10260         */
10261        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder> 
10262            getPropertyOrBuilderList() {
10263          return property_;
10264        }
10265        /**
10266         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10267         */
10268        public int getPropertyCount() {
10269          return property_.size();
10270        }
10271        /**
10272         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10273         */
10274        public org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index) {
10275          return property_.get(index);
10276        }
10277        /**
10278         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10279         */
10280        public org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder getPropertyOrBuilder(
10281            int index) {
10282          return property_.get(index);
10283        }
10284    
10285        // optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;
10286        public static final int TYPE_TABLE_FIELD_NUMBER = 30;
10287        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_;
10288        /**
10289         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10290         */
10291        public boolean hasTypeTable() {
10292          return ((bitField0_ & 0x00000001) == 0x00000001);
10293        }
10294        /**
10295         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10296         */
10297        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
10298          return typeTable_;
10299        }
10300    
10301        private void initFields() {
10302          function_ = java.util.Collections.emptyList();
10303          property_ = java.util.Collections.emptyList();
10304          typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
10305        }
10306        private byte memoizedIsInitialized = -1;
10307        public final boolean isInitialized() {
10308          byte isInitialized = memoizedIsInitialized;
10309          if (isInitialized != -1) return isInitialized == 1;
10310    
10311          for (int i = 0; i < getFunctionCount(); i++) {
10312            if (!getFunction(i).isInitialized()) {
10313              memoizedIsInitialized = 0;
10314              return false;
10315            }
10316          }
10317          for (int i = 0; i < getPropertyCount(); i++) {
10318            if (!getProperty(i).isInitialized()) {
10319              memoizedIsInitialized = 0;
10320              return false;
10321            }
10322          }
10323          if (hasTypeTable()) {
10324            if (!getTypeTable().isInitialized()) {
10325              memoizedIsInitialized = 0;
10326              return false;
10327            }
10328          }
10329          if (!extensionsAreInitialized()) {
10330            memoizedIsInitialized = 0;
10331            return false;
10332          }
10333          memoizedIsInitialized = 1;
10334          return true;
10335        }
10336    
10337        public void writeTo(com.google.protobuf.CodedOutputStream output)
10338                            throws java.io.IOException {
10339          getSerializedSize();
10340          com.google.protobuf.GeneratedMessageLite
10341            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Package>.ExtensionWriter extensionWriter =
10342              newExtensionWriter();
10343          for (int i = 0; i < function_.size(); i++) {
10344            output.writeMessage(3, function_.get(i));
10345          }
10346          for (int i = 0; i < property_.size(); i++) {
10347            output.writeMessage(4, property_.get(i));
10348          }
10349          if (((bitField0_ & 0x00000001) == 0x00000001)) {
10350            output.writeMessage(30, typeTable_);
10351          }
10352          extensionWriter.writeUntil(200, output);
10353        }
10354    
10355        private int memoizedSerializedSize = -1;
10356        public int getSerializedSize() {
10357          int size = memoizedSerializedSize;
10358          if (size != -1) return size;
10359    
10360          size = 0;
10361          for (int i = 0; i < function_.size(); i++) {
10362            size += com.google.protobuf.CodedOutputStream
10363              .computeMessageSize(3, function_.get(i));
10364          }
10365          for (int i = 0; i < property_.size(); i++) {
10366            size += com.google.protobuf.CodedOutputStream
10367              .computeMessageSize(4, property_.get(i));
10368          }
10369          if (((bitField0_ & 0x00000001) == 0x00000001)) {
10370            size += com.google.protobuf.CodedOutputStream
10371              .computeMessageSize(30, typeTable_);
10372          }
10373          size += extensionsSerializedSize();
10374          memoizedSerializedSize = size;
10375          return size;
10376        }
10377    
10378        private static final long serialVersionUID = 0L;
10379        @java.lang.Override
10380        protected java.lang.Object writeReplace()
10381            throws java.io.ObjectStreamException {
10382          return super.writeReplace();
10383        }
10384    
10385        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10386            com.google.protobuf.ByteString data)
10387            throws com.google.protobuf.InvalidProtocolBufferException {
10388          return PARSER.parseFrom(data);
10389        }
10390        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10391            com.google.protobuf.ByteString data,
10392            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10393            throws com.google.protobuf.InvalidProtocolBufferException {
10394          return PARSER.parseFrom(data, extensionRegistry);
10395        }
10396        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(byte[] data)
10397            throws com.google.protobuf.InvalidProtocolBufferException {
10398          return PARSER.parseFrom(data);
10399        }
10400        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10401            byte[] data,
10402            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10403            throws com.google.protobuf.InvalidProtocolBufferException {
10404          return PARSER.parseFrom(data, extensionRegistry);
10405        }
10406        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(java.io.InputStream input)
10407            throws java.io.IOException {
10408          return PARSER.parseFrom(input);
10409        }
10410        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10411            java.io.InputStream input,
10412            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10413            throws java.io.IOException {
10414          return PARSER.parseFrom(input, extensionRegistry);
10415        }
10416        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseDelimitedFrom(java.io.InputStream input)
10417            throws java.io.IOException {
10418          return PARSER.parseDelimitedFrom(input);
10419        }
10420        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseDelimitedFrom(
10421            java.io.InputStream input,
10422            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10423            throws java.io.IOException {
10424          return PARSER.parseDelimitedFrom(input, extensionRegistry);
10425        }
10426        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10427            com.google.protobuf.CodedInputStream input)
10428            throws java.io.IOException {
10429          return PARSER.parseFrom(input);
10430        }
10431        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
10432            com.google.protobuf.CodedInputStream input,
10433            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10434            throws java.io.IOException {
10435          return PARSER.parseFrom(input, extensionRegistry);
10436        }
10437    
10438        public static Builder newBuilder() { return Builder.create(); }
10439        public Builder newBuilderForType() { return newBuilder(); }
10440        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Package prototype) {
10441          return newBuilder().mergeFrom(prototype);
10442        }
10443        public Builder toBuilder() { return newBuilder(this); }
10444    
10445        /**
10446         * Protobuf type {@code org.jetbrains.kotlin.serialization.Package}
10447         */
10448        public static final class Builder extends
10449            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
10450              org.jetbrains.kotlin.serialization.ProtoBuf.Package, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.PackageOrBuilder {
10451          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Package.newBuilder()
10452          private Builder() {
10453            maybeForceBuilderInitialization();
10454          }
10455    
10456          private void maybeForceBuilderInitialization() {
10457          }
10458          private static Builder create() {
10459            return new Builder();
10460          }
10461    
10462          public Builder clear() {
10463            super.clear();
10464            function_ = java.util.Collections.emptyList();
10465            bitField0_ = (bitField0_ & ~0x00000001);
10466            property_ = java.util.Collections.emptyList();
10467            bitField0_ = (bitField0_ & ~0x00000002);
10468            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
10469            bitField0_ = (bitField0_ & ~0x00000004);
10470            return this;
10471          }
10472    
10473          public Builder clone() {
10474            return create().mergeFrom(buildPartial());
10475          }
10476    
10477          public org.jetbrains.kotlin.serialization.ProtoBuf.Package getDefaultInstanceForType() {
10478            return org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance();
10479          }
10480    
10481          public org.jetbrains.kotlin.serialization.ProtoBuf.Package build() {
10482            org.jetbrains.kotlin.serialization.ProtoBuf.Package result = buildPartial();
10483            if (!result.isInitialized()) {
10484              throw newUninitializedMessageException(result);
10485            }
10486            return result;
10487          }
10488    
10489          public org.jetbrains.kotlin.serialization.ProtoBuf.Package buildPartial() {
10490            org.jetbrains.kotlin.serialization.ProtoBuf.Package result = new org.jetbrains.kotlin.serialization.ProtoBuf.Package(this);
10491            int from_bitField0_ = bitField0_;
10492            int to_bitField0_ = 0;
10493            if (((bitField0_ & 0x00000001) == 0x00000001)) {
10494              function_ = java.util.Collections.unmodifiableList(function_);
10495              bitField0_ = (bitField0_ & ~0x00000001);
10496            }
10497            result.function_ = function_;
10498            if (((bitField0_ & 0x00000002) == 0x00000002)) {
10499              property_ = java.util.Collections.unmodifiableList(property_);
10500              bitField0_ = (bitField0_ & ~0x00000002);
10501            }
10502            result.property_ = property_;
10503            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
10504              to_bitField0_ |= 0x00000001;
10505            }
10506            result.typeTable_ = typeTable_;
10507            result.bitField0_ = to_bitField0_;
10508            return result;
10509          }
10510    
10511          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Package other) {
10512            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance()) return this;
10513            if (!other.function_.isEmpty()) {
10514              if (function_.isEmpty()) {
10515                function_ = other.function_;
10516                bitField0_ = (bitField0_ & ~0x00000001);
10517              } else {
10518                ensureFunctionIsMutable();
10519                function_.addAll(other.function_);
10520              }
10521              
10522            }
10523            if (!other.property_.isEmpty()) {
10524              if (property_.isEmpty()) {
10525                property_ = other.property_;
10526                bitField0_ = (bitField0_ & ~0x00000002);
10527              } else {
10528                ensurePropertyIsMutable();
10529                property_.addAll(other.property_);
10530              }
10531              
10532            }
10533            if (other.hasTypeTable()) {
10534              mergeTypeTable(other.getTypeTable());
10535            }
10536            this.mergeExtensionFields(other);
10537            return this;
10538          }
10539    
10540          public final boolean isInitialized() {
10541            for (int i = 0; i < getFunctionCount(); i++) {
10542              if (!getFunction(i).isInitialized()) {
10543                
10544                return false;
10545              }
10546            }
10547            for (int i = 0; i < getPropertyCount(); i++) {
10548              if (!getProperty(i).isInitialized()) {
10549                
10550                return false;
10551              }
10552            }
10553            if (hasTypeTable()) {
10554              if (!getTypeTable().isInitialized()) {
10555                
10556                return false;
10557              }
10558            }
10559            if (!extensionsAreInitialized()) {
10560              
10561              return false;
10562            }
10563            return true;
10564          }
10565    
10566          public Builder mergeFrom(
10567              com.google.protobuf.CodedInputStream input,
10568              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10569              throws java.io.IOException {
10570            org.jetbrains.kotlin.serialization.ProtoBuf.Package parsedMessage = null;
10571            try {
10572              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
10573            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10574              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Package) e.getUnfinishedMessage();
10575              throw e;
10576            } finally {
10577              if (parsedMessage != null) {
10578                mergeFrom(parsedMessage);
10579              }
10580            }
10581            return this;
10582          }
10583          private int bitField0_;
10584    
10585          // repeated .org.jetbrains.kotlin.serialization.Function function = 3;
10586          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> function_ =
10587            java.util.Collections.emptyList();
10588          private void ensureFunctionIsMutable() {
10589            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
10590              function_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Function>(function_);
10591              bitField0_ |= 0x00000001;
10592             }
10593          }
10594    
10595          /**
10596           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10597           */
10598          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> getFunctionList() {
10599            return java.util.Collections.unmodifiableList(function_);
10600          }
10601          /**
10602           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10603           */
10604          public int getFunctionCount() {
10605            return function_.size();
10606          }
10607          /**
10608           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10609           */
10610          public org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index) {
10611            return function_.get(index);
10612          }
10613          /**
10614           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10615           */
10616          public Builder setFunction(
10617              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
10618            if (value == null) {
10619              throw new NullPointerException();
10620            }
10621            ensureFunctionIsMutable();
10622            function_.set(index, value);
10623    
10624            return this;
10625          }
10626          /**
10627           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10628           */
10629          public Builder setFunction(
10630              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
10631            ensureFunctionIsMutable();
10632            function_.set(index, builderForValue.build());
10633    
10634            return this;
10635          }
10636          /**
10637           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10638           */
10639          public Builder addFunction(org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
10640            if (value == null) {
10641              throw new NullPointerException();
10642            }
10643            ensureFunctionIsMutable();
10644            function_.add(value);
10645    
10646            return this;
10647          }
10648          /**
10649           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10650           */
10651          public Builder addFunction(
10652              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
10653            if (value == null) {
10654              throw new NullPointerException();
10655            }
10656            ensureFunctionIsMutable();
10657            function_.add(index, value);
10658    
10659            return this;
10660          }
10661          /**
10662           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10663           */
10664          public Builder addFunction(
10665              org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
10666            ensureFunctionIsMutable();
10667            function_.add(builderForValue.build());
10668    
10669            return this;
10670          }
10671          /**
10672           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10673           */
10674          public Builder addFunction(
10675              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
10676            ensureFunctionIsMutable();
10677            function_.add(index, builderForValue.build());
10678    
10679            return this;
10680          }
10681          /**
10682           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10683           */
10684          public Builder addAllFunction(
10685              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Function> values) {
10686            ensureFunctionIsMutable();
10687            super.addAll(values, function_);
10688    
10689            return this;
10690          }
10691          /**
10692           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10693           */
10694          public Builder clearFunction() {
10695            function_ = java.util.Collections.emptyList();
10696            bitField0_ = (bitField0_ & ~0x00000001);
10697    
10698            return this;
10699          }
10700          /**
10701           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10702           */
10703          public Builder removeFunction(int index) {
10704            ensureFunctionIsMutable();
10705            function_.remove(index);
10706    
10707            return this;
10708          }
10709    
10710          // repeated .org.jetbrains.kotlin.serialization.Property property = 4;
10711          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> property_ =
10712            java.util.Collections.emptyList();
10713          private void ensurePropertyIsMutable() {
10714            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
10715              property_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Property>(property_);
10716              bitField0_ |= 0x00000002;
10717             }
10718          }
10719    
10720          /**
10721           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10722           */
10723          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> getPropertyList() {
10724            return java.util.Collections.unmodifiableList(property_);
10725          }
10726          /**
10727           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10728           */
10729          public int getPropertyCount() {
10730            return property_.size();
10731          }
10732          /**
10733           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10734           */
10735          public org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index) {
10736            return property_.get(index);
10737          }
10738          /**
10739           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10740           */
10741          public Builder setProperty(
10742              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
10743            if (value == null) {
10744              throw new NullPointerException();
10745            }
10746            ensurePropertyIsMutable();
10747            property_.set(index, value);
10748    
10749            return this;
10750          }
10751          /**
10752           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10753           */
10754          public Builder setProperty(
10755              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
10756            ensurePropertyIsMutable();
10757            property_.set(index, builderForValue.build());
10758    
10759            return this;
10760          }
10761          /**
10762           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10763           */
10764          public Builder addProperty(org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
10765            if (value == null) {
10766              throw new NullPointerException();
10767            }
10768            ensurePropertyIsMutable();
10769            property_.add(value);
10770    
10771            return this;
10772          }
10773          /**
10774           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10775           */
10776          public Builder addProperty(
10777              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
10778            if (value == null) {
10779              throw new NullPointerException();
10780            }
10781            ensurePropertyIsMutable();
10782            property_.add(index, value);
10783    
10784            return this;
10785          }
10786          /**
10787           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10788           */
10789          public Builder addProperty(
10790              org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
10791            ensurePropertyIsMutable();
10792            property_.add(builderForValue.build());
10793    
10794            return this;
10795          }
10796          /**
10797           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10798           */
10799          public Builder addProperty(
10800              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
10801            ensurePropertyIsMutable();
10802            property_.add(index, builderForValue.build());
10803    
10804            return this;
10805          }
10806          /**
10807           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10808           */
10809          public Builder addAllProperty(
10810              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Property> values) {
10811            ensurePropertyIsMutable();
10812            super.addAll(values, property_);
10813    
10814            return this;
10815          }
10816          /**
10817           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10818           */
10819          public Builder clearProperty() {
10820            property_ = java.util.Collections.emptyList();
10821            bitField0_ = (bitField0_ & ~0x00000002);
10822    
10823            return this;
10824          }
10825          /**
10826           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10827           */
10828          public Builder removeProperty(int index) {
10829            ensurePropertyIsMutable();
10830            property_.remove(index);
10831    
10832            return this;
10833          }
10834    
10835          // optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;
10836          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
10837          /**
10838           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10839           */
10840          public boolean hasTypeTable() {
10841            return ((bitField0_ & 0x00000004) == 0x00000004);
10842          }
10843          /**
10844           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10845           */
10846          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
10847            return typeTable_;
10848          }
10849          /**
10850           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10851           */
10852          public Builder setTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
10853            if (value == null) {
10854              throw new NullPointerException();
10855            }
10856            typeTable_ = value;
10857    
10858            bitField0_ |= 0x00000004;
10859            return this;
10860          }
10861          /**
10862           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10863           */
10864          public Builder setTypeTable(
10865              org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder builderForValue) {
10866            typeTable_ = builderForValue.build();
10867    
10868            bitField0_ |= 0x00000004;
10869            return this;
10870          }
10871          /**
10872           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10873           */
10874          public Builder mergeTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
10875            if (((bitField0_ & 0x00000004) == 0x00000004) &&
10876                typeTable_ != org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance()) {
10877              typeTable_ =
10878                org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.newBuilder(typeTable_).mergeFrom(value).buildPartial();
10879            } else {
10880              typeTable_ = value;
10881            }
10882    
10883            bitField0_ |= 0x00000004;
10884            return this;
10885          }
10886          /**
10887           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10888           */
10889          public Builder clearTypeTable() {
10890            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
10891    
10892            bitField0_ = (bitField0_ & ~0x00000004);
10893            return this;
10894          }
10895    
10896          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Package)
10897        }
10898    
10899        static {
10900          defaultInstance = new Package(true);
10901          defaultInstance.initFields();
10902        }
10903    
10904        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Package)
10905      }
10906    
10907      public interface TypeTableOrBuilder
10908          extends com.google.protobuf.MessageLiteOrBuilder {
10909    
10910        // repeated .org.jetbrains.kotlin.serialization.Type type = 1;
10911        /**
10912         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10913         */
10914        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> 
10915            getTypeList();
10916        /**
10917         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10918         */
10919        org.jetbrains.kotlin.serialization.ProtoBuf.Type getType(int index);
10920        /**
10921         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10922         */
10923        int getTypeCount();
10924    
10925        // optional int32 first_nullable = 2 [default = -1];
10926        /**
10927         * <code>optional int32 first_nullable = 2 [default = -1];</code>
10928         *
10929         * <pre>
10930         * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
10931         * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
10932         * </pre>
10933         */
10934        boolean hasFirstNullable();
10935        /**
10936         * <code>optional int32 first_nullable = 2 [default = -1];</code>
10937         *
10938         * <pre>
10939         * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
10940         * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
10941         * </pre>
10942         */
10943        int getFirstNullable();
10944      }
10945      /**
10946       * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeTable}
10947       */
10948      public static final class TypeTable extends
10949          com.google.protobuf.GeneratedMessageLite
10950          implements TypeTableOrBuilder {
10951        // Use TypeTable.newBuilder() to construct.
10952        private TypeTable(com.google.protobuf.GeneratedMessageLite.Builder builder) {
10953          super(builder);
10954    
10955        }
10956        private TypeTable(boolean noInit) {}
10957    
10958        private static final TypeTable defaultInstance;
10959        public static TypeTable getDefaultInstance() {
10960          return defaultInstance;
10961        }
10962    
10963        public TypeTable getDefaultInstanceForType() {
10964          return defaultInstance;
10965        }
10966    
10967        private TypeTable(
10968            com.google.protobuf.CodedInputStream input,
10969            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10970            throws com.google.protobuf.InvalidProtocolBufferException {
10971          initFields();
10972          int mutable_bitField0_ = 0;
10973          try {
10974            boolean done = false;
10975            while (!done) {
10976              int tag = input.readTag();
10977              switch (tag) {
10978                case 0:
10979                  done = true;
10980                  break;
10981                default: {
10982                  if (!parseUnknownField(input,
10983                                         extensionRegistry, tag)) {
10984                    done = true;
10985                  }
10986                  break;
10987                }
10988                case 10: {
10989                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
10990                    type_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
10991                    mutable_bitField0_ |= 0x00000001;
10992                  }
10993                  type_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
10994                  break;
10995                }
10996                case 16: {
10997                  bitField0_ |= 0x00000001;
10998                  firstNullable_ = input.readInt32();
10999                  break;
11000                }
11001              }
11002            }
11003          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11004            throw e.setUnfinishedMessage(this);
11005          } catch (java.io.IOException e) {
11006            throw new com.google.protobuf.InvalidProtocolBufferException(
11007                e.getMessage()).setUnfinishedMessage(this);
11008          } finally {
11009            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
11010              type_ = java.util.Collections.unmodifiableList(type_);
11011            }
11012            makeExtensionsImmutable();
11013          }
11014        }
11015        public static com.google.protobuf.Parser<TypeTable> PARSER =
11016            new com.google.protobuf.AbstractParser<TypeTable>() {
11017          public TypeTable parsePartialFrom(
11018              com.google.protobuf.CodedInputStream input,
11019              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11020              throws com.google.protobuf.InvalidProtocolBufferException {
11021            return new TypeTable(input, extensionRegistry);
11022          }
11023        };
11024    
11025        @java.lang.Override
11026        public com.google.protobuf.Parser<TypeTable> getParserForType() {
11027          return PARSER;
11028        }
11029    
11030        private int bitField0_;
11031        // repeated .org.jetbrains.kotlin.serialization.Type type = 1;
11032        public static final int TYPE_FIELD_NUMBER = 1;
11033        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> type_;
11034        /**
11035         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11036         */
11037        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getTypeList() {
11038          return type_;
11039        }
11040        /**
11041         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11042         */
11043        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
11044            getTypeOrBuilderList() {
11045          return type_;
11046        }
11047        /**
11048         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11049         */
11050        public int getTypeCount() {
11051          return type_.size();
11052        }
11053        /**
11054         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11055         */
11056        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType(int index) {
11057          return type_.get(index);
11058        }
11059        /**
11060         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11061         */
11062        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getTypeOrBuilder(
11063            int index) {
11064          return type_.get(index);
11065        }
11066    
11067        // optional int32 first_nullable = 2 [default = -1];
11068        public static final int FIRST_NULLABLE_FIELD_NUMBER = 2;
11069        private int firstNullable_;
11070        /**
11071         * <code>optional int32 first_nullable = 2 [default = -1];</code>
11072         *
11073         * <pre>
11074         * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11075         * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11076         * </pre>
11077         */
11078        public boolean hasFirstNullable() {
11079          return ((bitField0_ & 0x00000001) == 0x00000001);
11080        }
11081        /**
11082         * <code>optional int32 first_nullable = 2 [default = -1];</code>
11083         *
11084         * <pre>
11085         * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11086         * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11087         * </pre>
11088         */
11089        public int getFirstNullable() {
11090          return firstNullable_;
11091        }
11092    
11093        private void initFields() {
11094          type_ = java.util.Collections.emptyList();
11095          firstNullable_ = -1;
11096        }
11097        private byte memoizedIsInitialized = -1;
11098        public final boolean isInitialized() {
11099          byte isInitialized = memoizedIsInitialized;
11100          if (isInitialized != -1) return isInitialized == 1;
11101    
11102          for (int i = 0; i < getTypeCount(); i++) {
11103            if (!getType(i).isInitialized()) {
11104              memoizedIsInitialized = 0;
11105              return false;
11106            }
11107          }
11108          memoizedIsInitialized = 1;
11109          return true;
11110        }
11111    
11112        public void writeTo(com.google.protobuf.CodedOutputStream output)
11113                            throws java.io.IOException {
11114          getSerializedSize();
11115          for (int i = 0; i < type_.size(); i++) {
11116            output.writeMessage(1, type_.get(i));
11117          }
11118          if (((bitField0_ & 0x00000001) == 0x00000001)) {
11119            output.writeInt32(2, firstNullable_);
11120          }
11121        }
11122    
11123        private int memoizedSerializedSize = -1;
11124        public int getSerializedSize() {
11125          int size = memoizedSerializedSize;
11126          if (size != -1) return size;
11127    
11128          size = 0;
11129          for (int i = 0; i < type_.size(); i++) {
11130            size += com.google.protobuf.CodedOutputStream
11131              .computeMessageSize(1, type_.get(i));
11132          }
11133          if (((bitField0_ & 0x00000001) == 0x00000001)) {
11134            size += com.google.protobuf.CodedOutputStream
11135              .computeInt32Size(2, firstNullable_);
11136          }
11137          memoizedSerializedSize = size;
11138          return size;
11139        }
11140    
11141        private static final long serialVersionUID = 0L;
11142        @java.lang.Override
11143        protected java.lang.Object writeReplace()
11144            throws java.io.ObjectStreamException {
11145          return super.writeReplace();
11146        }
11147    
11148        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
11149            com.google.protobuf.ByteString data)
11150            throws com.google.protobuf.InvalidProtocolBufferException {
11151          return PARSER.parseFrom(data);
11152        }
11153        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
11154            com.google.protobuf.ByteString data,
11155            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11156            throws com.google.protobuf.InvalidProtocolBufferException {
11157          return PARSER.parseFrom(data, extensionRegistry);
11158        }
11159        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(byte[] data)
11160            throws com.google.protobuf.InvalidProtocolBufferException {
11161          return PARSER.parseFrom(data);
11162        }
11163        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
11164            byte[] data,
11165            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11166            throws com.google.protobuf.InvalidProtocolBufferException {
11167          return PARSER.parseFrom(data, extensionRegistry);
11168        }
11169        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(java.io.InputStream input)
11170            throws java.io.IOException {
11171          return PARSER.parseFrom(input);
11172        }
11173        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
11174            java.io.InputStream input,
11175            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11176            throws java.io.IOException {
11177          return PARSER.parseFrom(input, extensionRegistry);
11178        }
11179        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseDelimitedFrom(java.io.InputStream input)
11180            throws java.io.IOException {
11181          return PARSER.parseDelimitedFrom(input);
11182        }
11183        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseDelimitedFrom(
11184            java.io.InputStream input,
11185            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11186            throws java.io.IOException {
11187          return PARSER.parseDelimitedFrom(input, extensionRegistry);
11188        }
11189        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
11190            com.google.protobuf.CodedInputStream input)
11191            throws java.io.IOException {
11192          return PARSER.parseFrom(input);
11193        }
11194        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
11195            com.google.protobuf.CodedInputStream input,
11196            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11197            throws java.io.IOException {
11198          return PARSER.parseFrom(input, extensionRegistry);
11199        }
11200    
11201        public static Builder newBuilder() { return Builder.create(); }
11202        public Builder newBuilderForType() { return newBuilder(); }
11203        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable prototype) {
11204          return newBuilder().mergeFrom(prototype);
11205        }
11206        public Builder toBuilder() { return newBuilder(this); }
11207    
11208        /**
11209         * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeTable}
11210         */
11211        public static final class Builder extends
11212            com.google.protobuf.GeneratedMessageLite.Builder<
11213              org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable, Builder>
11214            implements org.jetbrains.kotlin.serialization.ProtoBuf.TypeTableOrBuilder {
11215          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.newBuilder()
11216          private Builder() {
11217            maybeForceBuilderInitialization();
11218          }
11219    
11220          private void maybeForceBuilderInitialization() {
11221          }
11222          private static Builder create() {
11223            return new Builder();
11224          }
11225    
11226          public Builder clear() {
11227            super.clear();
11228            type_ = java.util.Collections.emptyList();
11229            bitField0_ = (bitField0_ & ~0x00000001);
11230            firstNullable_ = -1;
11231            bitField0_ = (bitField0_ & ~0x00000002);
11232            return this;
11233          }
11234    
11235          public Builder clone() {
11236            return create().mergeFrom(buildPartial());
11237          }
11238    
11239          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getDefaultInstanceForType() {
11240            return org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
11241          }
11242    
11243          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable build() {
11244            org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable result = buildPartial();
11245            if (!result.isInitialized()) {
11246              throw newUninitializedMessageException(result);
11247            }
11248            return result;
11249          }
11250    
11251          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable buildPartial() {
11252            org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable result = new org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable(this);
11253            int from_bitField0_ = bitField0_;
11254            int to_bitField0_ = 0;
11255            if (((bitField0_ & 0x00000001) == 0x00000001)) {
11256              type_ = java.util.Collections.unmodifiableList(type_);
11257              bitField0_ = (bitField0_ & ~0x00000001);
11258            }
11259            result.type_ = type_;
11260            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
11261              to_bitField0_ |= 0x00000001;
11262            }
11263            result.firstNullable_ = firstNullable_;
11264            result.bitField0_ = to_bitField0_;
11265            return result;
11266          }
11267    
11268          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable other) {
11269            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance()) return this;
11270            if (!other.type_.isEmpty()) {
11271              if (type_.isEmpty()) {
11272                type_ = other.type_;
11273                bitField0_ = (bitField0_ & ~0x00000001);
11274              } else {
11275                ensureTypeIsMutable();
11276                type_.addAll(other.type_);
11277              }
11278              
11279            }
11280            if (other.hasFirstNullable()) {
11281              setFirstNullable(other.getFirstNullable());
11282            }
11283            return this;
11284          }
11285    
11286          public final boolean isInitialized() {
11287            for (int i = 0; i < getTypeCount(); i++) {
11288              if (!getType(i).isInitialized()) {
11289                
11290                return false;
11291              }
11292            }
11293            return true;
11294          }
11295    
11296          public Builder mergeFrom(
11297              com.google.protobuf.CodedInputStream input,
11298              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11299              throws java.io.IOException {
11300            org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parsedMessage = null;
11301            try {
11302              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
11303            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11304              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable) e.getUnfinishedMessage();
11305              throw e;
11306            } finally {
11307              if (parsedMessage != null) {
11308                mergeFrom(parsedMessage);
11309              }
11310            }
11311            return this;
11312          }
11313          private int bitField0_;
11314    
11315          // repeated .org.jetbrains.kotlin.serialization.Type type = 1;
11316          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> type_ =
11317            java.util.Collections.emptyList();
11318          private void ensureTypeIsMutable() {
11319            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
11320              type_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(type_);
11321              bitField0_ |= 0x00000001;
11322             }
11323          }
11324    
11325          /**
11326           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11327           */
11328          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getTypeList() {
11329            return java.util.Collections.unmodifiableList(type_);
11330          }
11331          /**
11332           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11333           */
11334          public int getTypeCount() {
11335            return type_.size();
11336          }
11337          /**
11338           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11339           */
11340          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType(int index) {
11341            return type_.get(index);
11342          }
11343          /**
11344           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11345           */
11346          public Builder setType(
11347              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11348            if (value == null) {
11349              throw new NullPointerException();
11350            }
11351            ensureTypeIsMutable();
11352            type_.set(index, value);
11353    
11354            return this;
11355          }
11356          /**
11357           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11358           */
11359          public Builder setType(
11360              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
11361            ensureTypeIsMutable();
11362            type_.set(index, builderForValue.build());
11363    
11364            return this;
11365          }
11366          /**
11367           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11368           */
11369          public Builder addType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11370            if (value == null) {
11371              throw new NullPointerException();
11372            }
11373            ensureTypeIsMutable();
11374            type_.add(value);
11375    
11376            return this;
11377          }
11378          /**
11379           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11380           */
11381          public Builder addType(
11382              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
11383            if (value == null) {
11384              throw new NullPointerException();
11385            }
11386            ensureTypeIsMutable();
11387            type_.add(index, value);
11388    
11389            return this;
11390          }
11391          /**
11392           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11393           */
11394          public Builder addType(
11395              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
11396            ensureTypeIsMutable();
11397            type_.add(builderForValue.build());
11398    
11399            return this;
11400          }
11401          /**
11402           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11403           */
11404          public Builder addType(
11405              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
11406            ensureTypeIsMutable();
11407            type_.add(index, builderForValue.build());
11408    
11409            return this;
11410          }
11411          /**
11412           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11413           */
11414          public Builder addAllType(
11415              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
11416            ensureTypeIsMutable();
11417            super.addAll(values, type_);
11418    
11419            return this;
11420          }
11421          /**
11422           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11423           */
11424          public Builder clearType() {
11425            type_ = java.util.Collections.emptyList();
11426            bitField0_ = (bitField0_ & ~0x00000001);
11427    
11428            return this;
11429          }
11430          /**
11431           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
11432           */
11433          public Builder removeType(int index) {
11434            ensureTypeIsMutable();
11435            type_.remove(index);
11436    
11437            return this;
11438          }
11439    
11440          // optional int32 first_nullable = 2 [default = -1];
11441          private int firstNullable_ = -1;
11442          /**
11443           * <code>optional int32 first_nullable = 2 [default = -1];</code>
11444           *
11445           * <pre>
11446           * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11447           * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11448           * </pre>
11449           */
11450          public boolean hasFirstNullable() {
11451            return ((bitField0_ & 0x00000002) == 0x00000002);
11452          }
11453          /**
11454           * <code>optional int32 first_nullable = 2 [default = -1];</code>
11455           *
11456           * <pre>
11457           * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11458           * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11459           * </pre>
11460           */
11461          public int getFirstNullable() {
11462            return firstNullable_;
11463          }
11464          /**
11465           * <code>optional int32 first_nullable = 2 [default = -1];</code>
11466           *
11467           * <pre>
11468           * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11469           * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11470           * </pre>
11471           */
11472          public Builder setFirstNullable(int value) {
11473            bitField0_ |= 0x00000002;
11474            firstNullable_ = value;
11475            
11476            return this;
11477          }
11478          /**
11479           * <code>optional int32 first_nullable = 2 [default = -1];</code>
11480           *
11481           * <pre>
11482           * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11483           * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11484           * </pre>
11485           */
11486          public Builder clearFirstNullable() {
11487            bitField0_ = (bitField0_ & ~0x00000002);
11488            firstNullable_ = -1;
11489            
11490            return this;
11491          }
11492    
11493          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.TypeTable)
11494        }
11495    
11496        static {
11497          defaultInstance = new TypeTable(true);
11498          defaultInstance.initFields();
11499        }
11500    
11501        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.TypeTable)
11502      }
11503    
11504      public interface ConstructorOrBuilder extends 
11505           com.google.protobuf.GeneratedMessageLite.
11506                ExtendableMessageOrBuilder<Constructor> {
11507    
11508        // optional int32 flags = 1 [default = 6];
11509        /**
11510         * <code>optional int32 flags = 1 [default = 6];</code>
11511         *
11512         * <pre>
11513         *
11514         *hasAnnotations
11515         *Visibility
11516         *isSecondary
11517         * </pre>
11518         */
11519        boolean hasFlags();
11520        /**
11521         * <code>optional int32 flags = 1 [default = 6];</code>
11522         *
11523         * <pre>
11524         *
11525         *hasAnnotations
11526         *Visibility
11527         *isSecondary
11528         * </pre>
11529         */
11530        int getFlags();
11531    
11532        // repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;
11533        /**
11534         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11535         */
11536        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> 
11537            getValueParameterList();
11538        /**
11539         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11540         */
11541        org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index);
11542        /**
11543         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11544         */
11545        int getValueParameterCount();
11546      }
11547      /**
11548       * Protobuf type {@code org.jetbrains.kotlin.serialization.Constructor}
11549       */
11550      public static final class Constructor extends
11551          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
11552            Constructor> implements ConstructorOrBuilder {
11553        // Use Constructor.newBuilder() to construct.
11554        private Constructor(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor, ?> builder) {
11555          super(builder);
11556    
11557        }
11558        private Constructor(boolean noInit) {}
11559    
11560        private static final Constructor defaultInstance;
11561        public static Constructor getDefaultInstance() {
11562          return defaultInstance;
11563        }
11564    
11565        public Constructor getDefaultInstanceForType() {
11566          return defaultInstance;
11567        }
11568    
11569        private Constructor(
11570            com.google.protobuf.CodedInputStream input,
11571            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11572            throws com.google.protobuf.InvalidProtocolBufferException {
11573          initFields();
11574          int mutable_bitField0_ = 0;
11575          try {
11576            boolean done = false;
11577            while (!done) {
11578              int tag = input.readTag();
11579              switch (tag) {
11580                case 0:
11581                  done = true;
11582                  break;
11583                default: {
11584                  if (!parseUnknownField(input,
11585                                         extensionRegistry, tag)) {
11586                    done = true;
11587                  }
11588                  break;
11589                }
11590                case 8: {
11591                  bitField0_ |= 0x00000001;
11592                  flags_ = input.readInt32();
11593                  break;
11594                }
11595                case 18: {
11596                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
11597                    valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>();
11598                    mutable_bitField0_ |= 0x00000002;
11599                  }
11600                  valueParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.PARSER, extensionRegistry));
11601                  break;
11602                }
11603              }
11604            }
11605          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11606            throw e.setUnfinishedMessage(this);
11607          } catch (java.io.IOException e) {
11608            throw new com.google.protobuf.InvalidProtocolBufferException(
11609                e.getMessage()).setUnfinishedMessage(this);
11610          } finally {
11611            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
11612              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
11613            }
11614            makeExtensionsImmutable();
11615          }
11616        }
11617        public static com.google.protobuf.Parser<Constructor> PARSER =
11618            new com.google.protobuf.AbstractParser<Constructor>() {
11619          public Constructor parsePartialFrom(
11620              com.google.protobuf.CodedInputStream input,
11621              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11622              throws com.google.protobuf.InvalidProtocolBufferException {
11623            return new Constructor(input, extensionRegistry);
11624          }
11625        };
11626    
11627        @java.lang.Override
11628        public com.google.protobuf.Parser<Constructor> getParserForType() {
11629          return PARSER;
11630        }
11631    
11632        private int bitField0_;
11633        // optional int32 flags = 1 [default = 6];
11634        public static final int FLAGS_FIELD_NUMBER = 1;
11635        private int flags_;
11636        /**
11637         * <code>optional int32 flags = 1 [default = 6];</code>
11638         *
11639         * <pre>
11640         *
11641         *hasAnnotations
11642         *Visibility
11643         *isSecondary
11644         * </pre>
11645         */
11646        public boolean hasFlags() {
11647          return ((bitField0_ & 0x00000001) == 0x00000001);
11648        }
11649        /**
11650         * <code>optional int32 flags = 1 [default = 6];</code>
11651         *
11652         * <pre>
11653         *
11654         *hasAnnotations
11655         *Visibility
11656         *isSecondary
11657         * </pre>
11658         */
11659        public int getFlags() {
11660          return flags_;
11661        }
11662    
11663        // repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;
11664        public static final int VALUE_PARAMETER_FIELD_NUMBER = 2;
11665        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> valueParameter_;
11666        /**
11667         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11668         */
11669        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> getValueParameterList() {
11670          return valueParameter_;
11671        }
11672        /**
11673         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11674         */
11675        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder> 
11676            getValueParameterOrBuilderList() {
11677          return valueParameter_;
11678        }
11679        /**
11680         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11681         */
11682        public int getValueParameterCount() {
11683          return valueParameter_.size();
11684        }
11685        /**
11686         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11687         */
11688        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index) {
11689          return valueParameter_.get(index);
11690        }
11691        /**
11692         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11693         */
11694        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder getValueParameterOrBuilder(
11695            int index) {
11696          return valueParameter_.get(index);
11697        }
11698    
11699        private void initFields() {
11700          flags_ = 6;
11701          valueParameter_ = java.util.Collections.emptyList();
11702        }
11703        private byte memoizedIsInitialized = -1;
11704        public final boolean isInitialized() {
11705          byte isInitialized = memoizedIsInitialized;
11706          if (isInitialized != -1) return isInitialized == 1;
11707    
11708          for (int i = 0; i < getValueParameterCount(); i++) {
11709            if (!getValueParameter(i).isInitialized()) {
11710              memoizedIsInitialized = 0;
11711              return false;
11712            }
11713          }
11714          if (!extensionsAreInitialized()) {
11715            memoizedIsInitialized = 0;
11716            return false;
11717          }
11718          memoizedIsInitialized = 1;
11719          return true;
11720        }
11721    
11722        public void writeTo(com.google.protobuf.CodedOutputStream output)
11723                            throws java.io.IOException {
11724          getSerializedSize();
11725          com.google.protobuf.GeneratedMessageLite
11726            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor>.ExtensionWriter extensionWriter =
11727              newExtensionWriter();
11728          if (((bitField0_ & 0x00000001) == 0x00000001)) {
11729            output.writeInt32(1, flags_);
11730          }
11731          for (int i = 0; i < valueParameter_.size(); i++) {
11732            output.writeMessage(2, valueParameter_.get(i));
11733          }
11734          extensionWriter.writeUntil(200, output);
11735        }
11736    
11737        private int memoizedSerializedSize = -1;
11738        public int getSerializedSize() {
11739          int size = memoizedSerializedSize;
11740          if (size != -1) return size;
11741    
11742          size = 0;
11743          if (((bitField0_ & 0x00000001) == 0x00000001)) {
11744            size += com.google.protobuf.CodedOutputStream
11745              .computeInt32Size(1, flags_);
11746          }
11747          for (int i = 0; i < valueParameter_.size(); i++) {
11748            size += com.google.protobuf.CodedOutputStream
11749              .computeMessageSize(2, valueParameter_.get(i));
11750          }
11751          size += extensionsSerializedSize();
11752          memoizedSerializedSize = size;
11753          return size;
11754        }
11755    
11756        private static final long serialVersionUID = 0L;
11757        @java.lang.Override
11758        protected java.lang.Object writeReplace()
11759            throws java.io.ObjectStreamException {
11760          return super.writeReplace();
11761        }
11762    
11763        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
11764            com.google.protobuf.ByteString data)
11765            throws com.google.protobuf.InvalidProtocolBufferException {
11766          return PARSER.parseFrom(data);
11767        }
11768        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
11769            com.google.protobuf.ByteString data,
11770            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11771            throws com.google.protobuf.InvalidProtocolBufferException {
11772          return PARSER.parseFrom(data, extensionRegistry);
11773        }
11774        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(byte[] data)
11775            throws com.google.protobuf.InvalidProtocolBufferException {
11776          return PARSER.parseFrom(data);
11777        }
11778        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
11779            byte[] data,
11780            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11781            throws com.google.protobuf.InvalidProtocolBufferException {
11782          return PARSER.parseFrom(data, extensionRegistry);
11783        }
11784        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(java.io.InputStream input)
11785            throws java.io.IOException {
11786          return PARSER.parseFrom(input);
11787        }
11788        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
11789            java.io.InputStream input,
11790            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11791            throws java.io.IOException {
11792          return PARSER.parseFrom(input, extensionRegistry);
11793        }
11794        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseDelimitedFrom(java.io.InputStream input)
11795            throws java.io.IOException {
11796          return PARSER.parseDelimitedFrom(input);
11797        }
11798        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseDelimitedFrom(
11799            java.io.InputStream input,
11800            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11801            throws java.io.IOException {
11802          return PARSER.parseDelimitedFrom(input, extensionRegistry);
11803        }
11804        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
11805            com.google.protobuf.CodedInputStream input)
11806            throws java.io.IOException {
11807          return PARSER.parseFrom(input);
11808        }
11809        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
11810            com.google.protobuf.CodedInputStream input,
11811            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11812            throws java.io.IOException {
11813          return PARSER.parseFrom(input, extensionRegistry);
11814        }
11815    
11816        public static Builder newBuilder() { return Builder.create(); }
11817        public Builder newBuilderForType() { return newBuilder(); }
11818        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Constructor prototype) {
11819          return newBuilder().mergeFrom(prototype);
11820        }
11821        public Builder toBuilder() { return newBuilder(this); }
11822    
11823        /**
11824         * Protobuf type {@code org.jetbrains.kotlin.serialization.Constructor}
11825         */
11826        public static final class Builder extends
11827            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
11828              org.jetbrains.kotlin.serialization.ProtoBuf.Constructor, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.ConstructorOrBuilder {
11829          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.newBuilder()
11830          private Builder() {
11831            maybeForceBuilderInitialization();
11832          }
11833    
11834          private void maybeForceBuilderInitialization() {
11835          }
11836          private static Builder create() {
11837            return new Builder();
11838          }
11839    
11840          public Builder clear() {
11841            super.clear();
11842            flags_ = 6;
11843            bitField0_ = (bitField0_ & ~0x00000001);
11844            valueParameter_ = java.util.Collections.emptyList();
11845            bitField0_ = (bitField0_ & ~0x00000002);
11846            return this;
11847          }
11848    
11849          public Builder clone() {
11850            return create().mergeFrom(buildPartial());
11851          }
11852    
11853          public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor getDefaultInstanceForType() {
11854            return org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.getDefaultInstance();
11855          }
11856    
11857          public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor build() {
11858            org.jetbrains.kotlin.serialization.ProtoBuf.Constructor result = buildPartial();
11859            if (!result.isInitialized()) {
11860              throw newUninitializedMessageException(result);
11861            }
11862            return result;
11863          }
11864    
11865          public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor buildPartial() {
11866            org.jetbrains.kotlin.serialization.ProtoBuf.Constructor result = new org.jetbrains.kotlin.serialization.ProtoBuf.Constructor(this);
11867            int from_bitField0_ = bitField0_;
11868            int to_bitField0_ = 0;
11869            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
11870              to_bitField0_ |= 0x00000001;
11871            }
11872            result.flags_ = flags_;
11873            if (((bitField0_ & 0x00000002) == 0x00000002)) {
11874              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
11875              bitField0_ = (bitField0_ & ~0x00000002);
11876            }
11877            result.valueParameter_ = valueParameter_;
11878            result.bitField0_ = to_bitField0_;
11879            return result;
11880          }
11881    
11882          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Constructor other) {
11883            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.getDefaultInstance()) return this;
11884            if (other.hasFlags()) {
11885              setFlags(other.getFlags());
11886            }
11887            if (!other.valueParameter_.isEmpty()) {
11888              if (valueParameter_.isEmpty()) {
11889                valueParameter_ = other.valueParameter_;
11890                bitField0_ = (bitField0_ & ~0x00000002);
11891              } else {
11892                ensureValueParameterIsMutable();
11893                valueParameter_.addAll(other.valueParameter_);
11894              }
11895              
11896            }
11897            this.mergeExtensionFields(other);
11898            return this;
11899          }
11900    
11901          public final boolean isInitialized() {
11902            for (int i = 0; i < getValueParameterCount(); i++) {
11903              if (!getValueParameter(i).isInitialized()) {
11904                
11905                return false;
11906              }
11907            }
11908            if (!extensionsAreInitialized()) {
11909              
11910              return false;
11911            }
11912            return true;
11913          }
11914    
11915          public Builder mergeFrom(
11916              com.google.protobuf.CodedInputStream input,
11917              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11918              throws java.io.IOException {
11919            org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parsedMessage = null;
11920            try {
11921              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
11922            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11923              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Constructor) e.getUnfinishedMessage();
11924              throw e;
11925            } finally {
11926              if (parsedMessage != null) {
11927                mergeFrom(parsedMessage);
11928              }
11929            }
11930            return this;
11931          }
11932          private int bitField0_;
11933    
11934          // optional int32 flags = 1 [default = 6];
11935          private int flags_ = 6;
11936          /**
11937           * <code>optional int32 flags = 1 [default = 6];</code>
11938           *
11939           * <pre>
11940           *
11941           *hasAnnotations
11942           *Visibility
11943           *isSecondary
11944           * </pre>
11945           */
11946          public boolean hasFlags() {
11947            return ((bitField0_ & 0x00000001) == 0x00000001);
11948          }
11949          /**
11950           * <code>optional int32 flags = 1 [default = 6];</code>
11951           *
11952           * <pre>
11953           *
11954           *hasAnnotations
11955           *Visibility
11956           *isSecondary
11957           * </pre>
11958           */
11959          public int getFlags() {
11960            return flags_;
11961          }
11962          /**
11963           * <code>optional int32 flags = 1 [default = 6];</code>
11964           *
11965           * <pre>
11966           *
11967           *hasAnnotations
11968           *Visibility
11969           *isSecondary
11970           * </pre>
11971           */
11972          public Builder setFlags(int value) {
11973            bitField0_ |= 0x00000001;
11974            flags_ = value;
11975            
11976            return this;
11977          }
11978          /**
11979           * <code>optional int32 flags = 1 [default = 6];</code>
11980           *
11981           * <pre>
11982           *
11983           *hasAnnotations
11984           *Visibility
11985           *isSecondary
11986           * </pre>
11987           */
11988          public Builder clearFlags() {
11989            bitField0_ = (bitField0_ & ~0x00000001);
11990            flags_ = 6;
11991            
11992            return this;
11993          }
11994    
11995          // repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;
11996          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> valueParameter_ =
11997            java.util.Collections.emptyList();
11998          private void ensureValueParameterIsMutable() {
11999            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
12000              valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>(valueParameter_);
12001              bitField0_ |= 0x00000002;
12002             }
12003          }
12004    
12005          /**
12006           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12007           */
12008          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> getValueParameterList() {
12009            return java.util.Collections.unmodifiableList(valueParameter_);
12010          }
12011          /**
12012           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12013           */
12014          public int getValueParameterCount() {
12015            return valueParameter_.size();
12016          }
12017          /**
12018           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12019           */
12020          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index) {
12021            return valueParameter_.get(index);
12022          }
12023          /**
12024           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12025           */
12026          public Builder setValueParameter(
12027              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
12028            if (value == null) {
12029              throw new NullPointerException();
12030            }
12031            ensureValueParameterIsMutable();
12032            valueParameter_.set(index, value);
12033    
12034            return this;
12035          }
12036          /**
12037           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12038           */
12039          public Builder setValueParameter(
12040              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
12041            ensureValueParameterIsMutable();
12042            valueParameter_.set(index, builderForValue.build());
12043    
12044            return this;
12045          }
12046          /**
12047           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12048           */
12049          public Builder addValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
12050            if (value == null) {
12051              throw new NullPointerException();
12052            }
12053            ensureValueParameterIsMutable();
12054            valueParameter_.add(value);
12055    
12056            return this;
12057          }
12058          /**
12059           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12060           */
12061          public Builder addValueParameter(
12062              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
12063            if (value == null) {
12064              throw new NullPointerException();
12065            }
12066            ensureValueParameterIsMutable();
12067            valueParameter_.add(index, value);
12068    
12069            return this;
12070          }
12071          /**
12072           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12073           */
12074          public Builder addValueParameter(
12075              org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
12076            ensureValueParameterIsMutable();
12077            valueParameter_.add(builderForValue.build());
12078    
12079            return this;
12080          }
12081          /**
12082           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12083           */
12084          public Builder addValueParameter(
12085              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
12086            ensureValueParameterIsMutable();
12087            valueParameter_.add(index, builderForValue.build());
12088    
12089            return this;
12090          }
12091          /**
12092           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12093           */
12094          public Builder addAllValueParameter(
12095              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> values) {
12096            ensureValueParameterIsMutable();
12097            super.addAll(values, valueParameter_);
12098    
12099            return this;
12100          }
12101          /**
12102           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12103           */
12104          public Builder clearValueParameter() {
12105            valueParameter_ = java.util.Collections.emptyList();
12106            bitField0_ = (bitField0_ & ~0x00000002);
12107    
12108            return this;
12109          }
12110          /**
12111           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
12112           */
12113          public Builder removeValueParameter(int index) {
12114            ensureValueParameterIsMutable();
12115            valueParameter_.remove(index);
12116    
12117            return this;
12118          }
12119    
12120          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Constructor)
12121        }
12122    
12123        static {
12124          defaultInstance = new Constructor(true);
12125          defaultInstance.initFields();
12126        }
12127    
12128        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Constructor)
12129      }
12130    
12131      public interface FunctionOrBuilder extends 
12132           com.google.protobuf.GeneratedMessageLite.
12133                ExtendableMessageOrBuilder<Function> {
12134    
12135        // optional int32 flags = 1 [default = 6];
12136        /**
12137         * <code>optional int32 flags = 1 [default = 6];</code>
12138         *
12139         * <pre>
12140         *
12141         *hasAnnotations
12142         *Visibility
12143         *Modality
12144         *MemberKind
12145         *isOperator
12146         *isInfix
12147         *isInline
12148         *isTailrec
12149         *isExternal
12150         * </pre>
12151         */
12152        boolean hasFlags();
12153        /**
12154         * <code>optional int32 flags = 1 [default = 6];</code>
12155         *
12156         * <pre>
12157         *
12158         *hasAnnotations
12159         *Visibility
12160         *Modality
12161         *MemberKind
12162         *isOperator
12163         *isInfix
12164         *isInline
12165         *isTailrec
12166         *isExternal
12167         * </pre>
12168         */
12169        int getFlags();
12170    
12171        // required int32 name = 2;
12172        /**
12173         * <code>required int32 name = 2;</code>
12174         */
12175        boolean hasName();
12176        /**
12177         * <code>required int32 name = 2;</code>
12178         */
12179        int getName();
12180    
12181        // optional .org.jetbrains.kotlin.serialization.Type return_type = 3;
12182        /**
12183         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
12184         */
12185        boolean hasReturnType();
12186        /**
12187         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
12188         */
12189        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType();
12190    
12191        // optional int32 return_type_id = 7;
12192        /**
12193         * <code>optional int32 return_type_id = 7;</code>
12194         */
12195        boolean hasReturnTypeId();
12196        /**
12197         * <code>optional int32 return_type_id = 7;</code>
12198         */
12199        int getReturnTypeId();
12200    
12201        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
12202        /**
12203         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12204         */
12205        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
12206            getTypeParameterList();
12207        /**
12208         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12209         */
12210        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
12211        /**
12212         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12213         */
12214        int getTypeParameterCount();
12215    
12216        // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
12217        /**
12218         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12219         */
12220        boolean hasReceiverType();
12221        /**
12222         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12223         */
12224        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType();
12225    
12226        // optional int32 receiver_type_id = 8;
12227        /**
12228         * <code>optional int32 receiver_type_id = 8;</code>
12229         */
12230        boolean hasReceiverTypeId();
12231        /**
12232         * <code>optional int32 receiver_type_id = 8;</code>
12233         */
12234        int getReceiverTypeId();
12235    
12236        // repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;
12237        /**
12238         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12239         */
12240        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> 
12241            getValueParameterList();
12242        /**
12243         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12244         */
12245        org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index);
12246        /**
12247         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12248         */
12249        int getValueParameterCount();
12250    
12251        // optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;
12252        /**
12253         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
12254         */
12255        boolean hasTypeTable();
12256        /**
12257         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
12258         */
12259        org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable();
12260      }
12261      /**
12262       * Protobuf type {@code org.jetbrains.kotlin.serialization.Function}
12263       */
12264      public static final class Function extends
12265          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
12266            Function> implements FunctionOrBuilder {
12267        // Use Function.newBuilder() to construct.
12268        private Function(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Function, ?> builder) {
12269          super(builder);
12270    
12271        }
12272        private Function(boolean noInit) {}
12273    
12274        private static final Function defaultInstance;
12275        public static Function getDefaultInstance() {
12276          return defaultInstance;
12277        }
12278    
12279        public Function getDefaultInstanceForType() {
12280          return defaultInstance;
12281        }
12282    
12283        private Function(
12284            com.google.protobuf.CodedInputStream input,
12285            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12286            throws com.google.protobuf.InvalidProtocolBufferException {
12287          initFields();
12288          int mutable_bitField0_ = 0;
12289          try {
12290            boolean done = false;
12291            while (!done) {
12292              int tag = input.readTag();
12293              switch (tag) {
12294                case 0:
12295                  done = true;
12296                  break;
12297                default: {
12298                  if (!parseUnknownField(input,
12299                                         extensionRegistry, tag)) {
12300                    done = true;
12301                  }
12302                  break;
12303                }
12304                case 8: {
12305                  bitField0_ |= 0x00000001;
12306                  flags_ = input.readInt32();
12307                  break;
12308                }
12309                case 16: {
12310                  bitField0_ |= 0x00000002;
12311                  name_ = input.readInt32();
12312                  break;
12313                }
12314                case 26: {
12315                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
12316                  if (((bitField0_ & 0x00000004) == 0x00000004)) {
12317                    subBuilder = returnType_.toBuilder();
12318                  }
12319                  returnType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
12320                  if (subBuilder != null) {
12321                    subBuilder.mergeFrom(returnType_);
12322                    returnType_ = subBuilder.buildPartial();
12323                  }
12324                  bitField0_ |= 0x00000004;
12325                  break;
12326                }
12327                case 34: {
12328                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
12329                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
12330                    mutable_bitField0_ |= 0x00000010;
12331                  }
12332                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
12333                  break;
12334                }
12335                case 42: {
12336                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
12337                  if (((bitField0_ & 0x00000010) == 0x00000010)) {
12338                    subBuilder = receiverType_.toBuilder();
12339                  }
12340                  receiverType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
12341                  if (subBuilder != null) {
12342                    subBuilder.mergeFrom(receiverType_);
12343                    receiverType_ = subBuilder.buildPartial();
12344                  }
12345                  bitField0_ |= 0x00000010;
12346                  break;
12347                }
12348                case 50: {
12349                  if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
12350                    valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>();
12351                    mutable_bitField0_ |= 0x00000080;
12352                  }
12353                  valueParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.PARSER, extensionRegistry));
12354                  break;
12355                }
12356                case 56: {
12357                  bitField0_ |= 0x00000008;
12358                  returnTypeId_ = input.readInt32();
12359                  break;
12360                }
12361                case 64: {
12362                  bitField0_ |= 0x00000020;
12363                  receiverTypeId_ = input.readInt32();
12364                  break;
12365                }
12366                case 242: {
12367                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder subBuilder = null;
12368                  if (((bitField0_ & 0x00000040) == 0x00000040)) {
12369                    subBuilder = typeTable_.toBuilder();
12370                  }
12371                  typeTable_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.PARSER, extensionRegistry);
12372                  if (subBuilder != null) {
12373                    subBuilder.mergeFrom(typeTable_);
12374                    typeTable_ = subBuilder.buildPartial();
12375                  }
12376                  bitField0_ |= 0x00000040;
12377                  break;
12378                }
12379              }
12380            }
12381          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
12382            throw e.setUnfinishedMessage(this);
12383          } catch (java.io.IOException e) {
12384            throw new com.google.protobuf.InvalidProtocolBufferException(
12385                e.getMessage()).setUnfinishedMessage(this);
12386          } finally {
12387            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
12388              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
12389            }
12390            if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
12391              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
12392            }
12393            makeExtensionsImmutable();
12394          }
12395        }
12396        public static com.google.protobuf.Parser<Function> PARSER =
12397            new com.google.protobuf.AbstractParser<Function>() {
12398          public Function parsePartialFrom(
12399              com.google.protobuf.CodedInputStream input,
12400              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12401              throws com.google.protobuf.InvalidProtocolBufferException {
12402            return new Function(input, extensionRegistry);
12403          }
12404        };
12405    
12406        @java.lang.Override
12407        public com.google.protobuf.Parser<Function> getParserForType() {
12408          return PARSER;
12409        }
12410    
12411        private int bitField0_;
12412        // optional int32 flags = 1 [default = 6];
12413        public static final int FLAGS_FIELD_NUMBER = 1;
12414        private int flags_;
12415        /**
12416         * <code>optional int32 flags = 1 [default = 6];</code>
12417         *
12418         * <pre>
12419         *
12420         *hasAnnotations
12421         *Visibility
12422         *Modality
12423         *MemberKind
12424         *isOperator
12425         *isInfix
12426         *isInline
12427         *isTailrec
12428         *isExternal
12429         * </pre>
12430         */
12431        public boolean hasFlags() {
12432          return ((bitField0_ & 0x00000001) == 0x00000001);
12433        }
12434        /**
12435         * <code>optional int32 flags = 1 [default = 6];</code>
12436         *
12437         * <pre>
12438         *
12439         *hasAnnotations
12440         *Visibility
12441         *Modality
12442         *MemberKind
12443         *isOperator
12444         *isInfix
12445         *isInline
12446         *isTailrec
12447         *isExternal
12448         * </pre>
12449         */
12450        public int getFlags() {
12451          return flags_;
12452        }
12453    
12454        // required int32 name = 2;
12455        public static final int NAME_FIELD_NUMBER = 2;
12456        private int name_;
12457        /**
12458         * <code>required int32 name = 2;</code>
12459         */
12460        public boolean hasName() {
12461          return ((bitField0_ & 0x00000002) == 0x00000002);
12462        }
12463        /**
12464         * <code>required int32 name = 2;</code>
12465         */
12466        public int getName() {
12467          return name_;
12468        }
12469    
12470        // optional .org.jetbrains.kotlin.serialization.Type return_type = 3;
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_ & 0x00000004) == 0x00000004);
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        // optional int32 return_type_id = 7;
12487        public static final int RETURN_TYPE_ID_FIELD_NUMBER = 7;
12488        private int returnTypeId_;
12489        /**
12490         * <code>optional int32 return_type_id = 7;</code>
12491         */
12492        public boolean hasReturnTypeId() {
12493          return ((bitField0_ & 0x00000008) == 0x00000008);
12494        }
12495        /**
12496         * <code>optional int32 return_type_id = 7;</code>
12497         */
12498        public int getReturnTypeId() {
12499          return returnTypeId_;
12500        }
12501    
12502        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
12503        public static final int TYPE_PARAMETER_FIELD_NUMBER = 4;
12504        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
12505        /**
12506         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12507         */
12508        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
12509          return typeParameter_;
12510        }
12511        /**
12512         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12513         */
12514        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
12515            getTypeParameterOrBuilderList() {
12516          return typeParameter_;
12517        }
12518        /**
12519         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12520         */
12521        public int getTypeParameterCount() {
12522          return typeParameter_.size();
12523        }
12524        /**
12525         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12526         */
12527        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
12528          return typeParameter_.get(index);
12529        }
12530        /**
12531         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12532         */
12533        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
12534            int index) {
12535          return typeParameter_.get(index);
12536        }
12537    
12538        // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
12539        public static final int RECEIVER_TYPE_FIELD_NUMBER = 5;
12540        private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_;
12541        /**
12542         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12543         */
12544        public boolean hasReceiverType() {
12545          return ((bitField0_ & 0x00000010) == 0x00000010);
12546        }
12547        /**
12548         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12549         */
12550        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
12551          return receiverType_;
12552        }
12553    
12554        // optional int32 receiver_type_id = 8;
12555        public static final int RECEIVER_TYPE_ID_FIELD_NUMBER = 8;
12556        private int receiverTypeId_;
12557        /**
12558         * <code>optional int32 receiver_type_id = 8;</code>
12559         */
12560        public boolean hasReceiverTypeId() {
12561          return ((bitField0_ & 0x00000020) == 0x00000020);
12562        }
12563        /**
12564         * <code>optional int32 receiver_type_id = 8;</code>
12565         */
12566        public int getReceiverTypeId() {
12567          return receiverTypeId_;
12568        }
12569    
12570        // repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;
12571        public static final int VALUE_PARAMETER_FIELD_NUMBER = 6;
12572        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> valueParameter_;
12573        /**
12574         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12575         */
12576        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> getValueParameterList() {
12577          return valueParameter_;
12578        }
12579        /**
12580         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12581         */
12582        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder> 
12583            getValueParameterOrBuilderList() {
12584          return valueParameter_;
12585        }
12586        /**
12587         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12588         */
12589        public int getValueParameterCount() {
12590          return valueParameter_.size();
12591        }
12592        /**
12593         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12594         */
12595        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index) {
12596          return valueParameter_.get(index);
12597        }
12598        /**
12599         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12600         */
12601        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder getValueParameterOrBuilder(
12602            int index) {
12603          return valueParameter_.get(index);
12604        }
12605    
12606        // optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;
12607        public static final int TYPE_TABLE_FIELD_NUMBER = 30;
12608        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_;
12609        /**
12610         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
12611         */
12612        public boolean hasTypeTable() {
12613          return ((bitField0_ & 0x00000040) == 0x00000040);
12614        }
12615        /**
12616         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
12617         */
12618        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
12619          return typeTable_;
12620        }
12621    
12622        private void initFields() {
12623          flags_ = 6;
12624          name_ = 0;
12625          returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12626          returnTypeId_ = 0;
12627          typeParameter_ = java.util.Collections.emptyList();
12628          receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12629          receiverTypeId_ = 0;
12630          valueParameter_ = java.util.Collections.emptyList();
12631          typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
12632        }
12633        private byte memoizedIsInitialized = -1;
12634        public final boolean isInitialized() {
12635          byte isInitialized = memoizedIsInitialized;
12636          if (isInitialized != -1) return isInitialized == 1;
12637    
12638          if (!hasName()) {
12639            memoizedIsInitialized = 0;
12640            return false;
12641          }
12642          if (hasReturnType()) {
12643            if (!getReturnType().isInitialized()) {
12644              memoizedIsInitialized = 0;
12645              return false;
12646            }
12647          }
12648          for (int i = 0; i < getTypeParameterCount(); i++) {
12649            if (!getTypeParameter(i).isInitialized()) {
12650              memoizedIsInitialized = 0;
12651              return false;
12652            }
12653          }
12654          if (hasReceiverType()) {
12655            if (!getReceiverType().isInitialized()) {
12656              memoizedIsInitialized = 0;
12657              return false;
12658            }
12659          }
12660          for (int i = 0; i < getValueParameterCount(); i++) {
12661            if (!getValueParameter(i).isInitialized()) {
12662              memoizedIsInitialized = 0;
12663              return false;
12664            }
12665          }
12666          if (hasTypeTable()) {
12667            if (!getTypeTable().isInitialized()) {
12668              memoizedIsInitialized = 0;
12669              return false;
12670            }
12671          }
12672          if (!extensionsAreInitialized()) {
12673            memoizedIsInitialized = 0;
12674            return false;
12675          }
12676          memoizedIsInitialized = 1;
12677          return true;
12678        }
12679    
12680        public void writeTo(com.google.protobuf.CodedOutputStream output)
12681                            throws java.io.IOException {
12682          getSerializedSize();
12683          com.google.protobuf.GeneratedMessageLite
12684            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Function>.ExtensionWriter extensionWriter =
12685              newExtensionWriter();
12686          if (((bitField0_ & 0x00000001) == 0x00000001)) {
12687            output.writeInt32(1, flags_);
12688          }
12689          if (((bitField0_ & 0x00000002) == 0x00000002)) {
12690            output.writeInt32(2, name_);
12691          }
12692          if (((bitField0_ & 0x00000004) == 0x00000004)) {
12693            output.writeMessage(3, returnType_);
12694          }
12695          for (int i = 0; i < typeParameter_.size(); i++) {
12696            output.writeMessage(4, typeParameter_.get(i));
12697          }
12698          if (((bitField0_ & 0x00000010) == 0x00000010)) {
12699            output.writeMessage(5, receiverType_);
12700          }
12701          for (int i = 0; i < valueParameter_.size(); i++) {
12702            output.writeMessage(6, valueParameter_.get(i));
12703          }
12704          if (((bitField0_ & 0x00000008) == 0x00000008)) {
12705            output.writeInt32(7, returnTypeId_);
12706          }
12707          if (((bitField0_ & 0x00000020) == 0x00000020)) {
12708            output.writeInt32(8, receiverTypeId_);
12709          }
12710          if (((bitField0_ & 0x00000040) == 0x00000040)) {
12711            output.writeMessage(30, typeTable_);
12712          }
12713          extensionWriter.writeUntil(200, output);
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_ & 0x00000001) == 0x00000001)) {
12723            size += com.google.protobuf.CodedOutputStream
12724              .computeInt32Size(1, flags_);
12725          }
12726          if (((bitField0_ & 0x00000002) == 0x00000002)) {
12727            size += com.google.protobuf.CodedOutputStream
12728              .computeInt32Size(2, name_);
12729          }
12730          if (((bitField0_ & 0x00000004) == 0x00000004)) {
12731            size += com.google.protobuf.CodedOutputStream
12732              .computeMessageSize(3, returnType_);
12733          }
12734          for (int i = 0; i < typeParameter_.size(); i++) {
12735            size += com.google.protobuf.CodedOutputStream
12736              .computeMessageSize(4, typeParameter_.get(i));
12737          }
12738          if (((bitField0_ & 0x00000010) == 0x00000010)) {
12739            size += com.google.protobuf.CodedOutputStream
12740              .computeMessageSize(5, receiverType_);
12741          }
12742          for (int i = 0; i < valueParameter_.size(); i++) {
12743            size += com.google.protobuf.CodedOutputStream
12744              .computeMessageSize(6, valueParameter_.get(i));
12745          }
12746          if (((bitField0_ & 0x00000008) == 0x00000008)) {
12747            size += com.google.protobuf.CodedOutputStream
12748              .computeInt32Size(7, returnTypeId_);
12749          }
12750          if (((bitField0_ & 0x00000020) == 0x00000020)) {
12751            size += com.google.protobuf.CodedOutputStream
12752              .computeInt32Size(8, receiverTypeId_);
12753          }
12754          if (((bitField0_ & 0x00000040) == 0x00000040)) {
12755            size += com.google.protobuf.CodedOutputStream
12756              .computeMessageSize(30, typeTable_);
12757          }
12758          size += extensionsSerializedSize();
12759          memoizedSerializedSize = size;
12760          return size;
12761        }
12762    
12763        private static final long serialVersionUID = 0L;
12764        @java.lang.Override
12765        protected java.lang.Object writeReplace()
12766            throws java.io.ObjectStreamException {
12767          return super.writeReplace();
12768        }
12769    
12770        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
12771            com.google.protobuf.ByteString data)
12772            throws com.google.protobuf.InvalidProtocolBufferException {
12773          return PARSER.parseFrom(data);
12774        }
12775        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
12776            com.google.protobuf.ByteString data,
12777            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12778            throws com.google.protobuf.InvalidProtocolBufferException {
12779          return PARSER.parseFrom(data, extensionRegistry);
12780        }
12781        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(byte[] data)
12782            throws com.google.protobuf.InvalidProtocolBufferException {
12783          return PARSER.parseFrom(data);
12784        }
12785        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
12786            byte[] data,
12787            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12788            throws com.google.protobuf.InvalidProtocolBufferException {
12789          return PARSER.parseFrom(data, extensionRegistry);
12790        }
12791        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(java.io.InputStream input)
12792            throws java.io.IOException {
12793          return PARSER.parseFrom(input);
12794        }
12795        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
12796            java.io.InputStream input,
12797            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12798            throws java.io.IOException {
12799          return PARSER.parseFrom(input, extensionRegistry);
12800        }
12801        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseDelimitedFrom(java.io.InputStream input)
12802            throws java.io.IOException {
12803          return PARSER.parseDelimitedFrom(input);
12804        }
12805        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseDelimitedFrom(
12806            java.io.InputStream input,
12807            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12808            throws java.io.IOException {
12809          return PARSER.parseDelimitedFrom(input, extensionRegistry);
12810        }
12811        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
12812            com.google.protobuf.CodedInputStream input)
12813            throws java.io.IOException {
12814          return PARSER.parseFrom(input);
12815        }
12816        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
12817            com.google.protobuf.CodedInputStream input,
12818            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12819            throws java.io.IOException {
12820          return PARSER.parseFrom(input, extensionRegistry);
12821        }
12822    
12823        public static Builder newBuilder() { return Builder.create(); }
12824        public Builder newBuilderForType() { return newBuilder(); }
12825        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Function prototype) {
12826          return newBuilder().mergeFrom(prototype);
12827        }
12828        public Builder toBuilder() { return newBuilder(this); }
12829    
12830        /**
12831         * Protobuf type {@code org.jetbrains.kotlin.serialization.Function}
12832         */
12833        public static final class Builder extends
12834            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
12835              org.jetbrains.kotlin.serialization.ProtoBuf.Function, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder {
12836          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Function.newBuilder()
12837          private Builder() {
12838            maybeForceBuilderInitialization();
12839          }
12840    
12841          private void maybeForceBuilderInitialization() {
12842          }
12843          private static Builder create() {
12844            return new Builder();
12845          }
12846    
12847          public Builder clear() {
12848            super.clear();
12849            flags_ = 6;
12850            bitField0_ = (bitField0_ & ~0x00000001);
12851            name_ = 0;
12852            bitField0_ = (bitField0_ & ~0x00000002);
12853            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12854            bitField0_ = (bitField0_ & ~0x00000004);
12855            returnTypeId_ = 0;
12856            bitField0_ = (bitField0_ & ~0x00000008);
12857            typeParameter_ = java.util.Collections.emptyList();
12858            bitField0_ = (bitField0_ & ~0x00000010);
12859            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12860            bitField0_ = (bitField0_ & ~0x00000020);
12861            receiverTypeId_ = 0;
12862            bitField0_ = (bitField0_ & ~0x00000040);
12863            valueParameter_ = java.util.Collections.emptyList();
12864            bitField0_ = (bitField0_ & ~0x00000080);
12865            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
12866            bitField0_ = (bitField0_ & ~0x00000100);
12867            return this;
12868          }
12869    
12870          public Builder clone() {
12871            return create().mergeFrom(buildPartial());
12872          }
12873    
12874          public org.jetbrains.kotlin.serialization.ProtoBuf.Function getDefaultInstanceForType() {
12875            return org.jetbrains.kotlin.serialization.ProtoBuf.Function.getDefaultInstance();
12876          }
12877    
12878          public org.jetbrains.kotlin.serialization.ProtoBuf.Function build() {
12879            org.jetbrains.kotlin.serialization.ProtoBuf.Function result = buildPartial();
12880            if (!result.isInitialized()) {
12881              throw newUninitializedMessageException(result);
12882            }
12883            return result;
12884          }
12885    
12886          public org.jetbrains.kotlin.serialization.ProtoBuf.Function buildPartial() {
12887            org.jetbrains.kotlin.serialization.ProtoBuf.Function result = new org.jetbrains.kotlin.serialization.ProtoBuf.Function(this);
12888            int from_bitField0_ = bitField0_;
12889            int to_bitField0_ = 0;
12890            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
12891              to_bitField0_ |= 0x00000001;
12892            }
12893            result.flags_ = flags_;
12894            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
12895              to_bitField0_ |= 0x00000002;
12896            }
12897            result.name_ = name_;
12898            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
12899              to_bitField0_ |= 0x00000004;
12900            }
12901            result.returnType_ = returnType_;
12902            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
12903              to_bitField0_ |= 0x00000008;
12904            }
12905            result.returnTypeId_ = returnTypeId_;
12906            if (((bitField0_ & 0x00000010) == 0x00000010)) {
12907              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
12908              bitField0_ = (bitField0_ & ~0x00000010);
12909            }
12910            result.typeParameter_ = typeParameter_;
12911            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
12912              to_bitField0_ |= 0x00000010;
12913            }
12914            result.receiverType_ = receiverType_;
12915            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
12916              to_bitField0_ |= 0x00000020;
12917            }
12918            result.receiverTypeId_ = receiverTypeId_;
12919            if (((bitField0_ & 0x00000080) == 0x00000080)) {
12920              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
12921              bitField0_ = (bitField0_ & ~0x00000080);
12922            }
12923            result.valueParameter_ = valueParameter_;
12924            if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
12925              to_bitField0_ |= 0x00000040;
12926            }
12927            result.typeTable_ = typeTable_;
12928            result.bitField0_ = to_bitField0_;
12929            return result;
12930          }
12931    
12932          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Function other) {
12933            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Function.getDefaultInstance()) return this;
12934            if (other.hasFlags()) {
12935              setFlags(other.getFlags());
12936            }
12937            if (other.hasName()) {
12938              setName(other.getName());
12939            }
12940            if (other.hasReturnType()) {
12941              mergeReturnType(other.getReturnType());
12942            }
12943            if (other.hasReturnTypeId()) {
12944              setReturnTypeId(other.getReturnTypeId());
12945            }
12946            if (!other.typeParameter_.isEmpty()) {
12947              if (typeParameter_.isEmpty()) {
12948                typeParameter_ = other.typeParameter_;
12949                bitField0_ = (bitField0_ & ~0x00000010);
12950              } else {
12951                ensureTypeParameterIsMutable();
12952                typeParameter_.addAll(other.typeParameter_);
12953              }
12954              
12955            }
12956            if (other.hasReceiverType()) {
12957              mergeReceiverType(other.getReceiverType());
12958            }
12959            if (other.hasReceiverTypeId()) {
12960              setReceiverTypeId(other.getReceiverTypeId());
12961            }
12962            if (!other.valueParameter_.isEmpty()) {
12963              if (valueParameter_.isEmpty()) {
12964                valueParameter_ = other.valueParameter_;
12965                bitField0_ = (bitField0_ & ~0x00000080);
12966              } else {
12967                ensureValueParameterIsMutable();
12968                valueParameter_.addAll(other.valueParameter_);
12969              }
12970              
12971            }
12972            if (other.hasTypeTable()) {
12973              mergeTypeTable(other.getTypeTable());
12974            }
12975            this.mergeExtensionFields(other);
12976            return this;
12977          }
12978    
12979          public final boolean isInitialized() {
12980            if (!hasName()) {
12981              
12982              return false;
12983            }
12984            if (hasReturnType()) {
12985              if (!getReturnType().isInitialized()) {
12986                
12987                return false;
12988              }
12989            }
12990            for (int i = 0; i < getTypeParameterCount(); i++) {
12991              if (!getTypeParameter(i).isInitialized()) {
12992                
12993                return false;
12994              }
12995            }
12996            if (hasReceiverType()) {
12997              if (!getReceiverType().isInitialized()) {
12998                
12999                return false;
13000              }
13001            }
13002            for (int i = 0; i < getValueParameterCount(); i++) {
13003              if (!getValueParameter(i).isInitialized()) {
13004                
13005                return false;
13006              }
13007            }
13008            if (hasTypeTable()) {
13009              if (!getTypeTable().isInitialized()) {
13010                
13011                return false;
13012              }
13013            }
13014            if (!extensionsAreInitialized()) {
13015              
13016              return false;
13017            }
13018            return true;
13019          }
13020    
13021          public Builder mergeFrom(
13022              com.google.protobuf.CodedInputStream input,
13023              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13024              throws java.io.IOException {
13025            org.jetbrains.kotlin.serialization.ProtoBuf.Function parsedMessage = null;
13026            try {
13027              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
13028            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
13029              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Function) e.getUnfinishedMessage();
13030              throw e;
13031            } finally {
13032              if (parsedMessage != null) {
13033                mergeFrom(parsedMessage);
13034              }
13035            }
13036            return this;
13037          }
13038          private int bitField0_;
13039    
13040          // optional int32 flags = 1 [default = 6];
13041          private int flags_ = 6;
13042          /**
13043           * <code>optional int32 flags = 1 [default = 6];</code>
13044           *
13045           * <pre>
13046           *
13047           *hasAnnotations
13048           *Visibility
13049           *Modality
13050           *MemberKind
13051           *isOperator
13052           *isInfix
13053           *isInline
13054           *isTailrec
13055           *isExternal
13056           * </pre>
13057           */
13058          public boolean hasFlags() {
13059            return ((bitField0_ & 0x00000001) == 0x00000001);
13060          }
13061          /**
13062           * <code>optional int32 flags = 1 [default = 6];</code>
13063           *
13064           * <pre>
13065           *
13066           *hasAnnotations
13067           *Visibility
13068           *Modality
13069           *MemberKind
13070           *isOperator
13071           *isInfix
13072           *isInline
13073           *isTailrec
13074           *isExternal
13075           * </pre>
13076           */
13077          public int getFlags() {
13078            return flags_;
13079          }
13080          /**
13081           * <code>optional int32 flags = 1 [default = 6];</code>
13082           *
13083           * <pre>
13084           *
13085           *hasAnnotations
13086           *Visibility
13087           *Modality
13088           *MemberKind
13089           *isOperator
13090           *isInfix
13091           *isInline
13092           *isTailrec
13093           *isExternal
13094           * </pre>
13095           */
13096          public Builder setFlags(int value) {
13097            bitField0_ |= 0x00000001;
13098            flags_ = value;
13099            
13100            return this;
13101          }
13102          /**
13103           * <code>optional int32 flags = 1 [default = 6];</code>
13104           *
13105           * <pre>
13106           *
13107           *hasAnnotations
13108           *Visibility
13109           *Modality
13110           *MemberKind
13111           *isOperator
13112           *isInfix
13113           *isInline
13114           *isTailrec
13115           *isExternal
13116           * </pre>
13117           */
13118          public Builder clearFlags() {
13119            bitField0_ = (bitField0_ & ~0x00000001);
13120            flags_ = 6;
13121            
13122            return this;
13123          }
13124    
13125          // required int32 name = 2;
13126          private int name_ ;
13127          /**
13128           * <code>required int32 name = 2;</code>
13129           */
13130          public boolean hasName() {
13131            return ((bitField0_ & 0x00000002) == 0x00000002);
13132          }
13133          /**
13134           * <code>required int32 name = 2;</code>
13135           */
13136          public int getName() {
13137            return name_;
13138          }
13139          /**
13140           * <code>required int32 name = 2;</code>
13141           */
13142          public Builder setName(int value) {
13143            bitField0_ |= 0x00000002;
13144            name_ = value;
13145            
13146            return this;
13147          }
13148          /**
13149           * <code>required int32 name = 2;</code>
13150           */
13151          public Builder clearName() {
13152            bitField0_ = (bitField0_ & ~0x00000002);
13153            name_ = 0;
13154            
13155            return this;
13156          }
13157    
13158          // optional .org.jetbrains.kotlin.serialization.Type return_type = 3;
13159          private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13160          /**
13161           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13162           */
13163          public boolean hasReturnType() {
13164            return ((bitField0_ & 0x00000004) == 0x00000004);
13165          }
13166          /**
13167           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13168           */
13169          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
13170            return returnType_;
13171          }
13172          /**
13173           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13174           */
13175          public Builder setReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
13176            if (value == null) {
13177              throw new NullPointerException();
13178            }
13179            returnType_ = value;
13180    
13181            bitField0_ |= 0x00000004;
13182            return this;
13183          }
13184          /**
13185           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13186           */
13187          public Builder setReturnType(
13188              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
13189            returnType_ = builderForValue.build();
13190    
13191            bitField0_ |= 0x00000004;
13192            return this;
13193          }
13194          /**
13195           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13196           */
13197          public Builder mergeReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
13198            if (((bitField0_ & 0x00000004) == 0x00000004) &&
13199                returnType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
13200              returnType_ =
13201                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(returnType_).mergeFrom(value).buildPartial();
13202            } else {
13203              returnType_ = value;
13204            }
13205    
13206            bitField0_ |= 0x00000004;
13207            return this;
13208          }
13209          /**
13210           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13211           */
13212          public Builder clearReturnType() {
13213            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13214    
13215            bitField0_ = (bitField0_ & ~0x00000004);
13216            return this;
13217          }
13218    
13219          // optional int32 return_type_id = 7;
13220          private int returnTypeId_ ;
13221          /**
13222           * <code>optional int32 return_type_id = 7;</code>
13223           */
13224          public boolean hasReturnTypeId() {
13225            return ((bitField0_ & 0x00000008) == 0x00000008);
13226          }
13227          /**
13228           * <code>optional int32 return_type_id = 7;</code>
13229           */
13230          public int getReturnTypeId() {
13231            return returnTypeId_;
13232          }
13233          /**
13234           * <code>optional int32 return_type_id = 7;</code>
13235           */
13236          public Builder setReturnTypeId(int value) {
13237            bitField0_ |= 0x00000008;
13238            returnTypeId_ = value;
13239            
13240            return this;
13241          }
13242          /**
13243           * <code>optional int32 return_type_id = 7;</code>
13244           */
13245          public Builder clearReturnTypeId() {
13246            bitField0_ = (bitField0_ & ~0x00000008);
13247            returnTypeId_ = 0;
13248            
13249            return this;
13250          }
13251    
13252          // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
13253          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
13254            java.util.Collections.emptyList();
13255          private void ensureTypeParameterIsMutable() {
13256            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
13257              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
13258              bitField0_ |= 0x00000010;
13259             }
13260          }
13261    
13262          /**
13263           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13264           */
13265          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
13266            return java.util.Collections.unmodifiableList(typeParameter_);
13267          }
13268          /**
13269           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13270           */
13271          public int getTypeParameterCount() {
13272            return typeParameter_.size();
13273          }
13274          /**
13275           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13276           */
13277          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
13278            return typeParameter_.get(index);
13279          }
13280          /**
13281           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13282           */
13283          public Builder setTypeParameter(
13284              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
13285            if (value == null) {
13286              throw new NullPointerException();
13287            }
13288            ensureTypeParameterIsMutable();
13289            typeParameter_.set(index, value);
13290    
13291            return this;
13292          }
13293          /**
13294           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13295           */
13296          public Builder setTypeParameter(
13297              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
13298            ensureTypeParameterIsMutable();
13299            typeParameter_.set(index, builderForValue.build());
13300    
13301            return this;
13302          }
13303          /**
13304           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13305           */
13306          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
13307            if (value == null) {
13308              throw new NullPointerException();
13309            }
13310            ensureTypeParameterIsMutable();
13311            typeParameter_.add(value);
13312    
13313            return this;
13314          }
13315          /**
13316           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13317           */
13318          public Builder addTypeParameter(
13319              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
13320            if (value == null) {
13321              throw new NullPointerException();
13322            }
13323            ensureTypeParameterIsMutable();
13324            typeParameter_.add(index, value);
13325    
13326            return this;
13327          }
13328          /**
13329           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13330           */
13331          public Builder addTypeParameter(
13332              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
13333            ensureTypeParameterIsMutable();
13334            typeParameter_.add(builderForValue.build());
13335    
13336            return this;
13337          }
13338          /**
13339           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13340           */
13341          public Builder addTypeParameter(
13342              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
13343            ensureTypeParameterIsMutable();
13344            typeParameter_.add(index, builderForValue.build());
13345    
13346            return this;
13347          }
13348          /**
13349           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13350           */
13351          public Builder addAllTypeParameter(
13352              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
13353            ensureTypeParameterIsMutable();
13354            super.addAll(values, typeParameter_);
13355    
13356            return this;
13357          }
13358          /**
13359           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13360           */
13361          public Builder clearTypeParameter() {
13362            typeParameter_ = java.util.Collections.emptyList();
13363            bitField0_ = (bitField0_ & ~0x00000010);
13364    
13365            return this;
13366          }
13367          /**
13368           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13369           */
13370          public Builder removeTypeParameter(int index) {
13371            ensureTypeParameterIsMutable();
13372            typeParameter_.remove(index);
13373    
13374            return this;
13375          }
13376    
13377          // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
13378          private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13379          /**
13380           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13381           */
13382          public boolean hasReceiverType() {
13383            return ((bitField0_ & 0x00000020) == 0x00000020);
13384          }
13385          /**
13386           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13387           */
13388          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
13389            return receiverType_;
13390          }
13391          /**
13392           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13393           */
13394          public Builder setReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
13395            if (value == null) {
13396              throw new NullPointerException();
13397            }
13398            receiverType_ = value;
13399    
13400            bitField0_ |= 0x00000020;
13401            return this;
13402          }
13403          /**
13404           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13405           */
13406          public Builder setReceiverType(
13407              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
13408            receiverType_ = builderForValue.build();
13409    
13410            bitField0_ |= 0x00000020;
13411            return this;
13412          }
13413          /**
13414           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13415           */
13416          public Builder mergeReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
13417            if (((bitField0_ & 0x00000020) == 0x00000020) &&
13418                receiverType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
13419              receiverType_ =
13420                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(receiverType_).mergeFrom(value).buildPartial();
13421            } else {
13422              receiverType_ = value;
13423            }
13424    
13425            bitField0_ |= 0x00000020;
13426            return this;
13427          }
13428          /**
13429           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13430           */
13431          public Builder clearReceiverType() {
13432            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13433    
13434            bitField0_ = (bitField0_ & ~0x00000020);
13435            return this;
13436          }
13437    
13438          // optional int32 receiver_type_id = 8;
13439          private int receiverTypeId_ ;
13440          /**
13441           * <code>optional int32 receiver_type_id = 8;</code>
13442           */
13443          public boolean hasReceiverTypeId() {
13444            return ((bitField0_ & 0x00000040) == 0x00000040);
13445          }
13446          /**
13447           * <code>optional int32 receiver_type_id = 8;</code>
13448           */
13449          public int getReceiverTypeId() {
13450            return receiverTypeId_;
13451          }
13452          /**
13453           * <code>optional int32 receiver_type_id = 8;</code>
13454           */
13455          public Builder setReceiverTypeId(int value) {
13456            bitField0_ |= 0x00000040;
13457            receiverTypeId_ = value;
13458            
13459            return this;
13460          }
13461          /**
13462           * <code>optional int32 receiver_type_id = 8;</code>
13463           */
13464          public Builder clearReceiverTypeId() {
13465            bitField0_ = (bitField0_ & ~0x00000040);
13466            receiverTypeId_ = 0;
13467            
13468            return this;
13469          }
13470    
13471          // repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;
13472          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> valueParameter_ =
13473            java.util.Collections.emptyList();
13474          private void ensureValueParameterIsMutable() {
13475            if (!((bitField0_ & 0x00000080) == 0x00000080)) {
13476              valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>(valueParameter_);
13477              bitField0_ |= 0x00000080;
13478             }
13479          }
13480    
13481          /**
13482           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13483           */
13484          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> getValueParameterList() {
13485            return java.util.Collections.unmodifiableList(valueParameter_);
13486          }
13487          /**
13488           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13489           */
13490          public int getValueParameterCount() {
13491            return valueParameter_.size();
13492          }
13493          /**
13494           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13495           */
13496          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index) {
13497            return valueParameter_.get(index);
13498          }
13499          /**
13500           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13501           */
13502          public Builder setValueParameter(
13503              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
13504            if (value == null) {
13505              throw new NullPointerException();
13506            }
13507            ensureValueParameterIsMutable();
13508            valueParameter_.set(index, value);
13509    
13510            return this;
13511          }
13512          /**
13513           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13514           */
13515          public Builder setValueParameter(
13516              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
13517            ensureValueParameterIsMutable();
13518            valueParameter_.set(index, builderForValue.build());
13519    
13520            return this;
13521          }
13522          /**
13523           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13524           */
13525          public Builder addValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
13526            if (value == null) {
13527              throw new NullPointerException();
13528            }
13529            ensureValueParameterIsMutable();
13530            valueParameter_.add(value);
13531    
13532            return this;
13533          }
13534          /**
13535           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13536           */
13537          public Builder addValueParameter(
13538              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
13539            if (value == null) {
13540              throw new NullPointerException();
13541            }
13542            ensureValueParameterIsMutable();
13543            valueParameter_.add(index, value);
13544    
13545            return this;
13546          }
13547          /**
13548           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13549           */
13550          public Builder addValueParameter(
13551              org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
13552            ensureValueParameterIsMutable();
13553            valueParameter_.add(builderForValue.build());
13554    
13555            return this;
13556          }
13557          /**
13558           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13559           */
13560          public Builder addValueParameter(
13561              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
13562            ensureValueParameterIsMutable();
13563            valueParameter_.add(index, builderForValue.build());
13564    
13565            return this;
13566          }
13567          /**
13568           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13569           */
13570          public Builder addAllValueParameter(
13571              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> values) {
13572            ensureValueParameterIsMutable();
13573            super.addAll(values, valueParameter_);
13574    
13575            return this;
13576          }
13577          /**
13578           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13579           */
13580          public Builder clearValueParameter() {
13581            valueParameter_ = java.util.Collections.emptyList();
13582            bitField0_ = (bitField0_ & ~0x00000080);
13583    
13584            return this;
13585          }
13586          /**
13587           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13588           */
13589          public Builder removeValueParameter(int index) {
13590            ensureValueParameterIsMutable();
13591            valueParameter_.remove(index);
13592    
13593            return this;
13594          }
13595    
13596          // optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;
13597          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
13598          /**
13599           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13600           */
13601          public boolean hasTypeTable() {
13602            return ((bitField0_ & 0x00000100) == 0x00000100);
13603          }
13604          /**
13605           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13606           */
13607          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
13608            return typeTable_;
13609          }
13610          /**
13611           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13612           */
13613          public Builder setTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
13614            if (value == null) {
13615              throw new NullPointerException();
13616            }
13617            typeTable_ = value;
13618    
13619            bitField0_ |= 0x00000100;
13620            return this;
13621          }
13622          /**
13623           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13624           */
13625          public Builder setTypeTable(
13626              org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder builderForValue) {
13627            typeTable_ = builderForValue.build();
13628    
13629            bitField0_ |= 0x00000100;
13630            return this;
13631          }
13632          /**
13633           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13634           */
13635          public Builder mergeTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
13636            if (((bitField0_ & 0x00000100) == 0x00000100) &&
13637                typeTable_ != org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance()) {
13638              typeTable_ =
13639                org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.newBuilder(typeTable_).mergeFrom(value).buildPartial();
13640            } else {
13641              typeTable_ = value;
13642            }
13643    
13644            bitField0_ |= 0x00000100;
13645            return this;
13646          }
13647          /**
13648           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13649           */
13650          public Builder clearTypeTable() {
13651            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
13652    
13653            bitField0_ = (bitField0_ & ~0x00000100);
13654            return this;
13655          }
13656    
13657          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Function)
13658        }
13659    
13660        static {
13661          defaultInstance = new Function(true);
13662          defaultInstance.initFields();
13663        }
13664    
13665        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Function)
13666      }
13667    
13668      public interface PropertyOrBuilder extends 
13669           com.google.protobuf.GeneratedMessageLite.
13670                ExtendableMessageOrBuilder<Property> {
13671    
13672        // optional int32 flags = 1 [default = 262];
13673        /**
13674         * <code>optional int32 flags = 1 [default = 262];</code>
13675         *
13676         * <pre>
13677         *
13678         *hasAnnotations
13679         *Visibility
13680         *Modality
13681         *MemberKind
13682         *isVar
13683         *hasGetter
13684         *hasSetter
13685         *isConst
13686         *lateinit
13687         *hasConstant
13688         * </pre>
13689         */
13690        boolean hasFlags();
13691        /**
13692         * <code>optional int32 flags = 1 [default = 262];</code>
13693         *
13694         * <pre>
13695         *
13696         *hasAnnotations
13697         *Visibility
13698         *Modality
13699         *MemberKind
13700         *isVar
13701         *hasGetter
13702         *hasSetter
13703         *isConst
13704         *lateinit
13705         *hasConstant
13706         * </pre>
13707         */
13708        int getFlags();
13709    
13710        // required int32 name = 2;
13711        /**
13712         * <code>required int32 name = 2;</code>
13713         */
13714        boolean hasName();
13715        /**
13716         * <code>required int32 name = 2;</code>
13717         */
13718        int getName();
13719    
13720        // optional .org.jetbrains.kotlin.serialization.Type return_type = 3;
13721        /**
13722         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13723         */
13724        boolean hasReturnType();
13725        /**
13726         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13727         */
13728        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType();
13729    
13730        // optional int32 return_type_id = 9;
13731        /**
13732         * <code>optional int32 return_type_id = 9;</code>
13733         */
13734        boolean hasReturnTypeId();
13735        /**
13736         * <code>optional int32 return_type_id = 9;</code>
13737         */
13738        int getReturnTypeId();
13739    
13740        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
13741        /**
13742         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13743         */
13744        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
13745            getTypeParameterList();
13746        /**
13747         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13748         */
13749        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
13750        /**
13751         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13752         */
13753        int getTypeParameterCount();
13754    
13755        // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
13756        /**
13757         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13758         */
13759        boolean hasReceiverType();
13760        /**
13761         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13762         */
13763        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType();
13764    
13765        // optional int32 receiver_type_id = 10;
13766        /**
13767         * <code>optional int32 receiver_type_id = 10;</code>
13768         */
13769        boolean hasReceiverTypeId();
13770        /**
13771         * <code>optional int32 receiver_type_id = 10;</code>
13772         */
13773        int getReceiverTypeId();
13774    
13775        // optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;
13776        /**
13777         * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
13778         */
13779        boolean hasSetterValueParameter();
13780        /**
13781         * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
13782         */
13783        org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getSetterValueParameter();
13784    
13785        // optional int32 getter_flags = 7;
13786        /**
13787         * <code>optional int32 getter_flags = 7;</code>
13788         *
13789         * <pre>
13790         *
13791         *hasAnnotations
13792         *Visibility
13793         *Modality
13794         *isNotDefault
13795         *isExternal
13796         * </pre>
13797         */
13798        boolean hasGetterFlags();
13799        /**
13800         * <code>optional int32 getter_flags = 7;</code>
13801         *
13802         * <pre>
13803         *
13804         *hasAnnotations
13805         *Visibility
13806         *Modality
13807         *isNotDefault
13808         *isExternal
13809         * </pre>
13810         */
13811        int getGetterFlags();
13812    
13813        // optional int32 setter_flags = 8;
13814        /**
13815         * <code>optional int32 setter_flags = 8;</code>
13816         */
13817        boolean hasSetterFlags();
13818        /**
13819         * <code>optional int32 setter_flags = 8;</code>
13820         */
13821        int getSetterFlags();
13822      }
13823      /**
13824       * Protobuf type {@code org.jetbrains.kotlin.serialization.Property}
13825       */
13826      public static final class Property extends
13827          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
13828            Property> implements PropertyOrBuilder {
13829        // Use Property.newBuilder() to construct.
13830        private Property(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Property, ?> builder) {
13831          super(builder);
13832    
13833        }
13834        private Property(boolean noInit) {}
13835    
13836        private static final Property defaultInstance;
13837        public static Property getDefaultInstance() {
13838          return defaultInstance;
13839        }
13840    
13841        public Property getDefaultInstanceForType() {
13842          return defaultInstance;
13843        }
13844    
13845        private Property(
13846            com.google.protobuf.CodedInputStream input,
13847            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13848            throws com.google.protobuf.InvalidProtocolBufferException {
13849          initFields();
13850          int mutable_bitField0_ = 0;
13851          try {
13852            boolean done = false;
13853            while (!done) {
13854              int tag = input.readTag();
13855              switch (tag) {
13856                case 0:
13857                  done = true;
13858                  break;
13859                default: {
13860                  if (!parseUnknownField(input,
13861                                         extensionRegistry, tag)) {
13862                    done = true;
13863                  }
13864                  break;
13865                }
13866                case 8: {
13867                  bitField0_ |= 0x00000001;
13868                  flags_ = input.readInt32();
13869                  break;
13870                }
13871                case 16: {
13872                  bitField0_ |= 0x00000002;
13873                  name_ = input.readInt32();
13874                  break;
13875                }
13876                case 26: {
13877                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
13878                  if (((bitField0_ & 0x00000004) == 0x00000004)) {
13879                    subBuilder = returnType_.toBuilder();
13880                  }
13881                  returnType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
13882                  if (subBuilder != null) {
13883                    subBuilder.mergeFrom(returnType_);
13884                    returnType_ = subBuilder.buildPartial();
13885                  }
13886                  bitField0_ |= 0x00000004;
13887                  break;
13888                }
13889                case 34: {
13890                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
13891                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
13892                    mutable_bitField0_ |= 0x00000010;
13893                  }
13894                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
13895                  break;
13896                }
13897                case 42: {
13898                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
13899                  if (((bitField0_ & 0x00000010) == 0x00000010)) {
13900                    subBuilder = receiverType_.toBuilder();
13901                  }
13902                  receiverType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
13903                  if (subBuilder != null) {
13904                    subBuilder.mergeFrom(receiverType_);
13905                    receiverType_ = subBuilder.buildPartial();
13906                  }
13907                  bitField0_ |= 0x00000010;
13908                  break;
13909                }
13910                case 50: {
13911                  org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder subBuilder = null;
13912                  if (((bitField0_ & 0x00000040) == 0x00000040)) {
13913                    subBuilder = setterValueParameter_.toBuilder();
13914                  }
13915                  setterValueParameter_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.PARSER, extensionRegistry);
13916                  if (subBuilder != null) {
13917                    subBuilder.mergeFrom(setterValueParameter_);
13918                    setterValueParameter_ = subBuilder.buildPartial();
13919                  }
13920                  bitField0_ |= 0x00000040;
13921                  break;
13922                }
13923                case 56: {
13924                  bitField0_ |= 0x00000080;
13925                  getterFlags_ = input.readInt32();
13926                  break;
13927                }
13928                case 64: {
13929                  bitField0_ |= 0x00000100;
13930                  setterFlags_ = input.readInt32();
13931                  break;
13932                }
13933                case 72: {
13934                  bitField0_ |= 0x00000008;
13935                  returnTypeId_ = input.readInt32();
13936                  break;
13937                }
13938                case 80: {
13939                  bitField0_ |= 0x00000020;
13940                  receiverTypeId_ = input.readInt32();
13941                  break;
13942                }
13943              }
13944            }
13945          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
13946            throw e.setUnfinishedMessage(this);
13947          } catch (java.io.IOException e) {
13948            throw new com.google.protobuf.InvalidProtocolBufferException(
13949                e.getMessage()).setUnfinishedMessage(this);
13950          } finally {
13951            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
13952              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
13953            }
13954            makeExtensionsImmutable();
13955          }
13956        }
13957        public static com.google.protobuf.Parser<Property> PARSER =
13958            new com.google.protobuf.AbstractParser<Property>() {
13959          public Property parsePartialFrom(
13960              com.google.protobuf.CodedInputStream input,
13961              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13962              throws com.google.protobuf.InvalidProtocolBufferException {
13963            return new Property(input, extensionRegistry);
13964          }
13965        };
13966    
13967        @java.lang.Override
13968        public com.google.protobuf.Parser<Property> getParserForType() {
13969          return PARSER;
13970        }
13971    
13972        private int bitField0_;
13973        // optional int32 flags = 1 [default = 262];
13974        public static final int FLAGS_FIELD_NUMBER = 1;
13975        private int flags_;
13976        /**
13977         * <code>optional int32 flags = 1 [default = 262];</code>
13978         *
13979         * <pre>
13980         *
13981         *hasAnnotations
13982         *Visibility
13983         *Modality
13984         *MemberKind
13985         *isVar
13986         *hasGetter
13987         *hasSetter
13988         *isConst
13989         *lateinit
13990         *hasConstant
13991         * </pre>
13992         */
13993        public boolean hasFlags() {
13994          return ((bitField0_ & 0x00000001) == 0x00000001);
13995        }
13996        /**
13997         * <code>optional int32 flags = 1 [default = 262];</code>
13998         *
13999         * <pre>
14000         *
14001         *hasAnnotations
14002         *Visibility
14003         *Modality
14004         *MemberKind
14005         *isVar
14006         *hasGetter
14007         *hasSetter
14008         *isConst
14009         *lateinit
14010         *hasConstant
14011         * </pre>
14012         */
14013        public int getFlags() {
14014          return flags_;
14015        }
14016    
14017        // required int32 name = 2;
14018        public static final int NAME_FIELD_NUMBER = 2;
14019        private int name_;
14020        /**
14021         * <code>required int32 name = 2;</code>
14022         */
14023        public boolean hasName() {
14024          return ((bitField0_ & 0x00000002) == 0x00000002);
14025        }
14026        /**
14027         * <code>required int32 name = 2;</code>
14028         */
14029        public int getName() {
14030          return name_;
14031        }
14032    
14033        // optional .org.jetbrains.kotlin.serialization.Type return_type = 3;
14034        public static final int RETURN_TYPE_FIELD_NUMBER = 3;
14035        private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_;
14036        /**
14037         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14038         */
14039        public boolean hasReturnType() {
14040          return ((bitField0_ & 0x00000004) == 0x00000004);
14041        }
14042        /**
14043         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14044         */
14045        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
14046          return returnType_;
14047        }
14048    
14049        // optional int32 return_type_id = 9;
14050        public static final int RETURN_TYPE_ID_FIELD_NUMBER = 9;
14051        private int returnTypeId_;
14052        /**
14053         * <code>optional int32 return_type_id = 9;</code>
14054         */
14055        public boolean hasReturnTypeId() {
14056          return ((bitField0_ & 0x00000008) == 0x00000008);
14057        }
14058        /**
14059         * <code>optional int32 return_type_id = 9;</code>
14060         */
14061        public int getReturnTypeId() {
14062          return returnTypeId_;
14063        }
14064    
14065        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
14066        public static final int TYPE_PARAMETER_FIELD_NUMBER = 4;
14067        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
14068        /**
14069         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14070         */
14071        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
14072          return typeParameter_;
14073        }
14074        /**
14075         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14076         */
14077        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
14078            getTypeParameterOrBuilderList() {
14079          return typeParameter_;
14080        }
14081        /**
14082         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14083         */
14084        public int getTypeParameterCount() {
14085          return typeParameter_.size();
14086        }
14087        /**
14088         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14089         */
14090        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
14091          return typeParameter_.get(index);
14092        }
14093        /**
14094         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14095         */
14096        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
14097            int index) {
14098          return typeParameter_.get(index);
14099        }
14100    
14101        // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
14102        public static final int RECEIVER_TYPE_FIELD_NUMBER = 5;
14103        private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_;
14104        /**
14105         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14106         */
14107        public boolean hasReceiverType() {
14108          return ((bitField0_ & 0x00000010) == 0x00000010);
14109        }
14110        /**
14111         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14112         */
14113        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
14114          return receiverType_;
14115        }
14116    
14117        // optional int32 receiver_type_id = 10;
14118        public static final int RECEIVER_TYPE_ID_FIELD_NUMBER = 10;
14119        private int receiverTypeId_;
14120        /**
14121         * <code>optional int32 receiver_type_id = 10;</code>
14122         */
14123        public boolean hasReceiverTypeId() {
14124          return ((bitField0_ & 0x00000020) == 0x00000020);
14125        }
14126        /**
14127         * <code>optional int32 receiver_type_id = 10;</code>
14128         */
14129        public int getReceiverTypeId() {
14130          return receiverTypeId_;
14131        }
14132    
14133        // optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;
14134        public static final int SETTER_VALUE_PARAMETER_FIELD_NUMBER = 6;
14135        private org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter setterValueParameter_;
14136        /**
14137         * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
14138         */
14139        public boolean hasSetterValueParameter() {
14140          return ((bitField0_ & 0x00000040) == 0x00000040);
14141        }
14142        /**
14143         * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
14144         */
14145        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getSetterValueParameter() {
14146          return setterValueParameter_;
14147        }
14148    
14149        // optional int32 getter_flags = 7;
14150        public static final int GETTER_FLAGS_FIELD_NUMBER = 7;
14151        private int getterFlags_;
14152        /**
14153         * <code>optional int32 getter_flags = 7;</code>
14154         *
14155         * <pre>
14156         *
14157         *hasAnnotations
14158         *Visibility
14159         *Modality
14160         *isNotDefault
14161         *isExternal
14162         * </pre>
14163         */
14164        public boolean hasGetterFlags() {
14165          return ((bitField0_ & 0x00000080) == 0x00000080);
14166        }
14167        /**
14168         * <code>optional int32 getter_flags = 7;</code>
14169         *
14170         * <pre>
14171         *
14172         *hasAnnotations
14173         *Visibility
14174         *Modality
14175         *isNotDefault
14176         *isExternal
14177         * </pre>
14178         */
14179        public int getGetterFlags() {
14180          return getterFlags_;
14181        }
14182    
14183        // optional int32 setter_flags = 8;
14184        public static final int SETTER_FLAGS_FIELD_NUMBER = 8;
14185        private int setterFlags_;
14186        /**
14187         * <code>optional int32 setter_flags = 8;</code>
14188         */
14189        public boolean hasSetterFlags() {
14190          return ((bitField0_ & 0x00000100) == 0x00000100);
14191        }
14192        /**
14193         * <code>optional int32 setter_flags = 8;</code>
14194         */
14195        public int getSetterFlags() {
14196          return setterFlags_;
14197        }
14198    
14199        private void initFields() {
14200          flags_ = 262;
14201          name_ = 0;
14202          returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14203          returnTypeId_ = 0;
14204          typeParameter_ = java.util.Collections.emptyList();
14205          receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14206          receiverTypeId_ = 0;
14207          setterValueParameter_ = org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
14208          getterFlags_ = 0;
14209          setterFlags_ = 0;
14210        }
14211        private byte memoizedIsInitialized = -1;
14212        public final boolean isInitialized() {
14213          byte isInitialized = memoizedIsInitialized;
14214          if (isInitialized != -1) return isInitialized == 1;
14215    
14216          if (!hasName()) {
14217            memoizedIsInitialized = 0;
14218            return false;
14219          }
14220          if (hasReturnType()) {
14221            if (!getReturnType().isInitialized()) {
14222              memoizedIsInitialized = 0;
14223              return false;
14224            }
14225          }
14226          for (int i = 0; i < getTypeParameterCount(); i++) {
14227            if (!getTypeParameter(i).isInitialized()) {
14228              memoizedIsInitialized = 0;
14229              return false;
14230            }
14231          }
14232          if (hasReceiverType()) {
14233            if (!getReceiverType().isInitialized()) {
14234              memoizedIsInitialized = 0;
14235              return false;
14236            }
14237          }
14238          if (hasSetterValueParameter()) {
14239            if (!getSetterValueParameter().isInitialized()) {
14240              memoizedIsInitialized = 0;
14241              return false;
14242            }
14243          }
14244          if (!extensionsAreInitialized()) {
14245            memoizedIsInitialized = 0;
14246            return false;
14247          }
14248          memoizedIsInitialized = 1;
14249          return true;
14250        }
14251    
14252        public void writeTo(com.google.protobuf.CodedOutputStream output)
14253                            throws java.io.IOException {
14254          getSerializedSize();
14255          com.google.protobuf.GeneratedMessageLite
14256            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Property>.ExtensionWriter extensionWriter =
14257              newExtensionWriter();
14258          if (((bitField0_ & 0x00000001) == 0x00000001)) {
14259            output.writeInt32(1, flags_);
14260          }
14261          if (((bitField0_ & 0x00000002) == 0x00000002)) {
14262            output.writeInt32(2, name_);
14263          }
14264          if (((bitField0_ & 0x00000004) == 0x00000004)) {
14265            output.writeMessage(3, returnType_);
14266          }
14267          for (int i = 0; i < typeParameter_.size(); i++) {
14268            output.writeMessage(4, typeParameter_.get(i));
14269          }
14270          if (((bitField0_ & 0x00000010) == 0x00000010)) {
14271            output.writeMessage(5, receiverType_);
14272          }
14273          if (((bitField0_ & 0x00000040) == 0x00000040)) {
14274            output.writeMessage(6, setterValueParameter_);
14275          }
14276          if (((bitField0_ & 0x00000080) == 0x00000080)) {
14277            output.writeInt32(7, getterFlags_);
14278          }
14279          if (((bitField0_ & 0x00000100) == 0x00000100)) {
14280            output.writeInt32(8, setterFlags_);
14281          }
14282          if (((bitField0_ & 0x00000008) == 0x00000008)) {
14283            output.writeInt32(9, returnTypeId_);
14284          }
14285          if (((bitField0_ & 0x00000020) == 0x00000020)) {
14286            output.writeInt32(10, receiverTypeId_);
14287          }
14288          extensionWriter.writeUntil(200, output);
14289        }
14290    
14291        private int memoizedSerializedSize = -1;
14292        public int getSerializedSize() {
14293          int size = memoizedSerializedSize;
14294          if (size != -1) return size;
14295    
14296          size = 0;
14297          if (((bitField0_ & 0x00000001) == 0x00000001)) {
14298            size += com.google.protobuf.CodedOutputStream
14299              .computeInt32Size(1, flags_);
14300          }
14301          if (((bitField0_ & 0x00000002) == 0x00000002)) {
14302            size += com.google.protobuf.CodedOutputStream
14303              .computeInt32Size(2, name_);
14304          }
14305          if (((bitField0_ & 0x00000004) == 0x00000004)) {
14306            size += com.google.protobuf.CodedOutputStream
14307              .computeMessageSize(3, returnType_);
14308          }
14309          for (int i = 0; i < typeParameter_.size(); i++) {
14310            size += com.google.protobuf.CodedOutputStream
14311              .computeMessageSize(4, typeParameter_.get(i));
14312          }
14313          if (((bitField0_ & 0x00000010) == 0x00000010)) {
14314            size += com.google.protobuf.CodedOutputStream
14315              .computeMessageSize(5, receiverType_);
14316          }
14317          if (((bitField0_ & 0x00000040) == 0x00000040)) {
14318            size += com.google.protobuf.CodedOutputStream
14319              .computeMessageSize(6, setterValueParameter_);
14320          }
14321          if (((bitField0_ & 0x00000080) == 0x00000080)) {
14322            size += com.google.protobuf.CodedOutputStream
14323              .computeInt32Size(7, getterFlags_);
14324          }
14325          if (((bitField0_ & 0x00000100) == 0x00000100)) {
14326            size += com.google.protobuf.CodedOutputStream
14327              .computeInt32Size(8, setterFlags_);
14328          }
14329          if (((bitField0_ & 0x00000008) == 0x00000008)) {
14330            size += com.google.protobuf.CodedOutputStream
14331              .computeInt32Size(9, returnTypeId_);
14332          }
14333          if (((bitField0_ & 0x00000020) == 0x00000020)) {
14334            size += com.google.protobuf.CodedOutputStream
14335              .computeInt32Size(10, receiverTypeId_);
14336          }
14337          size += extensionsSerializedSize();
14338          memoizedSerializedSize = size;
14339          return size;
14340        }
14341    
14342        private static final long serialVersionUID = 0L;
14343        @java.lang.Override
14344        protected java.lang.Object writeReplace()
14345            throws java.io.ObjectStreamException {
14346          return super.writeReplace();
14347        }
14348    
14349        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
14350            com.google.protobuf.ByteString data)
14351            throws com.google.protobuf.InvalidProtocolBufferException {
14352          return PARSER.parseFrom(data);
14353        }
14354        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
14355            com.google.protobuf.ByteString data,
14356            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
14357            throws com.google.protobuf.InvalidProtocolBufferException {
14358          return PARSER.parseFrom(data, extensionRegistry);
14359        }
14360        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(byte[] data)
14361            throws com.google.protobuf.InvalidProtocolBufferException {
14362          return PARSER.parseFrom(data);
14363        }
14364        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
14365            byte[] data,
14366            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
14367            throws com.google.protobuf.InvalidProtocolBufferException {
14368          return PARSER.parseFrom(data, extensionRegistry);
14369        }
14370        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(java.io.InputStream input)
14371            throws java.io.IOException {
14372          return PARSER.parseFrom(input);
14373        }
14374        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
14375            java.io.InputStream input,
14376            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
14377            throws java.io.IOException {
14378          return PARSER.parseFrom(input, extensionRegistry);
14379        }
14380        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseDelimitedFrom(java.io.InputStream input)
14381            throws java.io.IOException {
14382          return PARSER.parseDelimitedFrom(input);
14383        }
14384        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseDelimitedFrom(
14385            java.io.InputStream input,
14386            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
14387            throws java.io.IOException {
14388          return PARSER.parseDelimitedFrom(input, extensionRegistry);
14389        }
14390        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
14391            com.google.protobuf.CodedInputStream input)
14392            throws java.io.IOException {
14393          return PARSER.parseFrom(input);
14394        }
14395        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
14396            com.google.protobuf.CodedInputStream input,
14397            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
14398            throws java.io.IOException {
14399          return PARSER.parseFrom(input, extensionRegistry);
14400        }
14401    
14402        public static Builder newBuilder() { return Builder.create(); }
14403        public Builder newBuilderForType() { return newBuilder(); }
14404        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Property prototype) {
14405          return newBuilder().mergeFrom(prototype);
14406        }
14407        public Builder toBuilder() { return newBuilder(this); }
14408    
14409        /**
14410         * Protobuf type {@code org.jetbrains.kotlin.serialization.Property}
14411         */
14412        public static final class Builder extends
14413            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
14414              org.jetbrains.kotlin.serialization.ProtoBuf.Property, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder {
14415          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Property.newBuilder()
14416          private Builder() {
14417            maybeForceBuilderInitialization();
14418          }
14419    
14420          private void maybeForceBuilderInitialization() {
14421          }
14422          private static Builder create() {
14423            return new Builder();
14424          }
14425    
14426          public Builder clear() {
14427            super.clear();
14428            flags_ = 262;
14429            bitField0_ = (bitField0_ & ~0x00000001);
14430            name_ = 0;
14431            bitField0_ = (bitField0_ & ~0x00000002);
14432            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14433            bitField0_ = (bitField0_ & ~0x00000004);
14434            returnTypeId_ = 0;
14435            bitField0_ = (bitField0_ & ~0x00000008);
14436            typeParameter_ = java.util.Collections.emptyList();
14437            bitField0_ = (bitField0_ & ~0x00000010);
14438            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14439            bitField0_ = (bitField0_ & ~0x00000020);
14440            receiverTypeId_ = 0;
14441            bitField0_ = (bitField0_ & ~0x00000040);
14442            setterValueParameter_ = org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
14443            bitField0_ = (bitField0_ & ~0x00000080);
14444            getterFlags_ = 0;
14445            bitField0_ = (bitField0_ & ~0x00000100);
14446            setterFlags_ = 0;
14447            bitField0_ = (bitField0_ & ~0x00000200);
14448            return this;
14449          }
14450    
14451          public Builder clone() {
14452            return create().mergeFrom(buildPartial());
14453          }
14454    
14455          public org.jetbrains.kotlin.serialization.ProtoBuf.Property getDefaultInstanceForType() {
14456            return org.jetbrains.kotlin.serialization.ProtoBuf.Property.getDefaultInstance();
14457          }
14458    
14459          public org.jetbrains.kotlin.serialization.ProtoBuf.Property build() {
14460            org.jetbrains.kotlin.serialization.ProtoBuf.Property result = buildPartial();
14461            if (!result.isInitialized()) {
14462              throw newUninitializedMessageException(result);
14463            }
14464            return result;
14465          }
14466    
14467          public org.jetbrains.kotlin.serialization.ProtoBuf.Property buildPartial() {
14468            org.jetbrains.kotlin.serialization.ProtoBuf.Property result = new org.jetbrains.kotlin.serialization.ProtoBuf.Property(this);
14469            int from_bitField0_ = bitField0_;
14470            int to_bitField0_ = 0;
14471            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
14472              to_bitField0_ |= 0x00000001;
14473            }
14474            result.flags_ = flags_;
14475            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
14476              to_bitField0_ |= 0x00000002;
14477            }
14478            result.name_ = name_;
14479            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
14480              to_bitField0_ |= 0x00000004;
14481            }
14482            result.returnType_ = returnType_;
14483            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
14484              to_bitField0_ |= 0x00000008;
14485            }
14486            result.returnTypeId_ = returnTypeId_;
14487            if (((bitField0_ & 0x00000010) == 0x00000010)) {
14488              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
14489              bitField0_ = (bitField0_ & ~0x00000010);
14490            }
14491            result.typeParameter_ = typeParameter_;
14492            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
14493              to_bitField0_ |= 0x00000010;
14494            }
14495            result.receiverType_ = receiverType_;
14496            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
14497              to_bitField0_ |= 0x00000020;
14498            }
14499            result.receiverTypeId_ = receiverTypeId_;
14500            if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
14501              to_bitField0_ |= 0x00000040;
14502            }
14503            result.setterValueParameter_ = setterValueParameter_;
14504            if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
14505              to_bitField0_ |= 0x00000080;
14506            }
14507            result.getterFlags_ = getterFlags_;
14508            if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
14509              to_bitField0_ |= 0x00000100;
14510            }
14511            result.setterFlags_ = setterFlags_;
14512            result.bitField0_ = to_bitField0_;
14513            return result;
14514          }
14515    
14516          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Property other) {
14517            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Property.getDefaultInstance()) return this;
14518            if (other.hasFlags()) {
14519              setFlags(other.getFlags());
14520            }
14521            if (other.hasName()) {
14522              setName(other.getName());
14523            }
14524            if (other.hasReturnType()) {
14525              mergeReturnType(other.getReturnType());
14526            }
14527            if (other.hasReturnTypeId()) {
14528              setReturnTypeId(other.getReturnTypeId());
14529            }
14530            if (!other.typeParameter_.isEmpty()) {
14531              if (typeParameter_.isEmpty()) {
14532                typeParameter_ = other.typeParameter_;
14533                bitField0_ = (bitField0_ & ~0x00000010);
14534              } else {
14535                ensureTypeParameterIsMutable();
14536                typeParameter_.addAll(other.typeParameter_);
14537              }
14538              
14539            }
14540            if (other.hasReceiverType()) {
14541              mergeReceiverType(other.getReceiverType());
14542            }
14543            if (other.hasReceiverTypeId()) {
14544              setReceiverTypeId(other.getReceiverTypeId());
14545            }
14546            if (other.hasSetterValueParameter()) {
14547              mergeSetterValueParameter(other.getSetterValueParameter());
14548            }
14549            if (other.hasGetterFlags()) {
14550              setGetterFlags(other.getGetterFlags());
14551            }
14552            if (other.hasSetterFlags()) {
14553              setSetterFlags(other.getSetterFlags());
14554            }
14555            this.mergeExtensionFields(other);
14556            return this;
14557          }
14558    
14559          public final boolean isInitialized() {
14560            if (!hasName()) {
14561              
14562              return false;
14563            }
14564            if (hasReturnType()) {
14565              if (!getReturnType().isInitialized()) {
14566                
14567                return false;
14568              }
14569            }
14570            for (int i = 0; i < getTypeParameterCount(); i++) {
14571              if (!getTypeParameter(i).isInitialized()) {
14572                
14573                return false;
14574              }
14575            }
14576            if (hasReceiverType()) {
14577              if (!getReceiverType().isInitialized()) {
14578                
14579                return false;
14580              }
14581            }
14582            if (hasSetterValueParameter()) {
14583              if (!getSetterValueParameter().isInitialized()) {
14584                
14585                return false;
14586              }
14587            }
14588            if (!extensionsAreInitialized()) {
14589              
14590              return false;
14591            }
14592            return true;
14593          }
14594    
14595          public Builder mergeFrom(
14596              com.google.protobuf.CodedInputStream input,
14597              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
14598              throws java.io.IOException {
14599            org.jetbrains.kotlin.serialization.ProtoBuf.Property parsedMessage = null;
14600            try {
14601              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
14602            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
14603              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Property) e.getUnfinishedMessage();
14604              throw e;
14605            } finally {
14606              if (parsedMessage != null) {
14607                mergeFrom(parsedMessage);
14608              }
14609            }
14610            return this;
14611          }
14612          private int bitField0_;
14613    
14614          // optional int32 flags = 1 [default = 262];
14615          private int flags_ = 262;
14616          /**
14617           * <code>optional int32 flags = 1 [default = 262];</code>
14618           *
14619           * <pre>
14620           *
14621           *hasAnnotations
14622           *Visibility
14623           *Modality
14624           *MemberKind
14625           *isVar
14626           *hasGetter
14627           *hasSetter
14628           *isConst
14629           *lateinit
14630           *hasConstant
14631           * </pre>
14632           */
14633          public boolean hasFlags() {
14634            return ((bitField0_ & 0x00000001) == 0x00000001);
14635          }
14636          /**
14637           * <code>optional int32 flags = 1 [default = 262];</code>
14638           *
14639           * <pre>
14640           *
14641           *hasAnnotations
14642           *Visibility
14643           *Modality
14644           *MemberKind
14645           *isVar
14646           *hasGetter
14647           *hasSetter
14648           *isConst
14649           *lateinit
14650           *hasConstant
14651           * </pre>
14652           */
14653          public int getFlags() {
14654            return flags_;
14655          }
14656          /**
14657           * <code>optional int32 flags = 1 [default = 262];</code>
14658           *
14659           * <pre>
14660           *
14661           *hasAnnotations
14662           *Visibility
14663           *Modality
14664           *MemberKind
14665           *isVar
14666           *hasGetter
14667           *hasSetter
14668           *isConst
14669           *lateinit
14670           *hasConstant
14671           * </pre>
14672           */
14673          public Builder setFlags(int value) {
14674            bitField0_ |= 0x00000001;
14675            flags_ = value;
14676            
14677            return this;
14678          }
14679          /**
14680           * <code>optional int32 flags = 1 [default = 262];</code>
14681           *
14682           * <pre>
14683           *
14684           *hasAnnotations
14685           *Visibility
14686           *Modality
14687           *MemberKind
14688           *isVar
14689           *hasGetter
14690           *hasSetter
14691           *isConst
14692           *lateinit
14693           *hasConstant
14694           * </pre>
14695           */
14696          public Builder clearFlags() {
14697            bitField0_ = (bitField0_ & ~0x00000001);
14698            flags_ = 262;
14699            
14700            return this;
14701          }
14702    
14703          // required int32 name = 2;
14704          private int name_ ;
14705          /**
14706           * <code>required int32 name = 2;</code>
14707           */
14708          public boolean hasName() {
14709            return ((bitField0_ & 0x00000002) == 0x00000002);
14710          }
14711          /**
14712           * <code>required int32 name = 2;</code>
14713           */
14714          public int getName() {
14715            return name_;
14716          }
14717          /**
14718           * <code>required int32 name = 2;</code>
14719           */
14720          public Builder setName(int value) {
14721            bitField0_ |= 0x00000002;
14722            name_ = value;
14723            
14724            return this;
14725          }
14726          /**
14727           * <code>required int32 name = 2;</code>
14728           */
14729          public Builder clearName() {
14730            bitField0_ = (bitField0_ & ~0x00000002);
14731            name_ = 0;
14732            
14733            return this;
14734          }
14735    
14736          // optional .org.jetbrains.kotlin.serialization.Type return_type = 3;
14737          private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14738          /**
14739           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14740           */
14741          public boolean hasReturnType() {
14742            return ((bitField0_ & 0x00000004) == 0x00000004);
14743          }
14744          /**
14745           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14746           */
14747          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
14748            return returnType_;
14749          }
14750          /**
14751           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14752           */
14753          public Builder setReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
14754            if (value == null) {
14755              throw new NullPointerException();
14756            }
14757            returnType_ = value;
14758    
14759            bitField0_ |= 0x00000004;
14760            return this;
14761          }
14762          /**
14763           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14764           */
14765          public Builder setReturnType(
14766              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
14767            returnType_ = builderForValue.build();
14768    
14769            bitField0_ |= 0x00000004;
14770            return this;
14771          }
14772          /**
14773           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14774           */
14775          public Builder mergeReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
14776            if (((bitField0_ & 0x00000004) == 0x00000004) &&
14777                returnType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
14778              returnType_ =
14779                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(returnType_).mergeFrom(value).buildPartial();
14780            } else {
14781              returnType_ = value;
14782            }
14783    
14784            bitField0_ |= 0x00000004;
14785            return this;
14786          }
14787          /**
14788           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14789           */
14790          public Builder clearReturnType() {
14791            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14792    
14793            bitField0_ = (bitField0_ & ~0x00000004);
14794            return this;
14795          }
14796    
14797          // optional int32 return_type_id = 9;
14798          private int returnTypeId_ ;
14799          /**
14800           * <code>optional int32 return_type_id = 9;</code>
14801           */
14802          public boolean hasReturnTypeId() {
14803            return ((bitField0_ & 0x00000008) == 0x00000008);
14804          }
14805          /**
14806           * <code>optional int32 return_type_id = 9;</code>
14807           */
14808          public int getReturnTypeId() {
14809            return returnTypeId_;
14810          }
14811          /**
14812           * <code>optional int32 return_type_id = 9;</code>
14813           */
14814          public Builder setReturnTypeId(int value) {
14815            bitField0_ |= 0x00000008;
14816            returnTypeId_ = value;
14817            
14818            return this;
14819          }
14820          /**
14821           * <code>optional int32 return_type_id = 9;</code>
14822           */
14823          public Builder clearReturnTypeId() {
14824            bitField0_ = (bitField0_ & ~0x00000008);
14825            returnTypeId_ = 0;
14826            
14827            return this;
14828          }
14829    
14830          // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
14831          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
14832            java.util.Collections.emptyList();
14833          private void ensureTypeParameterIsMutable() {
14834            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
14835              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
14836              bitField0_ |= 0x00000010;
14837             }
14838          }
14839    
14840          /**
14841           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14842           */
14843          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
14844            return java.util.Collections.unmodifiableList(typeParameter_);
14845          }
14846          /**
14847           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14848           */
14849          public int getTypeParameterCount() {
14850            return typeParameter_.size();
14851          }
14852          /**
14853           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14854           */
14855          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
14856            return typeParameter_.get(index);
14857          }
14858          /**
14859           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14860           */
14861          public Builder setTypeParameter(
14862              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
14863            if (value == null) {
14864              throw new NullPointerException();
14865            }
14866            ensureTypeParameterIsMutable();
14867            typeParameter_.set(index, value);
14868    
14869            return this;
14870          }
14871          /**
14872           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14873           */
14874          public Builder setTypeParameter(
14875              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
14876            ensureTypeParameterIsMutable();
14877            typeParameter_.set(index, builderForValue.build());
14878    
14879            return this;
14880          }
14881          /**
14882           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14883           */
14884          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
14885            if (value == null) {
14886              throw new NullPointerException();
14887            }
14888            ensureTypeParameterIsMutable();
14889            typeParameter_.add(value);
14890    
14891            return this;
14892          }
14893          /**
14894           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14895           */
14896          public Builder addTypeParameter(
14897              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
14898            if (value == null) {
14899              throw new NullPointerException();
14900            }
14901            ensureTypeParameterIsMutable();
14902            typeParameter_.add(index, value);
14903    
14904            return this;
14905          }
14906          /**
14907           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14908           */
14909          public Builder addTypeParameter(
14910              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
14911            ensureTypeParameterIsMutable();
14912            typeParameter_.add(builderForValue.build());
14913    
14914            return this;
14915          }
14916          /**
14917           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14918           */
14919          public Builder addTypeParameter(
14920              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
14921            ensureTypeParameterIsMutable();
14922            typeParameter_.add(index, builderForValue.build());
14923    
14924            return this;
14925          }
14926          /**
14927           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14928           */
14929          public Builder addAllTypeParameter(
14930              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
14931            ensureTypeParameterIsMutable();
14932            super.addAll(values, typeParameter_);
14933    
14934            return this;
14935          }
14936          /**
14937           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14938           */
14939          public Builder clearTypeParameter() {
14940            typeParameter_ = java.util.Collections.emptyList();
14941            bitField0_ = (bitField0_ & ~0x00000010);
14942    
14943            return this;
14944          }
14945          /**
14946           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14947           */
14948          public Builder removeTypeParameter(int index) {
14949            ensureTypeParameterIsMutable();
14950            typeParameter_.remove(index);
14951    
14952            return this;
14953          }
14954    
14955          // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
14956          private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14957          /**
14958           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14959           */
14960          public boolean hasReceiverType() {
14961            return ((bitField0_ & 0x00000020) == 0x00000020);
14962          }
14963          /**
14964           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14965           */
14966          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
14967            return receiverType_;
14968          }
14969          /**
14970           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14971           */
14972          public Builder setReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
14973            if (value == null) {
14974              throw new NullPointerException();
14975            }
14976            receiverType_ = value;
14977    
14978            bitField0_ |= 0x00000020;
14979            return this;
14980          }
14981          /**
14982           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14983           */
14984          public Builder setReceiverType(
14985              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
14986            receiverType_ = builderForValue.build();
14987    
14988            bitField0_ |= 0x00000020;
14989            return this;
14990          }
14991          /**
14992           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14993           */
14994          public Builder mergeReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
14995            if (((bitField0_ & 0x00000020) == 0x00000020) &&
14996                receiverType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
14997              receiverType_ =
14998                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(receiverType_).mergeFrom(value).buildPartial();
14999            } else {
15000              receiverType_ = value;
15001            }
15002    
15003            bitField0_ |= 0x00000020;
15004            return this;
15005          }
15006          /**
15007           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
15008           */
15009          public Builder clearReceiverType() {
15010            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15011    
15012            bitField0_ = (bitField0_ & ~0x00000020);
15013            return this;
15014          }
15015    
15016          // optional int32 receiver_type_id = 10;
15017          private int receiverTypeId_ ;
15018          /**
15019           * <code>optional int32 receiver_type_id = 10;</code>
15020           */
15021          public boolean hasReceiverTypeId() {
15022            return ((bitField0_ & 0x00000040) == 0x00000040);
15023          }
15024          /**
15025           * <code>optional int32 receiver_type_id = 10;</code>
15026           */
15027          public int getReceiverTypeId() {
15028            return receiverTypeId_;
15029          }
15030          /**
15031           * <code>optional int32 receiver_type_id = 10;</code>
15032           */
15033          public Builder setReceiverTypeId(int value) {
15034            bitField0_ |= 0x00000040;
15035            receiverTypeId_ = value;
15036            
15037            return this;
15038          }
15039          /**
15040           * <code>optional int32 receiver_type_id = 10;</code>
15041           */
15042          public Builder clearReceiverTypeId() {
15043            bitField0_ = (bitField0_ & ~0x00000040);
15044            receiverTypeId_ = 0;
15045            
15046            return this;
15047          }
15048    
15049          // optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;
15050          private org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter setterValueParameter_ = org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
15051          /**
15052           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15053           */
15054          public boolean hasSetterValueParameter() {
15055            return ((bitField0_ & 0x00000080) == 0x00000080);
15056          }
15057          /**
15058           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15059           */
15060          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getSetterValueParameter() {
15061            return setterValueParameter_;
15062          }
15063          /**
15064           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15065           */
15066          public Builder setSetterValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
15067            if (value == null) {
15068              throw new NullPointerException();
15069            }
15070            setterValueParameter_ = value;
15071    
15072            bitField0_ |= 0x00000080;
15073            return this;
15074          }
15075          /**
15076           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15077           */
15078          public Builder setSetterValueParameter(
15079              org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
15080            setterValueParameter_ = builderForValue.build();
15081    
15082            bitField0_ |= 0x00000080;
15083            return this;
15084          }
15085          /**
15086           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15087           */
15088          public Builder mergeSetterValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
15089            if (((bitField0_ & 0x00000080) == 0x00000080) &&
15090                setterValueParameter_ != org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance()) {
15091              setterValueParameter_ =
15092                org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.newBuilder(setterValueParameter_).mergeFrom(value).buildPartial();
15093            } else {
15094              setterValueParameter_ = value;
15095            }
15096    
15097            bitField0_ |= 0x00000080;
15098            return this;
15099          }
15100          /**
15101           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
15102           */
15103          public Builder clearSetterValueParameter() {
15104            setterValueParameter_ = org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
15105    
15106            bitField0_ = (bitField0_ & ~0x00000080);
15107            return this;
15108          }
15109    
15110          // optional int32 getter_flags = 7;
15111          private int getterFlags_ ;
15112          /**
15113           * <code>optional int32 getter_flags = 7;</code>
15114           *
15115           * <pre>
15116           *
15117           *hasAnnotations
15118           *Visibility
15119           *Modality
15120           *isNotDefault
15121           *isExternal
15122           * </pre>
15123           */
15124          public boolean hasGetterFlags() {
15125            return ((bitField0_ & 0x00000100) == 0x00000100);
15126          }
15127          /**
15128           * <code>optional int32 getter_flags = 7;</code>
15129           *
15130           * <pre>
15131           *
15132           *hasAnnotations
15133           *Visibility
15134           *Modality
15135           *isNotDefault
15136           *isExternal
15137           * </pre>
15138           */
15139          public int getGetterFlags() {
15140            return getterFlags_;
15141          }
15142          /**
15143           * <code>optional int32 getter_flags = 7;</code>
15144           *
15145           * <pre>
15146           *
15147           *hasAnnotations
15148           *Visibility
15149           *Modality
15150           *isNotDefault
15151           *isExternal
15152           * </pre>
15153           */
15154          public Builder setGetterFlags(int value) {
15155            bitField0_ |= 0x00000100;
15156            getterFlags_ = value;
15157            
15158            return this;
15159          }
15160          /**
15161           * <code>optional int32 getter_flags = 7;</code>
15162           *
15163           * <pre>
15164           *
15165           *hasAnnotations
15166           *Visibility
15167           *Modality
15168           *isNotDefault
15169           *isExternal
15170           * </pre>
15171           */
15172          public Builder clearGetterFlags() {
15173            bitField0_ = (bitField0_ & ~0x00000100);
15174            getterFlags_ = 0;
15175            
15176            return this;
15177          }
15178    
15179          // optional int32 setter_flags = 8;
15180          private int setterFlags_ ;
15181          /**
15182           * <code>optional int32 setter_flags = 8;</code>
15183           */
15184          public boolean hasSetterFlags() {
15185            return ((bitField0_ & 0x00000200) == 0x00000200);
15186          }
15187          /**
15188           * <code>optional int32 setter_flags = 8;</code>
15189           */
15190          public int getSetterFlags() {
15191            return setterFlags_;
15192          }
15193          /**
15194           * <code>optional int32 setter_flags = 8;</code>
15195           */
15196          public Builder setSetterFlags(int value) {
15197            bitField0_ |= 0x00000200;
15198            setterFlags_ = value;
15199            
15200            return this;
15201          }
15202          /**
15203           * <code>optional int32 setter_flags = 8;</code>
15204           */
15205          public Builder clearSetterFlags() {
15206            bitField0_ = (bitField0_ & ~0x00000200);
15207            setterFlags_ = 0;
15208            
15209            return this;
15210          }
15211    
15212          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Property)
15213        }
15214    
15215        static {
15216          defaultInstance = new Property(true);
15217          defaultInstance.initFields();
15218        }
15219    
15220        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Property)
15221      }
15222    
15223      public interface ValueParameterOrBuilder extends 
15224           com.google.protobuf.GeneratedMessageLite.
15225                ExtendableMessageOrBuilder<ValueParameter> {
15226    
15227        // optional int32 flags = 1 [default = 0];
15228        /**
15229         * <code>optional int32 flags = 1 [default = 0];</code>
15230         *
15231         * <pre>
15232         *
15233         *declaresDefault
15234         *hasAnnotations
15235         *isCrossinline
15236         *isNoinline
15237         * </pre>
15238         */
15239        boolean hasFlags();
15240        /**
15241         * <code>optional int32 flags = 1 [default = 0];</code>
15242         *
15243         * <pre>
15244         *
15245         *declaresDefault
15246         *hasAnnotations
15247         *isCrossinline
15248         *isNoinline
15249         * </pre>
15250         */
15251        int getFlags();
15252    
15253        // required int32 name = 2;
15254        /**
15255         * <code>required int32 name = 2;</code>
15256         */
15257        boolean hasName();
15258        /**
15259         * <code>required int32 name = 2;</code>
15260         */
15261        int getName();
15262    
15263        // optional .org.jetbrains.kotlin.serialization.Type type = 3;
15264        /**
15265         * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15266         */
15267        boolean hasType();
15268        /**
15269         * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15270         */
15271        org.jetbrains.kotlin.serialization.ProtoBuf.Type getType();
15272    
15273        // optional int32 type_id = 5;
15274        /**
15275         * <code>optional int32 type_id = 5;</code>
15276         */
15277        boolean hasTypeId();
15278        /**
15279         * <code>optional int32 type_id = 5;</code>
15280         */
15281        int getTypeId();
15282    
15283        // optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;
15284        /**
15285         * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
15286         */
15287        boolean hasVarargElementType();
15288        /**
15289         * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
15290         */
15291        org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType();
15292    
15293        // optional int32 vararg_element_type_id = 6;
15294        /**
15295         * <code>optional int32 vararg_element_type_id = 6;</code>
15296         */
15297        boolean hasVarargElementTypeId();
15298        /**
15299         * <code>optional int32 vararg_element_type_id = 6;</code>
15300         */
15301        int getVarargElementTypeId();
15302      }
15303      /**
15304       * Protobuf type {@code org.jetbrains.kotlin.serialization.ValueParameter}
15305       */
15306      public static final class ValueParameter extends
15307          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
15308            ValueParameter> implements ValueParameterOrBuilder {
15309        // Use ValueParameter.newBuilder() to construct.
15310        private ValueParameter(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter, ?> builder) {
15311          super(builder);
15312    
15313        }
15314        private ValueParameter(boolean noInit) {}
15315    
15316        private static final ValueParameter defaultInstance;
15317        public static ValueParameter getDefaultInstance() {
15318          return defaultInstance;
15319        }
15320    
15321        public ValueParameter getDefaultInstanceForType() {
15322          return defaultInstance;
15323        }
15324    
15325        private ValueParameter(
15326            com.google.protobuf.CodedInputStream input,
15327            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15328            throws com.google.protobuf.InvalidProtocolBufferException {
15329          initFields();
15330          int mutable_bitField0_ = 0;
15331          try {
15332            boolean done = false;
15333            while (!done) {
15334              int tag = input.readTag();
15335              switch (tag) {
15336                case 0:
15337                  done = true;
15338                  break;
15339                default: {
15340                  if (!parseUnknownField(input,
15341                                         extensionRegistry, tag)) {
15342                    done = true;
15343                  }
15344                  break;
15345                }
15346                case 8: {
15347                  bitField0_ |= 0x00000001;
15348                  flags_ = input.readInt32();
15349                  break;
15350                }
15351                case 16: {
15352                  bitField0_ |= 0x00000002;
15353                  name_ = input.readInt32();
15354                  break;
15355                }
15356                case 26: {
15357                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
15358                  if (((bitField0_ & 0x00000004) == 0x00000004)) {
15359                    subBuilder = type_.toBuilder();
15360                  }
15361                  type_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
15362                  if (subBuilder != null) {
15363                    subBuilder.mergeFrom(type_);
15364                    type_ = subBuilder.buildPartial();
15365                  }
15366                  bitField0_ |= 0x00000004;
15367                  break;
15368                }
15369                case 34: {
15370                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
15371                  if (((bitField0_ & 0x00000010) == 0x00000010)) {
15372                    subBuilder = varargElementType_.toBuilder();
15373                  }
15374                  varargElementType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
15375                  if (subBuilder != null) {
15376                    subBuilder.mergeFrom(varargElementType_);
15377                    varargElementType_ = subBuilder.buildPartial();
15378                  }
15379                  bitField0_ |= 0x00000010;
15380                  break;
15381                }
15382                case 40: {
15383                  bitField0_ |= 0x00000008;
15384                  typeId_ = input.readInt32();
15385                  break;
15386                }
15387                case 48: {
15388                  bitField0_ |= 0x00000020;
15389                  varargElementTypeId_ = input.readInt32();
15390                  break;
15391                }
15392              }
15393            }
15394          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
15395            throw e.setUnfinishedMessage(this);
15396          } catch (java.io.IOException e) {
15397            throw new com.google.protobuf.InvalidProtocolBufferException(
15398                e.getMessage()).setUnfinishedMessage(this);
15399          } finally {
15400            makeExtensionsImmutable();
15401          }
15402        }
15403        public static com.google.protobuf.Parser<ValueParameter> PARSER =
15404            new com.google.protobuf.AbstractParser<ValueParameter>() {
15405          public ValueParameter parsePartialFrom(
15406              com.google.protobuf.CodedInputStream input,
15407              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15408              throws com.google.protobuf.InvalidProtocolBufferException {
15409            return new ValueParameter(input, extensionRegistry);
15410          }
15411        };
15412    
15413        @java.lang.Override
15414        public com.google.protobuf.Parser<ValueParameter> getParserForType() {
15415          return PARSER;
15416        }
15417    
15418        private int bitField0_;
15419        // optional int32 flags = 1 [default = 0];
15420        public static final int FLAGS_FIELD_NUMBER = 1;
15421        private int flags_;
15422        /**
15423         * <code>optional int32 flags = 1 [default = 0];</code>
15424         *
15425         * <pre>
15426         *
15427         *declaresDefault
15428         *hasAnnotations
15429         *isCrossinline
15430         *isNoinline
15431         * </pre>
15432         */
15433        public boolean hasFlags() {
15434          return ((bitField0_ & 0x00000001) == 0x00000001);
15435        }
15436        /**
15437         * <code>optional int32 flags = 1 [default = 0];</code>
15438         *
15439         * <pre>
15440         *
15441         *declaresDefault
15442         *hasAnnotations
15443         *isCrossinline
15444         *isNoinline
15445         * </pre>
15446         */
15447        public int getFlags() {
15448          return flags_;
15449        }
15450    
15451        // required int32 name = 2;
15452        public static final int NAME_FIELD_NUMBER = 2;
15453        private int name_;
15454        /**
15455         * <code>required int32 name = 2;</code>
15456         */
15457        public boolean hasName() {
15458          return ((bitField0_ & 0x00000002) == 0x00000002);
15459        }
15460        /**
15461         * <code>required int32 name = 2;</code>
15462         */
15463        public int getName() {
15464          return name_;
15465        }
15466    
15467        // optional .org.jetbrains.kotlin.serialization.Type type = 3;
15468        public static final int TYPE_FIELD_NUMBER = 3;
15469        private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_;
15470        /**
15471         * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15472         */
15473        public boolean hasType() {
15474          return ((bitField0_ & 0x00000004) == 0x00000004);
15475        }
15476        /**
15477         * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15478         */
15479        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
15480          return type_;
15481        }
15482    
15483        // optional int32 type_id = 5;
15484        public static final int TYPE_ID_FIELD_NUMBER = 5;
15485        private int typeId_;
15486        /**
15487         * <code>optional int32 type_id = 5;</code>
15488         */
15489        public boolean hasTypeId() {
15490          return ((bitField0_ & 0x00000008) == 0x00000008);
15491        }
15492        /**
15493         * <code>optional int32 type_id = 5;</code>
15494         */
15495        public int getTypeId() {
15496          return typeId_;
15497        }
15498    
15499        // optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;
15500        public static final int VARARG_ELEMENT_TYPE_FIELD_NUMBER = 4;
15501        private org.jetbrains.kotlin.serialization.ProtoBuf.Type varargElementType_;
15502        /**
15503         * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
15504         */
15505        public boolean hasVarargElementType() {
15506          return ((bitField0_ & 0x00000010) == 0x00000010);
15507        }
15508        /**
15509         * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
15510         */
15511        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType() {
15512          return varargElementType_;
15513        }
15514    
15515        // optional int32 vararg_element_type_id = 6;
15516        public static final int VARARG_ELEMENT_TYPE_ID_FIELD_NUMBER = 6;
15517        private int varargElementTypeId_;
15518        /**
15519         * <code>optional int32 vararg_element_type_id = 6;</code>
15520         */
15521        public boolean hasVarargElementTypeId() {
15522          return ((bitField0_ & 0x00000020) == 0x00000020);
15523        }
15524        /**
15525         * <code>optional int32 vararg_element_type_id = 6;</code>
15526         */
15527        public int getVarargElementTypeId() {
15528          return varargElementTypeId_;
15529        }
15530    
15531        private void initFields() {
15532          flags_ = 0;
15533          name_ = 0;
15534          type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15535          typeId_ = 0;
15536          varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15537          varargElementTypeId_ = 0;
15538        }
15539        private byte memoizedIsInitialized = -1;
15540        public final boolean isInitialized() {
15541          byte isInitialized = memoizedIsInitialized;
15542          if (isInitialized != -1) return isInitialized == 1;
15543    
15544          if (!hasName()) {
15545            memoizedIsInitialized = 0;
15546            return false;
15547          }
15548          if (hasType()) {
15549            if (!getType().isInitialized()) {
15550              memoizedIsInitialized = 0;
15551              return false;
15552            }
15553          }
15554          if (hasVarargElementType()) {
15555            if (!getVarargElementType().isInitialized()) {
15556              memoizedIsInitialized = 0;
15557              return false;
15558            }
15559          }
15560          if (!extensionsAreInitialized()) {
15561            memoizedIsInitialized = 0;
15562            return false;
15563          }
15564          memoizedIsInitialized = 1;
15565          return true;
15566        }
15567    
15568        public void writeTo(com.google.protobuf.CodedOutputStream output)
15569                            throws java.io.IOException {
15570          getSerializedSize();
15571          com.google.protobuf.GeneratedMessageLite
15572            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>.ExtensionWriter extensionWriter =
15573              newExtensionWriter();
15574          if (((bitField0_ & 0x00000001) == 0x00000001)) {
15575            output.writeInt32(1, flags_);
15576          }
15577          if (((bitField0_ & 0x00000002) == 0x00000002)) {
15578            output.writeInt32(2, name_);
15579          }
15580          if (((bitField0_ & 0x00000004) == 0x00000004)) {
15581            output.writeMessage(3, type_);
15582          }
15583          if (((bitField0_ & 0x00000010) == 0x00000010)) {
15584            output.writeMessage(4, varargElementType_);
15585          }
15586          if (((bitField0_ & 0x00000008) == 0x00000008)) {
15587            output.writeInt32(5, typeId_);
15588          }
15589          if (((bitField0_ & 0x00000020) == 0x00000020)) {
15590            output.writeInt32(6, varargElementTypeId_);
15591          }
15592          extensionWriter.writeUntil(200, output);
15593        }
15594    
15595        private int memoizedSerializedSize = -1;
15596        public int getSerializedSize() {
15597          int size = memoizedSerializedSize;
15598          if (size != -1) return size;
15599    
15600          size = 0;
15601          if (((bitField0_ & 0x00000001) == 0x00000001)) {
15602            size += com.google.protobuf.CodedOutputStream
15603              .computeInt32Size(1, flags_);
15604          }
15605          if (((bitField0_ & 0x00000002) == 0x00000002)) {
15606            size += com.google.protobuf.CodedOutputStream
15607              .computeInt32Size(2, name_);
15608          }
15609          if (((bitField0_ & 0x00000004) == 0x00000004)) {
15610            size += com.google.protobuf.CodedOutputStream
15611              .computeMessageSize(3, type_);
15612          }
15613          if (((bitField0_ & 0x00000010) == 0x00000010)) {
15614            size += com.google.protobuf.CodedOutputStream
15615              .computeMessageSize(4, varargElementType_);
15616          }
15617          if (((bitField0_ & 0x00000008) == 0x00000008)) {
15618            size += com.google.protobuf.CodedOutputStream
15619              .computeInt32Size(5, typeId_);
15620          }
15621          if (((bitField0_ & 0x00000020) == 0x00000020)) {
15622            size += com.google.protobuf.CodedOutputStream
15623              .computeInt32Size(6, varargElementTypeId_);
15624          }
15625          size += extensionsSerializedSize();
15626          memoizedSerializedSize = size;
15627          return size;
15628        }
15629    
15630        private static final long serialVersionUID = 0L;
15631        @java.lang.Override
15632        protected java.lang.Object writeReplace()
15633            throws java.io.ObjectStreamException {
15634          return super.writeReplace();
15635        }
15636    
15637        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
15638            com.google.protobuf.ByteString data)
15639            throws com.google.protobuf.InvalidProtocolBufferException {
15640          return PARSER.parseFrom(data);
15641        }
15642        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
15643            com.google.protobuf.ByteString data,
15644            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15645            throws com.google.protobuf.InvalidProtocolBufferException {
15646          return PARSER.parseFrom(data, extensionRegistry);
15647        }
15648        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(byte[] data)
15649            throws com.google.protobuf.InvalidProtocolBufferException {
15650          return PARSER.parseFrom(data);
15651        }
15652        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
15653            byte[] data,
15654            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15655            throws com.google.protobuf.InvalidProtocolBufferException {
15656          return PARSER.parseFrom(data, extensionRegistry);
15657        }
15658        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(java.io.InputStream input)
15659            throws java.io.IOException {
15660          return PARSER.parseFrom(input);
15661        }
15662        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
15663            java.io.InputStream input,
15664            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15665            throws java.io.IOException {
15666          return PARSER.parseFrom(input, extensionRegistry);
15667        }
15668        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseDelimitedFrom(java.io.InputStream input)
15669            throws java.io.IOException {
15670          return PARSER.parseDelimitedFrom(input);
15671        }
15672        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseDelimitedFrom(
15673            java.io.InputStream input,
15674            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15675            throws java.io.IOException {
15676          return PARSER.parseDelimitedFrom(input, extensionRegistry);
15677        }
15678        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
15679            com.google.protobuf.CodedInputStream input)
15680            throws java.io.IOException {
15681          return PARSER.parseFrom(input);
15682        }
15683        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
15684            com.google.protobuf.CodedInputStream input,
15685            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15686            throws java.io.IOException {
15687          return PARSER.parseFrom(input, extensionRegistry);
15688        }
15689    
15690        public static Builder newBuilder() { return Builder.create(); }
15691        public Builder newBuilderForType() { return newBuilder(); }
15692        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter prototype) {
15693          return newBuilder().mergeFrom(prototype);
15694        }
15695        public Builder toBuilder() { return newBuilder(this); }
15696    
15697        /**
15698         * Protobuf type {@code org.jetbrains.kotlin.serialization.ValueParameter}
15699         */
15700        public static final class Builder extends
15701            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
15702              org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder {
15703          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.newBuilder()
15704          private Builder() {
15705            maybeForceBuilderInitialization();
15706          }
15707    
15708          private void maybeForceBuilderInitialization() {
15709          }
15710          private static Builder create() {
15711            return new Builder();
15712          }
15713    
15714          public Builder clear() {
15715            super.clear();
15716            flags_ = 0;
15717            bitField0_ = (bitField0_ & ~0x00000001);
15718            name_ = 0;
15719            bitField0_ = (bitField0_ & ~0x00000002);
15720            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15721            bitField0_ = (bitField0_ & ~0x00000004);
15722            typeId_ = 0;
15723            bitField0_ = (bitField0_ & ~0x00000008);
15724            varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15725            bitField0_ = (bitField0_ & ~0x00000010);
15726            varargElementTypeId_ = 0;
15727            bitField0_ = (bitField0_ & ~0x00000020);
15728            return this;
15729          }
15730    
15731          public Builder clone() {
15732            return create().mergeFrom(buildPartial());
15733          }
15734    
15735          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getDefaultInstanceForType() {
15736            return org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
15737          }
15738    
15739          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter build() {
15740            org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter result = buildPartial();
15741            if (!result.isInitialized()) {
15742              throw newUninitializedMessageException(result);
15743            }
15744            return result;
15745          }
15746    
15747          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter buildPartial() {
15748            org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter result = new org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter(this);
15749            int from_bitField0_ = bitField0_;
15750            int to_bitField0_ = 0;
15751            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
15752              to_bitField0_ |= 0x00000001;
15753            }
15754            result.flags_ = flags_;
15755            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
15756              to_bitField0_ |= 0x00000002;
15757            }
15758            result.name_ = name_;
15759            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
15760              to_bitField0_ |= 0x00000004;
15761            }
15762            result.type_ = type_;
15763            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
15764              to_bitField0_ |= 0x00000008;
15765            }
15766            result.typeId_ = typeId_;
15767            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
15768              to_bitField0_ |= 0x00000010;
15769            }
15770            result.varargElementType_ = varargElementType_;
15771            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
15772              to_bitField0_ |= 0x00000020;
15773            }
15774            result.varargElementTypeId_ = varargElementTypeId_;
15775            result.bitField0_ = to_bitField0_;
15776            return result;
15777          }
15778    
15779          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter other) {
15780            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance()) return this;
15781            if (other.hasFlags()) {
15782              setFlags(other.getFlags());
15783            }
15784            if (other.hasName()) {
15785              setName(other.getName());
15786            }
15787            if (other.hasType()) {
15788              mergeType(other.getType());
15789            }
15790            if (other.hasTypeId()) {
15791              setTypeId(other.getTypeId());
15792            }
15793            if (other.hasVarargElementType()) {
15794              mergeVarargElementType(other.getVarargElementType());
15795            }
15796            if (other.hasVarargElementTypeId()) {
15797              setVarargElementTypeId(other.getVarargElementTypeId());
15798            }
15799            this.mergeExtensionFields(other);
15800            return this;
15801          }
15802    
15803          public final boolean isInitialized() {
15804            if (!hasName()) {
15805              
15806              return false;
15807            }
15808            if (hasType()) {
15809              if (!getType().isInitialized()) {
15810                
15811                return false;
15812              }
15813            }
15814            if (hasVarargElementType()) {
15815              if (!getVarargElementType().isInitialized()) {
15816                
15817                return false;
15818              }
15819            }
15820            if (!extensionsAreInitialized()) {
15821              
15822              return false;
15823            }
15824            return true;
15825          }
15826    
15827          public Builder mergeFrom(
15828              com.google.protobuf.CodedInputStream input,
15829              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15830              throws java.io.IOException {
15831            org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parsedMessage = null;
15832            try {
15833              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
15834            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
15835              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter) e.getUnfinishedMessage();
15836              throw e;
15837            } finally {
15838              if (parsedMessage != null) {
15839                mergeFrom(parsedMessage);
15840              }
15841            }
15842            return this;
15843          }
15844          private int bitField0_;
15845    
15846          // optional int32 flags = 1 [default = 0];
15847          private int flags_ ;
15848          /**
15849           * <code>optional int32 flags = 1 [default = 0];</code>
15850           *
15851           * <pre>
15852           *
15853           *declaresDefault
15854           *hasAnnotations
15855           *isCrossinline
15856           *isNoinline
15857           * </pre>
15858           */
15859          public boolean hasFlags() {
15860            return ((bitField0_ & 0x00000001) == 0x00000001);
15861          }
15862          /**
15863           * <code>optional int32 flags = 1 [default = 0];</code>
15864           *
15865           * <pre>
15866           *
15867           *declaresDefault
15868           *hasAnnotations
15869           *isCrossinline
15870           *isNoinline
15871           * </pre>
15872           */
15873          public int getFlags() {
15874            return flags_;
15875          }
15876          /**
15877           * <code>optional int32 flags = 1 [default = 0];</code>
15878           *
15879           * <pre>
15880           *
15881           *declaresDefault
15882           *hasAnnotations
15883           *isCrossinline
15884           *isNoinline
15885           * </pre>
15886           */
15887          public Builder setFlags(int value) {
15888            bitField0_ |= 0x00000001;
15889            flags_ = value;
15890            
15891            return this;
15892          }
15893          /**
15894           * <code>optional int32 flags = 1 [default = 0];</code>
15895           *
15896           * <pre>
15897           *
15898           *declaresDefault
15899           *hasAnnotations
15900           *isCrossinline
15901           *isNoinline
15902           * </pre>
15903           */
15904          public Builder clearFlags() {
15905            bitField0_ = (bitField0_ & ~0x00000001);
15906            flags_ = 0;
15907            
15908            return this;
15909          }
15910    
15911          // required int32 name = 2;
15912          private int name_ ;
15913          /**
15914           * <code>required int32 name = 2;</code>
15915           */
15916          public boolean hasName() {
15917            return ((bitField0_ & 0x00000002) == 0x00000002);
15918          }
15919          /**
15920           * <code>required int32 name = 2;</code>
15921           */
15922          public int getName() {
15923            return name_;
15924          }
15925          /**
15926           * <code>required int32 name = 2;</code>
15927           */
15928          public Builder setName(int value) {
15929            bitField0_ |= 0x00000002;
15930            name_ = value;
15931            
15932            return this;
15933          }
15934          /**
15935           * <code>required int32 name = 2;</code>
15936           */
15937          public Builder clearName() {
15938            bitField0_ = (bitField0_ & ~0x00000002);
15939            name_ = 0;
15940            
15941            return this;
15942          }
15943    
15944          // optional .org.jetbrains.kotlin.serialization.Type type = 3;
15945          private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15946          /**
15947           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15948           */
15949          public boolean hasType() {
15950            return ((bitField0_ & 0x00000004) == 0x00000004);
15951          }
15952          /**
15953           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15954           */
15955          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
15956            return type_;
15957          }
15958          /**
15959           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15960           */
15961          public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
15962            if (value == null) {
15963              throw new NullPointerException();
15964            }
15965            type_ = value;
15966    
15967            bitField0_ |= 0x00000004;
15968            return this;
15969          }
15970          /**
15971           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15972           */
15973          public Builder setType(
15974              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
15975            type_ = builderForValue.build();
15976    
15977            bitField0_ |= 0x00000004;
15978            return this;
15979          }
15980          /**
15981           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15982           */
15983          public Builder mergeType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
15984            if (((bitField0_ & 0x00000004) == 0x00000004) &&
15985                type_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
15986              type_ =
15987                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
15988            } else {
15989              type_ = value;
15990            }
15991    
15992            bitField0_ |= 0x00000004;
15993            return this;
15994          }
15995          /**
15996           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15997           */
15998          public Builder clearType() {
15999            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
16000    
16001            bitField0_ = (bitField0_ & ~0x00000004);
16002            return this;
16003          }
16004    
16005          // optional int32 type_id = 5;
16006          private int typeId_ ;
16007          /**
16008           * <code>optional int32 type_id = 5;</code>
16009           */
16010          public boolean hasTypeId() {
16011            return ((bitField0_ & 0x00000008) == 0x00000008);
16012          }
16013          /**
16014           * <code>optional int32 type_id = 5;</code>
16015           */
16016          public int getTypeId() {
16017            return typeId_;
16018          }
16019          /**
16020           * <code>optional int32 type_id = 5;</code>
16021           */
16022          public Builder setTypeId(int value) {
16023            bitField0_ |= 0x00000008;
16024            typeId_ = value;
16025            
16026            return this;
16027          }
16028          /**
16029           * <code>optional int32 type_id = 5;</code>
16030           */
16031          public Builder clearTypeId() {
16032            bitField0_ = (bitField0_ & ~0x00000008);
16033            typeId_ = 0;
16034            
16035            return this;
16036          }
16037    
16038          // optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;
16039          private org.jetbrains.kotlin.serialization.ProtoBuf.Type varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
16040          /**
16041           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16042           */
16043          public boolean hasVarargElementType() {
16044            return ((bitField0_ & 0x00000010) == 0x00000010);
16045          }
16046          /**
16047           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16048           */
16049          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType() {
16050            return varargElementType_;
16051          }
16052          /**
16053           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16054           */
16055          public Builder setVarargElementType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
16056            if (value == null) {
16057              throw new NullPointerException();
16058            }
16059            varargElementType_ = value;
16060    
16061            bitField0_ |= 0x00000010;
16062            return this;
16063          }
16064          /**
16065           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16066           */
16067          public Builder setVarargElementType(
16068              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
16069            varargElementType_ = builderForValue.build();
16070    
16071            bitField0_ |= 0x00000010;
16072            return this;
16073          }
16074          /**
16075           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16076           */
16077          public Builder mergeVarargElementType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
16078            if (((bitField0_ & 0x00000010) == 0x00000010) &&
16079                varargElementType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
16080              varargElementType_ =
16081                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(varargElementType_).mergeFrom(value).buildPartial();
16082            } else {
16083              varargElementType_ = value;
16084            }
16085    
16086            bitField0_ |= 0x00000010;
16087            return this;
16088          }
16089          /**
16090           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
16091           */
16092          public Builder clearVarargElementType() {
16093            varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
16094    
16095            bitField0_ = (bitField0_ & ~0x00000010);
16096            return this;
16097          }
16098    
16099          // optional int32 vararg_element_type_id = 6;
16100          private int varargElementTypeId_ ;
16101          /**
16102           * <code>optional int32 vararg_element_type_id = 6;</code>
16103           */
16104          public boolean hasVarargElementTypeId() {
16105            return ((bitField0_ & 0x00000020) == 0x00000020);
16106          }
16107          /**
16108           * <code>optional int32 vararg_element_type_id = 6;</code>
16109           */
16110          public int getVarargElementTypeId() {
16111            return varargElementTypeId_;
16112          }
16113          /**
16114           * <code>optional int32 vararg_element_type_id = 6;</code>
16115           */
16116          public Builder setVarargElementTypeId(int value) {
16117            bitField0_ |= 0x00000020;
16118            varargElementTypeId_ = value;
16119            
16120            return this;
16121          }
16122          /**
16123           * <code>optional int32 vararg_element_type_id = 6;</code>
16124           */
16125          public Builder clearVarargElementTypeId() {
16126            bitField0_ = (bitField0_ & ~0x00000020);
16127            varargElementTypeId_ = 0;
16128            
16129            return this;
16130          }
16131    
16132          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.ValueParameter)
16133        }
16134    
16135        static {
16136          defaultInstance = new ValueParameter(true);
16137          defaultInstance.initFields();
16138        }
16139    
16140        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.ValueParameter)
16141      }
16142    
16143      public interface EnumEntryOrBuilder extends 
16144           com.google.protobuf.GeneratedMessageLite.
16145                ExtendableMessageOrBuilder<EnumEntry> {
16146    
16147        // optional int32 name = 1;
16148        /**
16149         * <code>optional int32 name = 1;</code>
16150         */
16151        boolean hasName();
16152        /**
16153         * <code>optional int32 name = 1;</code>
16154         */
16155        int getName();
16156      }
16157      /**
16158       * Protobuf type {@code org.jetbrains.kotlin.serialization.EnumEntry}
16159       */
16160      public static final class EnumEntry extends
16161          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
16162            EnumEntry> implements EnumEntryOrBuilder {
16163        // Use EnumEntry.newBuilder() to construct.
16164        private EnumEntry(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry, ?> builder) {
16165          super(builder);
16166    
16167        }
16168        private EnumEntry(boolean noInit) {}
16169    
16170        private static final EnumEntry defaultInstance;
16171        public static EnumEntry getDefaultInstance() {
16172          return defaultInstance;
16173        }
16174    
16175        public EnumEntry getDefaultInstanceForType() {
16176          return defaultInstance;
16177        }
16178    
16179        private EnumEntry(
16180            com.google.protobuf.CodedInputStream input,
16181            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
16182            throws com.google.protobuf.InvalidProtocolBufferException {
16183          initFields();
16184          int mutable_bitField0_ = 0;
16185          try {
16186            boolean done = false;
16187            while (!done) {
16188              int tag = input.readTag();
16189              switch (tag) {
16190                case 0:
16191                  done = true;
16192                  break;
16193                default: {
16194                  if (!parseUnknownField(input,
16195                                         extensionRegistry, tag)) {
16196                    done = true;
16197                  }
16198                  break;
16199                }
16200                case 8: {
16201                  bitField0_ |= 0x00000001;
16202                  name_ = input.readInt32();
16203                  break;
16204                }
16205              }
16206            }
16207          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
16208            throw e.setUnfinishedMessage(this);
16209          } catch (java.io.IOException e) {
16210            throw new com.google.protobuf.InvalidProtocolBufferException(
16211                e.getMessage()).setUnfinishedMessage(this);
16212          } finally {
16213            makeExtensionsImmutable();
16214          }
16215        }
16216        public static com.google.protobuf.Parser<EnumEntry> PARSER =
16217            new com.google.protobuf.AbstractParser<EnumEntry>() {
16218          public EnumEntry parsePartialFrom(
16219              com.google.protobuf.CodedInputStream input,
16220              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
16221              throws com.google.protobuf.InvalidProtocolBufferException {
16222            return new EnumEntry(input, extensionRegistry);
16223          }
16224        };
16225    
16226        @java.lang.Override
16227        public com.google.protobuf.Parser<EnumEntry> getParserForType() {
16228          return PARSER;
16229        }
16230    
16231        private int bitField0_;
16232        // optional int32 name = 1;
16233        public static final int NAME_FIELD_NUMBER = 1;
16234        private int name_;
16235        /**
16236         * <code>optional int32 name = 1;</code>
16237         */
16238        public boolean hasName() {
16239          return ((bitField0_ & 0x00000001) == 0x00000001);
16240        }
16241        /**
16242         * <code>optional int32 name = 1;</code>
16243         */
16244        public int getName() {
16245          return name_;
16246        }
16247    
16248        private void initFields() {
16249          name_ = 0;
16250        }
16251        private byte memoizedIsInitialized = -1;
16252        public final boolean isInitialized() {
16253          byte isInitialized = memoizedIsInitialized;
16254          if (isInitialized != -1) return isInitialized == 1;
16255    
16256          if (!extensionsAreInitialized()) {
16257            memoizedIsInitialized = 0;
16258            return false;
16259          }
16260          memoizedIsInitialized = 1;
16261          return true;
16262        }
16263    
16264        public void writeTo(com.google.protobuf.CodedOutputStream output)
16265                            throws java.io.IOException {
16266          getSerializedSize();
16267          com.google.protobuf.GeneratedMessageLite
16268            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry>.ExtensionWriter extensionWriter =
16269              newExtensionWriter();
16270          if (((bitField0_ & 0x00000001) == 0x00000001)) {
16271            output.writeInt32(1, name_);
16272          }
16273          extensionWriter.writeUntil(200, output);
16274        }
16275    
16276        private int memoizedSerializedSize = -1;
16277        public int getSerializedSize() {
16278          int size = memoizedSerializedSize;
16279          if (size != -1) return size;
16280    
16281          size = 0;
16282          if (((bitField0_ & 0x00000001) == 0x00000001)) {
16283            size += com.google.protobuf.CodedOutputStream
16284              .computeInt32Size(1, name_);
16285          }
16286          size += extensionsSerializedSize();
16287          memoizedSerializedSize = size;
16288          return size;
16289        }
16290    
16291        private static final long serialVersionUID = 0L;
16292        @java.lang.Override
16293        protected java.lang.Object writeReplace()
16294            throws java.io.ObjectStreamException {
16295          return super.writeReplace();
16296        }
16297    
16298        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
16299            com.google.protobuf.ByteString data)
16300            throws com.google.protobuf.InvalidProtocolBufferException {
16301          return PARSER.parseFrom(data);
16302        }
16303        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
16304            com.google.protobuf.ByteString data,
16305            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
16306            throws com.google.protobuf.InvalidProtocolBufferException {
16307          return PARSER.parseFrom(data, extensionRegistry);
16308        }
16309        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(byte[] data)
16310            throws com.google.protobuf.InvalidProtocolBufferException {
16311          return PARSER.parseFrom(data);
16312        }
16313        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
16314            byte[] data,
16315            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
16316            throws com.google.protobuf.InvalidProtocolBufferException {
16317          return PARSER.parseFrom(data, extensionRegistry);
16318        }
16319        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(java.io.InputStream input)
16320            throws java.io.IOException {
16321          return PARSER.parseFrom(input);
16322        }
16323        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
16324            java.io.InputStream input,
16325            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
16326            throws java.io.IOException {
16327          return PARSER.parseFrom(input, extensionRegistry);
16328        }
16329        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseDelimitedFrom(java.io.InputStream input)
16330            throws java.io.IOException {
16331          return PARSER.parseDelimitedFrom(input);
16332        }
16333        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseDelimitedFrom(
16334            java.io.InputStream input,
16335            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
16336            throws java.io.IOException {
16337          return PARSER.parseDelimitedFrom(input, extensionRegistry);
16338        }
16339        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
16340            com.google.protobuf.CodedInputStream input)
16341            throws java.io.IOException {
16342          return PARSER.parseFrom(input);
16343        }
16344        public static org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parseFrom(
16345            com.google.protobuf.CodedInputStream input,
16346            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
16347            throws java.io.IOException {
16348          return PARSER.parseFrom(input, extensionRegistry);
16349        }
16350    
16351        public static Builder newBuilder() { return Builder.create(); }
16352        public Builder newBuilderForType() { return newBuilder(); }
16353        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry prototype) {
16354          return newBuilder().mergeFrom(prototype);
16355        }
16356        public Builder toBuilder() { return newBuilder(this); }
16357    
16358        /**
16359         * Protobuf type {@code org.jetbrains.kotlin.serialization.EnumEntry}
16360         */
16361        public static final class Builder extends
16362            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
16363              org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntryOrBuilder {
16364          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.newBuilder()
16365          private Builder() {
16366            maybeForceBuilderInitialization();
16367          }
16368    
16369          private void maybeForceBuilderInitialization() {
16370          }
16371          private static Builder create() {
16372            return new Builder();
16373          }
16374    
16375          public Builder clear() {
16376            super.clear();
16377            name_ = 0;
16378            bitField0_ = (bitField0_ & ~0x00000001);
16379            return this;
16380          }
16381    
16382          public Builder clone() {
16383            return create().mergeFrom(buildPartial());
16384          }
16385    
16386          public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry getDefaultInstanceForType() {
16387            return org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.getDefaultInstance();
16388          }
16389    
16390          public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry build() {
16391            org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry result = buildPartial();
16392            if (!result.isInitialized()) {
16393              throw newUninitializedMessageException(result);
16394            }
16395            return result;
16396          }
16397    
16398          public org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry buildPartial() {
16399            org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry result = new org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry(this);
16400            int from_bitField0_ = bitField0_;
16401            int to_bitField0_ = 0;
16402            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
16403              to_bitField0_ |= 0x00000001;
16404            }
16405            result.name_ = name_;
16406            result.bitField0_ = to_bitField0_;
16407            return result;
16408          }
16409    
16410          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry other) {
16411            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry.getDefaultInstance()) return this;
16412            if (other.hasName()) {
16413              setName(other.getName());
16414            }
16415            this.mergeExtensionFields(other);
16416            return this;
16417          }
16418    
16419          public final boolean isInitialized() {
16420            if (!extensionsAreInitialized()) {
16421              
16422              return false;
16423            }
16424            return true;
16425          }
16426    
16427          public Builder mergeFrom(
16428              com.google.protobuf.CodedInputStream input,
16429              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
16430              throws java.io.IOException {
16431            org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry parsedMessage = null;
16432            try {
16433              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
16434            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
16435              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.EnumEntry) e.getUnfinishedMessage();
16436              throw e;
16437            } finally {
16438              if (parsedMessage != null) {
16439                mergeFrom(parsedMessage);
16440              }
16441            }
16442            return this;
16443          }
16444          private int bitField0_;
16445    
16446          // optional int32 name = 1;
16447          private int name_ ;
16448          /**
16449           * <code>optional int32 name = 1;</code>
16450           */
16451          public boolean hasName() {
16452            return ((bitField0_ & 0x00000001) == 0x00000001);
16453          }
16454          /**
16455           * <code>optional int32 name = 1;</code>
16456           */
16457          public int getName() {
16458            return name_;
16459          }
16460          /**
16461           * <code>optional int32 name = 1;</code>
16462           */
16463          public Builder setName(int value) {
16464            bitField0_ |= 0x00000001;
16465            name_ = value;
16466            
16467            return this;
16468          }
16469          /**
16470           * <code>optional int32 name = 1;</code>
16471           */
16472          public Builder clearName() {
16473            bitField0_ = (bitField0_ & ~0x00000001);
16474            name_ = 0;
16475            
16476            return this;
16477          }
16478    
16479          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.EnumEntry)
16480        }
16481    
16482        static {
16483          defaultInstance = new EnumEntry(true);
16484          defaultInstance.initFields();
16485        }
16486    
16487        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.EnumEntry)
16488      }
16489    
16490    
16491      static {
16492      }
16493    
16494      // @@protoc_insertion_point(outer_class_scope)
16495    }