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      /**
4358       * Protobuf type {@code org.jetbrains.kotlin.serialization.Type}
4359       */
4360      public static final class Type extends
4361          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
4362            Type> implements TypeOrBuilder {
4363        // Use Type.newBuilder() to construct.
4364        private Type(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Type, ?> builder) {
4365          super(builder);
4366    
4367        }
4368        private Type(boolean noInit) {}
4369    
4370        private static final Type defaultInstance;
4371        public static Type getDefaultInstance() {
4372          return defaultInstance;
4373        }
4374    
4375        public Type getDefaultInstanceForType() {
4376          return defaultInstance;
4377        }
4378    
4379        private Type(
4380            com.google.protobuf.CodedInputStream input,
4381            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4382            throws com.google.protobuf.InvalidProtocolBufferException {
4383          initFields();
4384          int mutable_bitField0_ = 0;
4385          try {
4386            boolean done = false;
4387            while (!done) {
4388              int tag = input.readTag();
4389              switch (tag) {
4390                case 0:
4391                  done = true;
4392                  break;
4393                default: {
4394                  if (!parseUnknownField(input,
4395                                         extensionRegistry, tag)) {
4396                    done = true;
4397                  }
4398                  break;
4399                }
4400                case 18: {
4401                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
4402                    argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument>();
4403                    mutable_bitField0_ |= 0x00000001;
4404                  }
4405                  argument_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.PARSER, extensionRegistry));
4406                  break;
4407                }
4408                case 24: {
4409                  bitField0_ |= 0x00000001;
4410                  nullable_ = input.readBool();
4411                  break;
4412                }
4413                case 32: {
4414                  bitField0_ |= 0x00000002;
4415                  flexibleTypeCapabilitiesId_ = input.readInt32();
4416                  break;
4417                }
4418                case 42: {
4419                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
4420                  if (((bitField0_ & 0x00000004) == 0x00000004)) {
4421                    subBuilder = flexibleUpperBound_.toBuilder();
4422                  }
4423                  flexibleUpperBound_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
4424                  if (subBuilder != null) {
4425                    subBuilder.mergeFrom(flexibleUpperBound_);
4426                    flexibleUpperBound_ = subBuilder.buildPartial();
4427                  }
4428                  bitField0_ |= 0x00000004;
4429                  break;
4430                }
4431                case 48: {
4432                  bitField0_ |= 0x00000010;
4433                  className_ = input.readInt32();
4434                  break;
4435                }
4436                case 56: {
4437                  bitField0_ |= 0x00000020;
4438                  typeParameter_ = input.readInt32();
4439                  break;
4440                }
4441                case 64: {
4442                  bitField0_ |= 0x00000008;
4443                  flexibleUpperBoundId_ = input.readInt32();
4444                  break;
4445                }
4446                case 72: {
4447                  bitField0_ |= 0x00000040;
4448                  typeParameterName_ = input.readInt32();
4449                  break;
4450                }
4451              }
4452            }
4453          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4454            throw e.setUnfinishedMessage(this);
4455          } catch (java.io.IOException e) {
4456            throw new com.google.protobuf.InvalidProtocolBufferException(
4457                e.getMessage()).setUnfinishedMessage(this);
4458          } finally {
4459            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
4460              argument_ = java.util.Collections.unmodifiableList(argument_);
4461            }
4462            makeExtensionsImmutable();
4463          }
4464        }
4465        public static com.google.protobuf.Parser<Type> PARSER =
4466            new com.google.protobuf.AbstractParser<Type>() {
4467          public Type parsePartialFrom(
4468              com.google.protobuf.CodedInputStream input,
4469              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4470              throws com.google.protobuf.InvalidProtocolBufferException {
4471            return new Type(input, extensionRegistry);
4472          }
4473        };
4474    
4475        @java.lang.Override
4476        public com.google.protobuf.Parser<Type> getParserForType() {
4477          return PARSER;
4478        }
4479    
4480        public interface ArgumentOrBuilder
4481            extends com.google.protobuf.MessageLiteOrBuilder {
4482    
4483          // optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];
4484          /**
4485           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
4486           */
4487          boolean hasProjection();
4488          /**
4489           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
4490           */
4491          org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection();
4492    
4493          // optional .org.jetbrains.kotlin.serialization.Type type = 2;
4494          /**
4495           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
4496           *
4497           * <pre>
4498           * When projection is STAR, no type is written, otherwise type must be specified
4499           * </pre>
4500           */
4501          boolean hasType();
4502          /**
4503           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
4504           *
4505           * <pre>
4506           * When projection is STAR, no type is written, otherwise type must be specified
4507           * </pre>
4508           */
4509          org.jetbrains.kotlin.serialization.ProtoBuf.Type getType();
4510    
4511          // optional int32 type_id = 3;
4512          /**
4513           * <code>optional int32 type_id = 3;</code>
4514           */
4515          boolean hasTypeId();
4516          /**
4517           * <code>optional int32 type_id = 3;</code>
4518           */
4519          int getTypeId();
4520        }
4521        /**
4522         * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Argument}
4523         */
4524        public static final class Argument extends
4525            com.google.protobuf.GeneratedMessageLite
4526            implements ArgumentOrBuilder {
4527          // Use Argument.newBuilder() to construct.
4528          private Argument(com.google.protobuf.GeneratedMessageLite.Builder builder) {
4529            super(builder);
4530    
4531          }
4532          private Argument(boolean noInit) {}
4533    
4534          private static final Argument defaultInstance;
4535          public static Argument getDefaultInstance() {
4536            return defaultInstance;
4537          }
4538    
4539          public Argument getDefaultInstanceForType() {
4540            return defaultInstance;
4541          }
4542    
4543          private Argument(
4544              com.google.protobuf.CodedInputStream input,
4545              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4546              throws com.google.protobuf.InvalidProtocolBufferException {
4547            initFields();
4548            int mutable_bitField0_ = 0;
4549            try {
4550              boolean done = false;
4551              while (!done) {
4552                int tag = input.readTag();
4553                switch (tag) {
4554                  case 0:
4555                    done = true;
4556                    break;
4557                  default: {
4558                    if (!parseUnknownField(input,
4559                                           extensionRegistry, tag)) {
4560                      done = true;
4561                    }
4562                    break;
4563                  }
4564                  case 8: {
4565                    int rawValue = input.readEnum();
4566                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection value = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.valueOf(rawValue);
4567                    if (value != null) {
4568                      bitField0_ |= 0x00000001;
4569                      projection_ = value;
4570                    }
4571                    break;
4572                  }
4573                  case 18: {
4574                    org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
4575                    if (((bitField0_ & 0x00000002) == 0x00000002)) {
4576                      subBuilder = type_.toBuilder();
4577                    }
4578                    type_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
4579                    if (subBuilder != null) {
4580                      subBuilder.mergeFrom(type_);
4581                      type_ = subBuilder.buildPartial();
4582                    }
4583                    bitField0_ |= 0x00000002;
4584                    break;
4585                  }
4586                  case 24: {
4587                    bitField0_ |= 0x00000004;
4588                    typeId_ = input.readInt32();
4589                    break;
4590                  }
4591                }
4592              }
4593            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4594              throw e.setUnfinishedMessage(this);
4595            } catch (java.io.IOException e) {
4596              throw new com.google.protobuf.InvalidProtocolBufferException(
4597                  e.getMessage()).setUnfinishedMessage(this);
4598            } finally {
4599              makeExtensionsImmutable();
4600            }
4601          }
4602          public static com.google.protobuf.Parser<Argument> PARSER =
4603              new com.google.protobuf.AbstractParser<Argument>() {
4604            public Argument parsePartialFrom(
4605                com.google.protobuf.CodedInputStream input,
4606                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4607                throws com.google.protobuf.InvalidProtocolBufferException {
4608              return new Argument(input, extensionRegistry);
4609            }
4610          };
4611    
4612          @java.lang.Override
4613          public com.google.protobuf.Parser<Argument> getParserForType() {
4614            return PARSER;
4615          }
4616    
4617          /**
4618           * Protobuf enum {@code org.jetbrains.kotlin.serialization.Type.Argument.Projection}
4619           */
4620          public enum Projection
4621              implements com.google.protobuf.Internal.EnumLite {
4622            /**
4623             * <code>IN = 0;</code>
4624             */
4625            IN(0, 0),
4626            /**
4627             * <code>OUT = 1;</code>
4628             */
4629            OUT(1, 1),
4630            /**
4631             * <code>INV = 2;</code>
4632             */
4633            INV(2, 2),
4634            /**
4635             * <code>STAR = 3;</code>
4636             */
4637            STAR(3, 3),
4638            ;
4639    
4640            /**
4641             * <code>IN = 0;</code>
4642             */
4643            public static final int IN_VALUE = 0;
4644            /**
4645             * <code>OUT = 1;</code>
4646             */
4647            public static final int OUT_VALUE = 1;
4648            /**
4649             * <code>INV = 2;</code>
4650             */
4651            public static final int INV_VALUE = 2;
4652            /**
4653             * <code>STAR = 3;</code>
4654             */
4655            public static final int STAR_VALUE = 3;
4656    
4657    
4658            public final int getNumber() { return value; }
4659    
4660            public static Projection valueOf(int value) {
4661              switch (value) {
4662                case 0: return IN;
4663                case 1: return OUT;
4664                case 2: return INV;
4665                case 3: return STAR;
4666                default: return null;
4667              }
4668            }
4669    
4670            public static com.google.protobuf.Internal.EnumLiteMap<Projection>
4671                internalGetValueMap() {
4672              return internalValueMap;
4673            }
4674            private static com.google.protobuf.Internal.EnumLiteMap<Projection>
4675                internalValueMap =
4676                  new com.google.protobuf.Internal.EnumLiteMap<Projection>() {
4677                    public Projection findValueByNumber(int number) {
4678                      return Projection.valueOf(number);
4679                    }
4680                  };
4681    
4682            private final int value;
4683    
4684            private Projection(int index, int value) {
4685              this.value = value;
4686            }
4687    
4688            // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Type.Argument.Projection)
4689          }
4690    
4691          private int bitField0_;
4692          // optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];
4693          public static final int PROJECTION_FIELD_NUMBER = 1;
4694          private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection projection_;
4695          /**
4696           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
4697           */
4698          public boolean hasProjection() {
4699            return ((bitField0_ & 0x00000001) == 0x00000001);
4700          }
4701          /**
4702           * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
4703           */
4704          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
4705            return projection_;
4706          }
4707    
4708          // optional .org.jetbrains.kotlin.serialization.Type type = 2;
4709          public static final int TYPE_FIELD_NUMBER = 2;
4710          private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_;
4711          /**
4712           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
4713           *
4714           * <pre>
4715           * When projection is STAR, no type is written, otherwise type must be specified
4716           * </pre>
4717           */
4718          public boolean hasType() {
4719            return ((bitField0_ & 0x00000002) == 0x00000002);
4720          }
4721          /**
4722           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
4723           *
4724           * <pre>
4725           * When projection is STAR, no type is written, otherwise type must be specified
4726           * </pre>
4727           */
4728          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
4729            return type_;
4730          }
4731    
4732          // optional int32 type_id = 3;
4733          public static final int TYPE_ID_FIELD_NUMBER = 3;
4734          private int typeId_;
4735          /**
4736           * <code>optional int32 type_id = 3;</code>
4737           */
4738          public boolean hasTypeId() {
4739            return ((bitField0_ & 0x00000004) == 0x00000004);
4740          }
4741          /**
4742           * <code>optional int32 type_id = 3;</code>
4743           */
4744          public int getTypeId() {
4745            return typeId_;
4746          }
4747    
4748          private void initFields() {
4749            projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
4750            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
4751            typeId_ = 0;
4752          }
4753          private byte memoizedIsInitialized = -1;
4754          public final boolean isInitialized() {
4755            byte isInitialized = memoizedIsInitialized;
4756            if (isInitialized != -1) return isInitialized == 1;
4757    
4758            if (hasType()) {
4759              if (!getType().isInitialized()) {
4760                memoizedIsInitialized = 0;
4761                return false;
4762              }
4763            }
4764            memoizedIsInitialized = 1;
4765            return true;
4766          }
4767    
4768          public void writeTo(com.google.protobuf.CodedOutputStream output)
4769                              throws java.io.IOException {
4770            getSerializedSize();
4771            if (((bitField0_ & 0x00000001) == 0x00000001)) {
4772              output.writeEnum(1, projection_.getNumber());
4773            }
4774            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4775              output.writeMessage(2, type_);
4776            }
4777            if (((bitField0_ & 0x00000004) == 0x00000004)) {
4778              output.writeInt32(3, typeId_);
4779            }
4780          }
4781    
4782          private int memoizedSerializedSize = -1;
4783          public int getSerializedSize() {
4784            int size = memoizedSerializedSize;
4785            if (size != -1) return size;
4786    
4787            size = 0;
4788            if (((bitField0_ & 0x00000001) == 0x00000001)) {
4789              size += com.google.protobuf.CodedOutputStream
4790                .computeEnumSize(1, projection_.getNumber());
4791            }
4792            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4793              size += com.google.protobuf.CodedOutputStream
4794                .computeMessageSize(2, type_);
4795            }
4796            if (((bitField0_ & 0x00000004) == 0x00000004)) {
4797              size += com.google.protobuf.CodedOutputStream
4798                .computeInt32Size(3, typeId_);
4799            }
4800            memoizedSerializedSize = size;
4801            return size;
4802          }
4803    
4804          private static final long serialVersionUID = 0L;
4805          @java.lang.Override
4806          protected java.lang.Object writeReplace()
4807              throws java.io.ObjectStreamException {
4808            return super.writeReplace();
4809          }
4810    
4811          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
4812              com.google.protobuf.ByteString data)
4813              throws com.google.protobuf.InvalidProtocolBufferException {
4814            return PARSER.parseFrom(data);
4815          }
4816          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
4817              com.google.protobuf.ByteString data,
4818              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4819              throws com.google.protobuf.InvalidProtocolBufferException {
4820            return PARSER.parseFrom(data, extensionRegistry);
4821          }
4822          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(byte[] data)
4823              throws com.google.protobuf.InvalidProtocolBufferException {
4824            return PARSER.parseFrom(data);
4825          }
4826          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
4827              byte[] data,
4828              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4829              throws com.google.protobuf.InvalidProtocolBufferException {
4830            return PARSER.parseFrom(data, extensionRegistry);
4831          }
4832          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(java.io.InputStream input)
4833              throws java.io.IOException {
4834            return PARSER.parseFrom(input);
4835          }
4836          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
4837              java.io.InputStream input,
4838              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4839              throws java.io.IOException {
4840            return PARSER.parseFrom(input, extensionRegistry);
4841          }
4842          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(java.io.InputStream input)
4843              throws java.io.IOException {
4844            return PARSER.parseDelimitedFrom(input);
4845          }
4846          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(
4847              java.io.InputStream input,
4848              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4849              throws java.io.IOException {
4850            return PARSER.parseDelimitedFrom(input, extensionRegistry);
4851          }
4852          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
4853              com.google.protobuf.CodedInputStream input)
4854              throws java.io.IOException {
4855            return PARSER.parseFrom(input);
4856          }
4857          public static org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parseFrom(
4858              com.google.protobuf.CodedInputStream input,
4859              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4860              throws java.io.IOException {
4861            return PARSER.parseFrom(input, extensionRegistry);
4862          }
4863    
4864          public static Builder newBuilder() { return Builder.create(); }
4865          public Builder newBuilderForType() { return newBuilder(); }
4866          public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument prototype) {
4867            return newBuilder().mergeFrom(prototype);
4868          }
4869          public Builder toBuilder() { return newBuilder(this); }
4870    
4871          /**
4872           * Protobuf type {@code org.jetbrains.kotlin.serialization.Type.Argument}
4873           */
4874          public static final class Builder extends
4875              com.google.protobuf.GeneratedMessageLite.Builder<
4876                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument, Builder>
4877              implements org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder {
4878            // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.newBuilder()
4879            private Builder() {
4880              maybeForceBuilderInitialization();
4881            }
4882    
4883            private void maybeForceBuilderInitialization() {
4884            }
4885            private static Builder create() {
4886              return new Builder();
4887            }
4888    
4889            public Builder clear() {
4890              super.clear();
4891              projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
4892              bitField0_ = (bitField0_ & ~0x00000001);
4893              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
4894              bitField0_ = (bitField0_ & ~0x00000002);
4895              typeId_ = 0;
4896              bitField0_ = (bitField0_ & ~0x00000004);
4897              return this;
4898            }
4899    
4900            public Builder clone() {
4901              return create().mergeFrom(buildPartial());
4902            }
4903    
4904            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getDefaultInstanceForType() {
4905              return org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.getDefaultInstance();
4906            }
4907    
4908            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument build() {
4909              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument result = buildPartial();
4910              if (!result.isInitialized()) {
4911                throw newUninitializedMessageException(result);
4912              }
4913              return result;
4914            }
4915    
4916            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument buildPartial() {
4917              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument result = new org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument(this);
4918              int from_bitField0_ = bitField0_;
4919              int to_bitField0_ = 0;
4920              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
4921                to_bitField0_ |= 0x00000001;
4922              }
4923              result.projection_ = projection_;
4924              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
4925                to_bitField0_ |= 0x00000002;
4926              }
4927              result.type_ = type_;
4928              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
4929                to_bitField0_ |= 0x00000004;
4930              }
4931              result.typeId_ = typeId_;
4932              result.bitField0_ = to_bitField0_;
4933              return result;
4934            }
4935    
4936            public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument other) {
4937              if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.getDefaultInstance()) return this;
4938              if (other.hasProjection()) {
4939                setProjection(other.getProjection());
4940              }
4941              if (other.hasType()) {
4942                mergeType(other.getType());
4943              }
4944              if (other.hasTypeId()) {
4945                setTypeId(other.getTypeId());
4946              }
4947              return this;
4948            }
4949    
4950            public final boolean isInitialized() {
4951              if (hasType()) {
4952                if (!getType().isInitialized()) {
4953                  
4954                  return false;
4955                }
4956              }
4957              return true;
4958            }
4959    
4960            public Builder mergeFrom(
4961                com.google.protobuf.CodedInputStream input,
4962                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4963                throws java.io.IOException {
4964              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument parsedMessage = null;
4965              try {
4966                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
4967              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4968                parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument) e.getUnfinishedMessage();
4969                throw e;
4970              } finally {
4971                if (parsedMessage != null) {
4972                  mergeFrom(parsedMessage);
4973                }
4974              }
4975              return this;
4976            }
4977            private int bitField0_;
4978    
4979            // optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];
4980            private org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
4981            /**
4982             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
4983             */
4984            public boolean hasProjection() {
4985              return ((bitField0_ & 0x00000001) == 0x00000001);
4986            }
4987            /**
4988             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
4989             */
4990            public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
4991              return projection_;
4992            }
4993            /**
4994             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
4995             */
4996            public Builder setProjection(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection value) {
4997              if (value == null) {
4998                throw new NullPointerException();
4999              }
5000              bitField0_ |= 0x00000001;
5001              projection_ = value;
5002              
5003              return this;
5004            }
5005            /**
5006             * <code>optional .org.jetbrains.kotlin.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5007             */
5008            public Builder clearProjection() {
5009              bitField0_ = (bitField0_ & ~0x00000001);
5010              projection_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Projection.INV;
5011              
5012              return this;
5013            }
5014    
5015            // optional .org.jetbrains.kotlin.serialization.Type type = 2;
5016            private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5017            /**
5018             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5019             *
5020             * <pre>
5021             * When projection is STAR, no type is written, otherwise type must be specified
5022             * </pre>
5023             */
5024            public boolean hasType() {
5025              return ((bitField0_ & 0x00000002) == 0x00000002);
5026            }
5027            /**
5028             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5029             *
5030             * <pre>
5031             * When projection is STAR, no type is written, otherwise type must be specified
5032             * </pre>
5033             */
5034            public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
5035              return type_;
5036            }
5037            /**
5038             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5039             *
5040             * <pre>
5041             * When projection is STAR, no type is written, otherwise type must be specified
5042             * </pre>
5043             */
5044            public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
5045              if (value == null) {
5046                throw new NullPointerException();
5047              }
5048              type_ = value;
5049    
5050              bitField0_ |= 0x00000002;
5051              return this;
5052            }
5053            /**
5054             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5055             *
5056             * <pre>
5057             * When projection is STAR, no type is written, otherwise type must be specified
5058             * </pre>
5059             */
5060            public Builder setType(
5061                org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
5062              type_ = builderForValue.build();
5063    
5064              bitField0_ |= 0x00000002;
5065              return this;
5066            }
5067            /**
5068             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5069             *
5070             * <pre>
5071             * When projection is STAR, no type is written, otherwise type must be specified
5072             * </pre>
5073             */
5074            public Builder mergeType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
5075              if (((bitField0_ & 0x00000002) == 0x00000002) &&
5076                  type_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
5077                type_ =
5078                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
5079              } else {
5080                type_ = value;
5081              }
5082    
5083              bitField0_ |= 0x00000002;
5084              return this;
5085            }
5086            /**
5087             * <code>optional .org.jetbrains.kotlin.serialization.Type type = 2;</code>
5088             *
5089             * <pre>
5090             * When projection is STAR, no type is written, otherwise type must be specified
5091             * </pre>
5092             */
5093            public Builder clearType() {
5094              type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5095    
5096              bitField0_ = (bitField0_ & ~0x00000002);
5097              return this;
5098            }
5099    
5100            // optional int32 type_id = 3;
5101            private int typeId_ ;
5102            /**
5103             * <code>optional int32 type_id = 3;</code>
5104             */
5105            public boolean hasTypeId() {
5106              return ((bitField0_ & 0x00000004) == 0x00000004);
5107            }
5108            /**
5109             * <code>optional int32 type_id = 3;</code>
5110             */
5111            public int getTypeId() {
5112              return typeId_;
5113            }
5114            /**
5115             * <code>optional int32 type_id = 3;</code>
5116             */
5117            public Builder setTypeId(int value) {
5118              bitField0_ |= 0x00000004;
5119              typeId_ = value;
5120              
5121              return this;
5122            }
5123            /**
5124             * <code>optional int32 type_id = 3;</code>
5125             */
5126            public Builder clearTypeId() {
5127              bitField0_ = (bitField0_ & ~0x00000004);
5128              typeId_ = 0;
5129              
5130              return this;
5131            }
5132    
5133            // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Type.Argument)
5134          }
5135    
5136          static {
5137            defaultInstance = new Argument(true);
5138            defaultInstance.initFields();
5139          }
5140    
5141          // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Type.Argument)
5142        }
5143    
5144        private int bitField0_;
5145        // repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;
5146        public static final int ARGUMENT_FIELD_NUMBER = 2;
5147        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> argument_;
5148        /**
5149         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5150         */
5151        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> getArgumentList() {
5152          return argument_;
5153        }
5154        /**
5155         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5156         */
5157        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder> 
5158            getArgumentOrBuilderList() {
5159          return argument_;
5160        }
5161        /**
5162         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5163         */
5164        public int getArgumentCount() {
5165          return argument_.size();
5166        }
5167        /**
5168         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5169         */
5170        public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index) {
5171          return argument_.get(index);
5172        }
5173        /**
5174         * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5175         */
5176        public org.jetbrains.kotlin.serialization.ProtoBuf.Type.ArgumentOrBuilder getArgumentOrBuilder(
5177            int index) {
5178          return argument_.get(index);
5179        }
5180    
5181        // optional bool nullable = 3 [default = false];
5182        public static final int NULLABLE_FIELD_NUMBER = 3;
5183        private boolean nullable_;
5184        /**
5185         * <code>optional bool nullable = 3 [default = false];</code>
5186         */
5187        public boolean hasNullable() {
5188          return ((bitField0_ & 0x00000001) == 0x00000001);
5189        }
5190        /**
5191         * <code>optional bool nullable = 3 [default = false];</code>
5192         */
5193        public boolean getNullable() {
5194          return nullable_;
5195        }
5196    
5197        // optional int32 flexible_type_capabilities_id = 4;
5198        public static final int FLEXIBLE_TYPE_CAPABILITIES_ID_FIELD_NUMBER = 4;
5199        private int flexibleTypeCapabilitiesId_;
5200        /**
5201         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5202         *
5203         * <pre>
5204         * If this field is set, the type is flexible.
5205         * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5206         * </pre>
5207         */
5208        public boolean hasFlexibleTypeCapabilitiesId() {
5209          return ((bitField0_ & 0x00000002) == 0x00000002);
5210        }
5211        /**
5212         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5213         *
5214         * <pre>
5215         * If this field is set, the type is flexible.
5216         * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5217         * </pre>
5218         */
5219        public int getFlexibleTypeCapabilitiesId() {
5220          return flexibleTypeCapabilitiesId_;
5221        }
5222    
5223        // optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;
5224        public static final int FLEXIBLE_UPPER_BOUND_FIELD_NUMBER = 5;
5225        private org.jetbrains.kotlin.serialization.ProtoBuf.Type flexibleUpperBound_;
5226        /**
5227         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5228         */
5229        public boolean hasFlexibleUpperBound() {
5230          return ((bitField0_ & 0x00000004) == 0x00000004);
5231        }
5232        /**
5233         * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5234         */
5235        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound() {
5236          return flexibleUpperBound_;
5237        }
5238    
5239        // optional int32 flexible_upper_bound_id = 8;
5240        public static final int FLEXIBLE_UPPER_BOUND_ID_FIELD_NUMBER = 8;
5241        private int flexibleUpperBoundId_;
5242        /**
5243         * <code>optional int32 flexible_upper_bound_id = 8;</code>
5244         */
5245        public boolean hasFlexibleUpperBoundId() {
5246          return ((bitField0_ & 0x00000008) == 0x00000008);
5247        }
5248        /**
5249         * <code>optional int32 flexible_upper_bound_id = 8;</code>
5250         */
5251        public int getFlexibleUpperBoundId() {
5252          return flexibleUpperBoundId_;
5253        }
5254    
5255        // optional int32 class_name = 6;
5256        public static final int CLASS_NAME_FIELD_NUMBER = 6;
5257        private int className_;
5258        /**
5259         * <code>optional int32 class_name = 6;</code>
5260         */
5261        public boolean hasClassName() {
5262          return ((bitField0_ & 0x00000010) == 0x00000010);
5263        }
5264        /**
5265         * <code>optional int32 class_name = 6;</code>
5266         */
5267        public int getClassName() {
5268          return className_;
5269        }
5270    
5271        // optional int32 type_parameter = 7;
5272        public static final int TYPE_PARAMETER_FIELD_NUMBER = 7;
5273        private int typeParameter_;
5274        /**
5275         * <code>optional int32 type_parameter = 7;</code>
5276         *
5277         * <pre>
5278         * id of the type parameter
5279         * </pre>
5280         */
5281        public boolean hasTypeParameter() {
5282          return ((bitField0_ & 0x00000020) == 0x00000020);
5283        }
5284        /**
5285         * <code>optional int32 type_parameter = 7;</code>
5286         *
5287         * <pre>
5288         * id of the type parameter
5289         * </pre>
5290         */
5291        public int getTypeParameter() {
5292          return typeParameter_;
5293        }
5294    
5295        // optional int32 type_parameter_name = 9;
5296        public static final int TYPE_PARAMETER_NAME_FIELD_NUMBER = 9;
5297        private int typeParameterName_;
5298        /**
5299         * <code>optional int32 type_parameter_name = 9;</code>
5300         *
5301         * <pre>
5302         * Name of the type parameter in the immediate owner
5303         * </pre>
5304         */
5305        public boolean hasTypeParameterName() {
5306          return ((bitField0_ & 0x00000040) == 0x00000040);
5307        }
5308        /**
5309         * <code>optional int32 type_parameter_name = 9;</code>
5310         *
5311         * <pre>
5312         * Name of the type parameter in the immediate owner
5313         * </pre>
5314         */
5315        public int getTypeParameterName() {
5316          return typeParameterName_;
5317        }
5318    
5319        private void initFields() {
5320          argument_ = java.util.Collections.emptyList();
5321          nullable_ = false;
5322          flexibleTypeCapabilitiesId_ = 0;
5323          flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5324          flexibleUpperBoundId_ = 0;
5325          className_ = 0;
5326          typeParameter_ = 0;
5327          typeParameterName_ = 0;
5328        }
5329        private byte memoizedIsInitialized = -1;
5330        public final boolean isInitialized() {
5331          byte isInitialized = memoizedIsInitialized;
5332          if (isInitialized != -1) return isInitialized == 1;
5333    
5334          for (int i = 0; i < getArgumentCount(); i++) {
5335            if (!getArgument(i).isInitialized()) {
5336              memoizedIsInitialized = 0;
5337              return false;
5338            }
5339          }
5340          if (hasFlexibleUpperBound()) {
5341            if (!getFlexibleUpperBound().isInitialized()) {
5342              memoizedIsInitialized = 0;
5343              return false;
5344            }
5345          }
5346          if (!extensionsAreInitialized()) {
5347            memoizedIsInitialized = 0;
5348            return false;
5349          }
5350          memoizedIsInitialized = 1;
5351          return true;
5352        }
5353    
5354        public void writeTo(com.google.protobuf.CodedOutputStream output)
5355                            throws java.io.IOException {
5356          getSerializedSize();
5357          com.google.protobuf.GeneratedMessageLite
5358            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Type>.ExtensionWriter extensionWriter =
5359              newExtensionWriter();
5360          for (int i = 0; i < argument_.size(); i++) {
5361            output.writeMessage(2, argument_.get(i));
5362          }
5363          if (((bitField0_ & 0x00000001) == 0x00000001)) {
5364            output.writeBool(3, nullable_);
5365          }
5366          if (((bitField0_ & 0x00000002) == 0x00000002)) {
5367            output.writeInt32(4, flexibleTypeCapabilitiesId_);
5368          }
5369          if (((bitField0_ & 0x00000004) == 0x00000004)) {
5370            output.writeMessage(5, flexibleUpperBound_);
5371          }
5372          if (((bitField0_ & 0x00000010) == 0x00000010)) {
5373            output.writeInt32(6, className_);
5374          }
5375          if (((bitField0_ & 0x00000020) == 0x00000020)) {
5376            output.writeInt32(7, typeParameter_);
5377          }
5378          if (((bitField0_ & 0x00000008) == 0x00000008)) {
5379            output.writeInt32(8, flexibleUpperBoundId_);
5380          }
5381          if (((bitField0_ & 0x00000040) == 0x00000040)) {
5382            output.writeInt32(9, typeParameterName_);
5383          }
5384          extensionWriter.writeUntil(200, output);
5385        }
5386    
5387        private int memoizedSerializedSize = -1;
5388        public int getSerializedSize() {
5389          int size = memoizedSerializedSize;
5390          if (size != -1) return size;
5391    
5392          size = 0;
5393          for (int i = 0; i < argument_.size(); i++) {
5394            size += com.google.protobuf.CodedOutputStream
5395              .computeMessageSize(2, argument_.get(i));
5396          }
5397          if (((bitField0_ & 0x00000001) == 0x00000001)) {
5398            size += com.google.protobuf.CodedOutputStream
5399              .computeBoolSize(3, nullable_);
5400          }
5401          if (((bitField0_ & 0x00000002) == 0x00000002)) {
5402            size += com.google.protobuf.CodedOutputStream
5403              .computeInt32Size(4, flexibleTypeCapabilitiesId_);
5404          }
5405          if (((bitField0_ & 0x00000004) == 0x00000004)) {
5406            size += com.google.protobuf.CodedOutputStream
5407              .computeMessageSize(5, flexibleUpperBound_);
5408          }
5409          if (((bitField0_ & 0x00000010) == 0x00000010)) {
5410            size += com.google.protobuf.CodedOutputStream
5411              .computeInt32Size(6, className_);
5412          }
5413          if (((bitField0_ & 0x00000020) == 0x00000020)) {
5414            size += com.google.protobuf.CodedOutputStream
5415              .computeInt32Size(7, typeParameter_);
5416          }
5417          if (((bitField0_ & 0x00000008) == 0x00000008)) {
5418            size += com.google.protobuf.CodedOutputStream
5419              .computeInt32Size(8, flexibleUpperBoundId_);
5420          }
5421          if (((bitField0_ & 0x00000040) == 0x00000040)) {
5422            size += com.google.protobuf.CodedOutputStream
5423              .computeInt32Size(9, typeParameterName_);
5424          }
5425          size += extensionsSerializedSize();
5426          memoizedSerializedSize = size;
5427          return size;
5428        }
5429    
5430        private static final long serialVersionUID = 0L;
5431        @java.lang.Override
5432        protected java.lang.Object writeReplace()
5433            throws java.io.ObjectStreamException {
5434          return super.writeReplace();
5435        }
5436    
5437        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5438            com.google.protobuf.ByteString data)
5439            throws com.google.protobuf.InvalidProtocolBufferException {
5440          return PARSER.parseFrom(data);
5441        }
5442        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5443            com.google.protobuf.ByteString data,
5444            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5445            throws com.google.protobuf.InvalidProtocolBufferException {
5446          return PARSER.parseFrom(data, extensionRegistry);
5447        }
5448        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(byte[] data)
5449            throws com.google.protobuf.InvalidProtocolBufferException {
5450          return PARSER.parseFrom(data);
5451        }
5452        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5453            byte[] data,
5454            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5455            throws com.google.protobuf.InvalidProtocolBufferException {
5456          return PARSER.parseFrom(data, extensionRegistry);
5457        }
5458        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(java.io.InputStream input)
5459            throws java.io.IOException {
5460          return PARSER.parseFrom(input);
5461        }
5462        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5463            java.io.InputStream input,
5464            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5465            throws java.io.IOException {
5466          return PARSER.parseFrom(input, extensionRegistry);
5467        }
5468        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseDelimitedFrom(java.io.InputStream input)
5469            throws java.io.IOException {
5470          return PARSER.parseDelimitedFrom(input);
5471        }
5472        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseDelimitedFrom(
5473            java.io.InputStream input,
5474            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5475            throws java.io.IOException {
5476          return PARSER.parseDelimitedFrom(input, extensionRegistry);
5477        }
5478        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5479            com.google.protobuf.CodedInputStream input)
5480            throws java.io.IOException {
5481          return PARSER.parseFrom(input);
5482        }
5483        public static org.jetbrains.kotlin.serialization.ProtoBuf.Type parseFrom(
5484            com.google.protobuf.CodedInputStream input,
5485            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5486            throws java.io.IOException {
5487          return PARSER.parseFrom(input, extensionRegistry);
5488        }
5489    
5490        public static Builder newBuilder() { return Builder.create(); }
5491        public Builder newBuilderForType() { return newBuilder(); }
5492        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Type prototype) {
5493          return newBuilder().mergeFrom(prototype);
5494        }
5495        public Builder toBuilder() { return newBuilder(this); }
5496    
5497        /**
5498         * Protobuf type {@code org.jetbrains.kotlin.serialization.Type}
5499         */
5500        public static final class Builder extends
5501            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
5502              org.jetbrains.kotlin.serialization.ProtoBuf.Type, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder {
5503          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder()
5504          private Builder() {
5505            maybeForceBuilderInitialization();
5506          }
5507    
5508          private void maybeForceBuilderInitialization() {
5509          }
5510          private static Builder create() {
5511            return new Builder();
5512          }
5513    
5514          public Builder clear() {
5515            super.clear();
5516            argument_ = java.util.Collections.emptyList();
5517            bitField0_ = (bitField0_ & ~0x00000001);
5518            nullable_ = false;
5519            bitField0_ = (bitField0_ & ~0x00000002);
5520            flexibleTypeCapabilitiesId_ = 0;
5521            bitField0_ = (bitField0_ & ~0x00000004);
5522            flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5523            bitField0_ = (bitField0_ & ~0x00000008);
5524            flexibleUpperBoundId_ = 0;
5525            bitField0_ = (bitField0_ & ~0x00000010);
5526            className_ = 0;
5527            bitField0_ = (bitField0_ & ~0x00000020);
5528            typeParameter_ = 0;
5529            bitField0_ = (bitField0_ & ~0x00000040);
5530            typeParameterName_ = 0;
5531            bitField0_ = (bitField0_ & ~0x00000080);
5532            return this;
5533          }
5534    
5535          public Builder clone() {
5536            return create().mergeFrom(buildPartial());
5537          }
5538    
5539          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getDefaultInstanceForType() {
5540            return org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5541          }
5542    
5543          public org.jetbrains.kotlin.serialization.ProtoBuf.Type build() {
5544            org.jetbrains.kotlin.serialization.ProtoBuf.Type result = buildPartial();
5545            if (!result.isInitialized()) {
5546              throw newUninitializedMessageException(result);
5547            }
5548            return result;
5549          }
5550    
5551          public org.jetbrains.kotlin.serialization.ProtoBuf.Type buildPartial() {
5552            org.jetbrains.kotlin.serialization.ProtoBuf.Type result = new org.jetbrains.kotlin.serialization.ProtoBuf.Type(this);
5553            int from_bitField0_ = bitField0_;
5554            int to_bitField0_ = 0;
5555            if (((bitField0_ & 0x00000001) == 0x00000001)) {
5556              argument_ = java.util.Collections.unmodifiableList(argument_);
5557              bitField0_ = (bitField0_ & ~0x00000001);
5558            }
5559            result.argument_ = argument_;
5560            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
5561              to_bitField0_ |= 0x00000001;
5562            }
5563            result.nullable_ = nullable_;
5564            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
5565              to_bitField0_ |= 0x00000002;
5566            }
5567            result.flexibleTypeCapabilitiesId_ = flexibleTypeCapabilitiesId_;
5568            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
5569              to_bitField0_ |= 0x00000004;
5570            }
5571            result.flexibleUpperBound_ = flexibleUpperBound_;
5572            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
5573              to_bitField0_ |= 0x00000008;
5574            }
5575            result.flexibleUpperBoundId_ = flexibleUpperBoundId_;
5576            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
5577              to_bitField0_ |= 0x00000010;
5578            }
5579            result.className_ = className_;
5580            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
5581              to_bitField0_ |= 0x00000020;
5582            }
5583            result.typeParameter_ = typeParameter_;
5584            if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
5585              to_bitField0_ |= 0x00000040;
5586            }
5587            result.typeParameterName_ = typeParameterName_;
5588            result.bitField0_ = to_bitField0_;
5589            return result;
5590          }
5591    
5592          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Type other) {
5593            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) return this;
5594            if (!other.argument_.isEmpty()) {
5595              if (argument_.isEmpty()) {
5596                argument_ = other.argument_;
5597                bitField0_ = (bitField0_ & ~0x00000001);
5598              } else {
5599                ensureArgumentIsMutable();
5600                argument_.addAll(other.argument_);
5601              }
5602              
5603            }
5604            if (other.hasNullable()) {
5605              setNullable(other.getNullable());
5606            }
5607            if (other.hasFlexibleTypeCapabilitiesId()) {
5608              setFlexibleTypeCapabilitiesId(other.getFlexibleTypeCapabilitiesId());
5609            }
5610            if (other.hasFlexibleUpperBound()) {
5611              mergeFlexibleUpperBound(other.getFlexibleUpperBound());
5612            }
5613            if (other.hasFlexibleUpperBoundId()) {
5614              setFlexibleUpperBoundId(other.getFlexibleUpperBoundId());
5615            }
5616            if (other.hasClassName()) {
5617              setClassName(other.getClassName());
5618            }
5619            if (other.hasTypeParameter()) {
5620              setTypeParameter(other.getTypeParameter());
5621            }
5622            if (other.hasTypeParameterName()) {
5623              setTypeParameterName(other.getTypeParameterName());
5624            }
5625            this.mergeExtensionFields(other);
5626            return this;
5627          }
5628    
5629          public final boolean isInitialized() {
5630            for (int i = 0; i < getArgumentCount(); i++) {
5631              if (!getArgument(i).isInitialized()) {
5632                
5633                return false;
5634              }
5635            }
5636            if (hasFlexibleUpperBound()) {
5637              if (!getFlexibleUpperBound().isInitialized()) {
5638                
5639                return false;
5640              }
5641            }
5642            if (!extensionsAreInitialized()) {
5643              
5644              return false;
5645            }
5646            return true;
5647          }
5648    
5649          public Builder mergeFrom(
5650              com.google.protobuf.CodedInputStream input,
5651              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5652              throws java.io.IOException {
5653            org.jetbrains.kotlin.serialization.ProtoBuf.Type parsedMessage = null;
5654            try {
5655              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
5656            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5657              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Type) e.getUnfinishedMessage();
5658              throw e;
5659            } finally {
5660              if (parsedMessage != null) {
5661                mergeFrom(parsedMessage);
5662              }
5663            }
5664            return this;
5665          }
5666          private int bitField0_;
5667    
5668          // repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;
5669          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> argument_ =
5670            java.util.Collections.emptyList();
5671          private void ensureArgumentIsMutable() {
5672            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
5673              argument_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument>(argument_);
5674              bitField0_ |= 0x00000001;
5675             }
5676          }
5677    
5678          /**
5679           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5680           */
5681          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> getArgumentList() {
5682            return java.util.Collections.unmodifiableList(argument_);
5683          }
5684          /**
5685           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5686           */
5687          public int getArgumentCount() {
5688            return argument_.size();
5689          }
5690          /**
5691           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5692           */
5693          public org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument getArgument(int index) {
5694            return argument_.get(index);
5695          }
5696          /**
5697           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5698           */
5699          public Builder setArgument(
5700              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
5701            if (value == null) {
5702              throw new NullPointerException();
5703            }
5704            ensureArgumentIsMutable();
5705            argument_.set(index, value);
5706    
5707            return this;
5708          }
5709          /**
5710           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5711           */
5712          public Builder setArgument(
5713              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
5714            ensureArgumentIsMutable();
5715            argument_.set(index, builderForValue.build());
5716    
5717            return this;
5718          }
5719          /**
5720           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5721           */
5722          public Builder addArgument(org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
5723            if (value == null) {
5724              throw new NullPointerException();
5725            }
5726            ensureArgumentIsMutable();
5727            argument_.add(value);
5728    
5729            return this;
5730          }
5731          /**
5732           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5733           */
5734          public Builder addArgument(
5735              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument value) {
5736            if (value == null) {
5737              throw new NullPointerException();
5738            }
5739            ensureArgumentIsMutable();
5740            argument_.add(index, value);
5741    
5742            return this;
5743          }
5744          /**
5745           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5746           */
5747          public Builder addArgument(
5748              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
5749            ensureArgumentIsMutable();
5750            argument_.add(builderForValue.build());
5751    
5752            return this;
5753          }
5754          /**
5755           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5756           */
5757          public Builder addArgument(
5758              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
5759            ensureArgumentIsMutable();
5760            argument_.add(index, builderForValue.build());
5761    
5762            return this;
5763          }
5764          /**
5765           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5766           */
5767          public Builder addAllArgument(
5768              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type.Argument> values) {
5769            ensureArgumentIsMutable();
5770            super.addAll(values, argument_);
5771    
5772            return this;
5773          }
5774          /**
5775           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5776           */
5777          public Builder clearArgument() {
5778            argument_ = java.util.Collections.emptyList();
5779            bitField0_ = (bitField0_ & ~0x00000001);
5780    
5781            return this;
5782          }
5783          /**
5784           * <code>repeated .org.jetbrains.kotlin.serialization.Type.Argument argument = 2;</code>
5785           */
5786          public Builder removeArgument(int index) {
5787            ensureArgumentIsMutable();
5788            argument_.remove(index);
5789    
5790            return this;
5791          }
5792    
5793          // optional bool nullable = 3 [default = false];
5794          private boolean nullable_ ;
5795          /**
5796           * <code>optional bool nullable = 3 [default = false];</code>
5797           */
5798          public boolean hasNullable() {
5799            return ((bitField0_ & 0x00000002) == 0x00000002);
5800          }
5801          /**
5802           * <code>optional bool nullable = 3 [default = false];</code>
5803           */
5804          public boolean getNullable() {
5805            return nullable_;
5806          }
5807          /**
5808           * <code>optional bool nullable = 3 [default = false];</code>
5809           */
5810          public Builder setNullable(boolean value) {
5811            bitField0_ |= 0x00000002;
5812            nullable_ = value;
5813            
5814            return this;
5815          }
5816          /**
5817           * <code>optional bool nullable = 3 [default = false];</code>
5818           */
5819          public Builder clearNullable() {
5820            bitField0_ = (bitField0_ & ~0x00000002);
5821            nullable_ = false;
5822            
5823            return this;
5824          }
5825    
5826          // optional int32 flexible_type_capabilities_id = 4;
5827          private int flexibleTypeCapabilitiesId_ ;
5828          /**
5829           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5830           *
5831           * <pre>
5832           * If this field is set, the type is flexible.
5833           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5834           * </pre>
5835           */
5836          public boolean hasFlexibleTypeCapabilitiesId() {
5837            return ((bitField0_ & 0x00000004) == 0x00000004);
5838          }
5839          /**
5840           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5841           *
5842           * <pre>
5843           * If this field is set, the type is flexible.
5844           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5845           * </pre>
5846           */
5847          public int getFlexibleTypeCapabilitiesId() {
5848            return flexibleTypeCapabilitiesId_;
5849          }
5850          /**
5851           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5852           *
5853           * <pre>
5854           * If this field is set, the type is flexible.
5855           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5856           * </pre>
5857           */
5858          public Builder setFlexibleTypeCapabilitiesId(int value) {
5859            bitField0_ |= 0x00000004;
5860            flexibleTypeCapabilitiesId_ = value;
5861            
5862            return this;
5863          }
5864          /**
5865           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5866           *
5867           * <pre>
5868           * If this field is set, the type is flexible.
5869           * All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5870           * </pre>
5871           */
5872          public Builder clearFlexibleTypeCapabilitiesId() {
5873            bitField0_ = (bitField0_ & ~0x00000004);
5874            flexibleTypeCapabilitiesId_ = 0;
5875            
5876            return this;
5877          }
5878    
5879          // optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;
5880          private org.jetbrains.kotlin.serialization.ProtoBuf.Type flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5881          /**
5882           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5883           */
5884          public boolean hasFlexibleUpperBound() {
5885            return ((bitField0_ & 0x00000008) == 0x00000008);
5886          }
5887          /**
5888           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5889           */
5890          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getFlexibleUpperBound() {
5891            return flexibleUpperBound_;
5892          }
5893          /**
5894           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5895           */
5896          public Builder setFlexibleUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
5897            if (value == null) {
5898              throw new NullPointerException();
5899            }
5900            flexibleUpperBound_ = value;
5901    
5902            bitField0_ |= 0x00000008;
5903            return this;
5904          }
5905          /**
5906           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5907           */
5908          public Builder setFlexibleUpperBound(
5909              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
5910            flexibleUpperBound_ = builderForValue.build();
5911    
5912            bitField0_ |= 0x00000008;
5913            return this;
5914          }
5915          /**
5916           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5917           */
5918          public Builder mergeFlexibleUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
5919            if (((bitField0_ & 0x00000008) == 0x00000008) &&
5920                flexibleUpperBound_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
5921              flexibleUpperBound_ =
5922                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(flexibleUpperBound_).mergeFrom(value).buildPartial();
5923            } else {
5924              flexibleUpperBound_ = value;
5925            }
5926    
5927            bitField0_ |= 0x00000008;
5928            return this;
5929          }
5930          /**
5931           * <code>optional .org.jetbrains.kotlin.serialization.Type flexible_upper_bound = 5;</code>
5932           */
5933          public Builder clearFlexibleUpperBound() {
5934            flexibleUpperBound_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
5935    
5936            bitField0_ = (bitField0_ & ~0x00000008);
5937            return this;
5938          }
5939    
5940          // optional int32 flexible_upper_bound_id = 8;
5941          private int flexibleUpperBoundId_ ;
5942          /**
5943           * <code>optional int32 flexible_upper_bound_id = 8;</code>
5944           */
5945          public boolean hasFlexibleUpperBoundId() {
5946            return ((bitField0_ & 0x00000010) == 0x00000010);
5947          }
5948          /**
5949           * <code>optional int32 flexible_upper_bound_id = 8;</code>
5950           */
5951          public int getFlexibleUpperBoundId() {
5952            return flexibleUpperBoundId_;
5953          }
5954          /**
5955           * <code>optional int32 flexible_upper_bound_id = 8;</code>
5956           */
5957          public Builder setFlexibleUpperBoundId(int value) {
5958            bitField0_ |= 0x00000010;
5959            flexibleUpperBoundId_ = value;
5960            
5961            return this;
5962          }
5963          /**
5964           * <code>optional int32 flexible_upper_bound_id = 8;</code>
5965           */
5966          public Builder clearFlexibleUpperBoundId() {
5967            bitField0_ = (bitField0_ & ~0x00000010);
5968            flexibleUpperBoundId_ = 0;
5969            
5970            return this;
5971          }
5972    
5973          // optional int32 class_name = 6;
5974          private int className_ ;
5975          /**
5976           * <code>optional int32 class_name = 6;</code>
5977           */
5978          public boolean hasClassName() {
5979            return ((bitField0_ & 0x00000020) == 0x00000020);
5980          }
5981          /**
5982           * <code>optional int32 class_name = 6;</code>
5983           */
5984          public int getClassName() {
5985            return className_;
5986          }
5987          /**
5988           * <code>optional int32 class_name = 6;</code>
5989           */
5990          public Builder setClassName(int value) {
5991            bitField0_ |= 0x00000020;
5992            className_ = value;
5993            
5994            return this;
5995          }
5996          /**
5997           * <code>optional int32 class_name = 6;</code>
5998           */
5999          public Builder clearClassName() {
6000            bitField0_ = (bitField0_ & ~0x00000020);
6001            className_ = 0;
6002            
6003            return this;
6004          }
6005    
6006          // optional int32 type_parameter = 7;
6007          private int typeParameter_ ;
6008          /**
6009           * <code>optional int32 type_parameter = 7;</code>
6010           *
6011           * <pre>
6012           * id of the type parameter
6013           * </pre>
6014           */
6015          public boolean hasTypeParameter() {
6016            return ((bitField0_ & 0x00000040) == 0x00000040);
6017          }
6018          /**
6019           * <code>optional int32 type_parameter = 7;</code>
6020           *
6021           * <pre>
6022           * id of the type parameter
6023           * </pre>
6024           */
6025          public int getTypeParameter() {
6026            return typeParameter_;
6027          }
6028          /**
6029           * <code>optional int32 type_parameter = 7;</code>
6030           *
6031           * <pre>
6032           * id of the type parameter
6033           * </pre>
6034           */
6035          public Builder setTypeParameter(int value) {
6036            bitField0_ |= 0x00000040;
6037            typeParameter_ = value;
6038            
6039            return this;
6040          }
6041          /**
6042           * <code>optional int32 type_parameter = 7;</code>
6043           *
6044           * <pre>
6045           * id of the type parameter
6046           * </pre>
6047           */
6048          public Builder clearTypeParameter() {
6049            bitField0_ = (bitField0_ & ~0x00000040);
6050            typeParameter_ = 0;
6051            
6052            return this;
6053          }
6054    
6055          // optional int32 type_parameter_name = 9;
6056          private int typeParameterName_ ;
6057          /**
6058           * <code>optional int32 type_parameter_name = 9;</code>
6059           *
6060           * <pre>
6061           * Name of the type parameter in the immediate owner
6062           * </pre>
6063           */
6064          public boolean hasTypeParameterName() {
6065            return ((bitField0_ & 0x00000080) == 0x00000080);
6066          }
6067          /**
6068           * <code>optional int32 type_parameter_name = 9;</code>
6069           *
6070           * <pre>
6071           * Name of the type parameter in the immediate owner
6072           * </pre>
6073           */
6074          public int getTypeParameterName() {
6075            return typeParameterName_;
6076          }
6077          /**
6078           * <code>optional int32 type_parameter_name = 9;</code>
6079           *
6080           * <pre>
6081           * Name of the type parameter in the immediate owner
6082           * </pre>
6083           */
6084          public Builder setTypeParameterName(int value) {
6085            bitField0_ |= 0x00000080;
6086            typeParameterName_ = value;
6087            
6088            return this;
6089          }
6090          /**
6091           * <code>optional int32 type_parameter_name = 9;</code>
6092           *
6093           * <pre>
6094           * Name of the type parameter in the immediate owner
6095           * </pre>
6096           */
6097          public Builder clearTypeParameterName() {
6098            bitField0_ = (bitField0_ & ~0x00000080);
6099            typeParameterName_ = 0;
6100            
6101            return this;
6102          }
6103    
6104          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Type)
6105        }
6106    
6107        static {
6108          defaultInstance = new Type(true);
6109          defaultInstance.initFields();
6110        }
6111    
6112        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Type)
6113      }
6114    
6115      public interface TypeParameterOrBuilder extends 
6116           com.google.protobuf.GeneratedMessageLite.
6117                ExtendableMessageOrBuilder<TypeParameter> {
6118    
6119        // required int32 id = 1;
6120        /**
6121         * <code>required int32 id = 1;</code>
6122         */
6123        boolean hasId();
6124        /**
6125         * <code>required int32 id = 1;</code>
6126         */
6127        int getId();
6128    
6129        // required int32 name = 2;
6130        /**
6131         * <code>required int32 name = 2;</code>
6132         */
6133        boolean hasName();
6134        /**
6135         * <code>required int32 name = 2;</code>
6136         */
6137        int getName();
6138    
6139        // optional bool reified = 3 [default = false];
6140        /**
6141         * <code>optional bool reified = 3 [default = false];</code>
6142         */
6143        boolean hasReified();
6144        /**
6145         * <code>optional bool reified = 3 [default = false];</code>
6146         */
6147        boolean getReified();
6148    
6149        // optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];
6150        /**
6151         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6152         */
6153        boolean hasVariance();
6154        /**
6155         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6156         */
6157        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance();
6158    
6159        // repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;
6160        /**
6161         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6162         */
6163        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> 
6164            getUpperBoundList();
6165        /**
6166         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6167         */
6168        org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index);
6169        /**
6170         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6171         */
6172        int getUpperBoundCount();
6173    
6174        // repeated int32 upper_bound_id = 6;
6175        /**
6176         * <code>repeated int32 upper_bound_id = 6;</code>
6177         */
6178        java.util.List<java.lang.Integer> getUpperBoundIdList();
6179        /**
6180         * <code>repeated int32 upper_bound_id = 6;</code>
6181         */
6182        int getUpperBoundIdCount();
6183        /**
6184         * <code>repeated int32 upper_bound_id = 6;</code>
6185         */
6186        int getUpperBoundId(int index);
6187      }
6188      /**
6189       * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeParameter}
6190       */
6191      public static final class TypeParameter extends
6192          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
6193            TypeParameter> implements TypeParameterOrBuilder {
6194        // Use TypeParameter.newBuilder() to construct.
6195        private TypeParameter(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter, ?> builder) {
6196          super(builder);
6197    
6198        }
6199        private TypeParameter(boolean noInit) {}
6200    
6201        private static final TypeParameter defaultInstance;
6202        public static TypeParameter getDefaultInstance() {
6203          return defaultInstance;
6204        }
6205    
6206        public TypeParameter getDefaultInstanceForType() {
6207          return defaultInstance;
6208        }
6209    
6210        private TypeParameter(
6211            com.google.protobuf.CodedInputStream input,
6212            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6213            throws com.google.protobuf.InvalidProtocolBufferException {
6214          initFields();
6215          int mutable_bitField0_ = 0;
6216          try {
6217            boolean done = false;
6218            while (!done) {
6219              int tag = input.readTag();
6220              switch (tag) {
6221                case 0:
6222                  done = true;
6223                  break;
6224                default: {
6225                  if (!parseUnknownField(input,
6226                                         extensionRegistry, tag)) {
6227                    done = true;
6228                  }
6229                  break;
6230                }
6231                case 8: {
6232                  bitField0_ |= 0x00000001;
6233                  id_ = input.readInt32();
6234                  break;
6235                }
6236                case 16: {
6237                  bitField0_ |= 0x00000002;
6238                  name_ = input.readInt32();
6239                  break;
6240                }
6241                case 24: {
6242                  bitField0_ |= 0x00000004;
6243                  reified_ = input.readBool();
6244                  break;
6245                }
6246                case 32: {
6247                  int rawValue = input.readEnum();
6248                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance value = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.valueOf(rawValue);
6249                  if (value != null) {
6250                    bitField0_ |= 0x00000008;
6251                    variance_ = value;
6252                  }
6253                  break;
6254                }
6255                case 42: {
6256                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
6257                    upperBound_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
6258                    mutable_bitField0_ |= 0x00000010;
6259                  }
6260                  upperBound_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
6261                  break;
6262                }
6263                case 48: {
6264                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
6265                    upperBoundId_ = new java.util.ArrayList<java.lang.Integer>();
6266                    mutable_bitField0_ |= 0x00000020;
6267                  }
6268                  upperBoundId_.add(input.readInt32());
6269                  break;
6270                }
6271                case 50: {
6272                  int length = input.readRawVarint32();
6273                  int limit = input.pushLimit(length);
6274                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
6275                    upperBoundId_ = new java.util.ArrayList<java.lang.Integer>();
6276                    mutable_bitField0_ |= 0x00000020;
6277                  }
6278                  while (input.getBytesUntilLimit() > 0) {
6279                    upperBoundId_.add(input.readInt32());
6280                  }
6281                  input.popLimit(limit);
6282                  break;
6283                }
6284              }
6285            }
6286          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6287            throw e.setUnfinishedMessage(this);
6288          } catch (java.io.IOException e) {
6289            throw new com.google.protobuf.InvalidProtocolBufferException(
6290                e.getMessage()).setUnfinishedMessage(this);
6291          } finally {
6292            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
6293              upperBound_ = java.util.Collections.unmodifiableList(upperBound_);
6294            }
6295            if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
6296              upperBoundId_ = java.util.Collections.unmodifiableList(upperBoundId_);
6297            }
6298            makeExtensionsImmutable();
6299          }
6300        }
6301        public static com.google.protobuf.Parser<TypeParameter> PARSER =
6302            new com.google.protobuf.AbstractParser<TypeParameter>() {
6303          public TypeParameter parsePartialFrom(
6304              com.google.protobuf.CodedInputStream input,
6305              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6306              throws com.google.protobuf.InvalidProtocolBufferException {
6307            return new TypeParameter(input, extensionRegistry);
6308          }
6309        };
6310    
6311        @java.lang.Override
6312        public com.google.protobuf.Parser<TypeParameter> getParserForType() {
6313          return PARSER;
6314        }
6315    
6316        /**
6317         * Protobuf enum {@code org.jetbrains.kotlin.serialization.TypeParameter.Variance}
6318         */
6319        public enum Variance
6320            implements com.google.protobuf.Internal.EnumLite {
6321          /**
6322           * <code>IN = 0;</code>
6323           */
6324          IN(0, 0),
6325          /**
6326           * <code>OUT = 1;</code>
6327           */
6328          OUT(1, 1),
6329          /**
6330           * <code>INV = 2;</code>
6331           */
6332          INV(2, 2),
6333          ;
6334    
6335          /**
6336           * <code>IN = 0;</code>
6337           */
6338          public static final int IN_VALUE = 0;
6339          /**
6340           * <code>OUT = 1;</code>
6341           */
6342          public static final int OUT_VALUE = 1;
6343          /**
6344           * <code>INV = 2;</code>
6345           */
6346          public static final int INV_VALUE = 2;
6347    
6348    
6349          public final int getNumber() { return value; }
6350    
6351          public static Variance valueOf(int value) {
6352            switch (value) {
6353              case 0: return IN;
6354              case 1: return OUT;
6355              case 2: return INV;
6356              default: return null;
6357            }
6358          }
6359    
6360          public static com.google.protobuf.Internal.EnumLiteMap<Variance>
6361              internalGetValueMap() {
6362            return internalValueMap;
6363          }
6364          private static com.google.protobuf.Internal.EnumLiteMap<Variance>
6365              internalValueMap =
6366                new com.google.protobuf.Internal.EnumLiteMap<Variance>() {
6367                  public Variance findValueByNumber(int number) {
6368                    return Variance.valueOf(number);
6369                  }
6370                };
6371    
6372          private final int value;
6373    
6374          private Variance(int index, int value) {
6375            this.value = value;
6376          }
6377    
6378          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.TypeParameter.Variance)
6379        }
6380    
6381        private int bitField0_;
6382        // required int32 id = 1;
6383        public static final int ID_FIELD_NUMBER = 1;
6384        private int id_;
6385        /**
6386         * <code>required int32 id = 1;</code>
6387         */
6388        public boolean hasId() {
6389          return ((bitField0_ & 0x00000001) == 0x00000001);
6390        }
6391        /**
6392         * <code>required int32 id = 1;</code>
6393         */
6394        public int getId() {
6395          return id_;
6396        }
6397    
6398        // required int32 name = 2;
6399        public static final int NAME_FIELD_NUMBER = 2;
6400        private int name_;
6401        /**
6402         * <code>required int32 name = 2;</code>
6403         */
6404        public boolean hasName() {
6405          return ((bitField0_ & 0x00000002) == 0x00000002);
6406        }
6407        /**
6408         * <code>required int32 name = 2;</code>
6409         */
6410        public int getName() {
6411          return name_;
6412        }
6413    
6414        // optional bool reified = 3 [default = false];
6415        public static final int REIFIED_FIELD_NUMBER = 3;
6416        private boolean reified_;
6417        /**
6418         * <code>optional bool reified = 3 [default = false];</code>
6419         */
6420        public boolean hasReified() {
6421          return ((bitField0_ & 0x00000004) == 0x00000004);
6422        }
6423        /**
6424         * <code>optional bool reified = 3 [default = false];</code>
6425         */
6426        public boolean getReified() {
6427          return reified_;
6428        }
6429    
6430        // optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];
6431        public static final int VARIANCE_FIELD_NUMBER = 4;
6432        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance variance_;
6433        /**
6434         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6435         */
6436        public boolean hasVariance() {
6437          return ((bitField0_ & 0x00000008) == 0x00000008);
6438        }
6439        /**
6440         * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6441         */
6442        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
6443          return variance_;
6444        }
6445    
6446        // repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;
6447        public static final int UPPER_BOUND_FIELD_NUMBER = 5;
6448        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> upperBound_;
6449        /**
6450         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6451         */
6452        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getUpperBoundList() {
6453          return upperBound_;
6454        }
6455        /**
6456         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6457         */
6458        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
6459            getUpperBoundOrBuilderList() {
6460          return upperBound_;
6461        }
6462        /**
6463         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6464         */
6465        public int getUpperBoundCount() {
6466          return upperBound_.size();
6467        }
6468        /**
6469         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6470         */
6471        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index) {
6472          return upperBound_.get(index);
6473        }
6474        /**
6475         * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6476         */
6477        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getUpperBoundOrBuilder(
6478            int index) {
6479          return upperBound_.get(index);
6480        }
6481    
6482        // repeated int32 upper_bound_id = 6;
6483        public static final int UPPER_BOUND_ID_FIELD_NUMBER = 6;
6484        private java.util.List<java.lang.Integer> upperBoundId_;
6485        /**
6486         * <code>repeated int32 upper_bound_id = 6;</code>
6487         */
6488        public java.util.List<java.lang.Integer>
6489            getUpperBoundIdList() {
6490          return upperBoundId_;
6491        }
6492        /**
6493         * <code>repeated int32 upper_bound_id = 6;</code>
6494         */
6495        public int getUpperBoundIdCount() {
6496          return upperBoundId_.size();
6497        }
6498        /**
6499         * <code>repeated int32 upper_bound_id = 6;</code>
6500         */
6501        public int getUpperBoundId(int index) {
6502          return upperBoundId_.get(index);
6503        }
6504    
6505        private void initFields() {
6506          id_ = 0;
6507          name_ = 0;
6508          reified_ = false;
6509          variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
6510          upperBound_ = java.util.Collections.emptyList();
6511          upperBoundId_ = java.util.Collections.emptyList();
6512        }
6513        private byte memoizedIsInitialized = -1;
6514        public final boolean isInitialized() {
6515          byte isInitialized = memoizedIsInitialized;
6516          if (isInitialized != -1) return isInitialized == 1;
6517    
6518          if (!hasId()) {
6519            memoizedIsInitialized = 0;
6520            return false;
6521          }
6522          if (!hasName()) {
6523            memoizedIsInitialized = 0;
6524            return false;
6525          }
6526          for (int i = 0; i < getUpperBoundCount(); i++) {
6527            if (!getUpperBound(i).isInitialized()) {
6528              memoizedIsInitialized = 0;
6529              return false;
6530            }
6531          }
6532          if (!extensionsAreInitialized()) {
6533            memoizedIsInitialized = 0;
6534            return false;
6535          }
6536          memoizedIsInitialized = 1;
6537          return true;
6538        }
6539    
6540        public void writeTo(com.google.protobuf.CodedOutputStream output)
6541                            throws java.io.IOException {
6542          getSerializedSize();
6543          com.google.protobuf.GeneratedMessageLite
6544            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>.ExtensionWriter extensionWriter =
6545              newExtensionWriter();
6546          if (((bitField0_ & 0x00000001) == 0x00000001)) {
6547            output.writeInt32(1, id_);
6548          }
6549          if (((bitField0_ & 0x00000002) == 0x00000002)) {
6550            output.writeInt32(2, name_);
6551          }
6552          if (((bitField0_ & 0x00000004) == 0x00000004)) {
6553            output.writeBool(3, reified_);
6554          }
6555          if (((bitField0_ & 0x00000008) == 0x00000008)) {
6556            output.writeEnum(4, variance_.getNumber());
6557          }
6558          for (int i = 0; i < upperBound_.size(); i++) {
6559            output.writeMessage(5, upperBound_.get(i));
6560          }
6561          for (int i = 0; i < upperBoundId_.size(); i++) {
6562            output.writeInt32(6, upperBoundId_.get(i));
6563          }
6564          extensionWriter.writeUntil(1000, output);
6565        }
6566    
6567        private int memoizedSerializedSize = -1;
6568        public int getSerializedSize() {
6569          int size = memoizedSerializedSize;
6570          if (size != -1) return size;
6571    
6572          size = 0;
6573          if (((bitField0_ & 0x00000001) == 0x00000001)) {
6574            size += com.google.protobuf.CodedOutputStream
6575              .computeInt32Size(1, id_);
6576          }
6577          if (((bitField0_ & 0x00000002) == 0x00000002)) {
6578            size += com.google.protobuf.CodedOutputStream
6579              .computeInt32Size(2, name_);
6580          }
6581          if (((bitField0_ & 0x00000004) == 0x00000004)) {
6582            size += com.google.protobuf.CodedOutputStream
6583              .computeBoolSize(3, reified_);
6584          }
6585          if (((bitField0_ & 0x00000008) == 0x00000008)) {
6586            size += com.google.protobuf.CodedOutputStream
6587              .computeEnumSize(4, variance_.getNumber());
6588          }
6589          for (int i = 0; i < upperBound_.size(); i++) {
6590            size += com.google.protobuf.CodedOutputStream
6591              .computeMessageSize(5, upperBound_.get(i));
6592          }
6593          {
6594            int dataSize = 0;
6595            for (int i = 0; i < upperBoundId_.size(); i++) {
6596              dataSize += com.google.protobuf.CodedOutputStream
6597                .computeInt32SizeNoTag(upperBoundId_.get(i));
6598            }
6599            size += dataSize;
6600            size += 1 * getUpperBoundIdList().size();
6601          }
6602          size += extensionsSerializedSize();
6603          memoizedSerializedSize = size;
6604          return size;
6605        }
6606    
6607        private static final long serialVersionUID = 0L;
6608        @java.lang.Override
6609        protected java.lang.Object writeReplace()
6610            throws java.io.ObjectStreamException {
6611          return super.writeReplace();
6612        }
6613    
6614        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6615            com.google.protobuf.ByteString data)
6616            throws com.google.protobuf.InvalidProtocolBufferException {
6617          return PARSER.parseFrom(data);
6618        }
6619        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6620            com.google.protobuf.ByteString data,
6621            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6622            throws com.google.protobuf.InvalidProtocolBufferException {
6623          return PARSER.parseFrom(data, extensionRegistry);
6624        }
6625        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(byte[] data)
6626            throws com.google.protobuf.InvalidProtocolBufferException {
6627          return PARSER.parseFrom(data);
6628        }
6629        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6630            byte[] data,
6631            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6632            throws com.google.protobuf.InvalidProtocolBufferException {
6633          return PARSER.parseFrom(data, extensionRegistry);
6634        }
6635        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(java.io.InputStream input)
6636            throws java.io.IOException {
6637          return PARSER.parseFrom(input);
6638        }
6639        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6640            java.io.InputStream input,
6641            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6642            throws java.io.IOException {
6643          return PARSER.parseFrom(input, extensionRegistry);
6644        }
6645        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(java.io.InputStream input)
6646            throws java.io.IOException {
6647          return PARSER.parseDelimitedFrom(input);
6648        }
6649        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(
6650            java.io.InputStream input,
6651            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6652            throws java.io.IOException {
6653          return PARSER.parseDelimitedFrom(input, extensionRegistry);
6654        }
6655        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6656            com.google.protobuf.CodedInputStream input)
6657            throws java.io.IOException {
6658          return PARSER.parseFrom(input);
6659        }
6660        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parseFrom(
6661            com.google.protobuf.CodedInputStream input,
6662            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6663            throws java.io.IOException {
6664          return PARSER.parseFrom(input, extensionRegistry);
6665        }
6666    
6667        public static Builder newBuilder() { return Builder.create(); }
6668        public Builder newBuilderForType() { return newBuilder(); }
6669        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter prototype) {
6670          return newBuilder().mergeFrom(prototype);
6671        }
6672        public Builder toBuilder() { return newBuilder(this); }
6673    
6674        /**
6675         * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeParameter}
6676         */
6677        public static final class Builder extends
6678            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
6679              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder {
6680          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.newBuilder()
6681          private Builder() {
6682            maybeForceBuilderInitialization();
6683          }
6684    
6685          private void maybeForceBuilderInitialization() {
6686          }
6687          private static Builder create() {
6688            return new Builder();
6689          }
6690    
6691          public Builder clear() {
6692            super.clear();
6693            id_ = 0;
6694            bitField0_ = (bitField0_ & ~0x00000001);
6695            name_ = 0;
6696            bitField0_ = (bitField0_ & ~0x00000002);
6697            reified_ = false;
6698            bitField0_ = (bitField0_ & ~0x00000004);
6699            variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
6700            bitField0_ = (bitField0_ & ~0x00000008);
6701            upperBound_ = java.util.Collections.emptyList();
6702            bitField0_ = (bitField0_ & ~0x00000010);
6703            upperBoundId_ = java.util.Collections.emptyList();
6704            bitField0_ = (bitField0_ & ~0x00000020);
6705            return this;
6706          }
6707    
6708          public Builder clone() {
6709            return create().mergeFrom(buildPartial());
6710          }
6711    
6712          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getDefaultInstanceForType() {
6713            return org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.getDefaultInstance();
6714          }
6715    
6716          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter build() {
6717            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter result = buildPartial();
6718            if (!result.isInitialized()) {
6719              throw newUninitializedMessageException(result);
6720            }
6721            return result;
6722          }
6723    
6724          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter buildPartial() {
6725            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter result = new org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter(this);
6726            int from_bitField0_ = bitField0_;
6727            int to_bitField0_ = 0;
6728            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
6729              to_bitField0_ |= 0x00000001;
6730            }
6731            result.id_ = id_;
6732            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
6733              to_bitField0_ |= 0x00000002;
6734            }
6735            result.name_ = name_;
6736            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
6737              to_bitField0_ |= 0x00000004;
6738            }
6739            result.reified_ = reified_;
6740            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
6741              to_bitField0_ |= 0x00000008;
6742            }
6743            result.variance_ = variance_;
6744            if (((bitField0_ & 0x00000010) == 0x00000010)) {
6745              upperBound_ = java.util.Collections.unmodifiableList(upperBound_);
6746              bitField0_ = (bitField0_ & ~0x00000010);
6747            }
6748            result.upperBound_ = upperBound_;
6749            if (((bitField0_ & 0x00000020) == 0x00000020)) {
6750              upperBoundId_ = java.util.Collections.unmodifiableList(upperBoundId_);
6751              bitField0_ = (bitField0_ & ~0x00000020);
6752            }
6753            result.upperBoundId_ = upperBoundId_;
6754            result.bitField0_ = to_bitField0_;
6755            return result;
6756          }
6757    
6758          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter other) {
6759            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.getDefaultInstance()) return this;
6760            if (other.hasId()) {
6761              setId(other.getId());
6762            }
6763            if (other.hasName()) {
6764              setName(other.getName());
6765            }
6766            if (other.hasReified()) {
6767              setReified(other.getReified());
6768            }
6769            if (other.hasVariance()) {
6770              setVariance(other.getVariance());
6771            }
6772            if (!other.upperBound_.isEmpty()) {
6773              if (upperBound_.isEmpty()) {
6774                upperBound_ = other.upperBound_;
6775                bitField0_ = (bitField0_ & ~0x00000010);
6776              } else {
6777                ensureUpperBoundIsMutable();
6778                upperBound_.addAll(other.upperBound_);
6779              }
6780              
6781            }
6782            if (!other.upperBoundId_.isEmpty()) {
6783              if (upperBoundId_.isEmpty()) {
6784                upperBoundId_ = other.upperBoundId_;
6785                bitField0_ = (bitField0_ & ~0x00000020);
6786              } else {
6787                ensureUpperBoundIdIsMutable();
6788                upperBoundId_.addAll(other.upperBoundId_);
6789              }
6790              
6791            }
6792            this.mergeExtensionFields(other);
6793            return this;
6794          }
6795    
6796          public final boolean isInitialized() {
6797            if (!hasId()) {
6798              
6799              return false;
6800            }
6801            if (!hasName()) {
6802              
6803              return false;
6804            }
6805            for (int i = 0; i < getUpperBoundCount(); i++) {
6806              if (!getUpperBound(i).isInitialized()) {
6807                
6808                return false;
6809              }
6810            }
6811            if (!extensionsAreInitialized()) {
6812              
6813              return false;
6814            }
6815            return true;
6816          }
6817    
6818          public Builder mergeFrom(
6819              com.google.protobuf.CodedInputStream input,
6820              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6821              throws java.io.IOException {
6822            org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter parsedMessage = null;
6823            try {
6824              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
6825            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6826              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter) e.getUnfinishedMessage();
6827              throw e;
6828            } finally {
6829              if (parsedMessage != null) {
6830                mergeFrom(parsedMessage);
6831              }
6832            }
6833            return this;
6834          }
6835          private int bitField0_;
6836    
6837          // required int32 id = 1;
6838          private int id_ ;
6839          /**
6840           * <code>required int32 id = 1;</code>
6841           */
6842          public boolean hasId() {
6843            return ((bitField0_ & 0x00000001) == 0x00000001);
6844          }
6845          /**
6846           * <code>required int32 id = 1;</code>
6847           */
6848          public int getId() {
6849            return id_;
6850          }
6851          /**
6852           * <code>required int32 id = 1;</code>
6853           */
6854          public Builder setId(int value) {
6855            bitField0_ |= 0x00000001;
6856            id_ = value;
6857            
6858            return this;
6859          }
6860          /**
6861           * <code>required int32 id = 1;</code>
6862           */
6863          public Builder clearId() {
6864            bitField0_ = (bitField0_ & ~0x00000001);
6865            id_ = 0;
6866            
6867            return this;
6868          }
6869    
6870          // required int32 name = 2;
6871          private int name_ ;
6872          /**
6873           * <code>required int32 name = 2;</code>
6874           */
6875          public boolean hasName() {
6876            return ((bitField0_ & 0x00000002) == 0x00000002);
6877          }
6878          /**
6879           * <code>required int32 name = 2;</code>
6880           */
6881          public int getName() {
6882            return name_;
6883          }
6884          /**
6885           * <code>required int32 name = 2;</code>
6886           */
6887          public Builder setName(int value) {
6888            bitField0_ |= 0x00000002;
6889            name_ = value;
6890            
6891            return this;
6892          }
6893          /**
6894           * <code>required int32 name = 2;</code>
6895           */
6896          public Builder clearName() {
6897            bitField0_ = (bitField0_ & ~0x00000002);
6898            name_ = 0;
6899            
6900            return this;
6901          }
6902    
6903          // optional bool reified = 3 [default = false];
6904          private boolean reified_ ;
6905          /**
6906           * <code>optional bool reified = 3 [default = false];</code>
6907           */
6908          public boolean hasReified() {
6909            return ((bitField0_ & 0x00000004) == 0x00000004);
6910          }
6911          /**
6912           * <code>optional bool reified = 3 [default = false];</code>
6913           */
6914          public boolean getReified() {
6915            return reified_;
6916          }
6917          /**
6918           * <code>optional bool reified = 3 [default = false];</code>
6919           */
6920          public Builder setReified(boolean value) {
6921            bitField0_ |= 0x00000004;
6922            reified_ = value;
6923            
6924            return this;
6925          }
6926          /**
6927           * <code>optional bool reified = 3 [default = false];</code>
6928           */
6929          public Builder clearReified() {
6930            bitField0_ = (bitField0_ & ~0x00000004);
6931            reified_ = false;
6932            
6933            return this;
6934          }
6935    
6936          // optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];
6937          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
6938          /**
6939           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6940           */
6941          public boolean hasVariance() {
6942            return ((bitField0_ & 0x00000008) == 0x00000008);
6943          }
6944          /**
6945           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6946           */
6947          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
6948            return variance_;
6949          }
6950          /**
6951           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6952           */
6953          public Builder setVariance(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance value) {
6954            if (value == null) {
6955              throw new NullPointerException();
6956            }
6957            bitField0_ |= 0x00000008;
6958            variance_ = value;
6959            
6960            return this;
6961          }
6962          /**
6963           * <code>optional .org.jetbrains.kotlin.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6964           */
6965          public Builder clearVariance() {
6966            bitField0_ = (bitField0_ & ~0x00000008);
6967            variance_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Variance.INV;
6968            
6969            return this;
6970          }
6971    
6972          // repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;
6973          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> upperBound_ =
6974            java.util.Collections.emptyList();
6975          private void ensureUpperBoundIsMutable() {
6976            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
6977              upperBound_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(upperBound_);
6978              bitField0_ |= 0x00000010;
6979             }
6980          }
6981    
6982          /**
6983           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6984           */
6985          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getUpperBoundList() {
6986            return java.util.Collections.unmodifiableList(upperBound_);
6987          }
6988          /**
6989           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6990           */
6991          public int getUpperBoundCount() {
6992            return upperBound_.size();
6993          }
6994          /**
6995           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
6996           */
6997          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getUpperBound(int index) {
6998            return upperBound_.get(index);
6999          }
7000          /**
7001           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7002           */
7003          public Builder setUpperBound(
7004              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7005            if (value == null) {
7006              throw new NullPointerException();
7007            }
7008            ensureUpperBoundIsMutable();
7009            upperBound_.set(index, value);
7010    
7011            return this;
7012          }
7013          /**
7014           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7015           */
7016          public Builder setUpperBound(
7017              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7018            ensureUpperBoundIsMutable();
7019            upperBound_.set(index, builderForValue.build());
7020    
7021            return this;
7022          }
7023          /**
7024           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7025           */
7026          public Builder addUpperBound(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7027            if (value == null) {
7028              throw new NullPointerException();
7029            }
7030            ensureUpperBoundIsMutable();
7031            upperBound_.add(value);
7032    
7033            return this;
7034          }
7035          /**
7036           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7037           */
7038          public Builder addUpperBound(
7039              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
7040            if (value == null) {
7041              throw new NullPointerException();
7042            }
7043            ensureUpperBoundIsMutable();
7044            upperBound_.add(index, value);
7045    
7046            return this;
7047          }
7048          /**
7049           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7050           */
7051          public Builder addUpperBound(
7052              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7053            ensureUpperBoundIsMutable();
7054            upperBound_.add(builderForValue.build());
7055    
7056            return this;
7057          }
7058          /**
7059           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7060           */
7061          public Builder addUpperBound(
7062              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
7063            ensureUpperBoundIsMutable();
7064            upperBound_.add(index, builderForValue.build());
7065    
7066            return this;
7067          }
7068          /**
7069           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7070           */
7071          public Builder addAllUpperBound(
7072              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
7073            ensureUpperBoundIsMutable();
7074            super.addAll(values, upperBound_);
7075    
7076            return this;
7077          }
7078          /**
7079           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7080           */
7081          public Builder clearUpperBound() {
7082            upperBound_ = java.util.Collections.emptyList();
7083            bitField0_ = (bitField0_ & ~0x00000010);
7084    
7085            return this;
7086          }
7087          /**
7088           * <code>repeated .org.jetbrains.kotlin.serialization.Type upper_bound = 5;</code>
7089           */
7090          public Builder removeUpperBound(int index) {
7091            ensureUpperBoundIsMutable();
7092            upperBound_.remove(index);
7093    
7094            return this;
7095          }
7096    
7097          // repeated int32 upper_bound_id = 6;
7098          private java.util.List<java.lang.Integer> upperBoundId_ = java.util.Collections.emptyList();
7099          private void ensureUpperBoundIdIsMutable() {
7100            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
7101              upperBoundId_ = new java.util.ArrayList<java.lang.Integer>(upperBoundId_);
7102              bitField0_ |= 0x00000020;
7103             }
7104          }
7105          /**
7106           * <code>repeated int32 upper_bound_id = 6;</code>
7107           */
7108          public java.util.List<java.lang.Integer>
7109              getUpperBoundIdList() {
7110            return java.util.Collections.unmodifiableList(upperBoundId_);
7111          }
7112          /**
7113           * <code>repeated int32 upper_bound_id = 6;</code>
7114           */
7115          public int getUpperBoundIdCount() {
7116            return upperBoundId_.size();
7117          }
7118          /**
7119           * <code>repeated int32 upper_bound_id = 6;</code>
7120           */
7121          public int getUpperBoundId(int index) {
7122            return upperBoundId_.get(index);
7123          }
7124          /**
7125           * <code>repeated int32 upper_bound_id = 6;</code>
7126           */
7127          public Builder setUpperBoundId(
7128              int index, int value) {
7129            ensureUpperBoundIdIsMutable();
7130            upperBoundId_.set(index, value);
7131            
7132            return this;
7133          }
7134          /**
7135           * <code>repeated int32 upper_bound_id = 6;</code>
7136           */
7137          public Builder addUpperBoundId(int value) {
7138            ensureUpperBoundIdIsMutable();
7139            upperBoundId_.add(value);
7140            
7141            return this;
7142          }
7143          /**
7144           * <code>repeated int32 upper_bound_id = 6;</code>
7145           */
7146          public Builder addAllUpperBoundId(
7147              java.lang.Iterable<? extends java.lang.Integer> values) {
7148            ensureUpperBoundIdIsMutable();
7149            super.addAll(values, upperBoundId_);
7150            
7151            return this;
7152          }
7153          /**
7154           * <code>repeated int32 upper_bound_id = 6;</code>
7155           */
7156          public Builder clearUpperBoundId() {
7157            upperBoundId_ = java.util.Collections.emptyList();
7158            bitField0_ = (bitField0_ & ~0x00000020);
7159            
7160            return this;
7161          }
7162    
7163          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.TypeParameter)
7164        }
7165    
7166        static {
7167          defaultInstance = new TypeParameter(true);
7168          defaultInstance.initFields();
7169        }
7170    
7171        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.TypeParameter)
7172      }
7173    
7174      public interface ClassOrBuilder extends 
7175           com.google.protobuf.GeneratedMessageLite.
7176                ExtendableMessageOrBuilder<Class> {
7177    
7178        // optional int32 flags = 1 [default = 6];
7179        /**
7180         * <code>optional int32 flags = 1 [default = 6];</code>
7181         *
7182         * <pre>
7183         *
7184         *hasAnnotations
7185         *Visibility
7186         *Modality
7187         *ClassKind
7188         *isInner
7189         *isData
7190         * </pre>
7191         */
7192        boolean hasFlags();
7193        /**
7194         * <code>optional int32 flags = 1 [default = 6];</code>
7195         *
7196         * <pre>
7197         *
7198         *hasAnnotations
7199         *Visibility
7200         *Modality
7201         *ClassKind
7202         *isInner
7203         *isData
7204         * </pre>
7205         */
7206        int getFlags();
7207    
7208        // required int32 fq_name = 3;
7209        /**
7210         * <code>required int32 fq_name = 3;</code>
7211         */
7212        boolean hasFqName();
7213        /**
7214         * <code>required int32 fq_name = 3;</code>
7215         */
7216        int getFqName();
7217    
7218        // optional int32 companion_object_name = 4;
7219        /**
7220         * <code>optional int32 companion_object_name = 4;</code>
7221         */
7222        boolean hasCompanionObjectName();
7223        /**
7224         * <code>optional int32 companion_object_name = 4;</code>
7225         */
7226        int getCompanionObjectName();
7227    
7228        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;
7229        /**
7230         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7231         */
7232        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
7233            getTypeParameterList();
7234        /**
7235         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7236         */
7237        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
7238        /**
7239         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7240         */
7241        int getTypeParameterCount();
7242    
7243        // repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;
7244        /**
7245         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7246         */
7247        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> 
7248            getSupertypeList();
7249        /**
7250         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7251         */
7252        org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index);
7253        /**
7254         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7255         */
7256        int getSupertypeCount();
7257    
7258        // repeated int32 supertype_id = 2 [packed = true];
7259        /**
7260         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
7261         */
7262        java.util.List<java.lang.Integer> getSupertypeIdList();
7263        /**
7264         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
7265         */
7266        int getSupertypeIdCount();
7267        /**
7268         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
7269         */
7270        int getSupertypeId(int index);
7271    
7272        // repeated int32 nested_class_name = 7 [packed = true];
7273        /**
7274         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
7275         */
7276        java.util.List<java.lang.Integer> getNestedClassNameList();
7277        /**
7278         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
7279         */
7280        int getNestedClassNameCount();
7281        /**
7282         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
7283         */
7284        int getNestedClassName(int index);
7285    
7286        // repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;
7287        /**
7288         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
7289         */
7290        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> 
7291            getConstructorList();
7292        /**
7293         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
7294         */
7295        org.jetbrains.kotlin.serialization.ProtoBuf.Constructor getConstructor(int index);
7296        /**
7297         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
7298         */
7299        int getConstructorCount();
7300    
7301        // repeated .org.jetbrains.kotlin.serialization.Function function = 9;
7302        /**
7303         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
7304         */
7305        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> 
7306            getFunctionList();
7307        /**
7308         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
7309         */
7310        org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index);
7311        /**
7312         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
7313         */
7314        int getFunctionCount();
7315    
7316        // repeated .org.jetbrains.kotlin.serialization.Property property = 10;
7317        /**
7318         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
7319         */
7320        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> 
7321            getPropertyList();
7322        /**
7323         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
7324         */
7325        org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index);
7326        /**
7327         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
7328         */
7329        int getPropertyCount();
7330    
7331        // repeated int32 enum_entry = 12 [packed = true];
7332        /**
7333         * <code>repeated int32 enum_entry = 12 [packed = true];</code>
7334         */
7335        java.util.List<java.lang.Integer> getEnumEntryList();
7336        /**
7337         * <code>repeated int32 enum_entry = 12 [packed = true];</code>
7338         */
7339        int getEnumEntryCount();
7340        /**
7341         * <code>repeated int32 enum_entry = 12 [packed = true];</code>
7342         */
7343        int getEnumEntry(int index);
7344    
7345        // optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;
7346        /**
7347         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
7348         */
7349        boolean hasTypeTable();
7350        /**
7351         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
7352         */
7353        org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable();
7354      }
7355      /**
7356       * Protobuf type {@code org.jetbrains.kotlin.serialization.Class}
7357       */
7358      public static final class Class extends
7359          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
7360            Class> implements ClassOrBuilder {
7361        // Use Class.newBuilder() to construct.
7362        private Class(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Class, ?> builder) {
7363          super(builder);
7364    
7365        }
7366        private Class(boolean noInit) {}
7367    
7368        private static final Class defaultInstance;
7369        public static Class getDefaultInstance() {
7370          return defaultInstance;
7371        }
7372    
7373        public Class getDefaultInstanceForType() {
7374          return defaultInstance;
7375        }
7376    
7377        private Class(
7378            com.google.protobuf.CodedInputStream input,
7379            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7380            throws com.google.protobuf.InvalidProtocolBufferException {
7381          initFields();
7382          int mutable_bitField0_ = 0;
7383          try {
7384            boolean done = false;
7385            while (!done) {
7386              int tag = input.readTag();
7387              switch (tag) {
7388                case 0:
7389                  done = true;
7390                  break;
7391                default: {
7392                  if (!parseUnknownField(input,
7393                                         extensionRegistry, tag)) {
7394                    done = true;
7395                  }
7396                  break;
7397                }
7398                case 8: {
7399                  bitField0_ |= 0x00000001;
7400                  flags_ = input.readInt32();
7401                  break;
7402                }
7403                case 16: {
7404                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
7405                    supertypeId_ = new java.util.ArrayList<java.lang.Integer>();
7406                    mutable_bitField0_ |= 0x00000020;
7407                  }
7408                  supertypeId_.add(input.readInt32());
7409                  break;
7410                }
7411                case 18: {
7412                  int length = input.readRawVarint32();
7413                  int limit = input.pushLimit(length);
7414                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
7415                    supertypeId_ = new java.util.ArrayList<java.lang.Integer>();
7416                    mutable_bitField0_ |= 0x00000020;
7417                  }
7418                  while (input.getBytesUntilLimit() > 0) {
7419                    supertypeId_.add(input.readInt32());
7420                  }
7421                  input.popLimit(limit);
7422                  break;
7423                }
7424                case 24: {
7425                  bitField0_ |= 0x00000002;
7426                  fqName_ = input.readInt32();
7427                  break;
7428                }
7429                case 32: {
7430                  bitField0_ |= 0x00000004;
7431                  companionObjectName_ = input.readInt32();
7432                  break;
7433                }
7434                case 42: {
7435                  if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
7436                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
7437                    mutable_bitField0_ |= 0x00000008;
7438                  }
7439                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
7440                  break;
7441                }
7442                case 50: {
7443                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7444                    supertype_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
7445                    mutable_bitField0_ |= 0x00000010;
7446                  }
7447                  supertype_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
7448                  break;
7449                }
7450                case 56: {
7451                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
7452                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
7453                    mutable_bitField0_ |= 0x00000040;
7454                  }
7455                  nestedClassName_.add(input.readInt32());
7456                  break;
7457                }
7458                case 58: {
7459                  int length = input.readRawVarint32();
7460                  int limit = input.pushLimit(length);
7461                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) {
7462                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
7463                    mutable_bitField0_ |= 0x00000040;
7464                  }
7465                  while (input.getBytesUntilLimit() > 0) {
7466                    nestedClassName_.add(input.readInt32());
7467                  }
7468                  input.popLimit(limit);
7469                  break;
7470                }
7471                case 66: {
7472                  if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
7473                    constructor_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor>();
7474                    mutable_bitField0_ |= 0x00000080;
7475                  }
7476                  constructor_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.PARSER, extensionRegistry));
7477                  break;
7478                }
7479                case 74: {
7480                  if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
7481                    function_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Function>();
7482                    mutable_bitField0_ |= 0x00000100;
7483                  }
7484                  function_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Function.PARSER, extensionRegistry));
7485                  break;
7486                }
7487                case 82: {
7488                  if (!((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
7489                    property_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Property>();
7490                    mutable_bitField0_ |= 0x00000200;
7491                  }
7492                  property_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Property.PARSER, extensionRegistry));
7493                  break;
7494                }
7495                case 96: {
7496                  if (!((mutable_bitField0_ & 0x00000400) == 0x00000400)) {
7497                    enumEntry_ = new java.util.ArrayList<java.lang.Integer>();
7498                    mutable_bitField0_ |= 0x00000400;
7499                  }
7500                  enumEntry_.add(input.readInt32());
7501                  break;
7502                }
7503                case 98: {
7504                  int length = input.readRawVarint32();
7505                  int limit = input.pushLimit(length);
7506                  if (!((mutable_bitField0_ & 0x00000400) == 0x00000400) && input.getBytesUntilLimit() > 0) {
7507                    enumEntry_ = new java.util.ArrayList<java.lang.Integer>();
7508                    mutable_bitField0_ |= 0x00000400;
7509                  }
7510                  while (input.getBytesUntilLimit() > 0) {
7511                    enumEntry_.add(input.readInt32());
7512                  }
7513                  input.popLimit(limit);
7514                  break;
7515                }
7516                case 242: {
7517                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder subBuilder = null;
7518                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
7519                    subBuilder = typeTable_.toBuilder();
7520                  }
7521                  typeTable_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.PARSER, extensionRegistry);
7522                  if (subBuilder != null) {
7523                    subBuilder.mergeFrom(typeTable_);
7524                    typeTable_ = subBuilder.buildPartial();
7525                  }
7526                  bitField0_ |= 0x00000008;
7527                  break;
7528                }
7529              }
7530            }
7531          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7532            throw e.setUnfinishedMessage(this);
7533          } catch (java.io.IOException e) {
7534            throw new com.google.protobuf.InvalidProtocolBufferException(
7535                e.getMessage()).setUnfinishedMessage(this);
7536          } finally {
7537            if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
7538              supertypeId_ = java.util.Collections.unmodifiableList(supertypeId_);
7539            }
7540            if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
7541              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
7542            }
7543            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7544              supertype_ = java.util.Collections.unmodifiableList(supertype_);
7545            }
7546            if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
7547              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
7548            }
7549            if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
7550              constructor_ = java.util.Collections.unmodifiableList(constructor_);
7551            }
7552            if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
7553              function_ = java.util.Collections.unmodifiableList(function_);
7554            }
7555            if (((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
7556              property_ = java.util.Collections.unmodifiableList(property_);
7557            }
7558            if (((mutable_bitField0_ & 0x00000400) == 0x00000400)) {
7559              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
7560            }
7561            makeExtensionsImmutable();
7562          }
7563        }
7564        public static com.google.protobuf.Parser<Class> PARSER =
7565            new com.google.protobuf.AbstractParser<Class>() {
7566          public Class parsePartialFrom(
7567              com.google.protobuf.CodedInputStream input,
7568              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7569              throws com.google.protobuf.InvalidProtocolBufferException {
7570            return new Class(input, extensionRegistry);
7571          }
7572        };
7573    
7574        @java.lang.Override
7575        public com.google.protobuf.Parser<Class> getParserForType() {
7576          return PARSER;
7577        }
7578    
7579        /**
7580         * Protobuf enum {@code org.jetbrains.kotlin.serialization.Class.Kind}
7581         */
7582        public enum Kind
7583            implements com.google.protobuf.Internal.EnumLite {
7584          /**
7585           * <code>CLASS = 0;</code>
7586           *
7587           * <pre>
7588           * 3 bits
7589           * </pre>
7590           */
7591          CLASS(0, 0),
7592          /**
7593           * <code>INTERFACE = 1;</code>
7594           */
7595          INTERFACE(1, 1),
7596          /**
7597           * <code>ENUM_CLASS = 2;</code>
7598           */
7599          ENUM_CLASS(2, 2),
7600          /**
7601           * <code>ENUM_ENTRY = 3;</code>
7602           */
7603          ENUM_ENTRY(3, 3),
7604          /**
7605           * <code>ANNOTATION_CLASS = 4;</code>
7606           */
7607          ANNOTATION_CLASS(4, 4),
7608          /**
7609           * <code>OBJECT = 5;</code>
7610           */
7611          OBJECT(5, 5),
7612          /**
7613           * <code>COMPANION_OBJECT = 6;</code>
7614           */
7615          COMPANION_OBJECT(6, 6),
7616          ;
7617    
7618          /**
7619           * <code>CLASS = 0;</code>
7620           *
7621           * <pre>
7622           * 3 bits
7623           * </pre>
7624           */
7625          public static final int CLASS_VALUE = 0;
7626          /**
7627           * <code>INTERFACE = 1;</code>
7628           */
7629          public static final int INTERFACE_VALUE = 1;
7630          /**
7631           * <code>ENUM_CLASS = 2;</code>
7632           */
7633          public static final int ENUM_CLASS_VALUE = 2;
7634          /**
7635           * <code>ENUM_ENTRY = 3;</code>
7636           */
7637          public static final int ENUM_ENTRY_VALUE = 3;
7638          /**
7639           * <code>ANNOTATION_CLASS = 4;</code>
7640           */
7641          public static final int ANNOTATION_CLASS_VALUE = 4;
7642          /**
7643           * <code>OBJECT = 5;</code>
7644           */
7645          public static final int OBJECT_VALUE = 5;
7646          /**
7647           * <code>COMPANION_OBJECT = 6;</code>
7648           */
7649          public static final int COMPANION_OBJECT_VALUE = 6;
7650    
7651    
7652          public final int getNumber() { return value; }
7653    
7654          public static Kind valueOf(int value) {
7655            switch (value) {
7656              case 0: return CLASS;
7657              case 1: return INTERFACE;
7658              case 2: return ENUM_CLASS;
7659              case 3: return ENUM_ENTRY;
7660              case 4: return ANNOTATION_CLASS;
7661              case 5: return OBJECT;
7662              case 6: return COMPANION_OBJECT;
7663              default: return null;
7664            }
7665          }
7666    
7667          public static com.google.protobuf.Internal.EnumLiteMap<Kind>
7668              internalGetValueMap() {
7669            return internalValueMap;
7670          }
7671          private static com.google.protobuf.Internal.EnumLiteMap<Kind>
7672              internalValueMap =
7673                new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
7674                  public Kind findValueByNumber(int number) {
7675                    return Kind.valueOf(number);
7676                  }
7677                };
7678    
7679          private final int value;
7680    
7681          private Kind(int index, int value) {
7682            this.value = value;
7683          }
7684    
7685          // @@protoc_insertion_point(enum_scope:org.jetbrains.kotlin.serialization.Class.Kind)
7686        }
7687    
7688        private int bitField0_;
7689        // optional int32 flags = 1 [default = 6];
7690        public static final int FLAGS_FIELD_NUMBER = 1;
7691        private int flags_;
7692        /**
7693         * <code>optional int32 flags = 1 [default = 6];</code>
7694         *
7695         * <pre>
7696         *
7697         *hasAnnotations
7698         *Visibility
7699         *Modality
7700         *ClassKind
7701         *isInner
7702         *isData
7703         * </pre>
7704         */
7705        public boolean hasFlags() {
7706          return ((bitField0_ & 0x00000001) == 0x00000001);
7707        }
7708        /**
7709         * <code>optional int32 flags = 1 [default = 6];</code>
7710         *
7711         * <pre>
7712         *
7713         *hasAnnotations
7714         *Visibility
7715         *Modality
7716         *ClassKind
7717         *isInner
7718         *isData
7719         * </pre>
7720         */
7721        public int getFlags() {
7722          return flags_;
7723        }
7724    
7725        // required int32 fq_name = 3;
7726        public static final int FQ_NAME_FIELD_NUMBER = 3;
7727        private int fqName_;
7728        /**
7729         * <code>required int32 fq_name = 3;</code>
7730         */
7731        public boolean hasFqName() {
7732          return ((bitField0_ & 0x00000002) == 0x00000002);
7733        }
7734        /**
7735         * <code>required int32 fq_name = 3;</code>
7736         */
7737        public int getFqName() {
7738          return fqName_;
7739        }
7740    
7741        // optional int32 companion_object_name = 4;
7742        public static final int COMPANION_OBJECT_NAME_FIELD_NUMBER = 4;
7743        private int companionObjectName_;
7744        /**
7745         * <code>optional int32 companion_object_name = 4;</code>
7746         */
7747        public boolean hasCompanionObjectName() {
7748          return ((bitField0_ & 0x00000004) == 0x00000004);
7749        }
7750        /**
7751         * <code>optional int32 companion_object_name = 4;</code>
7752         */
7753        public int getCompanionObjectName() {
7754          return companionObjectName_;
7755        }
7756    
7757        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;
7758        public static final int TYPE_PARAMETER_FIELD_NUMBER = 5;
7759        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
7760        /**
7761         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7762         */
7763        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
7764          return typeParameter_;
7765        }
7766        /**
7767         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7768         */
7769        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
7770            getTypeParameterOrBuilderList() {
7771          return typeParameter_;
7772        }
7773        /**
7774         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7775         */
7776        public int getTypeParameterCount() {
7777          return typeParameter_.size();
7778        }
7779        /**
7780         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7781         */
7782        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
7783          return typeParameter_.get(index);
7784        }
7785        /**
7786         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
7787         */
7788        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
7789            int index) {
7790          return typeParameter_.get(index);
7791        }
7792    
7793        // repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;
7794        public static final int SUPERTYPE_FIELD_NUMBER = 6;
7795        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> supertype_;
7796        /**
7797         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7798         */
7799        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getSupertypeList() {
7800          return supertype_;
7801        }
7802        /**
7803         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7804         */
7805        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
7806            getSupertypeOrBuilderList() {
7807          return supertype_;
7808        }
7809        /**
7810         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7811         */
7812        public int getSupertypeCount() {
7813          return supertype_.size();
7814        }
7815        /**
7816         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7817         */
7818        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index) {
7819          return supertype_.get(index);
7820        }
7821        /**
7822         * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
7823         */
7824        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getSupertypeOrBuilder(
7825            int index) {
7826          return supertype_.get(index);
7827        }
7828    
7829        // repeated int32 supertype_id = 2 [packed = true];
7830        public static final int SUPERTYPE_ID_FIELD_NUMBER = 2;
7831        private java.util.List<java.lang.Integer> supertypeId_;
7832        /**
7833         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
7834         */
7835        public java.util.List<java.lang.Integer>
7836            getSupertypeIdList() {
7837          return supertypeId_;
7838        }
7839        /**
7840         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
7841         */
7842        public int getSupertypeIdCount() {
7843          return supertypeId_.size();
7844        }
7845        /**
7846         * <code>repeated int32 supertype_id = 2 [packed = true];</code>
7847         */
7848        public int getSupertypeId(int index) {
7849          return supertypeId_.get(index);
7850        }
7851        private int supertypeIdMemoizedSerializedSize = -1;
7852    
7853        // repeated int32 nested_class_name = 7 [packed = true];
7854        public static final int NESTED_CLASS_NAME_FIELD_NUMBER = 7;
7855        private java.util.List<java.lang.Integer> nestedClassName_;
7856        /**
7857         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
7858         */
7859        public java.util.List<java.lang.Integer>
7860            getNestedClassNameList() {
7861          return nestedClassName_;
7862        }
7863        /**
7864         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
7865         */
7866        public int getNestedClassNameCount() {
7867          return nestedClassName_.size();
7868        }
7869        /**
7870         * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
7871         */
7872        public int getNestedClassName(int index) {
7873          return nestedClassName_.get(index);
7874        }
7875        private int nestedClassNameMemoizedSerializedSize = -1;
7876    
7877        // repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;
7878        public static final int CONSTRUCTOR_FIELD_NUMBER = 8;
7879        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> constructor_;
7880        /**
7881         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
7882         */
7883        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> getConstructorList() {
7884          return constructor_;
7885        }
7886        /**
7887         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
7888         */
7889        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ConstructorOrBuilder> 
7890            getConstructorOrBuilderList() {
7891          return constructor_;
7892        }
7893        /**
7894         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
7895         */
7896        public int getConstructorCount() {
7897          return constructor_.size();
7898        }
7899        /**
7900         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
7901         */
7902        public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor getConstructor(int index) {
7903          return constructor_.get(index);
7904        }
7905        /**
7906         * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
7907         */
7908        public org.jetbrains.kotlin.serialization.ProtoBuf.ConstructorOrBuilder getConstructorOrBuilder(
7909            int index) {
7910          return constructor_.get(index);
7911        }
7912    
7913        // repeated .org.jetbrains.kotlin.serialization.Function function = 9;
7914        public static final int FUNCTION_FIELD_NUMBER = 9;
7915        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> function_;
7916        /**
7917         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
7918         */
7919        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> getFunctionList() {
7920          return function_;
7921        }
7922        /**
7923         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
7924         */
7925        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder> 
7926            getFunctionOrBuilderList() {
7927          return function_;
7928        }
7929        /**
7930         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
7931         */
7932        public int getFunctionCount() {
7933          return function_.size();
7934        }
7935        /**
7936         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
7937         */
7938        public org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index) {
7939          return function_.get(index);
7940        }
7941        /**
7942         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
7943         */
7944        public org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder getFunctionOrBuilder(
7945            int index) {
7946          return function_.get(index);
7947        }
7948    
7949        // repeated .org.jetbrains.kotlin.serialization.Property property = 10;
7950        public static final int PROPERTY_FIELD_NUMBER = 10;
7951        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> property_;
7952        /**
7953         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
7954         */
7955        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> getPropertyList() {
7956          return property_;
7957        }
7958        /**
7959         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
7960         */
7961        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder> 
7962            getPropertyOrBuilderList() {
7963          return property_;
7964        }
7965        /**
7966         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
7967         */
7968        public int getPropertyCount() {
7969          return property_.size();
7970        }
7971        /**
7972         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
7973         */
7974        public org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index) {
7975          return property_.get(index);
7976        }
7977        /**
7978         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
7979         */
7980        public org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder getPropertyOrBuilder(
7981            int index) {
7982          return property_.get(index);
7983        }
7984    
7985        // repeated int32 enum_entry = 12 [packed = true];
7986        public static final int ENUM_ENTRY_FIELD_NUMBER = 12;
7987        private java.util.List<java.lang.Integer> enumEntry_;
7988        /**
7989         * <code>repeated int32 enum_entry = 12 [packed = true];</code>
7990         */
7991        public java.util.List<java.lang.Integer>
7992            getEnumEntryList() {
7993          return enumEntry_;
7994        }
7995        /**
7996         * <code>repeated int32 enum_entry = 12 [packed = true];</code>
7997         */
7998        public int getEnumEntryCount() {
7999          return enumEntry_.size();
8000        }
8001        /**
8002         * <code>repeated int32 enum_entry = 12 [packed = true];</code>
8003         */
8004        public int getEnumEntry(int index) {
8005          return enumEntry_.get(index);
8006        }
8007        private int enumEntryMemoizedSerializedSize = -1;
8008    
8009        // optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;
8010        public static final int TYPE_TABLE_FIELD_NUMBER = 30;
8011        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_;
8012        /**
8013         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
8014         */
8015        public boolean hasTypeTable() {
8016          return ((bitField0_ & 0x00000008) == 0x00000008);
8017        }
8018        /**
8019         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
8020         */
8021        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
8022          return typeTable_;
8023        }
8024    
8025        private void initFields() {
8026          flags_ = 6;
8027          fqName_ = 0;
8028          companionObjectName_ = 0;
8029          typeParameter_ = java.util.Collections.emptyList();
8030          supertype_ = java.util.Collections.emptyList();
8031          supertypeId_ = java.util.Collections.emptyList();
8032          nestedClassName_ = java.util.Collections.emptyList();
8033          constructor_ = java.util.Collections.emptyList();
8034          function_ = java.util.Collections.emptyList();
8035          property_ = java.util.Collections.emptyList();
8036          enumEntry_ = java.util.Collections.emptyList();
8037          typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
8038        }
8039        private byte memoizedIsInitialized = -1;
8040        public final boolean isInitialized() {
8041          byte isInitialized = memoizedIsInitialized;
8042          if (isInitialized != -1) return isInitialized == 1;
8043    
8044          if (!hasFqName()) {
8045            memoizedIsInitialized = 0;
8046            return false;
8047          }
8048          for (int i = 0; i < getTypeParameterCount(); i++) {
8049            if (!getTypeParameter(i).isInitialized()) {
8050              memoizedIsInitialized = 0;
8051              return false;
8052            }
8053          }
8054          for (int i = 0; i < getSupertypeCount(); i++) {
8055            if (!getSupertype(i).isInitialized()) {
8056              memoizedIsInitialized = 0;
8057              return false;
8058            }
8059          }
8060          for (int i = 0; i < getConstructorCount(); i++) {
8061            if (!getConstructor(i).isInitialized()) {
8062              memoizedIsInitialized = 0;
8063              return false;
8064            }
8065          }
8066          for (int i = 0; i < getFunctionCount(); i++) {
8067            if (!getFunction(i).isInitialized()) {
8068              memoizedIsInitialized = 0;
8069              return false;
8070            }
8071          }
8072          for (int i = 0; i < getPropertyCount(); i++) {
8073            if (!getProperty(i).isInitialized()) {
8074              memoizedIsInitialized = 0;
8075              return false;
8076            }
8077          }
8078          if (hasTypeTable()) {
8079            if (!getTypeTable().isInitialized()) {
8080              memoizedIsInitialized = 0;
8081              return false;
8082            }
8083          }
8084          if (!extensionsAreInitialized()) {
8085            memoizedIsInitialized = 0;
8086            return false;
8087          }
8088          memoizedIsInitialized = 1;
8089          return true;
8090        }
8091    
8092        public void writeTo(com.google.protobuf.CodedOutputStream output)
8093                            throws java.io.IOException {
8094          getSerializedSize();
8095          com.google.protobuf.GeneratedMessageLite
8096            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Class>.ExtensionWriter extensionWriter =
8097              newExtensionWriter();
8098          if (((bitField0_ & 0x00000001) == 0x00000001)) {
8099            output.writeInt32(1, flags_);
8100          }
8101          if (getSupertypeIdList().size() > 0) {
8102            output.writeRawVarint32(18);
8103            output.writeRawVarint32(supertypeIdMemoizedSerializedSize);
8104          }
8105          for (int i = 0; i < supertypeId_.size(); i++) {
8106            output.writeInt32NoTag(supertypeId_.get(i));
8107          }
8108          if (((bitField0_ & 0x00000002) == 0x00000002)) {
8109            output.writeInt32(3, fqName_);
8110          }
8111          if (((bitField0_ & 0x00000004) == 0x00000004)) {
8112            output.writeInt32(4, companionObjectName_);
8113          }
8114          for (int i = 0; i < typeParameter_.size(); i++) {
8115            output.writeMessage(5, typeParameter_.get(i));
8116          }
8117          for (int i = 0; i < supertype_.size(); i++) {
8118            output.writeMessage(6, supertype_.get(i));
8119          }
8120          if (getNestedClassNameList().size() > 0) {
8121            output.writeRawVarint32(58);
8122            output.writeRawVarint32(nestedClassNameMemoizedSerializedSize);
8123          }
8124          for (int i = 0; i < nestedClassName_.size(); i++) {
8125            output.writeInt32NoTag(nestedClassName_.get(i));
8126          }
8127          for (int i = 0; i < constructor_.size(); i++) {
8128            output.writeMessage(8, constructor_.get(i));
8129          }
8130          for (int i = 0; i < function_.size(); i++) {
8131            output.writeMessage(9, function_.get(i));
8132          }
8133          for (int i = 0; i < property_.size(); i++) {
8134            output.writeMessage(10, property_.get(i));
8135          }
8136          if (getEnumEntryList().size() > 0) {
8137            output.writeRawVarint32(98);
8138            output.writeRawVarint32(enumEntryMemoizedSerializedSize);
8139          }
8140          for (int i = 0; i < enumEntry_.size(); i++) {
8141            output.writeInt32NoTag(enumEntry_.get(i));
8142          }
8143          if (((bitField0_ & 0x00000008) == 0x00000008)) {
8144            output.writeMessage(30, typeTable_);
8145          }
8146          extensionWriter.writeUntil(200, output);
8147        }
8148    
8149        private int memoizedSerializedSize = -1;
8150        public int getSerializedSize() {
8151          int size = memoizedSerializedSize;
8152          if (size != -1) return size;
8153    
8154          size = 0;
8155          if (((bitField0_ & 0x00000001) == 0x00000001)) {
8156            size += com.google.protobuf.CodedOutputStream
8157              .computeInt32Size(1, flags_);
8158          }
8159          {
8160            int dataSize = 0;
8161            for (int i = 0; i < supertypeId_.size(); i++) {
8162              dataSize += com.google.protobuf.CodedOutputStream
8163                .computeInt32SizeNoTag(supertypeId_.get(i));
8164            }
8165            size += dataSize;
8166            if (!getSupertypeIdList().isEmpty()) {
8167              size += 1;
8168              size += com.google.protobuf.CodedOutputStream
8169                  .computeInt32SizeNoTag(dataSize);
8170            }
8171            supertypeIdMemoizedSerializedSize = dataSize;
8172          }
8173          if (((bitField0_ & 0x00000002) == 0x00000002)) {
8174            size += com.google.protobuf.CodedOutputStream
8175              .computeInt32Size(3, fqName_);
8176          }
8177          if (((bitField0_ & 0x00000004) == 0x00000004)) {
8178            size += com.google.protobuf.CodedOutputStream
8179              .computeInt32Size(4, companionObjectName_);
8180          }
8181          for (int i = 0; i < typeParameter_.size(); i++) {
8182            size += com.google.protobuf.CodedOutputStream
8183              .computeMessageSize(5, typeParameter_.get(i));
8184          }
8185          for (int i = 0; i < supertype_.size(); i++) {
8186            size += com.google.protobuf.CodedOutputStream
8187              .computeMessageSize(6, supertype_.get(i));
8188          }
8189          {
8190            int dataSize = 0;
8191            for (int i = 0; i < nestedClassName_.size(); i++) {
8192              dataSize += com.google.protobuf.CodedOutputStream
8193                .computeInt32SizeNoTag(nestedClassName_.get(i));
8194            }
8195            size += dataSize;
8196            if (!getNestedClassNameList().isEmpty()) {
8197              size += 1;
8198              size += com.google.protobuf.CodedOutputStream
8199                  .computeInt32SizeNoTag(dataSize);
8200            }
8201            nestedClassNameMemoizedSerializedSize = dataSize;
8202          }
8203          for (int i = 0; i < constructor_.size(); i++) {
8204            size += com.google.protobuf.CodedOutputStream
8205              .computeMessageSize(8, constructor_.get(i));
8206          }
8207          for (int i = 0; i < function_.size(); i++) {
8208            size += com.google.protobuf.CodedOutputStream
8209              .computeMessageSize(9, function_.get(i));
8210          }
8211          for (int i = 0; i < property_.size(); i++) {
8212            size += com.google.protobuf.CodedOutputStream
8213              .computeMessageSize(10, property_.get(i));
8214          }
8215          {
8216            int dataSize = 0;
8217            for (int i = 0; i < enumEntry_.size(); i++) {
8218              dataSize += com.google.protobuf.CodedOutputStream
8219                .computeInt32SizeNoTag(enumEntry_.get(i));
8220            }
8221            size += dataSize;
8222            if (!getEnumEntryList().isEmpty()) {
8223              size += 1;
8224              size += com.google.protobuf.CodedOutputStream
8225                  .computeInt32SizeNoTag(dataSize);
8226            }
8227            enumEntryMemoizedSerializedSize = dataSize;
8228          }
8229          if (((bitField0_ & 0x00000008) == 0x00000008)) {
8230            size += com.google.protobuf.CodedOutputStream
8231              .computeMessageSize(30, typeTable_);
8232          }
8233          size += extensionsSerializedSize();
8234          memoizedSerializedSize = size;
8235          return size;
8236        }
8237    
8238        private static final long serialVersionUID = 0L;
8239        @java.lang.Override
8240        protected java.lang.Object writeReplace()
8241            throws java.io.ObjectStreamException {
8242          return super.writeReplace();
8243        }
8244    
8245        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8246            com.google.protobuf.ByteString data)
8247            throws com.google.protobuf.InvalidProtocolBufferException {
8248          return PARSER.parseFrom(data);
8249        }
8250        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8251            com.google.protobuf.ByteString data,
8252            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8253            throws com.google.protobuf.InvalidProtocolBufferException {
8254          return PARSER.parseFrom(data, extensionRegistry);
8255        }
8256        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(byte[] data)
8257            throws com.google.protobuf.InvalidProtocolBufferException {
8258          return PARSER.parseFrom(data);
8259        }
8260        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8261            byte[] data,
8262            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8263            throws com.google.protobuf.InvalidProtocolBufferException {
8264          return PARSER.parseFrom(data, extensionRegistry);
8265        }
8266        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(java.io.InputStream input)
8267            throws java.io.IOException {
8268          return PARSER.parseFrom(input);
8269        }
8270        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8271            java.io.InputStream input,
8272            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8273            throws java.io.IOException {
8274          return PARSER.parseFrom(input, extensionRegistry);
8275        }
8276        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseDelimitedFrom(java.io.InputStream input)
8277            throws java.io.IOException {
8278          return PARSER.parseDelimitedFrom(input);
8279        }
8280        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseDelimitedFrom(
8281            java.io.InputStream input,
8282            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8283            throws java.io.IOException {
8284          return PARSER.parseDelimitedFrom(input, extensionRegistry);
8285        }
8286        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8287            com.google.protobuf.CodedInputStream input)
8288            throws java.io.IOException {
8289          return PARSER.parseFrom(input);
8290        }
8291        public static org.jetbrains.kotlin.serialization.ProtoBuf.Class parseFrom(
8292            com.google.protobuf.CodedInputStream input,
8293            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8294            throws java.io.IOException {
8295          return PARSER.parseFrom(input, extensionRegistry);
8296        }
8297    
8298        public static Builder newBuilder() { return Builder.create(); }
8299        public Builder newBuilderForType() { return newBuilder(); }
8300        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Class prototype) {
8301          return newBuilder().mergeFrom(prototype);
8302        }
8303        public Builder toBuilder() { return newBuilder(this); }
8304    
8305        /**
8306         * Protobuf type {@code org.jetbrains.kotlin.serialization.Class}
8307         */
8308        public static final class Builder extends
8309            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
8310              org.jetbrains.kotlin.serialization.ProtoBuf.Class, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.ClassOrBuilder {
8311          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Class.newBuilder()
8312          private Builder() {
8313            maybeForceBuilderInitialization();
8314          }
8315    
8316          private void maybeForceBuilderInitialization() {
8317          }
8318          private static Builder create() {
8319            return new Builder();
8320          }
8321    
8322          public Builder clear() {
8323            super.clear();
8324            flags_ = 6;
8325            bitField0_ = (bitField0_ & ~0x00000001);
8326            fqName_ = 0;
8327            bitField0_ = (bitField0_ & ~0x00000002);
8328            companionObjectName_ = 0;
8329            bitField0_ = (bitField0_ & ~0x00000004);
8330            typeParameter_ = java.util.Collections.emptyList();
8331            bitField0_ = (bitField0_ & ~0x00000008);
8332            supertype_ = java.util.Collections.emptyList();
8333            bitField0_ = (bitField0_ & ~0x00000010);
8334            supertypeId_ = java.util.Collections.emptyList();
8335            bitField0_ = (bitField0_ & ~0x00000020);
8336            nestedClassName_ = java.util.Collections.emptyList();
8337            bitField0_ = (bitField0_ & ~0x00000040);
8338            constructor_ = java.util.Collections.emptyList();
8339            bitField0_ = (bitField0_ & ~0x00000080);
8340            function_ = java.util.Collections.emptyList();
8341            bitField0_ = (bitField0_ & ~0x00000100);
8342            property_ = java.util.Collections.emptyList();
8343            bitField0_ = (bitField0_ & ~0x00000200);
8344            enumEntry_ = java.util.Collections.emptyList();
8345            bitField0_ = (bitField0_ & ~0x00000400);
8346            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
8347            bitField0_ = (bitField0_ & ~0x00000800);
8348            return this;
8349          }
8350    
8351          public Builder clone() {
8352            return create().mergeFrom(buildPartial());
8353          }
8354    
8355          public org.jetbrains.kotlin.serialization.ProtoBuf.Class getDefaultInstanceForType() {
8356            return org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance();
8357          }
8358    
8359          public org.jetbrains.kotlin.serialization.ProtoBuf.Class build() {
8360            org.jetbrains.kotlin.serialization.ProtoBuf.Class result = buildPartial();
8361            if (!result.isInitialized()) {
8362              throw newUninitializedMessageException(result);
8363            }
8364            return result;
8365          }
8366    
8367          public org.jetbrains.kotlin.serialization.ProtoBuf.Class buildPartial() {
8368            org.jetbrains.kotlin.serialization.ProtoBuf.Class result = new org.jetbrains.kotlin.serialization.ProtoBuf.Class(this);
8369            int from_bitField0_ = bitField0_;
8370            int to_bitField0_ = 0;
8371            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
8372              to_bitField0_ |= 0x00000001;
8373            }
8374            result.flags_ = flags_;
8375            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
8376              to_bitField0_ |= 0x00000002;
8377            }
8378            result.fqName_ = fqName_;
8379            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
8380              to_bitField0_ |= 0x00000004;
8381            }
8382            result.companionObjectName_ = companionObjectName_;
8383            if (((bitField0_ & 0x00000008) == 0x00000008)) {
8384              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
8385              bitField0_ = (bitField0_ & ~0x00000008);
8386            }
8387            result.typeParameter_ = typeParameter_;
8388            if (((bitField0_ & 0x00000010) == 0x00000010)) {
8389              supertype_ = java.util.Collections.unmodifiableList(supertype_);
8390              bitField0_ = (bitField0_ & ~0x00000010);
8391            }
8392            result.supertype_ = supertype_;
8393            if (((bitField0_ & 0x00000020) == 0x00000020)) {
8394              supertypeId_ = java.util.Collections.unmodifiableList(supertypeId_);
8395              bitField0_ = (bitField0_ & ~0x00000020);
8396            }
8397            result.supertypeId_ = supertypeId_;
8398            if (((bitField0_ & 0x00000040) == 0x00000040)) {
8399              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
8400              bitField0_ = (bitField0_ & ~0x00000040);
8401            }
8402            result.nestedClassName_ = nestedClassName_;
8403            if (((bitField0_ & 0x00000080) == 0x00000080)) {
8404              constructor_ = java.util.Collections.unmodifiableList(constructor_);
8405              bitField0_ = (bitField0_ & ~0x00000080);
8406            }
8407            result.constructor_ = constructor_;
8408            if (((bitField0_ & 0x00000100) == 0x00000100)) {
8409              function_ = java.util.Collections.unmodifiableList(function_);
8410              bitField0_ = (bitField0_ & ~0x00000100);
8411            }
8412            result.function_ = function_;
8413            if (((bitField0_ & 0x00000200) == 0x00000200)) {
8414              property_ = java.util.Collections.unmodifiableList(property_);
8415              bitField0_ = (bitField0_ & ~0x00000200);
8416            }
8417            result.property_ = property_;
8418            if (((bitField0_ & 0x00000400) == 0x00000400)) {
8419              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
8420              bitField0_ = (bitField0_ & ~0x00000400);
8421            }
8422            result.enumEntry_ = enumEntry_;
8423            if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
8424              to_bitField0_ |= 0x00000008;
8425            }
8426            result.typeTable_ = typeTable_;
8427            result.bitField0_ = to_bitField0_;
8428            return result;
8429          }
8430    
8431          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Class other) {
8432            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Class.getDefaultInstance()) return this;
8433            if (other.hasFlags()) {
8434              setFlags(other.getFlags());
8435            }
8436            if (other.hasFqName()) {
8437              setFqName(other.getFqName());
8438            }
8439            if (other.hasCompanionObjectName()) {
8440              setCompanionObjectName(other.getCompanionObjectName());
8441            }
8442            if (!other.typeParameter_.isEmpty()) {
8443              if (typeParameter_.isEmpty()) {
8444                typeParameter_ = other.typeParameter_;
8445                bitField0_ = (bitField0_ & ~0x00000008);
8446              } else {
8447                ensureTypeParameterIsMutable();
8448                typeParameter_.addAll(other.typeParameter_);
8449              }
8450              
8451            }
8452            if (!other.supertype_.isEmpty()) {
8453              if (supertype_.isEmpty()) {
8454                supertype_ = other.supertype_;
8455                bitField0_ = (bitField0_ & ~0x00000010);
8456              } else {
8457                ensureSupertypeIsMutable();
8458                supertype_.addAll(other.supertype_);
8459              }
8460              
8461            }
8462            if (!other.supertypeId_.isEmpty()) {
8463              if (supertypeId_.isEmpty()) {
8464                supertypeId_ = other.supertypeId_;
8465                bitField0_ = (bitField0_ & ~0x00000020);
8466              } else {
8467                ensureSupertypeIdIsMutable();
8468                supertypeId_.addAll(other.supertypeId_);
8469              }
8470              
8471            }
8472            if (!other.nestedClassName_.isEmpty()) {
8473              if (nestedClassName_.isEmpty()) {
8474                nestedClassName_ = other.nestedClassName_;
8475                bitField0_ = (bitField0_ & ~0x00000040);
8476              } else {
8477                ensureNestedClassNameIsMutable();
8478                nestedClassName_.addAll(other.nestedClassName_);
8479              }
8480              
8481            }
8482            if (!other.constructor_.isEmpty()) {
8483              if (constructor_.isEmpty()) {
8484                constructor_ = other.constructor_;
8485                bitField0_ = (bitField0_ & ~0x00000080);
8486              } else {
8487                ensureConstructorIsMutable();
8488                constructor_.addAll(other.constructor_);
8489              }
8490              
8491            }
8492            if (!other.function_.isEmpty()) {
8493              if (function_.isEmpty()) {
8494                function_ = other.function_;
8495                bitField0_ = (bitField0_ & ~0x00000100);
8496              } else {
8497                ensureFunctionIsMutable();
8498                function_.addAll(other.function_);
8499              }
8500              
8501            }
8502            if (!other.property_.isEmpty()) {
8503              if (property_.isEmpty()) {
8504                property_ = other.property_;
8505                bitField0_ = (bitField0_ & ~0x00000200);
8506              } else {
8507                ensurePropertyIsMutable();
8508                property_.addAll(other.property_);
8509              }
8510              
8511            }
8512            if (!other.enumEntry_.isEmpty()) {
8513              if (enumEntry_.isEmpty()) {
8514                enumEntry_ = other.enumEntry_;
8515                bitField0_ = (bitField0_ & ~0x00000400);
8516              } else {
8517                ensureEnumEntryIsMutable();
8518                enumEntry_.addAll(other.enumEntry_);
8519              }
8520              
8521            }
8522            if (other.hasTypeTable()) {
8523              mergeTypeTable(other.getTypeTable());
8524            }
8525            this.mergeExtensionFields(other);
8526            return this;
8527          }
8528    
8529          public final boolean isInitialized() {
8530            if (!hasFqName()) {
8531              
8532              return false;
8533            }
8534            for (int i = 0; i < getTypeParameterCount(); i++) {
8535              if (!getTypeParameter(i).isInitialized()) {
8536                
8537                return false;
8538              }
8539            }
8540            for (int i = 0; i < getSupertypeCount(); i++) {
8541              if (!getSupertype(i).isInitialized()) {
8542                
8543                return false;
8544              }
8545            }
8546            for (int i = 0; i < getConstructorCount(); i++) {
8547              if (!getConstructor(i).isInitialized()) {
8548                
8549                return false;
8550              }
8551            }
8552            for (int i = 0; i < getFunctionCount(); i++) {
8553              if (!getFunction(i).isInitialized()) {
8554                
8555                return false;
8556              }
8557            }
8558            for (int i = 0; i < getPropertyCount(); i++) {
8559              if (!getProperty(i).isInitialized()) {
8560                
8561                return false;
8562              }
8563            }
8564            if (hasTypeTable()) {
8565              if (!getTypeTable().isInitialized()) {
8566                
8567                return false;
8568              }
8569            }
8570            if (!extensionsAreInitialized()) {
8571              
8572              return false;
8573            }
8574            return true;
8575          }
8576    
8577          public Builder mergeFrom(
8578              com.google.protobuf.CodedInputStream input,
8579              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8580              throws java.io.IOException {
8581            org.jetbrains.kotlin.serialization.ProtoBuf.Class parsedMessage = null;
8582            try {
8583              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
8584            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8585              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Class) e.getUnfinishedMessage();
8586              throw e;
8587            } finally {
8588              if (parsedMessage != null) {
8589                mergeFrom(parsedMessage);
8590              }
8591            }
8592            return this;
8593          }
8594          private int bitField0_;
8595    
8596          // optional int32 flags = 1 [default = 6];
8597          private int flags_ = 6;
8598          /**
8599           * <code>optional int32 flags = 1 [default = 6];</code>
8600           *
8601           * <pre>
8602           *
8603           *hasAnnotations
8604           *Visibility
8605           *Modality
8606           *ClassKind
8607           *isInner
8608           *isData
8609           * </pre>
8610           */
8611          public boolean hasFlags() {
8612            return ((bitField0_ & 0x00000001) == 0x00000001);
8613          }
8614          /**
8615           * <code>optional int32 flags = 1 [default = 6];</code>
8616           *
8617           * <pre>
8618           *
8619           *hasAnnotations
8620           *Visibility
8621           *Modality
8622           *ClassKind
8623           *isInner
8624           *isData
8625           * </pre>
8626           */
8627          public int getFlags() {
8628            return flags_;
8629          }
8630          /**
8631           * <code>optional int32 flags = 1 [default = 6];</code>
8632           *
8633           * <pre>
8634           *
8635           *hasAnnotations
8636           *Visibility
8637           *Modality
8638           *ClassKind
8639           *isInner
8640           *isData
8641           * </pre>
8642           */
8643          public Builder setFlags(int value) {
8644            bitField0_ |= 0x00000001;
8645            flags_ = value;
8646            
8647            return this;
8648          }
8649          /**
8650           * <code>optional int32 flags = 1 [default = 6];</code>
8651           *
8652           * <pre>
8653           *
8654           *hasAnnotations
8655           *Visibility
8656           *Modality
8657           *ClassKind
8658           *isInner
8659           *isData
8660           * </pre>
8661           */
8662          public Builder clearFlags() {
8663            bitField0_ = (bitField0_ & ~0x00000001);
8664            flags_ = 6;
8665            
8666            return this;
8667          }
8668    
8669          // required int32 fq_name = 3;
8670          private int fqName_ ;
8671          /**
8672           * <code>required int32 fq_name = 3;</code>
8673           */
8674          public boolean hasFqName() {
8675            return ((bitField0_ & 0x00000002) == 0x00000002);
8676          }
8677          /**
8678           * <code>required int32 fq_name = 3;</code>
8679           */
8680          public int getFqName() {
8681            return fqName_;
8682          }
8683          /**
8684           * <code>required int32 fq_name = 3;</code>
8685           */
8686          public Builder setFqName(int value) {
8687            bitField0_ |= 0x00000002;
8688            fqName_ = value;
8689            
8690            return this;
8691          }
8692          /**
8693           * <code>required int32 fq_name = 3;</code>
8694           */
8695          public Builder clearFqName() {
8696            bitField0_ = (bitField0_ & ~0x00000002);
8697            fqName_ = 0;
8698            
8699            return this;
8700          }
8701    
8702          // optional int32 companion_object_name = 4;
8703          private int companionObjectName_ ;
8704          /**
8705           * <code>optional int32 companion_object_name = 4;</code>
8706           */
8707          public boolean hasCompanionObjectName() {
8708            return ((bitField0_ & 0x00000004) == 0x00000004);
8709          }
8710          /**
8711           * <code>optional int32 companion_object_name = 4;</code>
8712           */
8713          public int getCompanionObjectName() {
8714            return companionObjectName_;
8715          }
8716          /**
8717           * <code>optional int32 companion_object_name = 4;</code>
8718           */
8719          public Builder setCompanionObjectName(int value) {
8720            bitField0_ |= 0x00000004;
8721            companionObjectName_ = value;
8722            
8723            return this;
8724          }
8725          /**
8726           * <code>optional int32 companion_object_name = 4;</code>
8727           */
8728          public Builder clearCompanionObjectName() {
8729            bitField0_ = (bitField0_ & ~0x00000004);
8730            companionObjectName_ = 0;
8731            
8732            return this;
8733          }
8734    
8735          // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;
8736          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
8737            java.util.Collections.emptyList();
8738          private void ensureTypeParameterIsMutable() {
8739            if (!((bitField0_ & 0x00000008) == 0x00000008)) {
8740              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
8741              bitField0_ |= 0x00000008;
8742             }
8743          }
8744    
8745          /**
8746           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8747           */
8748          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
8749            return java.util.Collections.unmodifiableList(typeParameter_);
8750          }
8751          /**
8752           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8753           */
8754          public int getTypeParameterCount() {
8755            return typeParameter_.size();
8756          }
8757          /**
8758           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8759           */
8760          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
8761            return typeParameter_.get(index);
8762          }
8763          /**
8764           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8765           */
8766          public Builder setTypeParameter(
8767              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
8768            if (value == null) {
8769              throw new NullPointerException();
8770            }
8771            ensureTypeParameterIsMutable();
8772            typeParameter_.set(index, value);
8773    
8774            return this;
8775          }
8776          /**
8777           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8778           */
8779          public Builder setTypeParameter(
8780              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
8781            ensureTypeParameterIsMutable();
8782            typeParameter_.set(index, builderForValue.build());
8783    
8784            return this;
8785          }
8786          /**
8787           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8788           */
8789          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
8790            if (value == null) {
8791              throw new NullPointerException();
8792            }
8793            ensureTypeParameterIsMutable();
8794            typeParameter_.add(value);
8795    
8796            return this;
8797          }
8798          /**
8799           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8800           */
8801          public Builder addTypeParameter(
8802              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
8803            if (value == null) {
8804              throw new NullPointerException();
8805            }
8806            ensureTypeParameterIsMutable();
8807            typeParameter_.add(index, value);
8808    
8809            return this;
8810          }
8811          /**
8812           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8813           */
8814          public Builder addTypeParameter(
8815              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
8816            ensureTypeParameterIsMutable();
8817            typeParameter_.add(builderForValue.build());
8818    
8819            return this;
8820          }
8821          /**
8822           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8823           */
8824          public Builder addTypeParameter(
8825              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
8826            ensureTypeParameterIsMutable();
8827            typeParameter_.add(index, builderForValue.build());
8828    
8829            return this;
8830          }
8831          /**
8832           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8833           */
8834          public Builder addAllTypeParameter(
8835              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
8836            ensureTypeParameterIsMutable();
8837            super.addAll(values, typeParameter_);
8838    
8839            return this;
8840          }
8841          /**
8842           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8843           */
8844          public Builder clearTypeParameter() {
8845            typeParameter_ = java.util.Collections.emptyList();
8846            bitField0_ = (bitField0_ & ~0x00000008);
8847    
8848            return this;
8849          }
8850          /**
8851           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 5;</code>
8852           */
8853          public Builder removeTypeParameter(int index) {
8854            ensureTypeParameterIsMutable();
8855            typeParameter_.remove(index);
8856    
8857            return this;
8858          }
8859    
8860          // repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;
8861          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> supertype_ =
8862            java.util.Collections.emptyList();
8863          private void ensureSupertypeIsMutable() {
8864            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
8865              supertype_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(supertype_);
8866              bitField0_ |= 0x00000010;
8867             }
8868          }
8869    
8870          /**
8871           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8872           */
8873          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getSupertypeList() {
8874            return java.util.Collections.unmodifiableList(supertype_);
8875          }
8876          /**
8877           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8878           */
8879          public int getSupertypeCount() {
8880            return supertype_.size();
8881          }
8882          /**
8883           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8884           */
8885          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getSupertype(int index) {
8886            return supertype_.get(index);
8887          }
8888          /**
8889           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8890           */
8891          public Builder setSupertype(
8892              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
8893            if (value == null) {
8894              throw new NullPointerException();
8895            }
8896            ensureSupertypeIsMutable();
8897            supertype_.set(index, value);
8898    
8899            return this;
8900          }
8901          /**
8902           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8903           */
8904          public Builder setSupertype(
8905              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
8906            ensureSupertypeIsMutable();
8907            supertype_.set(index, builderForValue.build());
8908    
8909            return this;
8910          }
8911          /**
8912           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8913           */
8914          public Builder addSupertype(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
8915            if (value == null) {
8916              throw new NullPointerException();
8917            }
8918            ensureSupertypeIsMutable();
8919            supertype_.add(value);
8920    
8921            return this;
8922          }
8923          /**
8924           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8925           */
8926          public Builder addSupertype(
8927              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
8928            if (value == null) {
8929              throw new NullPointerException();
8930            }
8931            ensureSupertypeIsMutable();
8932            supertype_.add(index, value);
8933    
8934            return this;
8935          }
8936          /**
8937           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8938           */
8939          public Builder addSupertype(
8940              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
8941            ensureSupertypeIsMutable();
8942            supertype_.add(builderForValue.build());
8943    
8944            return this;
8945          }
8946          /**
8947           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8948           */
8949          public Builder addSupertype(
8950              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
8951            ensureSupertypeIsMutable();
8952            supertype_.add(index, builderForValue.build());
8953    
8954            return this;
8955          }
8956          /**
8957           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8958           */
8959          public Builder addAllSupertype(
8960              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
8961            ensureSupertypeIsMutable();
8962            super.addAll(values, supertype_);
8963    
8964            return this;
8965          }
8966          /**
8967           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8968           */
8969          public Builder clearSupertype() {
8970            supertype_ = java.util.Collections.emptyList();
8971            bitField0_ = (bitField0_ & ~0x00000010);
8972    
8973            return this;
8974          }
8975          /**
8976           * <code>repeated .org.jetbrains.kotlin.serialization.Type supertype = 6;</code>
8977           */
8978          public Builder removeSupertype(int index) {
8979            ensureSupertypeIsMutable();
8980            supertype_.remove(index);
8981    
8982            return this;
8983          }
8984    
8985          // repeated int32 supertype_id = 2 [packed = true];
8986          private java.util.List<java.lang.Integer> supertypeId_ = java.util.Collections.emptyList();
8987          private void ensureSupertypeIdIsMutable() {
8988            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
8989              supertypeId_ = new java.util.ArrayList<java.lang.Integer>(supertypeId_);
8990              bitField0_ |= 0x00000020;
8991             }
8992          }
8993          /**
8994           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
8995           */
8996          public java.util.List<java.lang.Integer>
8997              getSupertypeIdList() {
8998            return java.util.Collections.unmodifiableList(supertypeId_);
8999          }
9000          /**
9001           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9002           */
9003          public int getSupertypeIdCount() {
9004            return supertypeId_.size();
9005          }
9006          /**
9007           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9008           */
9009          public int getSupertypeId(int index) {
9010            return supertypeId_.get(index);
9011          }
9012          /**
9013           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9014           */
9015          public Builder setSupertypeId(
9016              int index, int value) {
9017            ensureSupertypeIdIsMutable();
9018            supertypeId_.set(index, value);
9019            
9020            return this;
9021          }
9022          /**
9023           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9024           */
9025          public Builder addSupertypeId(int value) {
9026            ensureSupertypeIdIsMutable();
9027            supertypeId_.add(value);
9028            
9029            return this;
9030          }
9031          /**
9032           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9033           */
9034          public Builder addAllSupertypeId(
9035              java.lang.Iterable<? extends java.lang.Integer> values) {
9036            ensureSupertypeIdIsMutable();
9037            super.addAll(values, supertypeId_);
9038            
9039            return this;
9040          }
9041          /**
9042           * <code>repeated int32 supertype_id = 2 [packed = true];</code>
9043           */
9044          public Builder clearSupertypeId() {
9045            supertypeId_ = java.util.Collections.emptyList();
9046            bitField0_ = (bitField0_ & ~0x00000020);
9047            
9048            return this;
9049          }
9050    
9051          // repeated int32 nested_class_name = 7 [packed = true];
9052          private java.util.List<java.lang.Integer> nestedClassName_ = java.util.Collections.emptyList();
9053          private void ensureNestedClassNameIsMutable() {
9054            if (!((bitField0_ & 0x00000040) == 0x00000040)) {
9055              nestedClassName_ = new java.util.ArrayList<java.lang.Integer>(nestedClassName_);
9056              bitField0_ |= 0x00000040;
9057             }
9058          }
9059          /**
9060           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9061           */
9062          public java.util.List<java.lang.Integer>
9063              getNestedClassNameList() {
9064            return java.util.Collections.unmodifiableList(nestedClassName_);
9065          }
9066          /**
9067           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9068           */
9069          public int getNestedClassNameCount() {
9070            return nestedClassName_.size();
9071          }
9072          /**
9073           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9074           */
9075          public int getNestedClassName(int index) {
9076            return nestedClassName_.get(index);
9077          }
9078          /**
9079           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9080           */
9081          public Builder setNestedClassName(
9082              int index, int value) {
9083            ensureNestedClassNameIsMutable();
9084            nestedClassName_.set(index, value);
9085            
9086            return this;
9087          }
9088          /**
9089           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9090           */
9091          public Builder addNestedClassName(int value) {
9092            ensureNestedClassNameIsMutable();
9093            nestedClassName_.add(value);
9094            
9095            return this;
9096          }
9097          /**
9098           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9099           */
9100          public Builder addAllNestedClassName(
9101              java.lang.Iterable<? extends java.lang.Integer> values) {
9102            ensureNestedClassNameIsMutable();
9103            super.addAll(values, nestedClassName_);
9104            
9105            return this;
9106          }
9107          /**
9108           * <code>repeated int32 nested_class_name = 7 [packed = true];</code>
9109           */
9110          public Builder clearNestedClassName() {
9111            nestedClassName_ = java.util.Collections.emptyList();
9112            bitField0_ = (bitField0_ & ~0x00000040);
9113            
9114            return this;
9115          }
9116    
9117          // repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;
9118          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> constructor_ =
9119            java.util.Collections.emptyList();
9120          private void ensureConstructorIsMutable() {
9121            if (!((bitField0_ & 0x00000080) == 0x00000080)) {
9122              constructor_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor>(constructor_);
9123              bitField0_ |= 0x00000080;
9124             }
9125          }
9126    
9127          /**
9128           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9129           */
9130          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> getConstructorList() {
9131            return java.util.Collections.unmodifiableList(constructor_);
9132          }
9133          /**
9134           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9135           */
9136          public int getConstructorCount() {
9137            return constructor_.size();
9138          }
9139          /**
9140           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9141           */
9142          public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor getConstructor(int index) {
9143            return constructor_.get(index);
9144          }
9145          /**
9146           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9147           */
9148          public Builder setConstructor(
9149              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Constructor value) {
9150            if (value == null) {
9151              throw new NullPointerException();
9152            }
9153            ensureConstructorIsMutable();
9154            constructor_.set(index, value);
9155    
9156            return this;
9157          }
9158          /**
9159           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9160           */
9161          public Builder setConstructor(
9162              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.Builder builderForValue) {
9163            ensureConstructorIsMutable();
9164            constructor_.set(index, builderForValue.build());
9165    
9166            return this;
9167          }
9168          /**
9169           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9170           */
9171          public Builder addConstructor(org.jetbrains.kotlin.serialization.ProtoBuf.Constructor value) {
9172            if (value == null) {
9173              throw new NullPointerException();
9174            }
9175            ensureConstructorIsMutable();
9176            constructor_.add(value);
9177    
9178            return this;
9179          }
9180          /**
9181           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9182           */
9183          public Builder addConstructor(
9184              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Constructor value) {
9185            if (value == null) {
9186              throw new NullPointerException();
9187            }
9188            ensureConstructorIsMutable();
9189            constructor_.add(index, value);
9190    
9191            return this;
9192          }
9193          /**
9194           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9195           */
9196          public Builder addConstructor(
9197              org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.Builder builderForValue) {
9198            ensureConstructorIsMutable();
9199            constructor_.add(builderForValue.build());
9200    
9201            return this;
9202          }
9203          /**
9204           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9205           */
9206          public Builder addConstructor(
9207              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.Builder builderForValue) {
9208            ensureConstructorIsMutable();
9209            constructor_.add(index, builderForValue.build());
9210    
9211            return this;
9212          }
9213          /**
9214           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9215           */
9216          public Builder addAllConstructor(
9217              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Constructor> values) {
9218            ensureConstructorIsMutable();
9219            super.addAll(values, constructor_);
9220    
9221            return this;
9222          }
9223          /**
9224           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9225           */
9226          public Builder clearConstructor() {
9227            constructor_ = java.util.Collections.emptyList();
9228            bitField0_ = (bitField0_ & ~0x00000080);
9229    
9230            return this;
9231          }
9232          /**
9233           * <code>repeated .org.jetbrains.kotlin.serialization.Constructor constructor = 8;</code>
9234           */
9235          public Builder removeConstructor(int index) {
9236            ensureConstructorIsMutable();
9237            constructor_.remove(index);
9238    
9239            return this;
9240          }
9241    
9242          // repeated .org.jetbrains.kotlin.serialization.Function function = 9;
9243          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> function_ =
9244            java.util.Collections.emptyList();
9245          private void ensureFunctionIsMutable() {
9246            if (!((bitField0_ & 0x00000100) == 0x00000100)) {
9247              function_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Function>(function_);
9248              bitField0_ |= 0x00000100;
9249             }
9250          }
9251    
9252          /**
9253           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9254           */
9255          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> getFunctionList() {
9256            return java.util.Collections.unmodifiableList(function_);
9257          }
9258          /**
9259           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9260           */
9261          public int getFunctionCount() {
9262            return function_.size();
9263          }
9264          /**
9265           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9266           */
9267          public org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index) {
9268            return function_.get(index);
9269          }
9270          /**
9271           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9272           */
9273          public Builder setFunction(
9274              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
9275            if (value == null) {
9276              throw new NullPointerException();
9277            }
9278            ensureFunctionIsMutable();
9279            function_.set(index, value);
9280    
9281            return this;
9282          }
9283          /**
9284           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9285           */
9286          public Builder setFunction(
9287              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
9288            ensureFunctionIsMutable();
9289            function_.set(index, builderForValue.build());
9290    
9291            return this;
9292          }
9293          /**
9294           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9295           */
9296          public Builder addFunction(org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
9297            if (value == null) {
9298              throw new NullPointerException();
9299            }
9300            ensureFunctionIsMutable();
9301            function_.add(value);
9302    
9303            return this;
9304          }
9305          /**
9306           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9307           */
9308          public Builder addFunction(
9309              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
9310            if (value == null) {
9311              throw new NullPointerException();
9312            }
9313            ensureFunctionIsMutable();
9314            function_.add(index, value);
9315    
9316            return this;
9317          }
9318          /**
9319           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9320           */
9321          public Builder addFunction(
9322              org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
9323            ensureFunctionIsMutable();
9324            function_.add(builderForValue.build());
9325    
9326            return this;
9327          }
9328          /**
9329           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9330           */
9331          public Builder addFunction(
9332              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
9333            ensureFunctionIsMutable();
9334            function_.add(index, builderForValue.build());
9335    
9336            return this;
9337          }
9338          /**
9339           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9340           */
9341          public Builder addAllFunction(
9342              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Function> values) {
9343            ensureFunctionIsMutable();
9344            super.addAll(values, function_);
9345    
9346            return this;
9347          }
9348          /**
9349           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9350           */
9351          public Builder clearFunction() {
9352            function_ = java.util.Collections.emptyList();
9353            bitField0_ = (bitField0_ & ~0x00000100);
9354    
9355            return this;
9356          }
9357          /**
9358           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 9;</code>
9359           */
9360          public Builder removeFunction(int index) {
9361            ensureFunctionIsMutable();
9362            function_.remove(index);
9363    
9364            return this;
9365          }
9366    
9367          // repeated .org.jetbrains.kotlin.serialization.Property property = 10;
9368          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> property_ =
9369            java.util.Collections.emptyList();
9370          private void ensurePropertyIsMutable() {
9371            if (!((bitField0_ & 0x00000200) == 0x00000200)) {
9372              property_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Property>(property_);
9373              bitField0_ |= 0x00000200;
9374             }
9375          }
9376    
9377          /**
9378           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9379           */
9380          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> getPropertyList() {
9381            return java.util.Collections.unmodifiableList(property_);
9382          }
9383          /**
9384           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9385           */
9386          public int getPropertyCount() {
9387            return property_.size();
9388          }
9389          /**
9390           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9391           */
9392          public org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index) {
9393            return property_.get(index);
9394          }
9395          /**
9396           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9397           */
9398          public Builder setProperty(
9399              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
9400            if (value == null) {
9401              throw new NullPointerException();
9402            }
9403            ensurePropertyIsMutable();
9404            property_.set(index, value);
9405    
9406            return this;
9407          }
9408          /**
9409           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9410           */
9411          public Builder setProperty(
9412              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
9413            ensurePropertyIsMutable();
9414            property_.set(index, builderForValue.build());
9415    
9416            return this;
9417          }
9418          /**
9419           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9420           */
9421          public Builder addProperty(org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
9422            if (value == null) {
9423              throw new NullPointerException();
9424            }
9425            ensurePropertyIsMutable();
9426            property_.add(value);
9427    
9428            return this;
9429          }
9430          /**
9431           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9432           */
9433          public Builder addProperty(
9434              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
9435            if (value == null) {
9436              throw new NullPointerException();
9437            }
9438            ensurePropertyIsMutable();
9439            property_.add(index, value);
9440    
9441            return this;
9442          }
9443          /**
9444           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9445           */
9446          public Builder addProperty(
9447              org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
9448            ensurePropertyIsMutable();
9449            property_.add(builderForValue.build());
9450    
9451            return this;
9452          }
9453          /**
9454           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9455           */
9456          public Builder addProperty(
9457              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
9458            ensurePropertyIsMutable();
9459            property_.add(index, builderForValue.build());
9460    
9461            return this;
9462          }
9463          /**
9464           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9465           */
9466          public Builder addAllProperty(
9467              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Property> values) {
9468            ensurePropertyIsMutable();
9469            super.addAll(values, property_);
9470    
9471            return this;
9472          }
9473          /**
9474           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9475           */
9476          public Builder clearProperty() {
9477            property_ = java.util.Collections.emptyList();
9478            bitField0_ = (bitField0_ & ~0x00000200);
9479    
9480            return this;
9481          }
9482          /**
9483           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 10;</code>
9484           */
9485          public Builder removeProperty(int index) {
9486            ensurePropertyIsMutable();
9487            property_.remove(index);
9488    
9489            return this;
9490          }
9491    
9492          // repeated int32 enum_entry = 12 [packed = true];
9493          private java.util.List<java.lang.Integer> enumEntry_ = java.util.Collections.emptyList();
9494          private void ensureEnumEntryIsMutable() {
9495            if (!((bitField0_ & 0x00000400) == 0x00000400)) {
9496              enumEntry_ = new java.util.ArrayList<java.lang.Integer>(enumEntry_);
9497              bitField0_ |= 0x00000400;
9498             }
9499          }
9500          /**
9501           * <code>repeated int32 enum_entry = 12 [packed = true];</code>
9502           */
9503          public java.util.List<java.lang.Integer>
9504              getEnumEntryList() {
9505            return java.util.Collections.unmodifiableList(enumEntry_);
9506          }
9507          /**
9508           * <code>repeated int32 enum_entry = 12 [packed = true];</code>
9509           */
9510          public int getEnumEntryCount() {
9511            return enumEntry_.size();
9512          }
9513          /**
9514           * <code>repeated int32 enum_entry = 12 [packed = true];</code>
9515           */
9516          public int getEnumEntry(int index) {
9517            return enumEntry_.get(index);
9518          }
9519          /**
9520           * <code>repeated int32 enum_entry = 12 [packed = true];</code>
9521           */
9522          public Builder setEnumEntry(
9523              int index, int value) {
9524            ensureEnumEntryIsMutable();
9525            enumEntry_.set(index, value);
9526            
9527            return this;
9528          }
9529          /**
9530           * <code>repeated int32 enum_entry = 12 [packed = true];</code>
9531           */
9532          public Builder addEnumEntry(int value) {
9533            ensureEnumEntryIsMutable();
9534            enumEntry_.add(value);
9535            
9536            return this;
9537          }
9538          /**
9539           * <code>repeated int32 enum_entry = 12 [packed = true];</code>
9540           */
9541          public Builder addAllEnumEntry(
9542              java.lang.Iterable<? extends java.lang.Integer> values) {
9543            ensureEnumEntryIsMutable();
9544            super.addAll(values, enumEntry_);
9545            
9546            return this;
9547          }
9548          /**
9549           * <code>repeated int32 enum_entry = 12 [packed = true];</code>
9550           */
9551          public Builder clearEnumEntry() {
9552            enumEntry_ = java.util.Collections.emptyList();
9553            bitField0_ = (bitField0_ & ~0x00000400);
9554            
9555            return this;
9556          }
9557    
9558          // optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;
9559          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
9560          /**
9561           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
9562           */
9563          public boolean hasTypeTable() {
9564            return ((bitField0_ & 0x00000800) == 0x00000800);
9565          }
9566          /**
9567           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
9568           */
9569          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
9570            return typeTable_;
9571          }
9572          /**
9573           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
9574           */
9575          public Builder setTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
9576            if (value == null) {
9577              throw new NullPointerException();
9578            }
9579            typeTable_ = value;
9580    
9581            bitField0_ |= 0x00000800;
9582            return this;
9583          }
9584          /**
9585           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
9586           */
9587          public Builder setTypeTable(
9588              org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder builderForValue) {
9589            typeTable_ = builderForValue.build();
9590    
9591            bitField0_ |= 0x00000800;
9592            return this;
9593          }
9594          /**
9595           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
9596           */
9597          public Builder mergeTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
9598            if (((bitField0_ & 0x00000800) == 0x00000800) &&
9599                typeTable_ != org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance()) {
9600              typeTable_ =
9601                org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.newBuilder(typeTable_).mergeFrom(value).buildPartial();
9602            } else {
9603              typeTable_ = value;
9604            }
9605    
9606            bitField0_ |= 0x00000800;
9607            return this;
9608          }
9609          /**
9610           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
9611           */
9612          public Builder clearTypeTable() {
9613            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
9614    
9615            bitField0_ = (bitField0_ & ~0x00000800);
9616            return this;
9617          }
9618    
9619          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Class)
9620        }
9621    
9622        static {
9623          defaultInstance = new Class(true);
9624          defaultInstance.initFields();
9625        }
9626    
9627        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Class)
9628      }
9629    
9630      public interface PackageOrBuilder extends 
9631           com.google.protobuf.GeneratedMessageLite.
9632                ExtendableMessageOrBuilder<Package> {
9633    
9634        // repeated .org.jetbrains.kotlin.serialization.Function function = 3;
9635        /**
9636         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
9637         */
9638        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> 
9639            getFunctionList();
9640        /**
9641         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
9642         */
9643        org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index);
9644        /**
9645         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
9646         */
9647        int getFunctionCount();
9648    
9649        // repeated .org.jetbrains.kotlin.serialization.Property property = 4;
9650        /**
9651         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
9652         */
9653        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> 
9654            getPropertyList();
9655        /**
9656         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
9657         */
9658        org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index);
9659        /**
9660         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
9661         */
9662        int getPropertyCount();
9663    
9664        // optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;
9665        /**
9666         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
9667         */
9668        boolean hasTypeTable();
9669        /**
9670         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
9671         */
9672        org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable();
9673      }
9674      /**
9675       * Protobuf type {@code org.jetbrains.kotlin.serialization.Package}
9676       */
9677      public static final class Package extends
9678          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
9679            Package> implements PackageOrBuilder {
9680        // Use Package.newBuilder() to construct.
9681        private Package(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Package, ?> builder) {
9682          super(builder);
9683    
9684        }
9685        private Package(boolean noInit) {}
9686    
9687        private static final Package defaultInstance;
9688        public static Package getDefaultInstance() {
9689          return defaultInstance;
9690        }
9691    
9692        public Package getDefaultInstanceForType() {
9693          return defaultInstance;
9694        }
9695    
9696        private Package(
9697            com.google.protobuf.CodedInputStream input,
9698            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9699            throws com.google.protobuf.InvalidProtocolBufferException {
9700          initFields();
9701          int mutable_bitField0_ = 0;
9702          try {
9703            boolean done = false;
9704            while (!done) {
9705              int tag = input.readTag();
9706              switch (tag) {
9707                case 0:
9708                  done = true;
9709                  break;
9710                default: {
9711                  if (!parseUnknownField(input,
9712                                         extensionRegistry, tag)) {
9713                    done = true;
9714                  }
9715                  break;
9716                }
9717                case 26: {
9718                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
9719                    function_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Function>();
9720                    mutable_bitField0_ |= 0x00000001;
9721                  }
9722                  function_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Function.PARSER, extensionRegistry));
9723                  break;
9724                }
9725                case 34: {
9726                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
9727                    property_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Property>();
9728                    mutable_bitField0_ |= 0x00000002;
9729                  }
9730                  property_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Property.PARSER, extensionRegistry));
9731                  break;
9732                }
9733                case 242: {
9734                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder subBuilder = null;
9735                  if (((bitField0_ & 0x00000001) == 0x00000001)) {
9736                    subBuilder = typeTable_.toBuilder();
9737                  }
9738                  typeTable_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.PARSER, extensionRegistry);
9739                  if (subBuilder != null) {
9740                    subBuilder.mergeFrom(typeTable_);
9741                    typeTable_ = subBuilder.buildPartial();
9742                  }
9743                  bitField0_ |= 0x00000001;
9744                  break;
9745                }
9746              }
9747            }
9748          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
9749            throw e.setUnfinishedMessage(this);
9750          } catch (java.io.IOException e) {
9751            throw new com.google.protobuf.InvalidProtocolBufferException(
9752                e.getMessage()).setUnfinishedMessage(this);
9753          } finally {
9754            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
9755              function_ = java.util.Collections.unmodifiableList(function_);
9756            }
9757            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
9758              property_ = java.util.Collections.unmodifiableList(property_);
9759            }
9760            makeExtensionsImmutable();
9761          }
9762        }
9763        public static com.google.protobuf.Parser<Package> PARSER =
9764            new com.google.protobuf.AbstractParser<Package>() {
9765          public Package parsePartialFrom(
9766              com.google.protobuf.CodedInputStream input,
9767              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9768              throws com.google.protobuf.InvalidProtocolBufferException {
9769            return new Package(input, extensionRegistry);
9770          }
9771        };
9772    
9773        @java.lang.Override
9774        public com.google.protobuf.Parser<Package> getParserForType() {
9775          return PARSER;
9776        }
9777    
9778        private int bitField0_;
9779        // repeated .org.jetbrains.kotlin.serialization.Function function = 3;
9780        public static final int FUNCTION_FIELD_NUMBER = 3;
9781        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> function_;
9782        /**
9783         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
9784         */
9785        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> getFunctionList() {
9786          return function_;
9787        }
9788        /**
9789         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
9790         */
9791        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder> 
9792            getFunctionOrBuilderList() {
9793          return function_;
9794        }
9795        /**
9796         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
9797         */
9798        public int getFunctionCount() {
9799          return function_.size();
9800        }
9801        /**
9802         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
9803         */
9804        public org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index) {
9805          return function_.get(index);
9806        }
9807        /**
9808         * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
9809         */
9810        public org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder getFunctionOrBuilder(
9811            int index) {
9812          return function_.get(index);
9813        }
9814    
9815        // repeated .org.jetbrains.kotlin.serialization.Property property = 4;
9816        public static final int PROPERTY_FIELD_NUMBER = 4;
9817        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> property_;
9818        /**
9819         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
9820         */
9821        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> getPropertyList() {
9822          return property_;
9823        }
9824        /**
9825         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
9826         */
9827        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder> 
9828            getPropertyOrBuilderList() {
9829          return property_;
9830        }
9831        /**
9832         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
9833         */
9834        public int getPropertyCount() {
9835          return property_.size();
9836        }
9837        /**
9838         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
9839         */
9840        public org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index) {
9841          return property_.get(index);
9842        }
9843        /**
9844         * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
9845         */
9846        public org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder getPropertyOrBuilder(
9847            int index) {
9848          return property_.get(index);
9849        }
9850    
9851        // optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;
9852        public static final int TYPE_TABLE_FIELD_NUMBER = 30;
9853        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_;
9854        /**
9855         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
9856         */
9857        public boolean hasTypeTable() {
9858          return ((bitField0_ & 0x00000001) == 0x00000001);
9859        }
9860        /**
9861         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
9862         */
9863        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
9864          return typeTable_;
9865        }
9866    
9867        private void initFields() {
9868          function_ = java.util.Collections.emptyList();
9869          property_ = java.util.Collections.emptyList();
9870          typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
9871        }
9872        private byte memoizedIsInitialized = -1;
9873        public final boolean isInitialized() {
9874          byte isInitialized = memoizedIsInitialized;
9875          if (isInitialized != -1) return isInitialized == 1;
9876    
9877          for (int i = 0; i < getFunctionCount(); i++) {
9878            if (!getFunction(i).isInitialized()) {
9879              memoizedIsInitialized = 0;
9880              return false;
9881            }
9882          }
9883          for (int i = 0; i < getPropertyCount(); i++) {
9884            if (!getProperty(i).isInitialized()) {
9885              memoizedIsInitialized = 0;
9886              return false;
9887            }
9888          }
9889          if (hasTypeTable()) {
9890            if (!getTypeTable().isInitialized()) {
9891              memoizedIsInitialized = 0;
9892              return false;
9893            }
9894          }
9895          if (!extensionsAreInitialized()) {
9896            memoizedIsInitialized = 0;
9897            return false;
9898          }
9899          memoizedIsInitialized = 1;
9900          return true;
9901        }
9902    
9903        public void writeTo(com.google.protobuf.CodedOutputStream output)
9904                            throws java.io.IOException {
9905          getSerializedSize();
9906          com.google.protobuf.GeneratedMessageLite
9907            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Package>.ExtensionWriter extensionWriter =
9908              newExtensionWriter();
9909          for (int i = 0; i < function_.size(); i++) {
9910            output.writeMessage(3, function_.get(i));
9911          }
9912          for (int i = 0; i < property_.size(); i++) {
9913            output.writeMessage(4, property_.get(i));
9914          }
9915          if (((bitField0_ & 0x00000001) == 0x00000001)) {
9916            output.writeMessage(30, typeTable_);
9917          }
9918          extensionWriter.writeUntil(200, output);
9919        }
9920    
9921        private int memoizedSerializedSize = -1;
9922        public int getSerializedSize() {
9923          int size = memoizedSerializedSize;
9924          if (size != -1) return size;
9925    
9926          size = 0;
9927          for (int i = 0; i < function_.size(); i++) {
9928            size += com.google.protobuf.CodedOutputStream
9929              .computeMessageSize(3, function_.get(i));
9930          }
9931          for (int i = 0; i < property_.size(); i++) {
9932            size += com.google.protobuf.CodedOutputStream
9933              .computeMessageSize(4, property_.get(i));
9934          }
9935          if (((bitField0_ & 0x00000001) == 0x00000001)) {
9936            size += com.google.protobuf.CodedOutputStream
9937              .computeMessageSize(30, typeTable_);
9938          }
9939          size += extensionsSerializedSize();
9940          memoizedSerializedSize = size;
9941          return size;
9942        }
9943    
9944        private static final long serialVersionUID = 0L;
9945        @java.lang.Override
9946        protected java.lang.Object writeReplace()
9947            throws java.io.ObjectStreamException {
9948          return super.writeReplace();
9949        }
9950    
9951        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
9952            com.google.protobuf.ByteString data)
9953            throws com.google.protobuf.InvalidProtocolBufferException {
9954          return PARSER.parseFrom(data);
9955        }
9956        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
9957            com.google.protobuf.ByteString data,
9958            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9959            throws com.google.protobuf.InvalidProtocolBufferException {
9960          return PARSER.parseFrom(data, extensionRegistry);
9961        }
9962        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(byte[] data)
9963            throws com.google.protobuf.InvalidProtocolBufferException {
9964          return PARSER.parseFrom(data);
9965        }
9966        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
9967            byte[] data,
9968            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9969            throws com.google.protobuf.InvalidProtocolBufferException {
9970          return PARSER.parseFrom(data, extensionRegistry);
9971        }
9972        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(java.io.InputStream input)
9973            throws java.io.IOException {
9974          return PARSER.parseFrom(input);
9975        }
9976        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
9977            java.io.InputStream input,
9978            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9979            throws java.io.IOException {
9980          return PARSER.parseFrom(input, extensionRegistry);
9981        }
9982        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseDelimitedFrom(java.io.InputStream input)
9983            throws java.io.IOException {
9984          return PARSER.parseDelimitedFrom(input);
9985        }
9986        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseDelimitedFrom(
9987            java.io.InputStream input,
9988            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9989            throws java.io.IOException {
9990          return PARSER.parseDelimitedFrom(input, extensionRegistry);
9991        }
9992        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
9993            com.google.protobuf.CodedInputStream input)
9994            throws java.io.IOException {
9995          return PARSER.parseFrom(input);
9996        }
9997        public static org.jetbrains.kotlin.serialization.ProtoBuf.Package parseFrom(
9998            com.google.protobuf.CodedInputStream input,
9999            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10000            throws java.io.IOException {
10001          return PARSER.parseFrom(input, extensionRegistry);
10002        }
10003    
10004        public static Builder newBuilder() { return Builder.create(); }
10005        public Builder newBuilderForType() { return newBuilder(); }
10006        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Package prototype) {
10007          return newBuilder().mergeFrom(prototype);
10008        }
10009        public Builder toBuilder() { return newBuilder(this); }
10010    
10011        /**
10012         * Protobuf type {@code org.jetbrains.kotlin.serialization.Package}
10013         */
10014        public static final class Builder extends
10015            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
10016              org.jetbrains.kotlin.serialization.ProtoBuf.Package, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.PackageOrBuilder {
10017          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Package.newBuilder()
10018          private Builder() {
10019            maybeForceBuilderInitialization();
10020          }
10021    
10022          private void maybeForceBuilderInitialization() {
10023          }
10024          private static Builder create() {
10025            return new Builder();
10026          }
10027    
10028          public Builder clear() {
10029            super.clear();
10030            function_ = java.util.Collections.emptyList();
10031            bitField0_ = (bitField0_ & ~0x00000001);
10032            property_ = java.util.Collections.emptyList();
10033            bitField0_ = (bitField0_ & ~0x00000002);
10034            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
10035            bitField0_ = (bitField0_ & ~0x00000004);
10036            return this;
10037          }
10038    
10039          public Builder clone() {
10040            return create().mergeFrom(buildPartial());
10041          }
10042    
10043          public org.jetbrains.kotlin.serialization.ProtoBuf.Package getDefaultInstanceForType() {
10044            return org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance();
10045          }
10046    
10047          public org.jetbrains.kotlin.serialization.ProtoBuf.Package build() {
10048            org.jetbrains.kotlin.serialization.ProtoBuf.Package result = buildPartial();
10049            if (!result.isInitialized()) {
10050              throw newUninitializedMessageException(result);
10051            }
10052            return result;
10053          }
10054    
10055          public org.jetbrains.kotlin.serialization.ProtoBuf.Package buildPartial() {
10056            org.jetbrains.kotlin.serialization.ProtoBuf.Package result = new org.jetbrains.kotlin.serialization.ProtoBuf.Package(this);
10057            int from_bitField0_ = bitField0_;
10058            int to_bitField0_ = 0;
10059            if (((bitField0_ & 0x00000001) == 0x00000001)) {
10060              function_ = java.util.Collections.unmodifiableList(function_);
10061              bitField0_ = (bitField0_ & ~0x00000001);
10062            }
10063            result.function_ = function_;
10064            if (((bitField0_ & 0x00000002) == 0x00000002)) {
10065              property_ = java.util.Collections.unmodifiableList(property_);
10066              bitField0_ = (bitField0_ & ~0x00000002);
10067            }
10068            result.property_ = property_;
10069            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
10070              to_bitField0_ |= 0x00000001;
10071            }
10072            result.typeTable_ = typeTable_;
10073            result.bitField0_ = to_bitField0_;
10074            return result;
10075          }
10076    
10077          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Package other) {
10078            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Package.getDefaultInstance()) return this;
10079            if (!other.function_.isEmpty()) {
10080              if (function_.isEmpty()) {
10081                function_ = other.function_;
10082                bitField0_ = (bitField0_ & ~0x00000001);
10083              } else {
10084                ensureFunctionIsMutable();
10085                function_.addAll(other.function_);
10086              }
10087              
10088            }
10089            if (!other.property_.isEmpty()) {
10090              if (property_.isEmpty()) {
10091                property_ = other.property_;
10092                bitField0_ = (bitField0_ & ~0x00000002);
10093              } else {
10094                ensurePropertyIsMutable();
10095                property_.addAll(other.property_);
10096              }
10097              
10098            }
10099            if (other.hasTypeTable()) {
10100              mergeTypeTable(other.getTypeTable());
10101            }
10102            this.mergeExtensionFields(other);
10103            return this;
10104          }
10105    
10106          public final boolean isInitialized() {
10107            for (int i = 0; i < getFunctionCount(); i++) {
10108              if (!getFunction(i).isInitialized()) {
10109                
10110                return false;
10111              }
10112            }
10113            for (int i = 0; i < getPropertyCount(); i++) {
10114              if (!getProperty(i).isInitialized()) {
10115                
10116                return false;
10117              }
10118            }
10119            if (hasTypeTable()) {
10120              if (!getTypeTable().isInitialized()) {
10121                
10122                return false;
10123              }
10124            }
10125            if (!extensionsAreInitialized()) {
10126              
10127              return false;
10128            }
10129            return true;
10130          }
10131    
10132          public Builder mergeFrom(
10133              com.google.protobuf.CodedInputStream input,
10134              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10135              throws java.io.IOException {
10136            org.jetbrains.kotlin.serialization.ProtoBuf.Package parsedMessage = null;
10137            try {
10138              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
10139            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10140              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Package) e.getUnfinishedMessage();
10141              throw e;
10142            } finally {
10143              if (parsedMessage != null) {
10144                mergeFrom(parsedMessage);
10145              }
10146            }
10147            return this;
10148          }
10149          private int bitField0_;
10150    
10151          // repeated .org.jetbrains.kotlin.serialization.Function function = 3;
10152          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> function_ =
10153            java.util.Collections.emptyList();
10154          private void ensureFunctionIsMutable() {
10155            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
10156              function_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Function>(function_);
10157              bitField0_ |= 0x00000001;
10158             }
10159          }
10160    
10161          /**
10162           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10163           */
10164          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Function> getFunctionList() {
10165            return java.util.Collections.unmodifiableList(function_);
10166          }
10167          /**
10168           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10169           */
10170          public int getFunctionCount() {
10171            return function_.size();
10172          }
10173          /**
10174           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10175           */
10176          public org.jetbrains.kotlin.serialization.ProtoBuf.Function getFunction(int index) {
10177            return function_.get(index);
10178          }
10179          /**
10180           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10181           */
10182          public Builder setFunction(
10183              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
10184            if (value == null) {
10185              throw new NullPointerException();
10186            }
10187            ensureFunctionIsMutable();
10188            function_.set(index, value);
10189    
10190            return this;
10191          }
10192          /**
10193           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10194           */
10195          public Builder setFunction(
10196              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
10197            ensureFunctionIsMutable();
10198            function_.set(index, builderForValue.build());
10199    
10200            return this;
10201          }
10202          /**
10203           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10204           */
10205          public Builder addFunction(org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
10206            if (value == null) {
10207              throw new NullPointerException();
10208            }
10209            ensureFunctionIsMutable();
10210            function_.add(value);
10211    
10212            return this;
10213          }
10214          /**
10215           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10216           */
10217          public Builder addFunction(
10218              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function value) {
10219            if (value == null) {
10220              throw new NullPointerException();
10221            }
10222            ensureFunctionIsMutable();
10223            function_.add(index, value);
10224    
10225            return this;
10226          }
10227          /**
10228           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10229           */
10230          public Builder addFunction(
10231              org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
10232            ensureFunctionIsMutable();
10233            function_.add(builderForValue.build());
10234    
10235            return this;
10236          }
10237          /**
10238           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10239           */
10240          public Builder addFunction(
10241              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Function.Builder builderForValue) {
10242            ensureFunctionIsMutable();
10243            function_.add(index, builderForValue.build());
10244    
10245            return this;
10246          }
10247          /**
10248           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10249           */
10250          public Builder addAllFunction(
10251              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Function> values) {
10252            ensureFunctionIsMutable();
10253            super.addAll(values, function_);
10254    
10255            return this;
10256          }
10257          /**
10258           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10259           */
10260          public Builder clearFunction() {
10261            function_ = java.util.Collections.emptyList();
10262            bitField0_ = (bitField0_ & ~0x00000001);
10263    
10264            return this;
10265          }
10266          /**
10267           * <code>repeated .org.jetbrains.kotlin.serialization.Function function = 3;</code>
10268           */
10269          public Builder removeFunction(int index) {
10270            ensureFunctionIsMutable();
10271            function_.remove(index);
10272    
10273            return this;
10274          }
10275    
10276          // repeated .org.jetbrains.kotlin.serialization.Property property = 4;
10277          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> property_ =
10278            java.util.Collections.emptyList();
10279          private void ensurePropertyIsMutable() {
10280            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
10281              property_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Property>(property_);
10282              bitField0_ |= 0x00000002;
10283             }
10284          }
10285    
10286          /**
10287           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10288           */
10289          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Property> getPropertyList() {
10290            return java.util.Collections.unmodifiableList(property_);
10291          }
10292          /**
10293           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10294           */
10295          public int getPropertyCount() {
10296            return property_.size();
10297          }
10298          /**
10299           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10300           */
10301          public org.jetbrains.kotlin.serialization.ProtoBuf.Property getProperty(int index) {
10302            return property_.get(index);
10303          }
10304          /**
10305           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10306           */
10307          public Builder setProperty(
10308              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
10309            if (value == null) {
10310              throw new NullPointerException();
10311            }
10312            ensurePropertyIsMutable();
10313            property_.set(index, value);
10314    
10315            return this;
10316          }
10317          /**
10318           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10319           */
10320          public Builder setProperty(
10321              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
10322            ensurePropertyIsMutable();
10323            property_.set(index, builderForValue.build());
10324    
10325            return this;
10326          }
10327          /**
10328           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10329           */
10330          public Builder addProperty(org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
10331            if (value == null) {
10332              throw new NullPointerException();
10333            }
10334            ensurePropertyIsMutable();
10335            property_.add(value);
10336    
10337            return this;
10338          }
10339          /**
10340           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10341           */
10342          public Builder addProperty(
10343              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property value) {
10344            if (value == null) {
10345              throw new NullPointerException();
10346            }
10347            ensurePropertyIsMutable();
10348            property_.add(index, value);
10349    
10350            return this;
10351          }
10352          /**
10353           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10354           */
10355          public Builder addProperty(
10356              org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
10357            ensurePropertyIsMutable();
10358            property_.add(builderForValue.build());
10359    
10360            return this;
10361          }
10362          /**
10363           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10364           */
10365          public Builder addProperty(
10366              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Property.Builder builderForValue) {
10367            ensurePropertyIsMutable();
10368            property_.add(index, builderForValue.build());
10369    
10370            return this;
10371          }
10372          /**
10373           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10374           */
10375          public Builder addAllProperty(
10376              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Property> values) {
10377            ensurePropertyIsMutable();
10378            super.addAll(values, property_);
10379    
10380            return this;
10381          }
10382          /**
10383           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10384           */
10385          public Builder clearProperty() {
10386            property_ = java.util.Collections.emptyList();
10387            bitField0_ = (bitField0_ & ~0x00000002);
10388    
10389            return this;
10390          }
10391          /**
10392           * <code>repeated .org.jetbrains.kotlin.serialization.Property property = 4;</code>
10393           */
10394          public Builder removeProperty(int index) {
10395            ensurePropertyIsMutable();
10396            property_.remove(index);
10397    
10398            return this;
10399          }
10400    
10401          // optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;
10402          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
10403          /**
10404           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10405           */
10406          public boolean hasTypeTable() {
10407            return ((bitField0_ & 0x00000004) == 0x00000004);
10408          }
10409          /**
10410           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10411           */
10412          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
10413            return typeTable_;
10414          }
10415          /**
10416           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10417           */
10418          public Builder setTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
10419            if (value == null) {
10420              throw new NullPointerException();
10421            }
10422            typeTable_ = value;
10423    
10424            bitField0_ |= 0x00000004;
10425            return this;
10426          }
10427          /**
10428           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10429           */
10430          public Builder setTypeTable(
10431              org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder builderForValue) {
10432            typeTable_ = builderForValue.build();
10433    
10434            bitField0_ |= 0x00000004;
10435            return this;
10436          }
10437          /**
10438           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10439           */
10440          public Builder mergeTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
10441            if (((bitField0_ & 0x00000004) == 0x00000004) &&
10442                typeTable_ != org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance()) {
10443              typeTable_ =
10444                org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.newBuilder(typeTable_).mergeFrom(value).buildPartial();
10445            } else {
10446              typeTable_ = value;
10447            }
10448    
10449            bitField0_ |= 0x00000004;
10450            return this;
10451          }
10452          /**
10453           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
10454           */
10455          public Builder clearTypeTable() {
10456            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
10457    
10458            bitField0_ = (bitField0_ & ~0x00000004);
10459            return this;
10460          }
10461    
10462          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Package)
10463        }
10464    
10465        static {
10466          defaultInstance = new Package(true);
10467          defaultInstance.initFields();
10468        }
10469    
10470        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Package)
10471      }
10472    
10473      public interface TypeTableOrBuilder
10474          extends com.google.protobuf.MessageLiteOrBuilder {
10475    
10476        // repeated .org.jetbrains.kotlin.serialization.Type type = 1;
10477        /**
10478         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10479         */
10480        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> 
10481            getTypeList();
10482        /**
10483         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10484         */
10485        org.jetbrains.kotlin.serialization.ProtoBuf.Type getType(int index);
10486        /**
10487         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10488         */
10489        int getTypeCount();
10490    
10491        // optional int32 first_nullable = 2 [default = -1];
10492        /**
10493         * <code>optional int32 first_nullable = 2 [default = -1];</code>
10494         *
10495         * <pre>
10496         * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
10497         * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
10498         * </pre>
10499         */
10500        boolean hasFirstNullable();
10501        /**
10502         * <code>optional int32 first_nullable = 2 [default = -1];</code>
10503         *
10504         * <pre>
10505         * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
10506         * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
10507         * </pre>
10508         */
10509        int getFirstNullable();
10510      }
10511      /**
10512       * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeTable}
10513       */
10514      public static final class TypeTable extends
10515          com.google.protobuf.GeneratedMessageLite
10516          implements TypeTableOrBuilder {
10517        // Use TypeTable.newBuilder() to construct.
10518        private TypeTable(com.google.protobuf.GeneratedMessageLite.Builder builder) {
10519          super(builder);
10520    
10521        }
10522        private TypeTable(boolean noInit) {}
10523    
10524        private static final TypeTable defaultInstance;
10525        public static TypeTable getDefaultInstance() {
10526          return defaultInstance;
10527        }
10528    
10529        public TypeTable getDefaultInstanceForType() {
10530          return defaultInstance;
10531        }
10532    
10533        private TypeTable(
10534            com.google.protobuf.CodedInputStream input,
10535            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10536            throws com.google.protobuf.InvalidProtocolBufferException {
10537          initFields();
10538          int mutable_bitField0_ = 0;
10539          try {
10540            boolean done = false;
10541            while (!done) {
10542              int tag = input.readTag();
10543              switch (tag) {
10544                case 0:
10545                  done = true;
10546                  break;
10547                default: {
10548                  if (!parseUnknownField(input,
10549                                         extensionRegistry, tag)) {
10550                    done = true;
10551                  }
10552                  break;
10553                }
10554                case 10: {
10555                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
10556                    type_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>();
10557                    mutable_bitField0_ |= 0x00000001;
10558                  }
10559                  type_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
10560                  break;
10561                }
10562                case 16: {
10563                  bitField0_ |= 0x00000001;
10564                  firstNullable_ = input.readInt32();
10565                  break;
10566                }
10567              }
10568            }
10569          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10570            throw e.setUnfinishedMessage(this);
10571          } catch (java.io.IOException e) {
10572            throw new com.google.protobuf.InvalidProtocolBufferException(
10573                e.getMessage()).setUnfinishedMessage(this);
10574          } finally {
10575            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
10576              type_ = java.util.Collections.unmodifiableList(type_);
10577            }
10578            makeExtensionsImmutable();
10579          }
10580        }
10581        public static com.google.protobuf.Parser<TypeTable> PARSER =
10582            new com.google.protobuf.AbstractParser<TypeTable>() {
10583          public TypeTable parsePartialFrom(
10584              com.google.protobuf.CodedInputStream input,
10585              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10586              throws com.google.protobuf.InvalidProtocolBufferException {
10587            return new TypeTable(input, extensionRegistry);
10588          }
10589        };
10590    
10591        @java.lang.Override
10592        public com.google.protobuf.Parser<TypeTable> getParserForType() {
10593          return PARSER;
10594        }
10595    
10596        private int bitField0_;
10597        // repeated .org.jetbrains.kotlin.serialization.Type type = 1;
10598        public static final int TYPE_FIELD_NUMBER = 1;
10599        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> type_;
10600        /**
10601         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10602         */
10603        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getTypeList() {
10604          return type_;
10605        }
10606        /**
10607         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10608         */
10609        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder> 
10610            getTypeOrBuilderList() {
10611          return type_;
10612        }
10613        /**
10614         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10615         */
10616        public int getTypeCount() {
10617          return type_.size();
10618        }
10619        /**
10620         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10621         */
10622        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType(int index) {
10623          return type_.get(index);
10624        }
10625        /**
10626         * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10627         */
10628        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeOrBuilder getTypeOrBuilder(
10629            int index) {
10630          return type_.get(index);
10631        }
10632    
10633        // optional int32 first_nullable = 2 [default = -1];
10634        public static final int FIRST_NULLABLE_FIELD_NUMBER = 2;
10635        private int firstNullable_;
10636        /**
10637         * <code>optional int32 first_nullable = 2 [default = -1];</code>
10638         *
10639         * <pre>
10640         * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
10641         * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
10642         * </pre>
10643         */
10644        public boolean hasFirstNullable() {
10645          return ((bitField0_ & 0x00000001) == 0x00000001);
10646        }
10647        /**
10648         * <code>optional int32 first_nullable = 2 [default = -1];</code>
10649         *
10650         * <pre>
10651         * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
10652         * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
10653         * </pre>
10654         */
10655        public int getFirstNullable() {
10656          return firstNullable_;
10657        }
10658    
10659        private void initFields() {
10660          type_ = java.util.Collections.emptyList();
10661          firstNullable_ = -1;
10662        }
10663        private byte memoizedIsInitialized = -1;
10664        public final boolean isInitialized() {
10665          byte isInitialized = memoizedIsInitialized;
10666          if (isInitialized != -1) return isInitialized == 1;
10667    
10668          for (int i = 0; i < getTypeCount(); i++) {
10669            if (!getType(i).isInitialized()) {
10670              memoizedIsInitialized = 0;
10671              return false;
10672            }
10673          }
10674          memoizedIsInitialized = 1;
10675          return true;
10676        }
10677    
10678        public void writeTo(com.google.protobuf.CodedOutputStream output)
10679                            throws java.io.IOException {
10680          getSerializedSize();
10681          for (int i = 0; i < type_.size(); i++) {
10682            output.writeMessage(1, type_.get(i));
10683          }
10684          if (((bitField0_ & 0x00000001) == 0x00000001)) {
10685            output.writeInt32(2, firstNullable_);
10686          }
10687        }
10688    
10689        private int memoizedSerializedSize = -1;
10690        public int getSerializedSize() {
10691          int size = memoizedSerializedSize;
10692          if (size != -1) return size;
10693    
10694          size = 0;
10695          for (int i = 0; i < type_.size(); i++) {
10696            size += com.google.protobuf.CodedOutputStream
10697              .computeMessageSize(1, type_.get(i));
10698          }
10699          if (((bitField0_ & 0x00000001) == 0x00000001)) {
10700            size += com.google.protobuf.CodedOutputStream
10701              .computeInt32Size(2, firstNullable_);
10702          }
10703          memoizedSerializedSize = size;
10704          return size;
10705        }
10706    
10707        private static final long serialVersionUID = 0L;
10708        @java.lang.Override
10709        protected java.lang.Object writeReplace()
10710            throws java.io.ObjectStreamException {
10711          return super.writeReplace();
10712        }
10713    
10714        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
10715            com.google.protobuf.ByteString data)
10716            throws com.google.protobuf.InvalidProtocolBufferException {
10717          return PARSER.parseFrom(data);
10718        }
10719        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
10720            com.google.protobuf.ByteString data,
10721            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10722            throws com.google.protobuf.InvalidProtocolBufferException {
10723          return PARSER.parseFrom(data, extensionRegistry);
10724        }
10725        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(byte[] data)
10726            throws com.google.protobuf.InvalidProtocolBufferException {
10727          return PARSER.parseFrom(data);
10728        }
10729        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
10730            byte[] data,
10731            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10732            throws com.google.protobuf.InvalidProtocolBufferException {
10733          return PARSER.parseFrom(data, extensionRegistry);
10734        }
10735        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(java.io.InputStream input)
10736            throws java.io.IOException {
10737          return PARSER.parseFrom(input);
10738        }
10739        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
10740            java.io.InputStream input,
10741            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10742            throws java.io.IOException {
10743          return PARSER.parseFrom(input, extensionRegistry);
10744        }
10745        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseDelimitedFrom(java.io.InputStream input)
10746            throws java.io.IOException {
10747          return PARSER.parseDelimitedFrom(input);
10748        }
10749        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseDelimitedFrom(
10750            java.io.InputStream input,
10751            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10752            throws java.io.IOException {
10753          return PARSER.parseDelimitedFrom(input, extensionRegistry);
10754        }
10755        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
10756            com.google.protobuf.CodedInputStream input)
10757            throws java.io.IOException {
10758          return PARSER.parseFrom(input);
10759        }
10760        public static org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parseFrom(
10761            com.google.protobuf.CodedInputStream input,
10762            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10763            throws java.io.IOException {
10764          return PARSER.parseFrom(input, extensionRegistry);
10765        }
10766    
10767        public static Builder newBuilder() { return Builder.create(); }
10768        public Builder newBuilderForType() { return newBuilder(); }
10769        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable prototype) {
10770          return newBuilder().mergeFrom(prototype);
10771        }
10772        public Builder toBuilder() { return newBuilder(this); }
10773    
10774        /**
10775         * Protobuf type {@code org.jetbrains.kotlin.serialization.TypeTable}
10776         */
10777        public static final class Builder extends
10778            com.google.protobuf.GeneratedMessageLite.Builder<
10779              org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable, Builder>
10780            implements org.jetbrains.kotlin.serialization.ProtoBuf.TypeTableOrBuilder {
10781          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.newBuilder()
10782          private Builder() {
10783            maybeForceBuilderInitialization();
10784          }
10785    
10786          private void maybeForceBuilderInitialization() {
10787          }
10788          private static Builder create() {
10789            return new Builder();
10790          }
10791    
10792          public Builder clear() {
10793            super.clear();
10794            type_ = java.util.Collections.emptyList();
10795            bitField0_ = (bitField0_ & ~0x00000001);
10796            firstNullable_ = -1;
10797            bitField0_ = (bitField0_ & ~0x00000002);
10798            return this;
10799          }
10800    
10801          public Builder clone() {
10802            return create().mergeFrom(buildPartial());
10803          }
10804    
10805          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getDefaultInstanceForType() {
10806            return org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
10807          }
10808    
10809          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable build() {
10810            org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable result = buildPartial();
10811            if (!result.isInitialized()) {
10812              throw newUninitializedMessageException(result);
10813            }
10814            return result;
10815          }
10816    
10817          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable buildPartial() {
10818            org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable result = new org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable(this);
10819            int from_bitField0_ = bitField0_;
10820            int to_bitField0_ = 0;
10821            if (((bitField0_ & 0x00000001) == 0x00000001)) {
10822              type_ = java.util.Collections.unmodifiableList(type_);
10823              bitField0_ = (bitField0_ & ~0x00000001);
10824            }
10825            result.type_ = type_;
10826            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
10827              to_bitField0_ |= 0x00000001;
10828            }
10829            result.firstNullable_ = firstNullable_;
10830            result.bitField0_ = to_bitField0_;
10831            return result;
10832          }
10833    
10834          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable other) {
10835            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance()) return this;
10836            if (!other.type_.isEmpty()) {
10837              if (type_.isEmpty()) {
10838                type_ = other.type_;
10839                bitField0_ = (bitField0_ & ~0x00000001);
10840              } else {
10841                ensureTypeIsMutable();
10842                type_.addAll(other.type_);
10843              }
10844              
10845            }
10846            if (other.hasFirstNullable()) {
10847              setFirstNullable(other.getFirstNullable());
10848            }
10849            return this;
10850          }
10851    
10852          public final boolean isInitialized() {
10853            for (int i = 0; i < getTypeCount(); i++) {
10854              if (!getType(i).isInitialized()) {
10855                
10856                return false;
10857              }
10858            }
10859            return true;
10860          }
10861    
10862          public Builder mergeFrom(
10863              com.google.protobuf.CodedInputStream input,
10864              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10865              throws java.io.IOException {
10866            org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable parsedMessage = null;
10867            try {
10868              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
10869            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10870              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable) e.getUnfinishedMessage();
10871              throw e;
10872            } finally {
10873              if (parsedMessage != null) {
10874                mergeFrom(parsedMessage);
10875              }
10876            }
10877            return this;
10878          }
10879          private int bitField0_;
10880    
10881          // repeated .org.jetbrains.kotlin.serialization.Type type = 1;
10882          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> type_ =
10883            java.util.Collections.emptyList();
10884          private void ensureTypeIsMutable() {
10885            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
10886              type_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.Type>(type_);
10887              bitField0_ |= 0x00000001;
10888             }
10889          }
10890    
10891          /**
10892           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10893           */
10894          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.Type> getTypeList() {
10895            return java.util.Collections.unmodifiableList(type_);
10896          }
10897          /**
10898           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10899           */
10900          public int getTypeCount() {
10901            return type_.size();
10902          }
10903          /**
10904           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10905           */
10906          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType(int index) {
10907            return type_.get(index);
10908          }
10909          /**
10910           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10911           */
10912          public Builder setType(
10913              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
10914            if (value == null) {
10915              throw new NullPointerException();
10916            }
10917            ensureTypeIsMutable();
10918            type_.set(index, value);
10919    
10920            return this;
10921          }
10922          /**
10923           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10924           */
10925          public Builder setType(
10926              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
10927            ensureTypeIsMutable();
10928            type_.set(index, builderForValue.build());
10929    
10930            return this;
10931          }
10932          /**
10933           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10934           */
10935          public Builder addType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
10936            if (value == null) {
10937              throw new NullPointerException();
10938            }
10939            ensureTypeIsMutable();
10940            type_.add(value);
10941    
10942            return this;
10943          }
10944          /**
10945           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10946           */
10947          public Builder addType(
10948              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
10949            if (value == null) {
10950              throw new NullPointerException();
10951            }
10952            ensureTypeIsMutable();
10953            type_.add(index, value);
10954    
10955            return this;
10956          }
10957          /**
10958           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10959           */
10960          public Builder addType(
10961              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
10962            ensureTypeIsMutable();
10963            type_.add(builderForValue.build());
10964    
10965            return this;
10966          }
10967          /**
10968           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10969           */
10970          public Builder addType(
10971              int index, org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
10972            ensureTypeIsMutable();
10973            type_.add(index, builderForValue.build());
10974    
10975            return this;
10976          }
10977          /**
10978           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10979           */
10980          public Builder addAllType(
10981              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.Type> values) {
10982            ensureTypeIsMutable();
10983            super.addAll(values, type_);
10984    
10985            return this;
10986          }
10987          /**
10988           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10989           */
10990          public Builder clearType() {
10991            type_ = java.util.Collections.emptyList();
10992            bitField0_ = (bitField0_ & ~0x00000001);
10993    
10994            return this;
10995          }
10996          /**
10997           * <code>repeated .org.jetbrains.kotlin.serialization.Type type = 1;</code>
10998           */
10999          public Builder removeType(int index) {
11000            ensureTypeIsMutable();
11001            type_.remove(index);
11002    
11003            return this;
11004          }
11005    
11006          // optional int32 first_nullable = 2 [default = -1];
11007          private int firstNullable_ = -1;
11008          /**
11009           * <code>optional int32 first_nullable = 2 [default = -1];</code>
11010           *
11011           * <pre>
11012           * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11013           * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11014           * </pre>
11015           */
11016          public boolean hasFirstNullable() {
11017            return ((bitField0_ & 0x00000002) == 0x00000002);
11018          }
11019          /**
11020           * <code>optional int32 first_nullable = 2 [default = -1];</code>
11021           *
11022           * <pre>
11023           * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11024           * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11025           * </pre>
11026           */
11027          public int getFirstNullable() {
11028            return firstNullable_;
11029          }
11030          /**
11031           * <code>optional int32 first_nullable = 2 [default = -1];</code>
11032           *
11033           * <pre>
11034           * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11035           * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11036           * </pre>
11037           */
11038          public Builder setFirstNullable(int value) {
11039            bitField0_ |= 0x00000002;
11040            firstNullable_ = value;
11041            
11042            return this;
11043          }
11044          /**
11045           * <code>optional int32 first_nullable = 2 [default = -1];</code>
11046           *
11047           * <pre>
11048           * Index starting from which all types are nullable, or nothing if all types in this table are non-null.
11049           * Note that the 'nullable' field of Type messages is ignored and shouldn't be written because it wastes too much space
11050           * </pre>
11051           */
11052          public Builder clearFirstNullable() {
11053            bitField0_ = (bitField0_ & ~0x00000002);
11054            firstNullable_ = -1;
11055            
11056            return this;
11057          }
11058    
11059          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.TypeTable)
11060        }
11061    
11062        static {
11063          defaultInstance = new TypeTable(true);
11064          defaultInstance.initFields();
11065        }
11066    
11067        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.TypeTable)
11068      }
11069    
11070      public interface ConstructorOrBuilder extends 
11071           com.google.protobuf.GeneratedMessageLite.
11072                ExtendableMessageOrBuilder<Constructor> {
11073    
11074        // optional int32 flags = 1 [default = 6];
11075        /**
11076         * <code>optional int32 flags = 1 [default = 6];</code>
11077         *
11078         * <pre>
11079         *
11080         *hasAnnotations
11081         *Visibility
11082         *isSecondary
11083         * </pre>
11084         */
11085        boolean hasFlags();
11086        /**
11087         * <code>optional int32 flags = 1 [default = 6];</code>
11088         *
11089         * <pre>
11090         *
11091         *hasAnnotations
11092         *Visibility
11093         *isSecondary
11094         * </pre>
11095         */
11096        int getFlags();
11097    
11098        // repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;
11099        /**
11100         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11101         */
11102        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> 
11103            getValueParameterList();
11104        /**
11105         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11106         */
11107        org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index);
11108        /**
11109         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11110         */
11111        int getValueParameterCount();
11112      }
11113      /**
11114       * Protobuf type {@code org.jetbrains.kotlin.serialization.Constructor}
11115       */
11116      public static final class Constructor extends
11117          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
11118            Constructor> implements ConstructorOrBuilder {
11119        // Use Constructor.newBuilder() to construct.
11120        private Constructor(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor, ?> builder) {
11121          super(builder);
11122    
11123        }
11124        private Constructor(boolean noInit) {}
11125    
11126        private static final Constructor defaultInstance;
11127        public static Constructor getDefaultInstance() {
11128          return defaultInstance;
11129        }
11130    
11131        public Constructor getDefaultInstanceForType() {
11132          return defaultInstance;
11133        }
11134    
11135        private Constructor(
11136            com.google.protobuf.CodedInputStream input,
11137            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11138            throws com.google.protobuf.InvalidProtocolBufferException {
11139          initFields();
11140          int mutable_bitField0_ = 0;
11141          try {
11142            boolean done = false;
11143            while (!done) {
11144              int tag = input.readTag();
11145              switch (tag) {
11146                case 0:
11147                  done = true;
11148                  break;
11149                default: {
11150                  if (!parseUnknownField(input,
11151                                         extensionRegistry, tag)) {
11152                    done = true;
11153                  }
11154                  break;
11155                }
11156                case 8: {
11157                  bitField0_ |= 0x00000001;
11158                  flags_ = input.readInt32();
11159                  break;
11160                }
11161                case 18: {
11162                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
11163                    valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>();
11164                    mutable_bitField0_ |= 0x00000002;
11165                  }
11166                  valueParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.PARSER, extensionRegistry));
11167                  break;
11168                }
11169              }
11170            }
11171          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11172            throw e.setUnfinishedMessage(this);
11173          } catch (java.io.IOException e) {
11174            throw new com.google.protobuf.InvalidProtocolBufferException(
11175                e.getMessage()).setUnfinishedMessage(this);
11176          } finally {
11177            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
11178              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
11179            }
11180            makeExtensionsImmutable();
11181          }
11182        }
11183        public static com.google.protobuf.Parser<Constructor> PARSER =
11184            new com.google.protobuf.AbstractParser<Constructor>() {
11185          public Constructor parsePartialFrom(
11186              com.google.protobuf.CodedInputStream input,
11187              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11188              throws com.google.protobuf.InvalidProtocolBufferException {
11189            return new Constructor(input, extensionRegistry);
11190          }
11191        };
11192    
11193        @java.lang.Override
11194        public com.google.protobuf.Parser<Constructor> getParserForType() {
11195          return PARSER;
11196        }
11197    
11198        private int bitField0_;
11199        // optional int32 flags = 1 [default = 6];
11200        public static final int FLAGS_FIELD_NUMBER = 1;
11201        private int flags_;
11202        /**
11203         * <code>optional int32 flags = 1 [default = 6];</code>
11204         *
11205         * <pre>
11206         *
11207         *hasAnnotations
11208         *Visibility
11209         *isSecondary
11210         * </pre>
11211         */
11212        public boolean hasFlags() {
11213          return ((bitField0_ & 0x00000001) == 0x00000001);
11214        }
11215        /**
11216         * <code>optional int32 flags = 1 [default = 6];</code>
11217         *
11218         * <pre>
11219         *
11220         *hasAnnotations
11221         *Visibility
11222         *isSecondary
11223         * </pre>
11224         */
11225        public int getFlags() {
11226          return flags_;
11227        }
11228    
11229        // repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;
11230        public static final int VALUE_PARAMETER_FIELD_NUMBER = 2;
11231        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> valueParameter_;
11232        /**
11233         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11234         */
11235        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> getValueParameterList() {
11236          return valueParameter_;
11237        }
11238        /**
11239         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11240         */
11241        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder> 
11242            getValueParameterOrBuilderList() {
11243          return valueParameter_;
11244        }
11245        /**
11246         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11247         */
11248        public int getValueParameterCount() {
11249          return valueParameter_.size();
11250        }
11251        /**
11252         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11253         */
11254        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index) {
11255          return valueParameter_.get(index);
11256        }
11257        /**
11258         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11259         */
11260        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder getValueParameterOrBuilder(
11261            int index) {
11262          return valueParameter_.get(index);
11263        }
11264    
11265        private void initFields() {
11266          flags_ = 6;
11267          valueParameter_ = java.util.Collections.emptyList();
11268        }
11269        private byte memoizedIsInitialized = -1;
11270        public final boolean isInitialized() {
11271          byte isInitialized = memoizedIsInitialized;
11272          if (isInitialized != -1) return isInitialized == 1;
11273    
11274          for (int i = 0; i < getValueParameterCount(); i++) {
11275            if (!getValueParameter(i).isInitialized()) {
11276              memoizedIsInitialized = 0;
11277              return false;
11278            }
11279          }
11280          if (!extensionsAreInitialized()) {
11281            memoizedIsInitialized = 0;
11282            return false;
11283          }
11284          memoizedIsInitialized = 1;
11285          return true;
11286        }
11287    
11288        public void writeTo(com.google.protobuf.CodedOutputStream output)
11289                            throws java.io.IOException {
11290          getSerializedSize();
11291          com.google.protobuf.GeneratedMessageLite
11292            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Constructor>.ExtensionWriter extensionWriter =
11293              newExtensionWriter();
11294          if (((bitField0_ & 0x00000001) == 0x00000001)) {
11295            output.writeInt32(1, flags_);
11296          }
11297          for (int i = 0; i < valueParameter_.size(); i++) {
11298            output.writeMessage(2, valueParameter_.get(i));
11299          }
11300          extensionWriter.writeUntil(200, output);
11301        }
11302    
11303        private int memoizedSerializedSize = -1;
11304        public int getSerializedSize() {
11305          int size = memoizedSerializedSize;
11306          if (size != -1) return size;
11307    
11308          size = 0;
11309          if (((bitField0_ & 0x00000001) == 0x00000001)) {
11310            size += com.google.protobuf.CodedOutputStream
11311              .computeInt32Size(1, flags_);
11312          }
11313          for (int i = 0; i < valueParameter_.size(); i++) {
11314            size += com.google.protobuf.CodedOutputStream
11315              .computeMessageSize(2, valueParameter_.get(i));
11316          }
11317          size += extensionsSerializedSize();
11318          memoizedSerializedSize = size;
11319          return size;
11320        }
11321    
11322        private static final long serialVersionUID = 0L;
11323        @java.lang.Override
11324        protected java.lang.Object writeReplace()
11325            throws java.io.ObjectStreamException {
11326          return super.writeReplace();
11327        }
11328    
11329        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
11330            com.google.protobuf.ByteString data)
11331            throws com.google.protobuf.InvalidProtocolBufferException {
11332          return PARSER.parseFrom(data);
11333        }
11334        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
11335            com.google.protobuf.ByteString data,
11336            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11337            throws com.google.protobuf.InvalidProtocolBufferException {
11338          return PARSER.parseFrom(data, extensionRegistry);
11339        }
11340        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(byte[] data)
11341            throws com.google.protobuf.InvalidProtocolBufferException {
11342          return PARSER.parseFrom(data);
11343        }
11344        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
11345            byte[] data,
11346            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11347            throws com.google.protobuf.InvalidProtocolBufferException {
11348          return PARSER.parseFrom(data, extensionRegistry);
11349        }
11350        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(java.io.InputStream input)
11351            throws java.io.IOException {
11352          return PARSER.parseFrom(input);
11353        }
11354        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
11355            java.io.InputStream input,
11356            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11357            throws java.io.IOException {
11358          return PARSER.parseFrom(input, extensionRegistry);
11359        }
11360        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseDelimitedFrom(java.io.InputStream input)
11361            throws java.io.IOException {
11362          return PARSER.parseDelimitedFrom(input);
11363        }
11364        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseDelimitedFrom(
11365            java.io.InputStream input,
11366            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11367            throws java.io.IOException {
11368          return PARSER.parseDelimitedFrom(input, extensionRegistry);
11369        }
11370        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
11371            com.google.protobuf.CodedInputStream input)
11372            throws java.io.IOException {
11373          return PARSER.parseFrom(input);
11374        }
11375        public static org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parseFrom(
11376            com.google.protobuf.CodedInputStream input,
11377            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11378            throws java.io.IOException {
11379          return PARSER.parseFrom(input, extensionRegistry);
11380        }
11381    
11382        public static Builder newBuilder() { return Builder.create(); }
11383        public Builder newBuilderForType() { return newBuilder(); }
11384        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Constructor prototype) {
11385          return newBuilder().mergeFrom(prototype);
11386        }
11387        public Builder toBuilder() { return newBuilder(this); }
11388    
11389        /**
11390         * Protobuf type {@code org.jetbrains.kotlin.serialization.Constructor}
11391         */
11392        public static final class Builder extends
11393            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
11394              org.jetbrains.kotlin.serialization.ProtoBuf.Constructor, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.ConstructorOrBuilder {
11395          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.newBuilder()
11396          private Builder() {
11397            maybeForceBuilderInitialization();
11398          }
11399    
11400          private void maybeForceBuilderInitialization() {
11401          }
11402          private static Builder create() {
11403            return new Builder();
11404          }
11405    
11406          public Builder clear() {
11407            super.clear();
11408            flags_ = 6;
11409            bitField0_ = (bitField0_ & ~0x00000001);
11410            valueParameter_ = java.util.Collections.emptyList();
11411            bitField0_ = (bitField0_ & ~0x00000002);
11412            return this;
11413          }
11414    
11415          public Builder clone() {
11416            return create().mergeFrom(buildPartial());
11417          }
11418    
11419          public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor getDefaultInstanceForType() {
11420            return org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.getDefaultInstance();
11421          }
11422    
11423          public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor build() {
11424            org.jetbrains.kotlin.serialization.ProtoBuf.Constructor result = buildPartial();
11425            if (!result.isInitialized()) {
11426              throw newUninitializedMessageException(result);
11427            }
11428            return result;
11429          }
11430    
11431          public org.jetbrains.kotlin.serialization.ProtoBuf.Constructor buildPartial() {
11432            org.jetbrains.kotlin.serialization.ProtoBuf.Constructor result = new org.jetbrains.kotlin.serialization.ProtoBuf.Constructor(this);
11433            int from_bitField0_ = bitField0_;
11434            int to_bitField0_ = 0;
11435            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
11436              to_bitField0_ |= 0x00000001;
11437            }
11438            result.flags_ = flags_;
11439            if (((bitField0_ & 0x00000002) == 0x00000002)) {
11440              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
11441              bitField0_ = (bitField0_ & ~0x00000002);
11442            }
11443            result.valueParameter_ = valueParameter_;
11444            result.bitField0_ = to_bitField0_;
11445            return result;
11446          }
11447    
11448          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Constructor other) {
11449            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Constructor.getDefaultInstance()) return this;
11450            if (other.hasFlags()) {
11451              setFlags(other.getFlags());
11452            }
11453            if (!other.valueParameter_.isEmpty()) {
11454              if (valueParameter_.isEmpty()) {
11455                valueParameter_ = other.valueParameter_;
11456                bitField0_ = (bitField0_ & ~0x00000002);
11457              } else {
11458                ensureValueParameterIsMutable();
11459                valueParameter_.addAll(other.valueParameter_);
11460              }
11461              
11462            }
11463            this.mergeExtensionFields(other);
11464            return this;
11465          }
11466    
11467          public final boolean isInitialized() {
11468            for (int i = 0; i < getValueParameterCount(); i++) {
11469              if (!getValueParameter(i).isInitialized()) {
11470                
11471                return false;
11472              }
11473            }
11474            if (!extensionsAreInitialized()) {
11475              
11476              return false;
11477            }
11478            return true;
11479          }
11480    
11481          public Builder mergeFrom(
11482              com.google.protobuf.CodedInputStream input,
11483              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11484              throws java.io.IOException {
11485            org.jetbrains.kotlin.serialization.ProtoBuf.Constructor parsedMessage = null;
11486            try {
11487              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
11488            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11489              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Constructor) e.getUnfinishedMessage();
11490              throw e;
11491            } finally {
11492              if (parsedMessage != null) {
11493                mergeFrom(parsedMessage);
11494              }
11495            }
11496            return this;
11497          }
11498          private int bitField0_;
11499    
11500          // optional int32 flags = 1 [default = 6];
11501          private int flags_ = 6;
11502          /**
11503           * <code>optional int32 flags = 1 [default = 6];</code>
11504           *
11505           * <pre>
11506           *
11507           *hasAnnotations
11508           *Visibility
11509           *isSecondary
11510           * </pre>
11511           */
11512          public boolean hasFlags() {
11513            return ((bitField0_ & 0x00000001) == 0x00000001);
11514          }
11515          /**
11516           * <code>optional int32 flags = 1 [default = 6];</code>
11517           *
11518           * <pre>
11519           *
11520           *hasAnnotations
11521           *Visibility
11522           *isSecondary
11523           * </pre>
11524           */
11525          public int getFlags() {
11526            return flags_;
11527          }
11528          /**
11529           * <code>optional int32 flags = 1 [default = 6];</code>
11530           *
11531           * <pre>
11532           *
11533           *hasAnnotations
11534           *Visibility
11535           *isSecondary
11536           * </pre>
11537           */
11538          public Builder setFlags(int value) {
11539            bitField0_ |= 0x00000001;
11540            flags_ = value;
11541            
11542            return this;
11543          }
11544          /**
11545           * <code>optional int32 flags = 1 [default = 6];</code>
11546           *
11547           * <pre>
11548           *
11549           *hasAnnotations
11550           *Visibility
11551           *isSecondary
11552           * </pre>
11553           */
11554          public Builder clearFlags() {
11555            bitField0_ = (bitField0_ & ~0x00000001);
11556            flags_ = 6;
11557            
11558            return this;
11559          }
11560    
11561          // repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;
11562          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> valueParameter_ =
11563            java.util.Collections.emptyList();
11564          private void ensureValueParameterIsMutable() {
11565            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
11566              valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>(valueParameter_);
11567              bitField0_ |= 0x00000002;
11568             }
11569          }
11570    
11571          /**
11572           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11573           */
11574          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> getValueParameterList() {
11575            return java.util.Collections.unmodifiableList(valueParameter_);
11576          }
11577          /**
11578           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11579           */
11580          public int getValueParameterCount() {
11581            return valueParameter_.size();
11582          }
11583          /**
11584           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11585           */
11586          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index) {
11587            return valueParameter_.get(index);
11588          }
11589          /**
11590           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11591           */
11592          public Builder setValueParameter(
11593              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
11594            if (value == null) {
11595              throw new NullPointerException();
11596            }
11597            ensureValueParameterIsMutable();
11598            valueParameter_.set(index, value);
11599    
11600            return this;
11601          }
11602          /**
11603           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11604           */
11605          public Builder setValueParameter(
11606              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
11607            ensureValueParameterIsMutable();
11608            valueParameter_.set(index, builderForValue.build());
11609    
11610            return this;
11611          }
11612          /**
11613           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11614           */
11615          public Builder addValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
11616            if (value == null) {
11617              throw new NullPointerException();
11618            }
11619            ensureValueParameterIsMutable();
11620            valueParameter_.add(value);
11621    
11622            return this;
11623          }
11624          /**
11625           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11626           */
11627          public Builder addValueParameter(
11628              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
11629            if (value == null) {
11630              throw new NullPointerException();
11631            }
11632            ensureValueParameterIsMutable();
11633            valueParameter_.add(index, value);
11634    
11635            return this;
11636          }
11637          /**
11638           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11639           */
11640          public Builder addValueParameter(
11641              org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
11642            ensureValueParameterIsMutable();
11643            valueParameter_.add(builderForValue.build());
11644    
11645            return this;
11646          }
11647          /**
11648           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11649           */
11650          public Builder addValueParameter(
11651              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
11652            ensureValueParameterIsMutable();
11653            valueParameter_.add(index, builderForValue.build());
11654    
11655            return this;
11656          }
11657          /**
11658           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11659           */
11660          public Builder addAllValueParameter(
11661              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> values) {
11662            ensureValueParameterIsMutable();
11663            super.addAll(values, valueParameter_);
11664    
11665            return this;
11666          }
11667          /**
11668           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11669           */
11670          public Builder clearValueParameter() {
11671            valueParameter_ = java.util.Collections.emptyList();
11672            bitField0_ = (bitField0_ & ~0x00000002);
11673    
11674            return this;
11675          }
11676          /**
11677           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 2;</code>
11678           */
11679          public Builder removeValueParameter(int index) {
11680            ensureValueParameterIsMutable();
11681            valueParameter_.remove(index);
11682    
11683            return this;
11684          }
11685    
11686          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Constructor)
11687        }
11688    
11689        static {
11690          defaultInstance = new Constructor(true);
11691          defaultInstance.initFields();
11692        }
11693    
11694        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Constructor)
11695      }
11696    
11697      public interface FunctionOrBuilder extends 
11698           com.google.protobuf.GeneratedMessageLite.
11699                ExtendableMessageOrBuilder<Function> {
11700    
11701        // optional int32 flags = 1 [default = 6];
11702        /**
11703         * <code>optional int32 flags = 1 [default = 6];</code>
11704         *
11705         * <pre>
11706         *
11707         *hasAnnotations
11708         *Visibility
11709         *Modality
11710         *MemberKind
11711         *isOperator
11712         *isInfix
11713         *isInline
11714         *isTailrec
11715         *isExternal
11716         * </pre>
11717         */
11718        boolean hasFlags();
11719        /**
11720         * <code>optional int32 flags = 1 [default = 6];</code>
11721         *
11722         * <pre>
11723         *
11724         *hasAnnotations
11725         *Visibility
11726         *Modality
11727         *MemberKind
11728         *isOperator
11729         *isInfix
11730         *isInline
11731         *isTailrec
11732         *isExternal
11733         * </pre>
11734         */
11735        int getFlags();
11736    
11737        // required int32 name = 2;
11738        /**
11739         * <code>required int32 name = 2;</code>
11740         */
11741        boolean hasName();
11742        /**
11743         * <code>required int32 name = 2;</code>
11744         */
11745        int getName();
11746    
11747        // optional .org.jetbrains.kotlin.serialization.Type return_type = 3;
11748        /**
11749         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
11750         */
11751        boolean hasReturnType();
11752        /**
11753         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
11754         */
11755        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType();
11756    
11757        // optional int32 return_type_id = 7;
11758        /**
11759         * <code>optional int32 return_type_id = 7;</code>
11760         */
11761        boolean hasReturnTypeId();
11762        /**
11763         * <code>optional int32 return_type_id = 7;</code>
11764         */
11765        int getReturnTypeId();
11766    
11767        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
11768        /**
11769         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
11770         */
11771        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
11772            getTypeParameterList();
11773        /**
11774         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
11775         */
11776        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
11777        /**
11778         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
11779         */
11780        int getTypeParameterCount();
11781    
11782        // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
11783        /**
11784         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
11785         */
11786        boolean hasReceiverType();
11787        /**
11788         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
11789         */
11790        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType();
11791    
11792        // optional int32 receiver_type_id = 8;
11793        /**
11794         * <code>optional int32 receiver_type_id = 8;</code>
11795         */
11796        boolean hasReceiverTypeId();
11797        /**
11798         * <code>optional int32 receiver_type_id = 8;</code>
11799         */
11800        int getReceiverTypeId();
11801    
11802        // repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;
11803        /**
11804         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
11805         */
11806        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> 
11807            getValueParameterList();
11808        /**
11809         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
11810         */
11811        org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index);
11812        /**
11813         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
11814         */
11815        int getValueParameterCount();
11816    
11817        // optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;
11818        /**
11819         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
11820         */
11821        boolean hasTypeTable();
11822        /**
11823         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
11824         */
11825        org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable();
11826      }
11827      /**
11828       * Protobuf type {@code org.jetbrains.kotlin.serialization.Function}
11829       */
11830      public static final class Function extends
11831          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
11832            Function> implements FunctionOrBuilder {
11833        // Use Function.newBuilder() to construct.
11834        private Function(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Function, ?> builder) {
11835          super(builder);
11836    
11837        }
11838        private Function(boolean noInit) {}
11839    
11840        private static final Function defaultInstance;
11841        public static Function getDefaultInstance() {
11842          return defaultInstance;
11843        }
11844    
11845        public Function getDefaultInstanceForType() {
11846          return defaultInstance;
11847        }
11848    
11849        private Function(
11850            com.google.protobuf.CodedInputStream input,
11851            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11852            throws com.google.protobuf.InvalidProtocolBufferException {
11853          initFields();
11854          int mutable_bitField0_ = 0;
11855          try {
11856            boolean done = false;
11857            while (!done) {
11858              int tag = input.readTag();
11859              switch (tag) {
11860                case 0:
11861                  done = true;
11862                  break;
11863                default: {
11864                  if (!parseUnknownField(input,
11865                                         extensionRegistry, tag)) {
11866                    done = true;
11867                  }
11868                  break;
11869                }
11870                case 8: {
11871                  bitField0_ |= 0x00000001;
11872                  flags_ = input.readInt32();
11873                  break;
11874                }
11875                case 16: {
11876                  bitField0_ |= 0x00000002;
11877                  name_ = input.readInt32();
11878                  break;
11879                }
11880                case 26: {
11881                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
11882                  if (((bitField0_ & 0x00000004) == 0x00000004)) {
11883                    subBuilder = returnType_.toBuilder();
11884                  }
11885                  returnType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
11886                  if (subBuilder != null) {
11887                    subBuilder.mergeFrom(returnType_);
11888                    returnType_ = subBuilder.buildPartial();
11889                  }
11890                  bitField0_ |= 0x00000004;
11891                  break;
11892                }
11893                case 34: {
11894                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
11895                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
11896                    mutable_bitField0_ |= 0x00000010;
11897                  }
11898                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
11899                  break;
11900                }
11901                case 42: {
11902                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
11903                  if (((bitField0_ & 0x00000010) == 0x00000010)) {
11904                    subBuilder = receiverType_.toBuilder();
11905                  }
11906                  receiverType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
11907                  if (subBuilder != null) {
11908                    subBuilder.mergeFrom(receiverType_);
11909                    receiverType_ = subBuilder.buildPartial();
11910                  }
11911                  bitField0_ |= 0x00000010;
11912                  break;
11913                }
11914                case 50: {
11915                  if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
11916                    valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>();
11917                    mutable_bitField0_ |= 0x00000080;
11918                  }
11919                  valueParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.PARSER, extensionRegistry));
11920                  break;
11921                }
11922                case 56: {
11923                  bitField0_ |= 0x00000008;
11924                  returnTypeId_ = input.readInt32();
11925                  break;
11926                }
11927                case 64: {
11928                  bitField0_ |= 0x00000020;
11929                  receiverTypeId_ = input.readInt32();
11930                  break;
11931                }
11932                case 242: {
11933                  org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder subBuilder = null;
11934                  if (((bitField0_ & 0x00000040) == 0x00000040)) {
11935                    subBuilder = typeTable_.toBuilder();
11936                  }
11937                  typeTable_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.PARSER, extensionRegistry);
11938                  if (subBuilder != null) {
11939                    subBuilder.mergeFrom(typeTable_);
11940                    typeTable_ = subBuilder.buildPartial();
11941                  }
11942                  bitField0_ |= 0x00000040;
11943                  break;
11944                }
11945              }
11946            }
11947          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11948            throw e.setUnfinishedMessage(this);
11949          } catch (java.io.IOException e) {
11950            throw new com.google.protobuf.InvalidProtocolBufferException(
11951                e.getMessage()).setUnfinishedMessage(this);
11952          } finally {
11953            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
11954              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
11955            }
11956            if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
11957              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
11958            }
11959            makeExtensionsImmutable();
11960          }
11961        }
11962        public static com.google.protobuf.Parser<Function> PARSER =
11963            new com.google.protobuf.AbstractParser<Function>() {
11964          public Function parsePartialFrom(
11965              com.google.protobuf.CodedInputStream input,
11966              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11967              throws com.google.protobuf.InvalidProtocolBufferException {
11968            return new Function(input, extensionRegistry);
11969          }
11970        };
11971    
11972        @java.lang.Override
11973        public com.google.protobuf.Parser<Function> getParserForType() {
11974          return PARSER;
11975        }
11976    
11977        private int bitField0_;
11978        // optional int32 flags = 1 [default = 6];
11979        public static final int FLAGS_FIELD_NUMBER = 1;
11980        private int flags_;
11981        /**
11982         * <code>optional int32 flags = 1 [default = 6];</code>
11983         *
11984         * <pre>
11985         *
11986         *hasAnnotations
11987         *Visibility
11988         *Modality
11989         *MemberKind
11990         *isOperator
11991         *isInfix
11992         *isInline
11993         *isTailrec
11994         *isExternal
11995         * </pre>
11996         */
11997        public boolean hasFlags() {
11998          return ((bitField0_ & 0x00000001) == 0x00000001);
11999        }
12000        /**
12001         * <code>optional int32 flags = 1 [default = 6];</code>
12002         *
12003         * <pre>
12004         *
12005         *hasAnnotations
12006         *Visibility
12007         *Modality
12008         *MemberKind
12009         *isOperator
12010         *isInfix
12011         *isInline
12012         *isTailrec
12013         *isExternal
12014         * </pre>
12015         */
12016        public int getFlags() {
12017          return flags_;
12018        }
12019    
12020        // required int32 name = 2;
12021        public static final int NAME_FIELD_NUMBER = 2;
12022        private int name_;
12023        /**
12024         * <code>required int32 name = 2;</code>
12025         */
12026        public boolean hasName() {
12027          return ((bitField0_ & 0x00000002) == 0x00000002);
12028        }
12029        /**
12030         * <code>required int32 name = 2;</code>
12031         */
12032        public int getName() {
12033          return name_;
12034        }
12035    
12036        // optional .org.jetbrains.kotlin.serialization.Type return_type = 3;
12037        public static final int RETURN_TYPE_FIELD_NUMBER = 3;
12038        private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_;
12039        /**
12040         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
12041         */
12042        public boolean hasReturnType() {
12043          return ((bitField0_ & 0x00000004) == 0x00000004);
12044        }
12045        /**
12046         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
12047         */
12048        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
12049          return returnType_;
12050        }
12051    
12052        // optional int32 return_type_id = 7;
12053        public static final int RETURN_TYPE_ID_FIELD_NUMBER = 7;
12054        private int returnTypeId_;
12055        /**
12056         * <code>optional int32 return_type_id = 7;</code>
12057         */
12058        public boolean hasReturnTypeId() {
12059          return ((bitField0_ & 0x00000008) == 0x00000008);
12060        }
12061        /**
12062         * <code>optional int32 return_type_id = 7;</code>
12063         */
12064        public int getReturnTypeId() {
12065          return returnTypeId_;
12066        }
12067    
12068        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
12069        public static final int TYPE_PARAMETER_FIELD_NUMBER = 4;
12070        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
12071        /**
12072         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12073         */
12074        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
12075          return typeParameter_;
12076        }
12077        /**
12078         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12079         */
12080        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
12081            getTypeParameterOrBuilderList() {
12082          return typeParameter_;
12083        }
12084        /**
12085         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12086         */
12087        public int getTypeParameterCount() {
12088          return typeParameter_.size();
12089        }
12090        /**
12091         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12092         */
12093        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
12094          return typeParameter_.get(index);
12095        }
12096        /**
12097         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12098         */
12099        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
12100            int index) {
12101          return typeParameter_.get(index);
12102        }
12103    
12104        // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
12105        public static final int RECEIVER_TYPE_FIELD_NUMBER = 5;
12106        private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_;
12107        /**
12108         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12109         */
12110        public boolean hasReceiverType() {
12111          return ((bitField0_ & 0x00000010) == 0x00000010);
12112        }
12113        /**
12114         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12115         */
12116        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
12117          return receiverType_;
12118        }
12119    
12120        // optional int32 receiver_type_id = 8;
12121        public static final int RECEIVER_TYPE_ID_FIELD_NUMBER = 8;
12122        private int receiverTypeId_;
12123        /**
12124         * <code>optional int32 receiver_type_id = 8;</code>
12125         */
12126        public boolean hasReceiverTypeId() {
12127          return ((bitField0_ & 0x00000020) == 0x00000020);
12128        }
12129        /**
12130         * <code>optional int32 receiver_type_id = 8;</code>
12131         */
12132        public int getReceiverTypeId() {
12133          return receiverTypeId_;
12134        }
12135    
12136        // repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;
12137        public static final int VALUE_PARAMETER_FIELD_NUMBER = 6;
12138        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> valueParameter_;
12139        /**
12140         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12141         */
12142        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> getValueParameterList() {
12143          return valueParameter_;
12144        }
12145        /**
12146         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12147         */
12148        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder> 
12149            getValueParameterOrBuilderList() {
12150          return valueParameter_;
12151        }
12152        /**
12153         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12154         */
12155        public int getValueParameterCount() {
12156          return valueParameter_.size();
12157        }
12158        /**
12159         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12160         */
12161        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index) {
12162          return valueParameter_.get(index);
12163        }
12164        /**
12165         * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
12166         */
12167        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder getValueParameterOrBuilder(
12168            int index) {
12169          return valueParameter_.get(index);
12170        }
12171    
12172        // optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;
12173        public static final int TYPE_TABLE_FIELD_NUMBER = 30;
12174        private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_;
12175        /**
12176         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
12177         */
12178        public boolean hasTypeTable() {
12179          return ((bitField0_ & 0x00000040) == 0x00000040);
12180        }
12181        /**
12182         * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
12183         */
12184        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
12185          return typeTable_;
12186        }
12187    
12188        private void initFields() {
12189          flags_ = 6;
12190          name_ = 0;
12191          returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12192          returnTypeId_ = 0;
12193          typeParameter_ = java.util.Collections.emptyList();
12194          receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12195          receiverTypeId_ = 0;
12196          valueParameter_ = java.util.Collections.emptyList();
12197          typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
12198        }
12199        private byte memoizedIsInitialized = -1;
12200        public final boolean isInitialized() {
12201          byte isInitialized = memoizedIsInitialized;
12202          if (isInitialized != -1) return isInitialized == 1;
12203    
12204          if (!hasName()) {
12205            memoizedIsInitialized = 0;
12206            return false;
12207          }
12208          if (hasReturnType()) {
12209            if (!getReturnType().isInitialized()) {
12210              memoizedIsInitialized = 0;
12211              return false;
12212            }
12213          }
12214          for (int i = 0; i < getTypeParameterCount(); i++) {
12215            if (!getTypeParameter(i).isInitialized()) {
12216              memoizedIsInitialized = 0;
12217              return false;
12218            }
12219          }
12220          if (hasReceiverType()) {
12221            if (!getReceiverType().isInitialized()) {
12222              memoizedIsInitialized = 0;
12223              return false;
12224            }
12225          }
12226          for (int i = 0; i < getValueParameterCount(); i++) {
12227            if (!getValueParameter(i).isInitialized()) {
12228              memoizedIsInitialized = 0;
12229              return false;
12230            }
12231          }
12232          if (hasTypeTable()) {
12233            if (!getTypeTable().isInitialized()) {
12234              memoizedIsInitialized = 0;
12235              return false;
12236            }
12237          }
12238          if (!extensionsAreInitialized()) {
12239            memoizedIsInitialized = 0;
12240            return false;
12241          }
12242          memoizedIsInitialized = 1;
12243          return true;
12244        }
12245    
12246        public void writeTo(com.google.protobuf.CodedOutputStream output)
12247                            throws java.io.IOException {
12248          getSerializedSize();
12249          com.google.protobuf.GeneratedMessageLite
12250            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Function>.ExtensionWriter extensionWriter =
12251              newExtensionWriter();
12252          if (((bitField0_ & 0x00000001) == 0x00000001)) {
12253            output.writeInt32(1, flags_);
12254          }
12255          if (((bitField0_ & 0x00000002) == 0x00000002)) {
12256            output.writeInt32(2, name_);
12257          }
12258          if (((bitField0_ & 0x00000004) == 0x00000004)) {
12259            output.writeMessage(3, returnType_);
12260          }
12261          for (int i = 0; i < typeParameter_.size(); i++) {
12262            output.writeMessage(4, typeParameter_.get(i));
12263          }
12264          if (((bitField0_ & 0x00000010) == 0x00000010)) {
12265            output.writeMessage(5, receiverType_);
12266          }
12267          for (int i = 0; i < valueParameter_.size(); i++) {
12268            output.writeMessage(6, valueParameter_.get(i));
12269          }
12270          if (((bitField0_ & 0x00000008) == 0x00000008)) {
12271            output.writeInt32(7, returnTypeId_);
12272          }
12273          if (((bitField0_ & 0x00000020) == 0x00000020)) {
12274            output.writeInt32(8, receiverTypeId_);
12275          }
12276          if (((bitField0_ & 0x00000040) == 0x00000040)) {
12277            output.writeMessage(30, typeTable_);
12278          }
12279          extensionWriter.writeUntil(200, output);
12280        }
12281    
12282        private int memoizedSerializedSize = -1;
12283        public int getSerializedSize() {
12284          int size = memoizedSerializedSize;
12285          if (size != -1) return size;
12286    
12287          size = 0;
12288          if (((bitField0_ & 0x00000001) == 0x00000001)) {
12289            size += com.google.protobuf.CodedOutputStream
12290              .computeInt32Size(1, flags_);
12291          }
12292          if (((bitField0_ & 0x00000002) == 0x00000002)) {
12293            size += com.google.protobuf.CodedOutputStream
12294              .computeInt32Size(2, name_);
12295          }
12296          if (((bitField0_ & 0x00000004) == 0x00000004)) {
12297            size += com.google.protobuf.CodedOutputStream
12298              .computeMessageSize(3, returnType_);
12299          }
12300          for (int i = 0; i < typeParameter_.size(); i++) {
12301            size += com.google.protobuf.CodedOutputStream
12302              .computeMessageSize(4, typeParameter_.get(i));
12303          }
12304          if (((bitField0_ & 0x00000010) == 0x00000010)) {
12305            size += com.google.protobuf.CodedOutputStream
12306              .computeMessageSize(5, receiverType_);
12307          }
12308          for (int i = 0; i < valueParameter_.size(); i++) {
12309            size += com.google.protobuf.CodedOutputStream
12310              .computeMessageSize(6, valueParameter_.get(i));
12311          }
12312          if (((bitField0_ & 0x00000008) == 0x00000008)) {
12313            size += com.google.protobuf.CodedOutputStream
12314              .computeInt32Size(7, returnTypeId_);
12315          }
12316          if (((bitField0_ & 0x00000020) == 0x00000020)) {
12317            size += com.google.protobuf.CodedOutputStream
12318              .computeInt32Size(8, receiverTypeId_);
12319          }
12320          if (((bitField0_ & 0x00000040) == 0x00000040)) {
12321            size += com.google.protobuf.CodedOutputStream
12322              .computeMessageSize(30, typeTable_);
12323          }
12324          size += extensionsSerializedSize();
12325          memoizedSerializedSize = size;
12326          return size;
12327        }
12328    
12329        private static final long serialVersionUID = 0L;
12330        @java.lang.Override
12331        protected java.lang.Object writeReplace()
12332            throws java.io.ObjectStreamException {
12333          return super.writeReplace();
12334        }
12335    
12336        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
12337            com.google.protobuf.ByteString data)
12338            throws com.google.protobuf.InvalidProtocolBufferException {
12339          return PARSER.parseFrom(data);
12340        }
12341        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
12342            com.google.protobuf.ByteString data,
12343            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12344            throws com.google.protobuf.InvalidProtocolBufferException {
12345          return PARSER.parseFrom(data, extensionRegistry);
12346        }
12347        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(byte[] data)
12348            throws com.google.protobuf.InvalidProtocolBufferException {
12349          return PARSER.parseFrom(data);
12350        }
12351        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
12352            byte[] data,
12353            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12354            throws com.google.protobuf.InvalidProtocolBufferException {
12355          return PARSER.parseFrom(data, extensionRegistry);
12356        }
12357        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(java.io.InputStream input)
12358            throws java.io.IOException {
12359          return PARSER.parseFrom(input);
12360        }
12361        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
12362            java.io.InputStream input,
12363            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12364            throws java.io.IOException {
12365          return PARSER.parseFrom(input, extensionRegistry);
12366        }
12367        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseDelimitedFrom(java.io.InputStream input)
12368            throws java.io.IOException {
12369          return PARSER.parseDelimitedFrom(input);
12370        }
12371        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseDelimitedFrom(
12372            java.io.InputStream input,
12373            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12374            throws java.io.IOException {
12375          return PARSER.parseDelimitedFrom(input, extensionRegistry);
12376        }
12377        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
12378            com.google.protobuf.CodedInputStream input)
12379            throws java.io.IOException {
12380          return PARSER.parseFrom(input);
12381        }
12382        public static org.jetbrains.kotlin.serialization.ProtoBuf.Function parseFrom(
12383            com.google.protobuf.CodedInputStream input,
12384            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12385            throws java.io.IOException {
12386          return PARSER.parseFrom(input, extensionRegistry);
12387        }
12388    
12389        public static Builder newBuilder() { return Builder.create(); }
12390        public Builder newBuilderForType() { return newBuilder(); }
12391        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Function prototype) {
12392          return newBuilder().mergeFrom(prototype);
12393        }
12394        public Builder toBuilder() { return newBuilder(this); }
12395    
12396        /**
12397         * Protobuf type {@code org.jetbrains.kotlin.serialization.Function}
12398         */
12399        public static final class Builder extends
12400            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
12401              org.jetbrains.kotlin.serialization.ProtoBuf.Function, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.FunctionOrBuilder {
12402          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Function.newBuilder()
12403          private Builder() {
12404            maybeForceBuilderInitialization();
12405          }
12406    
12407          private void maybeForceBuilderInitialization() {
12408          }
12409          private static Builder create() {
12410            return new Builder();
12411          }
12412    
12413          public Builder clear() {
12414            super.clear();
12415            flags_ = 6;
12416            bitField0_ = (bitField0_ & ~0x00000001);
12417            name_ = 0;
12418            bitField0_ = (bitField0_ & ~0x00000002);
12419            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12420            bitField0_ = (bitField0_ & ~0x00000004);
12421            returnTypeId_ = 0;
12422            bitField0_ = (bitField0_ & ~0x00000008);
12423            typeParameter_ = java.util.Collections.emptyList();
12424            bitField0_ = (bitField0_ & ~0x00000010);
12425            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12426            bitField0_ = (bitField0_ & ~0x00000020);
12427            receiverTypeId_ = 0;
12428            bitField0_ = (bitField0_ & ~0x00000040);
12429            valueParameter_ = java.util.Collections.emptyList();
12430            bitField0_ = (bitField0_ & ~0x00000080);
12431            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
12432            bitField0_ = (bitField0_ & ~0x00000100);
12433            return this;
12434          }
12435    
12436          public Builder clone() {
12437            return create().mergeFrom(buildPartial());
12438          }
12439    
12440          public org.jetbrains.kotlin.serialization.ProtoBuf.Function getDefaultInstanceForType() {
12441            return org.jetbrains.kotlin.serialization.ProtoBuf.Function.getDefaultInstance();
12442          }
12443    
12444          public org.jetbrains.kotlin.serialization.ProtoBuf.Function build() {
12445            org.jetbrains.kotlin.serialization.ProtoBuf.Function result = buildPartial();
12446            if (!result.isInitialized()) {
12447              throw newUninitializedMessageException(result);
12448            }
12449            return result;
12450          }
12451    
12452          public org.jetbrains.kotlin.serialization.ProtoBuf.Function buildPartial() {
12453            org.jetbrains.kotlin.serialization.ProtoBuf.Function result = new org.jetbrains.kotlin.serialization.ProtoBuf.Function(this);
12454            int from_bitField0_ = bitField0_;
12455            int to_bitField0_ = 0;
12456            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
12457              to_bitField0_ |= 0x00000001;
12458            }
12459            result.flags_ = flags_;
12460            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
12461              to_bitField0_ |= 0x00000002;
12462            }
12463            result.name_ = name_;
12464            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
12465              to_bitField0_ |= 0x00000004;
12466            }
12467            result.returnType_ = returnType_;
12468            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
12469              to_bitField0_ |= 0x00000008;
12470            }
12471            result.returnTypeId_ = returnTypeId_;
12472            if (((bitField0_ & 0x00000010) == 0x00000010)) {
12473              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
12474              bitField0_ = (bitField0_ & ~0x00000010);
12475            }
12476            result.typeParameter_ = typeParameter_;
12477            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
12478              to_bitField0_ |= 0x00000010;
12479            }
12480            result.receiverType_ = receiverType_;
12481            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
12482              to_bitField0_ |= 0x00000020;
12483            }
12484            result.receiverTypeId_ = receiverTypeId_;
12485            if (((bitField0_ & 0x00000080) == 0x00000080)) {
12486              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
12487              bitField0_ = (bitField0_ & ~0x00000080);
12488            }
12489            result.valueParameter_ = valueParameter_;
12490            if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
12491              to_bitField0_ |= 0x00000040;
12492            }
12493            result.typeTable_ = typeTable_;
12494            result.bitField0_ = to_bitField0_;
12495            return result;
12496          }
12497    
12498          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Function other) {
12499            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Function.getDefaultInstance()) return this;
12500            if (other.hasFlags()) {
12501              setFlags(other.getFlags());
12502            }
12503            if (other.hasName()) {
12504              setName(other.getName());
12505            }
12506            if (other.hasReturnType()) {
12507              mergeReturnType(other.getReturnType());
12508            }
12509            if (other.hasReturnTypeId()) {
12510              setReturnTypeId(other.getReturnTypeId());
12511            }
12512            if (!other.typeParameter_.isEmpty()) {
12513              if (typeParameter_.isEmpty()) {
12514                typeParameter_ = other.typeParameter_;
12515                bitField0_ = (bitField0_ & ~0x00000010);
12516              } else {
12517                ensureTypeParameterIsMutable();
12518                typeParameter_.addAll(other.typeParameter_);
12519              }
12520              
12521            }
12522            if (other.hasReceiverType()) {
12523              mergeReceiverType(other.getReceiverType());
12524            }
12525            if (other.hasReceiverTypeId()) {
12526              setReceiverTypeId(other.getReceiverTypeId());
12527            }
12528            if (!other.valueParameter_.isEmpty()) {
12529              if (valueParameter_.isEmpty()) {
12530                valueParameter_ = other.valueParameter_;
12531                bitField0_ = (bitField0_ & ~0x00000080);
12532              } else {
12533                ensureValueParameterIsMutable();
12534                valueParameter_.addAll(other.valueParameter_);
12535              }
12536              
12537            }
12538            if (other.hasTypeTable()) {
12539              mergeTypeTable(other.getTypeTable());
12540            }
12541            this.mergeExtensionFields(other);
12542            return this;
12543          }
12544    
12545          public final boolean isInitialized() {
12546            if (!hasName()) {
12547              
12548              return false;
12549            }
12550            if (hasReturnType()) {
12551              if (!getReturnType().isInitialized()) {
12552                
12553                return false;
12554              }
12555            }
12556            for (int i = 0; i < getTypeParameterCount(); i++) {
12557              if (!getTypeParameter(i).isInitialized()) {
12558                
12559                return false;
12560              }
12561            }
12562            if (hasReceiverType()) {
12563              if (!getReceiverType().isInitialized()) {
12564                
12565                return false;
12566              }
12567            }
12568            for (int i = 0; i < getValueParameterCount(); i++) {
12569              if (!getValueParameter(i).isInitialized()) {
12570                
12571                return false;
12572              }
12573            }
12574            if (hasTypeTable()) {
12575              if (!getTypeTable().isInitialized()) {
12576                
12577                return false;
12578              }
12579            }
12580            if (!extensionsAreInitialized()) {
12581              
12582              return false;
12583            }
12584            return true;
12585          }
12586    
12587          public Builder mergeFrom(
12588              com.google.protobuf.CodedInputStream input,
12589              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12590              throws java.io.IOException {
12591            org.jetbrains.kotlin.serialization.ProtoBuf.Function parsedMessage = null;
12592            try {
12593              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
12594            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
12595              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Function) e.getUnfinishedMessage();
12596              throw e;
12597            } finally {
12598              if (parsedMessage != null) {
12599                mergeFrom(parsedMessage);
12600              }
12601            }
12602            return this;
12603          }
12604          private int bitField0_;
12605    
12606          // optional int32 flags = 1 [default = 6];
12607          private int flags_ = 6;
12608          /**
12609           * <code>optional int32 flags = 1 [default = 6];</code>
12610           *
12611           * <pre>
12612           *
12613           *hasAnnotations
12614           *Visibility
12615           *Modality
12616           *MemberKind
12617           *isOperator
12618           *isInfix
12619           *isInline
12620           *isTailrec
12621           *isExternal
12622           * </pre>
12623           */
12624          public boolean hasFlags() {
12625            return ((bitField0_ & 0x00000001) == 0x00000001);
12626          }
12627          /**
12628           * <code>optional int32 flags = 1 [default = 6];</code>
12629           *
12630           * <pre>
12631           *
12632           *hasAnnotations
12633           *Visibility
12634           *Modality
12635           *MemberKind
12636           *isOperator
12637           *isInfix
12638           *isInline
12639           *isTailrec
12640           *isExternal
12641           * </pre>
12642           */
12643          public int getFlags() {
12644            return flags_;
12645          }
12646          /**
12647           * <code>optional int32 flags = 1 [default = 6];</code>
12648           *
12649           * <pre>
12650           *
12651           *hasAnnotations
12652           *Visibility
12653           *Modality
12654           *MemberKind
12655           *isOperator
12656           *isInfix
12657           *isInline
12658           *isTailrec
12659           *isExternal
12660           * </pre>
12661           */
12662          public Builder setFlags(int value) {
12663            bitField0_ |= 0x00000001;
12664            flags_ = value;
12665            
12666            return this;
12667          }
12668          /**
12669           * <code>optional int32 flags = 1 [default = 6];</code>
12670           *
12671           * <pre>
12672           *
12673           *hasAnnotations
12674           *Visibility
12675           *Modality
12676           *MemberKind
12677           *isOperator
12678           *isInfix
12679           *isInline
12680           *isTailrec
12681           *isExternal
12682           * </pre>
12683           */
12684          public Builder clearFlags() {
12685            bitField0_ = (bitField0_ & ~0x00000001);
12686            flags_ = 6;
12687            
12688            return this;
12689          }
12690    
12691          // required int32 name = 2;
12692          private int name_ ;
12693          /**
12694           * <code>required int32 name = 2;</code>
12695           */
12696          public boolean hasName() {
12697            return ((bitField0_ & 0x00000002) == 0x00000002);
12698          }
12699          /**
12700           * <code>required int32 name = 2;</code>
12701           */
12702          public int getName() {
12703            return name_;
12704          }
12705          /**
12706           * <code>required int32 name = 2;</code>
12707           */
12708          public Builder setName(int value) {
12709            bitField0_ |= 0x00000002;
12710            name_ = value;
12711            
12712            return this;
12713          }
12714          /**
12715           * <code>required int32 name = 2;</code>
12716           */
12717          public Builder clearName() {
12718            bitField0_ = (bitField0_ & ~0x00000002);
12719            name_ = 0;
12720            
12721            return this;
12722          }
12723    
12724          // optional .org.jetbrains.kotlin.serialization.Type return_type = 3;
12725          private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12726          /**
12727           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
12728           */
12729          public boolean hasReturnType() {
12730            return ((bitField0_ & 0x00000004) == 0x00000004);
12731          }
12732          /**
12733           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
12734           */
12735          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
12736            return returnType_;
12737          }
12738          /**
12739           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
12740           */
12741          public Builder setReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
12742            if (value == null) {
12743              throw new NullPointerException();
12744            }
12745            returnType_ = value;
12746    
12747            bitField0_ |= 0x00000004;
12748            return this;
12749          }
12750          /**
12751           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
12752           */
12753          public Builder setReturnType(
12754              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
12755            returnType_ = builderForValue.build();
12756    
12757            bitField0_ |= 0x00000004;
12758            return this;
12759          }
12760          /**
12761           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
12762           */
12763          public Builder mergeReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
12764            if (((bitField0_ & 0x00000004) == 0x00000004) &&
12765                returnType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
12766              returnType_ =
12767                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(returnType_).mergeFrom(value).buildPartial();
12768            } else {
12769              returnType_ = value;
12770            }
12771    
12772            bitField0_ |= 0x00000004;
12773            return this;
12774          }
12775          /**
12776           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
12777           */
12778          public Builder clearReturnType() {
12779            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12780    
12781            bitField0_ = (bitField0_ & ~0x00000004);
12782            return this;
12783          }
12784    
12785          // optional int32 return_type_id = 7;
12786          private int returnTypeId_ ;
12787          /**
12788           * <code>optional int32 return_type_id = 7;</code>
12789           */
12790          public boolean hasReturnTypeId() {
12791            return ((bitField0_ & 0x00000008) == 0x00000008);
12792          }
12793          /**
12794           * <code>optional int32 return_type_id = 7;</code>
12795           */
12796          public int getReturnTypeId() {
12797            return returnTypeId_;
12798          }
12799          /**
12800           * <code>optional int32 return_type_id = 7;</code>
12801           */
12802          public Builder setReturnTypeId(int value) {
12803            bitField0_ |= 0x00000008;
12804            returnTypeId_ = value;
12805            
12806            return this;
12807          }
12808          /**
12809           * <code>optional int32 return_type_id = 7;</code>
12810           */
12811          public Builder clearReturnTypeId() {
12812            bitField0_ = (bitField0_ & ~0x00000008);
12813            returnTypeId_ = 0;
12814            
12815            return this;
12816          }
12817    
12818          // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
12819          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
12820            java.util.Collections.emptyList();
12821          private void ensureTypeParameterIsMutable() {
12822            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
12823              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
12824              bitField0_ |= 0x00000010;
12825             }
12826          }
12827    
12828          /**
12829           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12830           */
12831          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
12832            return java.util.Collections.unmodifiableList(typeParameter_);
12833          }
12834          /**
12835           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12836           */
12837          public int getTypeParameterCount() {
12838            return typeParameter_.size();
12839          }
12840          /**
12841           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12842           */
12843          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
12844            return typeParameter_.get(index);
12845          }
12846          /**
12847           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12848           */
12849          public Builder setTypeParameter(
12850              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
12851            if (value == null) {
12852              throw new NullPointerException();
12853            }
12854            ensureTypeParameterIsMutable();
12855            typeParameter_.set(index, value);
12856    
12857            return this;
12858          }
12859          /**
12860           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12861           */
12862          public Builder setTypeParameter(
12863              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
12864            ensureTypeParameterIsMutable();
12865            typeParameter_.set(index, builderForValue.build());
12866    
12867            return this;
12868          }
12869          /**
12870           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12871           */
12872          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
12873            if (value == null) {
12874              throw new NullPointerException();
12875            }
12876            ensureTypeParameterIsMutable();
12877            typeParameter_.add(value);
12878    
12879            return this;
12880          }
12881          /**
12882           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12883           */
12884          public Builder addTypeParameter(
12885              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
12886            if (value == null) {
12887              throw new NullPointerException();
12888            }
12889            ensureTypeParameterIsMutable();
12890            typeParameter_.add(index, value);
12891    
12892            return this;
12893          }
12894          /**
12895           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12896           */
12897          public Builder addTypeParameter(
12898              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
12899            ensureTypeParameterIsMutable();
12900            typeParameter_.add(builderForValue.build());
12901    
12902            return this;
12903          }
12904          /**
12905           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12906           */
12907          public Builder addTypeParameter(
12908              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
12909            ensureTypeParameterIsMutable();
12910            typeParameter_.add(index, builderForValue.build());
12911    
12912            return this;
12913          }
12914          /**
12915           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12916           */
12917          public Builder addAllTypeParameter(
12918              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
12919            ensureTypeParameterIsMutable();
12920            super.addAll(values, typeParameter_);
12921    
12922            return this;
12923          }
12924          /**
12925           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12926           */
12927          public Builder clearTypeParameter() {
12928            typeParameter_ = java.util.Collections.emptyList();
12929            bitField0_ = (bitField0_ & ~0x00000010);
12930    
12931            return this;
12932          }
12933          /**
12934           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
12935           */
12936          public Builder removeTypeParameter(int index) {
12937            ensureTypeParameterIsMutable();
12938            typeParameter_.remove(index);
12939    
12940            return this;
12941          }
12942    
12943          // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
12944          private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12945          /**
12946           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12947           */
12948          public boolean hasReceiverType() {
12949            return ((bitField0_ & 0x00000020) == 0x00000020);
12950          }
12951          /**
12952           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12953           */
12954          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
12955            return receiverType_;
12956          }
12957          /**
12958           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12959           */
12960          public Builder setReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
12961            if (value == null) {
12962              throw new NullPointerException();
12963            }
12964            receiverType_ = value;
12965    
12966            bitField0_ |= 0x00000020;
12967            return this;
12968          }
12969          /**
12970           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12971           */
12972          public Builder setReceiverType(
12973              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
12974            receiverType_ = builderForValue.build();
12975    
12976            bitField0_ |= 0x00000020;
12977            return this;
12978          }
12979          /**
12980           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12981           */
12982          public Builder mergeReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
12983            if (((bitField0_ & 0x00000020) == 0x00000020) &&
12984                receiverType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
12985              receiverType_ =
12986                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(receiverType_).mergeFrom(value).buildPartial();
12987            } else {
12988              receiverType_ = value;
12989            }
12990    
12991            bitField0_ |= 0x00000020;
12992            return this;
12993          }
12994          /**
12995           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
12996           */
12997          public Builder clearReceiverType() {
12998            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
12999    
13000            bitField0_ = (bitField0_ & ~0x00000020);
13001            return this;
13002          }
13003    
13004          // optional int32 receiver_type_id = 8;
13005          private int receiverTypeId_ ;
13006          /**
13007           * <code>optional int32 receiver_type_id = 8;</code>
13008           */
13009          public boolean hasReceiverTypeId() {
13010            return ((bitField0_ & 0x00000040) == 0x00000040);
13011          }
13012          /**
13013           * <code>optional int32 receiver_type_id = 8;</code>
13014           */
13015          public int getReceiverTypeId() {
13016            return receiverTypeId_;
13017          }
13018          /**
13019           * <code>optional int32 receiver_type_id = 8;</code>
13020           */
13021          public Builder setReceiverTypeId(int value) {
13022            bitField0_ |= 0x00000040;
13023            receiverTypeId_ = value;
13024            
13025            return this;
13026          }
13027          /**
13028           * <code>optional int32 receiver_type_id = 8;</code>
13029           */
13030          public Builder clearReceiverTypeId() {
13031            bitField0_ = (bitField0_ & ~0x00000040);
13032            receiverTypeId_ = 0;
13033            
13034            return this;
13035          }
13036    
13037          // repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;
13038          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> valueParameter_ =
13039            java.util.Collections.emptyList();
13040          private void ensureValueParameterIsMutable() {
13041            if (!((bitField0_ & 0x00000080) == 0x00000080)) {
13042              valueParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>(valueParameter_);
13043              bitField0_ |= 0x00000080;
13044             }
13045          }
13046    
13047          /**
13048           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13049           */
13050          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> getValueParameterList() {
13051            return java.util.Collections.unmodifiableList(valueParameter_);
13052          }
13053          /**
13054           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13055           */
13056          public int getValueParameterCount() {
13057            return valueParameter_.size();
13058          }
13059          /**
13060           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13061           */
13062          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getValueParameter(int index) {
13063            return valueParameter_.get(index);
13064          }
13065          /**
13066           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13067           */
13068          public Builder setValueParameter(
13069              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
13070            if (value == null) {
13071              throw new NullPointerException();
13072            }
13073            ensureValueParameterIsMutable();
13074            valueParameter_.set(index, value);
13075    
13076            return this;
13077          }
13078          /**
13079           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13080           */
13081          public Builder setValueParameter(
13082              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
13083            ensureValueParameterIsMutable();
13084            valueParameter_.set(index, builderForValue.build());
13085    
13086            return this;
13087          }
13088          /**
13089           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13090           */
13091          public Builder addValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
13092            if (value == null) {
13093              throw new NullPointerException();
13094            }
13095            ensureValueParameterIsMutable();
13096            valueParameter_.add(value);
13097    
13098            return this;
13099          }
13100          /**
13101           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13102           */
13103          public Builder addValueParameter(
13104              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
13105            if (value == null) {
13106              throw new NullPointerException();
13107            }
13108            ensureValueParameterIsMutable();
13109            valueParameter_.add(index, value);
13110    
13111            return this;
13112          }
13113          /**
13114           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13115           */
13116          public Builder addValueParameter(
13117              org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
13118            ensureValueParameterIsMutable();
13119            valueParameter_.add(builderForValue.build());
13120    
13121            return this;
13122          }
13123          /**
13124           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13125           */
13126          public Builder addValueParameter(
13127              int index, org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
13128            ensureValueParameterIsMutable();
13129            valueParameter_.add(index, builderForValue.build());
13130    
13131            return this;
13132          }
13133          /**
13134           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13135           */
13136          public Builder addAllValueParameter(
13137              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter> values) {
13138            ensureValueParameterIsMutable();
13139            super.addAll(values, valueParameter_);
13140    
13141            return this;
13142          }
13143          /**
13144           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13145           */
13146          public Builder clearValueParameter() {
13147            valueParameter_ = java.util.Collections.emptyList();
13148            bitField0_ = (bitField0_ & ~0x00000080);
13149    
13150            return this;
13151          }
13152          /**
13153           * <code>repeated .org.jetbrains.kotlin.serialization.ValueParameter value_parameter = 6;</code>
13154           */
13155          public Builder removeValueParameter(int index) {
13156            ensureValueParameterIsMutable();
13157            valueParameter_.remove(index);
13158    
13159            return this;
13160          }
13161    
13162          // optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;
13163          private org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
13164          /**
13165           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13166           */
13167          public boolean hasTypeTable() {
13168            return ((bitField0_ & 0x00000100) == 0x00000100);
13169          }
13170          /**
13171           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13172           */
13173          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable getTypeTable() {
13174            return typeTable_;
13175          }
13176          /**
13177           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13178           */
13179          public Builder setTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
13180            if (value == null) {
13181              throw new NullPointerException();
13182            }
13183            typeTable_ = value;
13184    
13185            bitField0_ |= 0x00000100;
13186            return this;
13187          }
13188          /**
13189           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13190           */
13191          public Builder setTypeTable(
13192              org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.Builder builderForValue) {
13193            typeTable_ = builderForValue.build();
13194    
13195            bitField0_ |= 0x00000100;
13196            return this;
13197          }
13198          /**
13199           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13200           */
13201          public Builder mergeTypeTable(org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable value) {
13202            if (((bitField0_ & 0x00000100) == 0x00000100) &&
13203                typeTable_ != org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance()) {
13204              typeTable_ =
13205                org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.newBuilder(typeTable_).mergeFrom(value).buildPartial();
13206            } else {
13207              typeTable_ = value;
13208            }
13209    
13210            bitField0_ |= 0x00000100;
13211            return this;
13212          }
13213          /**
13214           * <code>optional .org.jetbrains.kotlin.serialization.TypeTable type_table = 30;</code>
13215           */
13216          public Builder clearTypeTable() {
13217            typeTable_ = org.jetbrains.kotlin.serialization.ProtoBuf.TypeTable.getDefaultInstance();
13218    
13219            bitField0_ = (bitField0_ & ~0x00000100);
13220            return this;
13221          }
13222    
13223          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Function)
13224        }
13225    
13226        static {
13227          defaultInstance = new Function(true);
13228          defaultInstance.initFields();
13229        }
13230    
13231        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Function)
13232      }
13233    
13234      public interface PropertyOrBuilder extends 
13235           com.google.protobuf.GeneratedMessageLite.
13236                ExtendableMessageOrBuilder<Property> {
13237    
13238        // optional int32 flags = 1 [default = 262];
13239        /**
13240         * <code>optional int32 flags = 1 [default = 262];</code>
13241         *
13242         * <pre>
13243         *
13244         *hasAnnotations
13245         *Visibility
13246         *Modality
13247         *MemberKind
13248         *isVar
13249         *hasGetter
13250         *hasSetter
13251         *isConst
13252         *lateinit
13253         *hasConstant
13254         * </pre>
13255         */
13256        boolean hasFlags();
13257        /**
13258         * <code>optional int32 flags = 1 [default = 262];</code>
13259         *
13260         * <pre>
13261         *
13262         *hasAnnotations
13263         *Visibility
13264         *Modality
13265         *MemberKind
13266         *isVar
13267         *hasGetter
13268         *hasSetter
13269         *isConst
13270         *lateinit
13271         *hasConstant
13272         * </pre>
13273         */
13274        int getFlags();
13275    
13276        // required int32 name = 2;
13277        /**
13278         * <code>required int32 name = 2;</code>
13279         */
13280        boolean hasName();
13281        /**
13282         * <code>required int32 name = 2;</code>
13283         */
13284        int getName();
13285    
13286        // optional .org.jetbrains.kotlin.serialization.Type return_type = 3;
13287        /**
13288         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13289         */
13290        boolean hasReturnType();
13291        /**
13292         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13293         */
13294        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType();
13295    
13296        // optional int32 return_type_id = 9;
13297        /**
13298         * <code>optional int32 return_type_id = 9;</code>
13299         */
13300        boolean hasReturnTypeId();
13301        /**
13302         * <code>optional int32 return_type_id = 9;</code>
13303         */
13304        int getReturnTypeId();
13305    
13306        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
13307        /**
13308         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13309         */
13310        java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> 
13311            getTypeParameterList();
13312        /**
13313         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13314         */
13315        org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
13316        /**
13317         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13318         */
13319        int getTypeParameterCount();
13320    
13321        // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
13322        /**
13323         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13324         */
13325        boolean hasReceiverType();
13326        /**
13327         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13328         */
13329        org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType();
13330    
13331        // optional int32 receiver_type_id = 10;
13332        /**
13333         * <code>optional int32 receiver_type_id = 10;</code>
13334         */
13335        boolean hasReceiverTypeId();
13336        /**
13337         * <code>optional int32 receiver_type_id = 10;</code>
13338         */
13339        int getReceiverTypeId();
13340    
13341        // optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;
13342        /**
13343         * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
13344         */
13345        boolean hasSetterValueParameter();
13346        /**
13347         * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
13348         */
13349        org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getSetterValueParameter();
13350    
13351        // optional int32 getter_flags = 7;
13352        /**
13353         * <code>optional int32 getter_flags = 7;</code>
13354         *
13355         * <pre>
13356         *
13357         *hasAnnotations
13358         *Visibility
13359         *Modality
13360         *isNotDefault
13361         *isExternal
13362         * </pre>
13363         */
13364        boolean hasGetterFlags();
13365        /**
13366         * <code>optional int32 getter_flags = 7;</code>
13367         *
13368         * <pre>
13369         *
13370         *hasAnnotations
13371         *Visibility
13372         *Modality
13373         *isNotDefault
13374         *isExternal
13375         * </pre>
13376         */
13377        int getGetterFlags();
13378    
13379        // optional int32 setter_flags = 8;
13380        /**
13381         * <code>optional int32 setter_flags = 8;</code>
13382         */
13383        boolean hasSetterFlags();
13384        /**
13385         * <code>optional int32 setter_flags = 8;</code>
13386         */
13387        int getSetterFlags();
13388      }
13389      /**
13390       * Protobuf type {@code org.jetbrains.kotlin.serialization.Property}
13391       */
13392      public static final class Property extends
13393          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
13394            Property> implements PropertyOrBuilder {
13395        // Use Property.newBuilder() to construct.
13396        private Property(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.Property, ?> builder) {
13397          super(builder);
13398    
13399        }
13400        private Property(boolean noInit) {}
13401    
13402        private static final Property defaultInstance;
13403        public static Property getDefaultInstance() {
13404          return defaultInstance;
13405        }
13406    
13407        public Property getDefaultInstanceForType() {
13408          return defaultInstance;
13409        }
13410    
13411        private Property(
13412            com.google.protobuf.CodedInputStream input,
13413            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13414            throws com.google.protobuf.InvalidProtocolBufferException {
13415          initFields();
13416          int mutable_bitField0_ = 0;
13417          try {
13418            boolean done = false;
13419            while (!done) {
13420              int tag = input.readTag();
13421              switch (tag) {
13422                case 0:
13423                  done = true;
13424                  break;
13425                default: {
13426                  if (!parseUnknownField(input,
13427                                         extensionRegistry, tag)) {
13428                    done = true;
13429                  }
13430                  break;
13431                }
13432                case 8: {
13433                  bitField0_ |= 0x00000001;
13434                  flags_ = input.readInt32();
13435                  break;
13436                }
13437                case 16: {
13438                  bitField0_ |= 0x00000002;
13439                  name_ = input.readInt32();
13440                  break;
13441                }
13442                case 26: {
13443                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
13444                  if (((bitField0_ & 0x00000004) == 0x00000004)) {
13445                    subBuilder = returnType_.toBuilder();
13446                  }
13447                  returnType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
13448                  if (subBuilder != null) {
13449                    subBuilder.mergeFrom(returnType_);
13450                    returnType_ = subBuilder.buildPartial();
13451                  }
13452                  bitField0_ |= 0x00000004;
13453                  break;
13454                }
13455                case 34: {
13456                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
13457                    typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>();
13458                    mutable_bitField0_ |= 0x00000010;
13459                  }
13460                  typeParameter_.add(input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
13461                  break;
13462                }
13463                case 42: {
13464                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
13465                  if (((bitField0_ & 0x00000010) == 0x00000010)) {
13466                    subBuilder = receiverType_.toBuilder();
13467                  }
13468                  receiverType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
13469                  if (subBuilder != null) {
13470                    subBuilder.mergeFrom(receiverType_);
13471                    receiverType_ = subBuilder.buildPartial();
13472                  }
13473                  bitField0_ |= 0x00000010;
13474                  break;
13475                }
13476                case 50: {
13477                  org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder subBuilder = null;
13478                  if (((bitField0_ & 0x00000040) == 0x00000040)) {
13479                    subBuilder = setterValueParameter_.toBuilder();
13480                  }
13481                  setterValueParameter_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.PARSER, extensionRegistry);
13482                  if (subBuilder != null) {
13483                    subBuilder.mergeFrom(setterValueParameter_);
13484                    setterValueParameter_ = subBuilder.buildPartial();
13485                  }
13486                  bitField0_ |= 0x00000040;
13487                  break;
13488                }
13489                case 56: {
13490                  bitField0_ |= 0x00000080;
13491                  getterFlags_ = input.readInt32();
13492                  break;
13493                }
13494                case 64: {
13495                  bitField0_ |= 0x00000100;
13496                  setterFlags_ = input.readInt32();
13497                  break;
13498                }
13499                case 72: {
13500                  bitField0_ |= 0x00000008;
13501                  returnTypeId_ = input.readInt32();
13502                  break;
13503                }
13504                case 80: {
13505                  bitField0_ |= 0x00000020;
13506                  receiverTypeId_ = input.readInt32();
13507                  break;
13508                }
13509              }
13510            }
13511          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
13512            throw e.setUnfinishedMessage(this);
13513          } catch (java.io.IOException e) {
13514            throw new com.google.protobuf.InvalidProtocolBufferException(
13515                e.getMessage()).setUnfinishedMessage(this);
13516          } finally {
13517            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
13518              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
13519            }
13520            makeExtensionsImmutable();
13521          }
13522        }
13523        public static com.google.protobuf.Parser<Property> PARSER =
13524            new com.google.protobuf.AbstractParser<Property>() {
13525          public Property parsePartialFrom(
13526              com.google.protobuf.CodedInputStream input,
13527              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13528              throws com.google.protobuf.InvalidProtocolBufferException {
13529            return new Property(input, extensionRegistry);
13530          }
13531        };
13532    
13533        @java.lang.Override
13534        public com.google.protobuf.Parser<Property> getParserForType() {
13535          return PARSER;
13536        }
13537    
13538        private int bitField0_;
13539        // optional int32 flags = 1 [default = 262];
13540        public static final int FLAGS_FIELD_NUMBER = 1;
13541        private int flags_;
13542        /**
13543         * <code>optional int32 flags = 1 [default = 262];</code>
13544         *
13545         * <pre>
13546         *
13547         *hasAnnotations
13548         *Visibility
13549         *Modality
13550         *MemberKind
13551         *isVar
13552         *hasGetter
13553         *hasSetter
13554         *isConst
13555         *lateinit
13556         *hasConstant
13557         * </pre>
13558         */
13559        public boolean hasFlags() {
13560          return ((bitField0_ & 0x00000001) == 0x00000001);
13561        }
13562        /**
13563         * <code>optional int32 flags = 1 [default = 262];</code>
13564         *
13565         * <pre>
13566         *
13567         *hasAnnotations
13568         *Visibility
13569         *Modality
13570         *MemberKind
13571         *isVar
13572         *hasGetter
13573         *hasSetter
13574         *isConst
13575         *lateinit
13576         *hasConstant
13577         * </pre>
13578         */
13579        public int getFlags() {
13580          return flags_;
13581        }
13582    
13583        // required int32 name = 2;
13584        public static final int NAME_FIELD_NUMBER = 2;
13585        private int name_;
13586        /**
13587         * <code>required int32 name = 2;</code>
13588         */
13589        public boolean hasName() {
13590          return ((bitField0_ & 0x00000002) == 0x00000002);
13591        }
13592        /**
13593         * <code>required int32 name = 2;</code>
13594         */
13595        public int getName() {
13596          return name_;
13597        }
13598    
13599        // optional .org.jetbrains.kotlin.serialization.Type return_type = 3;
13600        public static final int RETURN_TYPE_FIELD_NUMBER = 3;
13601        private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_;
13602        /**
13603         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13604         */
13605        public boolean hasReturnType() {
13606          return ((bitField0_ & 0x00000004) == 0x00000004);
13607        }
13608        /**
13609         * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
13610         */
13611        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
13612          return returnType_;
13613        }
13614    
13615        // optional int32 return_type_id = 9;
13616        public static final int RETURN_TYPE_ID_FIELD_NUMBER = 9;
13617        private int returnTypeId_;
13618        /**
13619         * <code>optional int32 return_type_id = 9;</code>
13620         */
13621        public boolean hasReturnTypeId() {
13622          return ((bitField0_ & 0x00000008) == 0x00000008);
13623        }
13624        /**
13625         * <code>optional int32 return_type_id = 9;</code>
13626         */
13627        public int getReturnTypeId() {
13628          return returnTypeId_;
13629        }
13630    
13631        // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
13632        public static final int TYPE_PARAMETER_FIELD_NUMBER = 4;
13633        private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_;
13634        /**
13635         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13636         */
13637        public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
13638          return typeParameter_;
13639        }
13640        /**
13641         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13642         */
13643        public java.util.List<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder> 
13644            getTypeParameterOrBuilderList() {
13645          return typeParameter_;
13646        }
13647        /**
13648         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13649         */
13650        public int getTypeParameterCount() {
13651          return typeParameter_.size();
13652        }
13653        /**
13654         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13655         */
13656        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
13657          return typeParameter_.get(index);
13658        }
13659        /**
13660         * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
13661         */
13662        public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
13663            int index) {
13664          return typeParameter_.get(index);
13665        }
13666    
13667        // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
13668        public static final int RECEIVER_TYPE_FIELD_NUMBER = 5;
13669        private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_;
13670        /**
13671         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13672         */
13673        public boolean hasReceiverType() {
13674          return ((bitField0_ & 0x00000010) == 0x00000010);
13675        }
13676        /**
13677         * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
13678         */
13679        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
13680          return receiverType_;
13681        }
13682    
13683        // optional int32 receiver_type_id = 10;
13684        public static final int RECEIVER_TYPE_ID_FIELD_NUMBER = 10;
13685        private int receiverTypeId_;
13686        /**
13687         * <code>optional int32 receiver_type_id = 10;</code>
13688         */
13689        public boolean hasReceiverTypeId() {
13690          return ((bitField0_ & 0x00000020) == 0x00000020);
13691        }
13692        /**
13693         * <code>optional int32 receiver_type_id = 10;</code>
13694         */
13695        public int getReceiverTypeId() {
13696          return receiverTypeId_;
13697        }
13698    
13699        // optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;
13700        public static final int SETTER_VALUE_PARAMETER_FIELD_NUMBER = 6;
13701        private org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter setterValueParameter_;
13702        /**
13703         * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
13704         */
13705        public boolean hasSetterValueParameter() {
13706          return ((bitField0_ & 0x00000040) == 0x00000040);
13707        }
13708        /**
13709         * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
13710         */
13711        public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getSetterValueParameter() {
13712          return setterValueParameter_;
13713        }
13714    
13715        // optional int32 getter_flags = 7;
13716        public static final int GETTER_FLAGS_FIELD_NUMBER = 7;
13717        private int getterFlags_;
13718        /**
13719         * <code>optional int32 getter_flags = 7;</code>
13720         *
13721         * <pre>
13722         *
13723         *hasAnnotations
13724         *Visibility
13725         *Modality
13726         *isNotDefault
13727         *isExternal
13728         * </pre>
13729         */
13730        public boolean hasGetterFlags() {
13731          return ((bitField0_ & 0x00000080) == 0x00000080);
13732        }
13733        /**
13734         * <code>optional int32 getter_flags = 7;</code>
13735         *
13736         * <pre>
13737         *
13738         *hasAnnotations
13739         *Visibility
13740         *Modality
13741         *isNotDefault
13742         *isExternal
13743         * </pre>
13744         */
13745        public int getGetterFlags() {
13746          return getterFlags_;
13747        }
13748    
13749        // optional int32 setter_flags = 8;
13750        public static final int SETTER_FLAGS_FIELD_NUMBER = 8;
13751        private int setterFlags_;
13752        /**
13753         * <code>optional int32 setter_flags = 8;</code>
13754         */
13755        public boolean hasSetterFlags() {
13756          return ((bitField0_ & 0x00000100) == 0x00000100);
13757        }
13758        /**
13759         * <code>optional int32 setter_flags = 8;</code>
13760         */
13761        public int getSetterFlags() {
13762          return setterFlags_;
13763        }
13764    
13765        private void initFields() {
13766          flags_ = 262;
13767          name_ = 0;
13768          returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13769          returnTypeId_ = 0;
13770          typeParameter_ = java.util.Collections.emptyList();
13771          receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13772          receiverTypeId_ = 0;
13773          setterValueParameter_ = org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
13774          getterFlags_ = 0;
13775          setterFlags_ = 0;
13776        }
13777        private byte memoizedIsInitialized = -1;
13778        public final boolean isInitialized() {
13779          byte isInitialized = memoizedIsInitialized;
13780          if (isInitialized != -1) return isInitialized == 1;
13781    
13782          if (!hasName()) {
13783            memoizedIsInitialized = 0;
13784            return false;
13785          }
13786          if (hasReturnType()) {
13787            if (!getReturnType().isInitialized()) {
13788              memoizedIsInitialized = 0;
13789              return false;
13790            }
13791          }
13792          for (int i = 0; i < getTypeParameterCount(); i++) {
13793            if (!getTypeParameter(i).isInitialized()) {
13794              memoizedIsInitialized = 0;
13795              return false;
13796            }
13797          }
13798          if (hasReceiverType()) {
13799            if (!getReceiverType().isInitialized()) {
13800              memoizedIsInitialized = 0;
13801              return false;
13802            }
13803          }
13804          if (hasSetterValueParameter()) {
13805            if (!getSetterValueParameter().isInitialized()) {
13806              memoizedIsInitialized = 0;
13807              return false;
13808            }
13809          }
13810          if (!extensionsAreInitialized()) {
13811            memoizedIsInitialized = 0;
13812            return false;
13813          }
13814          memoizedIsInitialized = 1;
13815          return true;
13816        }
13817    
13818        public void writeTo(com.google.protobuf.CodedOutputStream output)
13819                            throws java.io.IOException {
13820          getSerializedSize();
13821          com.google.protobuf.GeneratedMessageLite
13822            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.Property>.ExtensionWriter extensionWriter =
13823              newExtensionWriter();
13824          if (((bitField0_ & 0x00000001) == 0x00000001)) {
13825            output.writeInt32(1, flags_);
13826          }
13827          if (((bitField0_ & 0x00000002) == 0x00000002)) {
13828            output.writeInt32(2, name_);
13829          }
13830          if (((bitField0_ & 0x00000004) == 0x00000004)) {
13831            output.writeMessage(3, returnType_);
13832          }
13833          for (int i = 0; i < typeParameter_.size(); i++) {
13834            output.writeMessage(4, typeParameter_.get(i));
13835          }
13836          if (((bitField0_ & 0x00000010) == 0x00000010)) {
13837            output.writeMessage(5, receiverType_);
13838          }
13839          if (((bitField0_ & 0x00000040) == 0x00000040)) {
13840            output.writeMessage(6, setterValueParameter_);
13841          }
13842          if (((bitField0_ & 0x00000080) == 0x00000080)) {
13843            output.writeInt32(7, getterFlags_);
13844          }
13845          if (((bitField0_ & 0x00000100) == 0x00000100)) {
13846            output.writeInt32(8, setterFlags_);
13847          }
13848          if (((bitField0_ & 0x00000008) == 0x00000008)) {
13849            output.writeInt32(9, returnTypeId_);
13850          }
13851          if (((bitField0_ & 0x00000020) == 0x00000020)) {
13852            output.writeInt32(10, receiverTypeId_);
13853          }
13854          extensionWriter.writeUntil(200, output);
13855        }
13856    
13857        private int memoizedSerializedSize = -1;
13858        public int getSerializedSize() {
13859          int size = memoizedSerializedSize;
13860          if (size != -1) return size;
13861    
13862          size = 0;
13863          if (((bitField0_ & 0x00000001) == 0x00000001)) {
13864            size += com.google.protobuf.CodedOutputStream
13865              .computeInt32Size(1, flags_);
13866          }
13867          if (((bitField0_ & 0x00000002) == 0x00000002)) {
13868            size += com.google.protobuf.CodedOutputStream
13869              .computeInt32Size(2, name_);
13870          }
13871          if (((bitField0_ & 0x00000004) == 0x00000004)) {
13872            size += com.google.protobuf.CodedOutputStream
13873              .computeMessageSize(3, returnType_);
13874          }
13875          for (int i = 0; i < typeParameter_.size(); i++) {
13876            size += com.google.protobuf.CodedOutputStream
13877              .computeMessageSize(4, typeParameter_.get(i));
13878          }
13879          if (((bitField0_ & 0x00000010) == 0x00000010)) {
13880            size += com.google.protobuf.CodedOutputStream
13881              .computeMessageSize(5, receiverType_);
13882          }
13883          if (((bitField0_ & 0x00000040) == 0x00000040)) {
13884            size += com.google.protobuf.CodedOutputStream
13885              .computeMessageSize(6, setterValueParameter_);
13886          }
13887          if (((bitField0_ & 0x00000080) == 0x00000080)) {
13888            size += com.google.protobuf.CodedOutputStream
13889              .computeInt32Size(7, getterFlags_);
13890          }
13891          if (((bitField0_ & 0x00000100) == 0x00000100)) {
13892            size += com.google.protobuf.CodedOutputStream
13893              .computeInt32Size(8, setterFlags_);
13894          }
13895          if (((bitField0_ & 0x00000008) == 0x00000008)) {
13896            size += com.google.protobuf.CodedOutputStream
13897              .computeInt32Size(9, returnTypeId_);
13898          }
13899          if (((bitField0_ & 0x00000020) == 0x00000020)) {
13900            size += com.google.protobuf.CodedOutputStream
13901              .computeInt32Size(10, receiverTypeId_);
13902          }
13903          size += extensionsSerializedSize();
13904          memoizedSerializedSize = size;
13905          return size;
13906        }
13907    
13908        private static final long serialVersionUID = 0L;
13909        @java.lang.Override
13910        protected java.lang.Object writeReplace()
13911            throws java.io.ObjectStreamException {
13912          return super.writeReplace();
13913        }
13914    
13915        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
13916            com.google.protobuf.ByteString data)
13917            throws com.google.protobuf.InvalidProtocolBufferException {
13918          return PARSER.parseFrom(data);
13919        }
13920        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
13921            com.google.protobuf.ByteString data,
13922            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13923            throws com.google.protobuf.InvalidProtocolBufferException {
13924          return PARSER.parseFrom(data, extensionRegistry);
13925        }
13926        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(byte[] data)
13927            throws com.google.protobuf.InvalidProtocolBufferException {
13928          return PARSER.parseFrom(data);
13929        }
13930        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
13931            byte[] data,
13932            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13933            throws com.google.protobuf.InvalidProtocolBufferException {
13934          return PARSER.parseFrom(data, extensionRegistry);
13935        }
13936        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(java.io.InputStream input)
13937            throws java.io.IOException {
13938          return PARSER.parseFrom(input);
13939        }
13940        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
13941            java.io.InputStream input,
13942            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13943            throws java.io.IOException {
13944          return PARSER.parseFrom(input, extensionRegistry);
13945        }
13946        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseDelimitedFrom(java.io.InputStream input)
13947            throws java.io.IOException {
13948          return PARSER.parseDelimitedFrom(input);
13949        }
13950        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseDelimitedFrom(
13951            java.io.InputStream input,
13952            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13953            throws java.io.IOException {
13954          return PARSER.parseDelimitedFrom(input, extensionRegistry);
13955        }
13956        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
13957            com.google.protobuf.CodedInputStream input)
13958            throws java.io.IOException {
13959          return PARSER.parseFrom(input);
13960        }
13961        public static org.jetbrains.kotlin.serialization.ProtoBuf.Property parseFrom(
13962            com.google.protobuf.CodedInputStream input,
13963            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
13964            throws java.io.IOException {
13965          return PARSER.parseFrom(input, extensionRegistry);
13966        }
13967    
13968        public static Builder newBuilder() { return Builder.create(); }
13969        public Builder newBuilderForType() { return newBuilder(); }
13970        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.Property prototype) {
13971          return newBuilder().mergeFrom(prototype);
13972        }
13973        public Builder toBuilder() { return newBuilder(this); }
13974    
13975        /**
13976         * Protobuf type {@code org.jetbrains.kotlin.serialization.Property}
13977         */
13978        public static final class Builder extends
13979            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
13980              org.jetbrains.kotlin.serialization.ProtoBuf.Property, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.PropertyOrBuilder {
13981          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.Property.newBuilder()
13982          private Builder() {
13983            maybeForceBuilderInitialization();
13984          }
13985    
13986          private void maybeForceBuilderInitialization() {
13987          }
13988          private static Builder create() {
13989            return new Builder();
13990          }
13991    
13992          public Builder clear() {
13993            super.clear();
13994            flags_ = 262;
13995            bitField0_ = (bitField0_ & ~0x00000001);
13996            name_ = 0;
13997            bitField0_ = (bitField0_ & ~0x00000002);
13998            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
13999            bitField0_ = (bitField0_ & ~0x00000004);
14000            returnTypeId_ = 0;
14001            bitField0_ = (bitField0_ & ~0x00000008);
14002            typeParameter_ = java.util.Collections.emptyList();
14003            bitField0_ = (bitField0_ & ~0x00000010);
14004            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14005            bitField0_ = (bitField0_ & ~0x00000020);
14006            receiverTypeId_ = 0;
14007            bitField0_ = (bitField0_ & ~0x00000040);
14008            setterValueParameter_ = org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
14009            bitField0_ = (bitField0_ & ~0x00000080);
14010            getterFlags_ = 0;
14011            bitField0_ = (bitField0_ & ~0x00000100);
14012            setterFlags_ = 0;
14013            bitField0_ = (bitField0_ & ~0x00000200);
14014            return this;
14015          }
14016    
14017          public Builder clone() {
14018            return create().mergeFrom(buildPartial());
14019          }
14020    
14021          public org.jetbrains.kotlin.serialization.ProtoBuf.Property getDefaultInstanceForType() {
14022            return org.jetbrains.kotlin.serialization.ProtoBuf.Property.getDefaultInstance();
14023          }
14024    
14025          public org.jetbrains.kotlin.serialization.ProtoBuf.Property build() {
14026            org.jetbrains.kotlin.serialization.ProtoBuf.Property result = buildPartial();
14027            if (!result.isInitialized()) {
14028              throw newUninitializedMessageException(result);
14029            }
14030            return result;
14031          }
14032    
14033          public org.jetbrains.kotlin.serialization.ProtoBuf.Property buildPartial() {
14034            org.jetbrains.kotlin.serialization.ProtoBuf.Property result = new org.jetbrains.kotlin.serialization.ProtoBuf.Property(this);
14035            int from_bitField0_ = bitField0_;
14036            int to_bitField0_ = 0;
14037            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
14038              to_bitField0_ |= 0x00000001;
14039            }
14040            result.flags_ = flags_;
14041            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
14042              to_bitField0_ |= 0x00000002;
14043            }
14044            result.name_ = name_;
14045            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
14046              to_bitField0_ |= 0x00000004;
14047            }
14048            result.returnType_ = returnType_;
14049            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
14050              to_bitField0_ |= 0x00000008;
14051            }
14052            result.returnTypeId_ = returnTypeId_;
14053            if (((bitField0_ & 0x00000010) == 0x00000010)) {
14054              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
14055              bitField0_ = (bitField0_ & ~0x00000010);
14056            }
14057            result.typeParameter_ = typeParameter_;
14058            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
14059              to_bitField0_ |= 0x00000010;
14060            }
14061            result.receiverType_ = receiverType_;
14062            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
14063              to_bitField0_ |= 0x00000020;
14064            }
14065            result.receiverTypeId_ = receiverTypeId_;
14066            if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
14067              to_bitField0_ |= 0x00000040;
14068            }
14069            result.setterValueParameter_ = setterValueParameter_;
14070            if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
14071              to_bitField0_ |= 0x00000080;
14072            }
14073            result.getterFlags_ = getterFlags_;
14074            if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
14075              to_bitField0_ |= 0x00000100;
14076            }
14077            result.setterFlags_ = setterFlags_;
14078            result.bitField0_ = to_bitField0_;
14079            return result;
14080          }
14081    
14082          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.Property other) {
14083            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.Property.getDefaultInstance()) return this;
14084            if (other.hasFlags()) {
14085              setFlags(other.getFlags());
14086            }
14087            if (other.hasName()) {
14088              setName(other.getName());
14089            }
14090            if (other.hasReturnType()) {
14091              mergeReturnType(other.getReturnType());
14092            }
14093            if (other.hasReturnTypeId()) {
14094              setReturnTypeId(other.getReturnTypeId());
14095            }
14096            if (!other.typeParameter_.isEmpty()) {
14097              if (typeParameter_.isEmpty()) {
14098                typeParameter_ = other.typeParameter_;
14099                bitField0_ = (bitField0_ & ~0x00000010);
14100              } else {
14101                ensureTypeParameterIsMutable();
14102                typeParameter_.addAll(other.typeParameter_);
14103              }
14104              
14105            }
14106            if (other.hasReceiverType()) {
14107              mergeReceiverType(other.getReceiverType());
14108            }
14109            if (other.hasReceiverTypeId()) {
14110              setReceiverTypeId(other.getReceiverTypeId());
14111            }
14112            if (other.hasSetterValueParameter()) {
14113              mergeSetterValueParameter(other.getSetterValueParameter());
14114            }
14115            if (other.hasGetterFlags()) {
14116              setGetterFlags(other.getGetterFlags());
14117            }
14118            if (other.hasSetterFlags()) {
14119              setSetterFlags(other.getSetterFlags());
14120            }
14121            this.mergeExtensionFields(other);
14122            return this;
14123          }
14124    
14125          public final boolean isInitialized() {
14126            if (!hasName()) {
14127              
14128              return false;
14129            }
14130            if (hasReturnType()) {
14131              if (!getReturnType().isInitialized()) {
14132                
14133                return false;
14134              }
14135            }
14136            for (int i = 0; i < getTypeParameterCount(); i++) {
14137              if (!getTypeParameter(i).isInitialized()) {
14138                
14139                return false;
14140              }
14141            }
14142            if (hasReceiverType()) {
14143              if (!getReceiverType().isInitialized()) {
14144                
14145                return false;
14146              }
14147            }
14148            if (hasSetterValueParameter()) {
14149              if (!getSetterValueParameter().isInitialized()) {
14150                
14151                return false;
14152              }
14153            }
14154            if (!extensionsAreInitialized()) {
14155              
14156              return false;
14157            }
14158            return true;
14159          }
14160    
14161          public Builder mergeFrom(
14162              com.google.protobuf.CodedInputStream input,
14163              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
14164              throws java.io.IOException {
14165            org.jetbrains.kotlin.serialization.ProtoBuf.Property parsedMessage = null;
14166            try {
14167              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
14168            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
14169              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.Property) e.getUnfinishedMessage();
14170              throw e;
14171            } finally {
14172              if (parsedMessage != null) {
14173                mergeFrom(parsedMessage);
14174              }
14175            }
14176            return this;
14177          }
14178          private int bitField0_;
14179    
14180          // optional int32 flags = 1 [default = 262];
14181          private int flags_ = 262;
14182          /**
14183           * <code>optional int32 flags = 1 [default = 262];</code>
14184           *
14185           * <pre>
14186           *
14187           *hasAnnotations
14188           *Visibility
14189           *Modality
14190           *MemberKind
14191           *isVar
14192           *hasGetter
14193           *hasSetter
14194           *isConst
14195           *lateinit
14196           *hasConstant
14197           * </pre>
14198           */
14199          public boolean hasFlags() {
14200            return ((bitField0_ & 0x00000001) == 0x00000001);
14201          }
14202          /**
14203           * <code>optional int32 flags = 1 [default = 262];</code>
14204           *
14205           * <pre>
14206           *
14207           *hasAnnotations
14208           *Visibility
14209           *Modality
14210           *MemberKind
14211           *isVar
14212           *hasGetter
14213           *hasSetter
14214           *isConst
14215           *lateinit
14216           *hasConstant
14217           * </pre>
14218           */
14219          public int getFlags() {
14220            return flags_;
14221          }
14222          /**
14223           * <code>optional int32 flags = 1 [default = 262];</code>
14224           *
14225           * <pre>
14226           *
14227           *hasAnnotations
14228           *Visibility
14229           *Modality
14230           *MemberKind
14231           *isVar
14232           *hasGetter
14233           *hasSetter
14234           *isConst
14235           *lateinit
14236           *hasConstant
14237           * </pre>
14238           */
14239          public Builder setFlags(int value) {
14240            bitField0_ |= 0x00000001;
14241            flags_ = value;
14242            
14243            return this;
14244          }
14245          /**
14246           * <code>optional int32 flags = 1 [default = 262];</code>
14247           *
14248           * <pre>
14249           *
14250           *hasAnnotations
14251           *Visibility
14252           *Modality
14253           *MemberKind
14254           *isVar
14255           *hasGetter
14256           *hasSetter
14257           *isConst
14258           *lateinit
14259           *hasConstant
14260           * </pre>
14261           */
14262          public Builder clearFlags() {
14263            bitField0_ = (bitField0_ & ~0x00000001);
14264            flags_ = 262;
14265            
14266            return this;
14267          }
14268    
14269          // required int32 name = 2;
14270          private int name_ ;
14271          /**
14272           * <code>required int32 name = 2;</code>
14273           */
14274          public boolean hasName() {
14275            return ((bitField0_ & 0x00000002) == 0x00000002);
14276          }
14277          /**
14278           * <code>required int32 name = 2;</code>
14279           */
14280          public int getName() {
14281            return name_;
14282          }
14283          /**
14284           * <code>required int32 name = 2;</code>
14285           */
14286          public Builder setName(int value) {
14287            bitField0_ |= 0x00000002;
14288            name_ = value;
14289            
14290            return this;
14291          }
14292          /**
14293           * <code>required int32 name = 2;</code>
14294           */
14295          public Builder clearName() {
14296            bitField0_ = (bitField0_ & ~0x00000002);
14297            name_ = 0;
14298            
14299            return this;
14300          }
14301    
14302          // optional .org.jetbrains.kotlin.serialization.Type return_type = 3;
14303          private org.jetbrains.kotlin.serialization.ProtoBuf.Type returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14304          /**
14305           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14306           */
14307          public boolean hasReturnType() {
14308            return ((bitField0_ & 0x00000004) == 0x00000004);
14309          }
14310          /**
14311           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14312           */
14313          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReturnType() {
14314            return returnType_;
14315          }
14316          /**
14317           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14318           */
14319          public Builder setReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
14320            if (value == null) {
14321              throw new NullPointerException();
14322            }
14323            returnType_ = value;
14324    
14325            bitField0_ |= 0x00000004;
14326            return this;
14327          }
14328          /**
14329           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14330           */
14331          public Builder setReturnType(
14332              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
14333            returnType_ = builderForValue.build();
14334    
14335            bitField0_ |= 0x00000004;
14336            return this;
14337          }
14338          /**
14339           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14340           */
14341          public Builder mergeReturnType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
14342            if (((bitField0_ & 0x00000004) == 0x00000004) &&
14343                returnType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
14344              returnType_ =
14345                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(returnType_).mergeFrom(value).buildPartial();
14346            } else {
14347              returnType_ = value;
14348            }
14349    
14350            bitField0_ |= 0x00000004;
14351            return this;
14352          }
14353          /**
14354           * <code>optional .org.jetbrains.kotlin.serialization.Type return_type = 3;</code>
14355           */
14356          public Builder clearReturnType() {
14357            returnType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14358    
14359            bitField0_ = (bitField0_ & ~0x00000004);
14360            return this;
14361          }
14362    
14363          // optional int32 return_type_id = 9;
14364          private int returnTypeId_ ;
14365          /**
14366           * <code>optional int32 return_type_id = 9;</code>
14367           */
14368          public boolean hasReturnTypeId() {
14369            return ((bitField0_ & 0x00000008) == 0x00000008);
14370          }
14371          /**
14372           * <code>optional int32 return_type_id = 9;</code>
14373           */
14374          public int getReturnTypeId() {
14375            return returnTypeId_;
14376          }
14377          /**
14378           * <code>optional int32 return_type_id = 9;</code>
14379           */
14380          public Builder setReturnTypeId(int value) {
14381            bitField0_ |= 0x00000008;
14382            returnTypeId_ = value;
14383            
14384            return this;
14385          }
14386          /**
14387           * <code>optional int32 return_type_id = 9;</code>
14388           */
14389          public Builder clearReturnTypeId() {
14390            bitField0_ = (bitField0_ & ~0x00000008);
14391            returnTypeId_ = 0;
14392            
14393            return this;
14394          }
14395    
14396          // repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;
14397          private java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> typeParameter_ =
14398            java.util.Collections.emptyList();
14399          private void ensureTypeParameterIsMutable() {
14400            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
14401              typeParameter_ = new java.util.ArrayList<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter>(typeParameter_);
14402              bitField0_ |= 0x00000010;
14403             }
14404          }
14405    
14406          /**
14407           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14408           */
14409          public java.util.List<org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
14410            return java.util.Collections.unmodifiableList(typeParameter_);
14411          }
14412          /**
14413           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14414           */
14415          public int getTypeParameterCount() {
14416            return typeParameter_.size();
14417          }
14418          /**
14419           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14420           */
14421          public org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
14422            return typeParameter_.get(index);
14423          }
14424          /**
14425           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14426           */
14427          public Builder setTypeParameter(
14428              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
14429            if (value == null) {
14430              throw new NullPointerException();
14431            }
14432            ensureTypeParameterIsMutable();
14433            typeParameter_.set(index, value);
14434    
14435            return this;
14436          }
14437          /**
14438           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14439           */
14440          public Builder setTypeParameter(
14441              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
14442            ensureTypeParameterIsMutable();
14443            typeParameter_.set(index, builderForValue.build());
14444    
14445            return this;
14446          }
14447          /**
14448           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14449           */
14450          public Builder addTypeParameter(org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
14451            if (value == null) {
14452              throw new NullPointerException();
14453            }
14454            ensureTypeParameterIsMutable();
14455            typeParameter_.add(value);
14456    
14457            return this;
14458          }
14459          /**
14460           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14461           */
14462          public Builder addTypeParameter(
14463              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter value) {
14464            if (value == null) {
14465              throw new NullPointerException();
14466            }
14467            ensureTypeParameterIsMutable();
14468            typeParameter_.add(index, value);
14469    
14470            return this;
14471          }
14472          /**
14473           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14474           */
14475          public Builder addTypeParameter(
14476              org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
14477            ensureTypeParameterIsMutable();
14478            typeParameter_.add(builderForValue.build());
14479    
14480            return this;
14481          }
14482          /**
14483           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14484           */
14485          public Builder addTypeParameter(
14486              int index, org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
14487            ensureTypeParameterIsMutable();
14488            typeParameter_.add(index, builderForValue.build());
14489    
14490            return this;
14491          }
14492          /**
14493           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14494           */
14495          public Builder addAllTypeParameter(
14496              java.lang.Iterable<? extends org.jetbrains.kotlin.serialization.ProtoBuf.TypeParameter> values) {
14497            ensureTypeParameterIsMutable();
14498            super.addAll(values, typeParameter_);
14499    
14500            return this;
14501          }
14502          /**
14503           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14504           */
14505          public Builder clearTypeParameter() {
14506            typeParameter_ = java.util.Collections.emptyList();
14507            bitField0_ = (bitField0_ & ~0x00000010);
14508    
14509            return this;
14510          }
14511          /**
14512           * <code>repeated .org.jetbrains.kotlin.serialization.TypeParameter type_parameter = 4;</code>
14513           */
14514          public Builder removeTypeParameter(int index) {
14515            ensureTypeParameterIsMutable();
14516            typeParameter_.remove(index);
14517    
14518            return this;
14519          }
14520    
14521          // optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;
14522          private org.jetbrains.kotlin.serialization.ProtoBuf.Type receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14523          /**
14524           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14525           */
14526          public boolean hasReceiverType() {
14527            return ((bitField0_ & 0x00000020) == 0x00000020);
14528          }
14529          /**
14530           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14531           */
14532          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getReceiverType() {
14533            return receiverType_;
14534          }
14535          /**
14536           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14537           */
14538          public Builder setReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
14539            if (value == null) {
14540              throw new NullPointerException();
14541            }
14542            receiverType_ = value;
14543    
14544            bitField0_ |= 0x00000020;
14545            return this;
14546          }
14547          /**
14548           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14549           */
14550          public Builder setReceiverType(
14551              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
14552            receiverType_ = builderForValue.build();
14553    
14554            bitField0_ |= 0x00000020;
14555            return this;
14556          }
14557          /**
14558           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14559           */
14560          public Builder mergeReceiverType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
14561            if (((bitField0_ & 0x00000020) == 0x00000020) &&
14562                receiverType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
14563              receiverType_ =
14564                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(receiverType_).mergeFrom(value).buildPartial();
14565            } else {
14566              receiverType_ = value;
14567            }
14568    
14569            bitField0_ |= 0x00000020;
14570            return this;
14571          }
14572          /**
14573           * <code>optional .org.jetbrains.kotlin.serialization.Type receiver_type = 5;</code>
14574           */
14575          public Builder clearReceiverType() {
14576            receiverType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
14577    
14578            bitField0_ = (bitField0_ & ~0x00000020);
14579            return this;
14580          }
14581    
14582          // optional int32 receiver_type_id = 10;
14583          private int receiverTypeId_ ;
14584          /**
14585           * <code>optional int32 receiver_type_id = 10;</code>
14586           */
14587          public boolean hasReceiverTypeId() {
14588            return ((bitField0_ & 0x00000040) == 0x00000040);
14589          }
14590          /**
14591           * <code>optional int32 receiver_type_id = 10;</code>
14592           */
14593          public int getReceiverTypeId() {
14594            return receiverTypeId_;
14595          }
14596          /**
14597           * <code>optional int32 receiver_type_id = 10;</code>
14598           */
14599          public Builder setReceiverTypeId(int value) {
14600            bitField0_ |= 0x00000040;
14601            receiverTypeId_ = value;
14602            
14603            return this;
14604          }
14605          /**
14606           * <code>optional int32 receiver_type_id = 10;</code>
14607           */
14608          public Builder clearReceiverTypeId() {
14609            bitField0_ = (bitField0_ & ~0x00000040);
14610            receiverTypeId_ = 0;
14611            
14612            return this;
14613          }
14614    
14615          // optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;
14616          private org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter setterValueParameter_ = org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
14617          /**
14618           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
14619           */
14620          public boolean hasSetterValueParameter() {
14621            return ((bitField0_ & 0x00000080) == 0x00000080);
14622          }
14623          /**
14624           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
14625           */
14626          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getSetterValueParameter() {
14627            return setterValueParameter_;
14628          }
14629          /**
14630           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
14631           */
14632          public Builder setSetterValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
14633            if (value == null) {
14634              throw new NullPointerException();
14635            }
14636            setterValueParameter_ = value;
14637    
14638            bitField0_ |= 0x00000080;
14639            return this;
14640          }
14641          /**
14642           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
14643           */
14644          public Builder setSetterValueParameter(
14645              org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.Builder builderForValue) {
14646            setterValueParameter_ = builderForValue.build();
14647    
14648            bitField0_ |= 0x00000080;
14649            return this;
14650          }
14651          /**
14652           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
14653           */
14654          public Builder mergeSetterValueParameter(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter value) {
14655            if (((bitField0_ & 0x00000080) == 0x00000080) &&
14656                setterValueParameter_ != org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance()) {
14657              setterValueParameter_ =
14658                org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.newBuilder(setterValueParameter_).mergeFrom(value).buildPartial();
14659            } else {
14660              setterValueParameter_ = value;
14661            }
14662    
14663            bitField0_ |= 0x00000080;
14664            return this;
14665          }
14666          /**
14667           * <code>optional .org.jetbrains.kotlin.serialization.ValueParameter setter_value_parameter = 6;</code>
14668           */
14669          public Builder clearSetterValueParameter() {
14670            setterValueParameter_ = org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
14671    
14672            bitField0_ = (bitField0_ & ~0x00000080);
14673            return this;
14674          }
14675    
14676          // optional int32 getter_flags = 7;
14677          private int getterFlags_ ;
14678          /**
14679           * <code>optional int32 getter_flags = 7;</code>
14680           *
14681           * <pre>
14682           *
14683           *hasAnnotations
14684           *Visibility
14685           *Modality
14686           *isNotDefault
14687           *isExternal
14688           * </pre>
14689           */
14690          public boolean hasGetterFlags() {
14691            return ((bitField0_ & 0x00000100) == 0x00000100);
14692          }
14693          /**
14694           * <code>optional int32 getter_flags = 7;</code>
14695           *
14696           * <pre>
14697           *
14698           *hasAnnotations
14699           *Visibility
14700           *Modality
14701           *isNotDefault
14702           *isExternal
14703           * </pre>
14704           */
14705          public int getGetterFlags() {
14706            return getterFlags_;
14707          }
14708          /**
14709           * <code>optional int32 getter_flags = 7;</code>
14710           *
14711           * <pre>
14712           *
14713           *hasAnnotations
14714           *Visibility
14715           *Modality
14716           *isNotDefault
14717           *isExternal
14718           * </pre>
14719           */
14720          public Builder setGetterFlags(int value) {
14721            bitField0_ |= 0x00000100;
14722            getterFlags_ = value;
14723            
14724            return this;
14725          }
14726          /**
14727           * <code>optional int32 getter_flags = 7;</code>
14728           *
14729           * <pre>
14730           *
14731           *hasAnnotations
14732           *Visibility
14733           *Modality
14734           *isNotDefault
14735           *isExternal
14736           * </pre>
14737           */
14738          public Builder clearGetterFlags() {
14739            bitField0_ = (bitField0_ & ~0x00000100);
14740            getterFlags_ = 0;
14741            
14742            return this;
14743          }
14744    
14745          // optional int32 setter_flags = 8;
14746          private int setterFlags_ ;
14747          /**
14748           * <code>optional int32 setter_flags = 8;</code>
14749           */
14750          public boolean hasSetterFlags() {
14751            return ((bitField0_ & 0x00000200) == 0x00000200);
14752          }
14753          /**
14754           * <code>optional int32 setter_flags = 8;</code>
14755           */
14756          public int getSetterFlags() {
14757            return setterFlags_;
14758          }
14759          /**
14760           * <code>optional int32 setter_flags = 8;</code>
14761           */
14762          public Builder setSetterFlags(int value) {
14763            bitField0_ |= 0x00000200;
14764            setterFlags_ = value;
14765            
14766            return this;
14767          }
14768          /**
14769           * <code>optional int32 setter_flags = 8;</code>
14770           */
14771          public Builder clearSetterFlags() {
14772            bitField0_ = (bitField0_ & ~0x00000200);
14773            setterFlags_ = 0;
14774            
14775            return this;
14776          }
14777    
14778          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.Property)
14779        }
14780    
14781        static {
14782          defaultInstance = new Property(true);
14783          defaultInstance.initFields();
14784        }
14785    
14786        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.Property)
14787      }
14788    
14789      public interface ValueParameterOrBuilder extends 
14790           com.google.protobuf.GeneratedMessageLite.
14791                ExtendableMessageOrBuilder<ValueParameter> {
14792    
14793        // optional int32 flags = 1 [default = 0];
14794        /**
14795         * <code>optional int32 flags = 1 [default = 0];</code>
14796         *
14797         * <pre>
14798         *
14799         *declaresDefault
14800         *hasAnnotations
14801         *isCrossinline
14802         *isNoinline
14803         * </pre>
14804         */
14805        boolean hasFlags();
14806        /**
14807         * <code>optional int32 flags = 1 [default = 0];</code>
14808         *
14809         * <pre>
14810         *
14811         *declaresDefault
14812         *hasAnnotations
14813         *isCrossinline
14814         *isNoinline
14815         * </pre>
14816         */
14817        int getFlags();
14818    
14819        // required int32 name = 2;
14820        /**
14821         * <code>required int32 name = 2;</code>
14822         */
14823        boolean hasName();
14824        /**
14825         * <code>required int32 name = 2;</code>
14826         */
14827        int getName();
14828    
14829        // optional .org.jetbrains.kotlin.serialization.Type type = 3;
14830        /**
14831         * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
14832         */
14833        boolean hasType();
14834        /**
14835         * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
14836         */
14837        org.jetbrains.kotlin.serialization.ProtoBuf.Type getType();
14838    
14839        // optional int32 type_id = 5;
14840        /**
14841         * <code>optional int32 type_id = 5;</code>
14842         */
14843        boolean hasTypeId();
14844        /**
14845         * <code>optional int32 type_id = 5;</code>
14846         */
14847        int getTypeId();
14848    
14849        // optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;
14850        /**
14851         * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
14852         */
14853        boolean hasVarargElementType();
14854        /**
14855         * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
14856         */
14857        org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType();
14858    
14859        // optional int32 vararg_element_type_id = 6;
14860        /**
14861         * <code>optional int32 vararg_element_type_id = 6;</code>
14862         */
14863        boolean hasVarargElementTypeId();
14864        /**
14865         * <code>optional int32 vararg_element_type_id = 6;</code>
14866         */
14867        int getVarargElementTypeId();
14868      }
14869      /**
14870       * Protobuf type {@code org.jetbrains.kotlin.serialization.ValueParameter}
14871       */
14872      public static final class ValueParameter extends
14873          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
14874            ValueParameter> implements ValueParameterOrBuilder {
14875        // Use ValueParameter.newBuilder() to construct.
14876        private ValueParameter(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter, ?> builder) {
14877          super(builder);
14878    
14879        }
14880        private ValueParameter(boolean noInit) {}
14881    
14882        private static final ValueParameter defaultInstance;
14883        public static ValueParameter getDefaultInstance() {
14884          return defaultInstance;
14885        }
14886    
14887        public ValueParameter getDefaultInstanceForType() {
14888          return defaultInstance;
14889        }
14890    
14891        private ValueParameter(
14892            com.google.protobuf.CodedInputStream input,
14893            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
14894            throws com.google.protobuf.InvalidProtocolBufferException {
14895          initFields();
14896          int mutable_bitField0_ = 0;
14897          try {
14898            boolean done = false;
14899            while (!done) {
14900              int tag = input.readTag();
14901              switch (tag) {
14902                case 0:
14903                  done = true;
14904                  break;
14905                default: {
14906                  if (!parseUnknownField(input,
14907                                         extensionRegistry, tag)) {
14908                    done = true;
14909                  }
14910                  break;
14911                }
14912                case 8: {
14913                  bitField0_ |= 0x00000001;
14914                  flags_ = input.readInt32();
14915                  break;
14916                }
14917                case 16: {
14918                  bitField0_ |= 0x00000002;
14919                  name_ = input.readInt32();
14920                  break;
14921                }
14922                case 26: {
14923                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
14924                  if (((bitField0_ & 0x00000004) == 0x00000004)) {
14925                    subBuilder = type_.toBuilder();
14926                  }
14927                  type_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
14928                  if (subBuilder != null) {
14929                    subBuilder.mergeFrom(type_);
14930                    type_ = subBuilder.buildPartial();
14931                  }
14932                  bitField0_ |= 0x00000004;
14933                  break;
14934                }
14935                case 34: {
14936                  org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder subBuilder = null;
14937                  if (((bitField0_ & 0x00000010) == 0x00000010)) {
14938                    subBuilder = varargElementType_.toBuilder();
14939                  }
14940                  varargElementType_ = input.readMessage(org.jetbrains.kotlin.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
14941                  if (subBuilder != null) {
14942                    subBuilder.mergeFrom(varargElementType_);
14943                    varargElementType_ = subBuilder.buildPartial();
14944                  }
14945                  bitField0_ |= 0x00000010;
14946                  break;
14947                }
14948                case 40: {
14949                  bitField0_ |= 0x00000008;
14950                  typeId_ = input.readInt32();
14951                  break;
14952                }
14953                case 48: {
14954                  bitField0_ |= 0x00000020;
14955                  varargElementTypeId_ = input.readInt32();
14956                  break;
14957                }
14958              }
14959            }
14960          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
14961            throw e.setUnfinishedMessage(this);
14962          } catch (java.io.IOException e) {
14963            throw new com.google.protobuf.InvalidProtocolBufferException(
14964                e.getMessage()).setUnfinishedMessage(this);
14965          } finally {
14966            makeExtensionsImmutable();
14967          }
14968        }
14969        public static com.google.protobuf.Parser<ValueParameter> PARSER =
14970            new com.google.protobuf.AbstractParser<ValueParameter>() {
14971          public ValueParameter parsePartialFrom(
14972              com.google.protobuf.CodedInputStream input,
14973              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
14974              throws com.google.protobuf.InvalidProtocolBufferException {
14975            return new ValueParameter(input, extensionRegistry);
14976          }
14977        };
14978    
14979        @java.lang.Override
14980        public com.google.protobuf.Parser<ValueParameter> getParserForType() {
14981          return PARSER;
14982        }
14983    
14984        private int bitField0_;
14985        // optional int32 flags = 1 [default = 0];
14986        public static final int FLAGS_FIELD_NUMBER = 1;
14987        private int flags_;
14988        /**
14989         * <code>optional int32 flags = 1 [default = 0];</code>
14990         *
14991         * <pre>
14992         *
14993         *declaresDefault
14994         *hasAnnotations
14995         *isCrossinline
14996         *isNoinline
14997         * </pre>
14998         */
14999        public boolean hasFlags() {
15000          return ((bitField0_ & 0x00000001) == 0x00000001);
15001        }
15002        /**
15003         * <code>optional int32 flags = 1 [default = 0];</code>
15004         *
15005         * <pre>
15006         *
15007         *declaresDefault
15008         *hasAnnotations
15009         *isCrossinline
15010         *isNoinline
15011         * </pre>
15012         */
15013        public int getFlags() {
15014          return flags_;
15015        }
15016    
15017        // required int32 name = 2;
15018        public static final int NAME_FIELD_NUMBER = 2;
15019        private int name_;
15020        /**
15021         * <code>required int32 name = 2;</code>
15022         */
15023        public boolean hasName() {
15024          return ((bitField0_ & 0x00000002) == 0x00000002);
15025        }
15026        /**
15027         * <code>required int32 name = 2;</code>
15028         */
15029        public int getName() {
15030          return name_;
15031        }
15032    
15033        // optional .org.jetbrains.kotlin.serialization.Type type = 3;
15034        public static final int TYPE_FIELD_NUMBER = 3;
15035        private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_;
15036        /**
15037         * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15038         */
15039        public boolean hasType() {
15040          return ((bitField0_ & 0x00000004) == 0x00000004);
15041        }
15042        /**
15043         * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15044         */
15045        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
15046          return type_;
15047        }
15048    
15049        // optional int32 type_id = 5;
15050        public static final int TYPE_ID_FIELD_NUMBER = 5;
15051        private int typeId_;
15052        /**
15053         * <code>optional int32 type_id = 5;</code>
15054         */
15055        public boolean hasTypeId() {
15056          return ((bitField0_ & 0x00000008) == 0x00000008);
15057        }
15058        /**
15059         * <code>optional int32 type_id = 5;</code>
15060         */
15061        public int getTypeId() {
15062          return typeId_;
15063        }
15064    
15065        // optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;
15066        public static final int VARARG_ELEMENT_TYPE_FIELD_NUMBER = 4;
15067        private org.jetbrains.kotlin.serialization.ProtoBuf.Type varargElementType_;
15068        /**
15069         * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
15070         */
15071        public boolean hasVarargElementType() {
15072          return ((bitField0_ & 0x00000010) == 0x00000010);
15073        }
15074        /**
15075         * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
15076         */
15077        public org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType() {
15078          return varargElementType_;
15079        }
15080    
15081        // optional int32 vararg_element_type_id = 6;
15082        public static final int VARARG_ELEMENT_TYPE_ID_FIELD_NUMBER = 6;
15083        private int varargElementTypeId_;
15084        /**
15085         * <code>optional int32 vararg_element_type_id = 6;</code>
15086         */
15087        public boolean hasVarargElementTypeId() {
15088          return ((bitField0_ & 0x00000020) == 0x00000020);
15089        }
15090        /**
15091         * <code>optional int32 vararg_element_type_id = 6;</code>
15092         */
15093        public int getVarargElementTypeId() {
15094          return varargElementTypeId_;
15095        }
15096    
15097        private void initFields() {
15098          flags_ = 0;
15099          name_ = 0;
15100          type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15101          typeId_ = 0;
15102          varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15103          varargElementTypeId_ = 0;
15104        }
15105        private byte memoizedIsInitialized = -1;
15106        public final boolean isInitialized() {
15107          byte isInitialized = memoizedIsInitialized;
15108          if (isInitialized != -1) return isInitialized == 1;
15109    
15110          if (!hasName()) {
15111            memoizedIsInitialized = 0;
15112            return false;
15113          }
15114          if (hasType()) {
15115            if (!getType().isInitialized()) {
15116              memoizedIsInitialized = 0;
15117              return false;
15118            }
15119          }
15120          if (hasVarargElementType()) {
15121            if (!getVarargElementType().isInitialized()) {
15122              memoizedIsInitialized = 0;
15123              return false;
15124            }
15125          }
15126          if (!extensionsAreInitialized()) {
15127            memoizedIsInitialized = 0;
15128            return false;
15129          }
15130          memoizedIsInitialized = 1;
15131          return true;
15132        }
15133    
15134        public void writeTo(com.google.protobuf.CodedOutputStream output)
15135                            throws java.io.IOException {
15136          getSerializedSize();
15137          com.google.protobuf.GeneratedMessageLite
15138            .ExtendableMessage<org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter>.ExtensionWriter extensionWriter =
15139              newExtensionWriter();
15140          if (((bitField0_ & 0x00000001) == 0x00000001)) {
15141            output.writeInt32(1, flags_);
15142          }
15143          if (((bitField0_ & 0x00000002) == 0x00000002)) {
15144            output.writeInt32(2, name_);
15145          }
15146          if (((bitField0_ & 0x00000004) == 0x00000004)) {
15147            output.writeMessage(3, type_);
15148          }
15149          if (((bitField0_ & 0x00000010) == 0x00000010)) {
15150            output.writeMessage(4, varargElementType_);
15151          }
15152          if (((bitField0_ & 0x00000008) == 0x00000008)) {
15153            output.writeInt32(5, typeId_);
15154          }
15155          if (((bitField0_ & 0x00000020) == 0x00000020)) {
15156            output.writeInt32(6, varargElementTypeId_);
15157          }
15158          extensionWriter.writeUntil(200, output);
15159        }
15160    
15161        private int memoizedSerializedSize = -1;
15162        public int getSerializedSize() {
15163          int size = memoizedSerializedSize;
15164          if (size != -1) return size;
15165    
15166          size = 0;
15167          if (((bitField0_ & 0x00000001) == 0x00000001)) {
15168            size += com.google.protobuf.CodedOutputStream
15169              .computeInt32Size(1, flags_);
15170          }
15171          if (((bitField0_ & 0x00000002) == 0x00000002)) {
15172            size += com.google.protobuf.CodedOutputStream
15173              .computeInt32Size(2, name_);
15174          }
15175          if (((bitField0_ & 0x00000004) == 0x00000004)) {
15176            size += com.google.protobuf.CodedOutputStream
15177              .computeMessageSize(3, type_);
15178          }
15179          if (((bitField0_ & 0x00000010) == 0x00000010)) {
15180            size += com.google.protobuf.CodedOutputStream
15181              .computeMessageSize(4, varargElementType_);
15182          }
15183          if (((bitField0_ & 0x00000008) == 0x00000008)) {
15184            size += com.google.protobuf.CodedOutputStream
15185              .computeInt32Size(5, typeId_);
15186          }
15187          if (((bitField0_ & 0x00000020) == 0x00000020)) {
15188            size += com.google.protobuf.CodedOutputStream
15189              .computeInt32Size(6, varargElementTypeId_);
15190          }
15191          size += extensionsSerializedSize();
15192          memoizedSerializedSize = size;
15193          return size;
15194        }
15195    
15196        private static final long serialVersionUID = 0L;
15197        @java.lang.Override
15198        protected java.lang.Object writeReplace()
15199            throws java.io.ObjectStreamException {
15200          return super.writeReplace();
15201        }
15202    
15203        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
15204            com.google.protobuf.ByteString data)
15205            throws com.google.protobuf.InvalidProtocolBufferException {
15206          return PARSER.parseFrom(data);
15207        }
15208        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
15209            com.google.protobuf.ByteString data,
15210            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15211            throws com.google.protobuf.InvalidProtocolBufferException {
15212          return PARSER.parseFrom(data, extensionRegistry);
15213        }
15214        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(byte[] data)
15215            throws com.google.protobuf.InvalidProtocolBufferException {
15216          return PARSER.parseFrom(data);
15217        }
15218        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
15219            byte[] data,
15220            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15221            throws com.google.protobuf.InvalidProtocolBufferException {
15222          return PARSER.parseFrom(data, extensionRegistry);
15223        }
15224        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(java.io.InputStream input)
15225            throws java.io.IOException {
15226          return PARSER.parseFrom(input);
15227        }
15228        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
15229            java.io.InputStream input,
15230            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15231            throws java.io.IOException {
15232          return PARSER.parseFrom(input, extensionRegistry);
15233        }
15234        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseDelimitedFrom(java.io.InputStream input)
15235            throws java.io.IOException {
15236          return PARSER.parseDelimitedFrom(input);
15237        }
15238        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseDelimitedFrom(
15239            java.io.InputStream input,
15240            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15241            throws java.io.IOException {
15242          return PARSER.parseDelimitedFrom(input, extensionRegistry);
15243        }
15244        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
15245            com.google.protobuf.CodedInputStream input)
15246            throws java.io.IOException {
15247          return PARSER.parseFrom(input);
15248        }
15249        public static org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parseFrom(
15250            com.google.protobuf.CodedInputStream input,
15251            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15252            throws java.io.IOException {
15253          return PARSER.parseFrom(input, extensionRegistry);
15254        }
15255    
15256        public static Builder newBuilder() { return Builder.create(); }
15257        public Builder newBuilderForType() { return newBuilder(); }
15258        public static Builder newBuilder(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter prototype) {
15259          return newBuilder().mergeFrom(prototype);
15260        }
15261        public Builder toBuilder() { return newBuilder(this); }
15262    
15263        /**
15264         * Protobuf type {@code org.jetbrains.kotlin.serialization.ValueParameter}
15265         */
15266        public static final class Builder extends
15267            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
15268              org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter, Builder> implements org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameterOrBuilder {
15269          // Construct using org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.newBuilder()
15270          private Builder() {
15271            maybeForceBuilderInitialization();
15272          }
15273    
15274          private void maybeForceBuilderInitialization() {
15275          }
15276          private static Builder create() {
15277            return new Builder();
15278          }
15279    
15280          public Builder clear() {
15281            super.clear();
15282            flags_ = 0;
15283            bitField0_ = (bitField0_ & ~0x00000001);
15284            name_ = 0;
15285            bitField0_ = (bitField0_ & ~0x00000002);
15286            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15287            bitField0_ = (bitField0_ & ~0x00000004);
15288            typeId_ = 0;
15289            bitField0_ = (bitField0_ & ~0x00000008);
15290            varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15291            bitField0_ = (bitField0_ & ~0x00000010);
15292            varargElementTypeId_ = 0;
15293            bitField0_ = (bitField0_ & ~0x00000020);
15294            return this;
15295          }
15296    
15297          public Builder clone() {
15298            return create().mergeFrom(buildPartial());
15299          }
15300    
15301          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter getDefaultInstanceForType() {
15302            return org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance();
15303          }
15304    
15305          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter build() {
15306            org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter result = buildPartial();
15307            if (!result.isInitialized()) {
15308              throw newUninitializedMessageException(result);
15309            }
15310            return result;
15311          }
15312    
15313          public org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter buildPartial() {
15314            org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter result = new org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter(this);
15315            int from_bitField0_ = bitField0_;
15316            int to_bitField0_ = 0;
15317            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
15318              to_bitField0_ |= 0x00000001;
15319            }
15320            result.flags_ = flags_;
15321            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
15322              to_bitField0_ |= 0x00000002;
15323            }
15324            result.name_ = name_;
15325            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
15326              to_bitField0_ |= 0x00000004;
15327            }
15328            result.type_ = type_;
15329            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
15330              to_bitField0_ |= 0x00000008;
15331            }
15332            result.typeId_ = typeId_;
15333            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
15334              to_bitField0_ |= 0x00000010;
15335            }
15336            result.varargElementType_ = varargElementType_;
15337            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
15338              to_bitField0_ |= 0x00000020;
15339            }
15340            result.varargElementTypeId_ = varargElementTypeId_;
15341            result.bitField0_ = to_bitField0_;
15342            return result;
15343          }
15344    
15345          public Builder mergeFrom(org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter other) {
15346            if (other == org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter.getDefaultInstance()) return this;
15347            if (other.hasFlags()) {
15348              setFlags(other.getFlags());
15349            }
15350            if (other.hasName()) {
15351              setName(other.getName());
15352            }
15353            if (other.hasType()) {
15354              mergeType(other.getType());
15355            }
15356            if (other.hasTypeId()) {
15357              setTypeId(other.getTypeId());
15358            }
15359            if (other.hasVarargElementType()) {
15360              mergeVarargElementType(other.getVarargElementType());
15361            }
15362            if (other.hasVarargElementTypeId()) {
15363              setVarargElementTypeId(other.getVarargElementTypeId());
15364            }
15365            this.mergeExtensionFields(other);
15366            return this;
15367          }
15368    
15369          public final boolean isInitialized() {
15370            if (!hasName()) {
15371              
15372              return false;
15373            }
15374            if (hasType()) {
15375              if (!getType().isInitialized()) {
15376                
15377                return false;
15378              }
15379            }
15380            if (hasVarargElementType()) {
15381              if (!getVarargElementType().isInitialized()) {
15382                
15383                return false;
15384              }
15385            }
15386            if (!extensionsAreInitialized()) {
15387              
15388              return false;
15389            }
15390            return true;
15391          }
15392    
15393          public Builder mergeFrom(
15394              com.google.protobuf.CodedInputStream input,
15395              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15396              throws java.io.IOException {
15397            org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter parsedMessage = null;
15398            try {
15399              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
15400            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
15401              parsedMessage = (org.jetbrains.kotlin.serialization.ProtoBuf.ValueParameter) e.getUnfinishedMessage();
15402              throw e;
15403            } finally {
15404              if (parsedMessage != null) {
15405                mergeFrom(parsedMessage);
15406              }
15407            }
15408            return this;
15409          }
15410          private int bitField0_;
15411    
15412          // optional int32 flags = 1 [default = 0];
15413          private int flags_ ;
15414          /**
15415           * <code>optional int32 flags = 1 [default = 0];</code>
15416           *
15417           * <pre>
15418           *
15419           *declaresDefault
15420           *hasAnnotations
15421           *isCrossinline
15422           *isNoinline
15423           * </pre>
15424           */
15425          public boolean hasFlags() {
15426            return ((bitField0_ & 0x00000001) == 0x00000001);
15427          }
15428          /**
15429           * <code>optional int32 flags = 1 [default = 0];</code>
15430           *
15431           * <pre>
15432           *
15433           *declaresDefault
15434           *hasAnnotations
15435           *isCrossinline
15436           *isNoinline
15437           * </pre>
15438           */
15439          public int getFlags() {
15440            return flags_;
15441          }
15442          /**
15443           * <code>optional int32 flags = 1 [default = 0];</code>
15444           *
15445           * <pre>
15446           *
15447           *declaresDefault
15448           *hasAnnotations
15449           *isCrossinline
15450           *isNoinline
15451           * </pre>
15452           */
15453          public Builder setFlags(int value) {
15454            bitField0_ |= 0x00000001;
15455            flags_ = value;
15456            
15457            return this;
15458          }
15459          /**
15460           * <code>optional int32 flags = 1 [default = 0];</code>
15461           *
15462           * <pre>
15463           *
15464           *declaresDefault
15465           *hasAnnotations
15466           *isCrossinline
15467           *isNoinline
15468           * </pre>
15469           */
15470          public Builder clearFlags() {
15471            bitField0_ = (bitField0_ & ~0x00000001);
15472            flags_ = 0;
15473            
15474            return this;
15475          }
15476    
15477          // required int32 name = 2;
15478          private int name_ ;
15479          /**
15480           * <code>required int32 name = 2;</code>
15481           */
15482          public boolean hasName() {
15483            return ((bitField0_ & 0x00000002) == 0x00000002);
15484          }
15485          /**
15486           * <code>required int32 name = 2;</code>
15487           */
15488          public int getName() {
15489            return name_;
15490          }
15491          /**
15492           * <code>required int32 name = 2;</code>
15493           */
15494          public Builder setName(int value) {
15495            bitField0_ |= 0x00000002;
15496            name_ = value;
15497            
15498            return this;
15499          }
15500          /**
15501           * <code>required int32 name = 2;</code>
15502           */
15503          public Builder clearName() {
15504            bitField0_ = (bitField0_ & ~0x00000002);
15505            name_ = 0;
15506            
15507            return this;
15508          }
15509    
15510          // optional .org.jetbrains.kotlin.serialization.Type type = 3;
15511          private org.jetbrains.kotlin.serialization.ProtoBuf.Type type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15512          /**
15513           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15514           */
15515          public boolean hasType() {
15516            return ((bitField0_ & 0x00000004) == 0x00000004);
15517          }
15518          /**
15519           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15520           */
15521          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getType() {
15522            return type_;
15523          }
15524          /**
15525           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15526           */
15527          public Builder setType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
15528            if (value == null) {
15529              throw new NullPointerException();
15530            }
15531            type_ = value;
15532    
15533            bitField0_ |= 0x00000004;
15534            return this;
15535          }
15536          /**
15537           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15538           */
15539          public Builder setType(
15540              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
15541            type_ = builderForValue.build();
15542    
15543            bitField0_ |= 0x00000004;
15544            return this;
15545          }
15546          /**
15547           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15548           */
15549          public Builder mergeType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
15550            if (((bitField0_ & 0x00000004) == 0x00000004) &&
15551                type_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
15552              type_ =
15553                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
15554            } else {
15555              type_ = value;
15556            }
15557    
15558            bitField0_ |= 0x00000004;
15559            return this;
15560          }
15561          /**
15562           * <code>optional .org.jetbrains.kotlin.serialization.Type type = 3;</code>
15563           */
15564          public Builder clearType() {
15565            type_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15566    
15567            bitField0_ = (bitField0_ & ~0x00000004);
15568            return this;
15569          }
15570    
15571          // optional int32 type_id = 5;
15572          private int typeId_ ;
15573          /**
15574           * <code>optional int32 type_id = 5;</code>
15575           */
15576          public boolean hasTypeId() {
15577            return ((bitField0_ & 0x00000008) == 0x00000008);
15578          }
15579          /**
15580           * <code>optional int32 type_id = 5;</code>
15581           */
15582          public int getTypeId() {
15583            return typeId_;
15584          }
15585          /**
15586           * <code>optional int32 type_id = 5;</code>
15587           */
15588          public Builder setTypeId(int value) {
15589            bitField0_ |= 0x00000008;
15590            typeId_ = value;
15591            
15592            return this;
15593          }
15594          /**
15595           * <code>optional int32 type_id = 5;</code>
15596           */
15597          public Builder clearTypeId() {
15598            bitField0_ = (bitField0_ & ~0x00000008);
15599            typeId_ = 0;
15600            
15601            return this;
15602          }
15603    
15604          // optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;
15605          private org.jetbrains.kotlin.serialization.ProtoBuf.Type varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15606          /**
15607           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
15608           */
15609          public boolean hasVarargElementType() {
15610            return ((bitField0_ & 0x00000010) == 0x00000010);
15611          }
15612          /**
15613           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
15614           */
15615          public org.jetbrains.kotlin.serialization.ProtoBuf.Type getVarargElementType() {
15616            return varargElementType_;
15617          }
15618          /**
15619           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
15620           */
15621          public Builder setVarargElementType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
15622            if (value == null) {
15623              throw new NullPointerException();
15624            }
15625            varargElementType_ = value;
15626    
15627            bitField0_ |= 0x00000010;
15628            return this;
15629          }
15630          /**
15631           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
15632           */
15633          public Builder setVarargElementType(
15634              org.jetbrains.kotlin.serialization.ProtoBuf.Type.Builder builderForValue) {
15635            varargElementType_ = builderForValue.build();
15636    
15637            bitField0_ |= 0x00000010;
15638            return this;
15639          }
15640          /**
15641           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
15642           */
15643          public Builder mergeVarargElementType(org.jetbrains.kotlin.serialization.ProtoBuf.Type value) {
15644            if (((bitField0_ & 0x00000010) == 0x00000010) &&
15645                varargElementType_ != org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance()) {
15646              varargElementType_ =
15647                org.jetbrains.kotlin.serialization.ProtoBuf.Type.newBuilder(varargElementType_).mergeFrom(value).buildPartial();
15648            } else {
15649              varargElementType_ = value;
15650            }
15651    
15652            bitField0_ |= 0x00000010;
15653            return this;
15654          }
15655          /**
15656           * <code>optional .org.jetbrains.kotlin.serialization.Type vararg_element_type = 4;</code>
15657           */
15658          public Builder clearVarargElementType() {
15659            varargElementType_ = org.jetbrains.kotlin.serialization.ProtoBuf.Type.getDefaultInstance();
15660    
15661            bitField0_ = (bitField0_ & ~0x00000010);
15662            return this;
15663          }
15664    
15665          // optional int32 vararg_element_type_id = 6;
15666          private int varargElementTypeId_ ;
15667          /**
15668           * <code>optional int32 vararg_element_type_id = 6;</code>
15669           */
15670          public boolean hasVarargElementTypeId() {
15671            return ((bitField0_ & 0x00000020) == 0x00000020);
15672          }
15673          /**
15674           * <code>optional int32 vararg_element_type_id = 6;</code>
15675           */
15676          public int getVarargElementTypeId() {
15677            return varargElementTypeId_;
15678          }
15679          /**
15680           * <code>optional int32 vararg_element_type_id = 6;</code>
15681           */
15682          public Builder setVarargElementTypeId(int value) {
15683            bitField0_ |= 0x00000020;
15684            varargElementTypeId_ = value;
15685            
15686            return this;
15687          }
15688          /**
15689           * <code>optional int32 vararg_element_type_id = 6;</code>
15690           */
15691          public Builder clearVarargElementTypeId() {
15692            bitField0_ = (bitField0_ & ~0x00000020);
15693            varargElementTypeId_ = 0;
15694            
15695            return this;
15696          }
15697    
15698          // @@protoc_insertion_point(builder_scope:org.jetbrains.kotlin.serialization.ValueParameter)
15699        }
15700    
15701        static {
15702          defaultInstance = new ValueParameter(true);
15703          defaultInstance.initFields();
15704        }
15705    
15706        // @@protoc_insertion_point(class_scope:org.jetbrains.kotlin.serialization.ValueParameter)
15707      }
15708    
15709    
15710      static {
15711      }
15712    
15713      // @@protoc_insertion_point(outer_class_scope)
15714    }