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