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