001    // Generated by the protocol buffer compiler.  DO NOT EDIT!
002    // source: core/serialization/src/descriptors.proto
003    
004    package org.jetbrains.jet.descriptors.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.jet.descriptors.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    
034        /**
035         * <code>FINAL = 0;</code>
036         *
037         * <pre>
038         * 2 bits
039         * </pre>
040         */
041        public static final int FINAL_VALUE = 0;
042        /**
043         * <code>OPEN = 1;</code>
044         */
045        public static final int OPEN_VALUE = 1;
046        /**
047         * <code>ABSTRACT = 2;</code>
048         */
049        public static final int ABSTRACT_VALUE = 2;
050    
051    
052        public final int getNumber() { return value; }
053    
054        public static Modality valueOf(int value) {
055          switch (value) {
056            case 0: return FINAL;
057            case 1: return OPEN;
058            case 2: return ABSTRACT;
059            default: return null;
060          }
061        }
062    
063        public static com.google.protobuf.Internal.EnumLiteMap<Modality>
064            internalGetValueMap() {
065          return internalValueMap;
066        }
067        private static com.google.protobuf.Internal.EnumLiteMap<Modality>
068            internalValueMap =
069              new com.google.protobuf.Internal.EnumLiteMap<Modality>() {
070                public Modality findValueByNumber(int number) {
071                  return Modality.valueOf(number);
072                }
073              };
074    
075        private final int value;
076    
077        private Modality(int index, int value) {
078          this.value = value;
079        }
080    
081        // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Modality)
082      }
083    
084      /**
085       * Protobuf enum {@code org.jetbrains.jet.descriptors.serialization.Visibility}
086       */
087      public enum Visibility
088          implements com.google.protobuf.Internal.EnumLite {
089        /**
090         * <code>INTERNAL = 0;</code>
091         *
092         * <pre>
093         * 3 bits
094         * </pre>
095         */
096        INTERNAL(0, 0),
097        /**
098         * <code>PRIVATE = 1;</code>
099         */
100        PRIVATE(1, 1),
101        /**
102         * <code>PROTECTED = 2;</code>
103         */
104        PROTECTED(2, 2),
105        /**
106         * <code>PUBLIC = 3;</code>
107         */
108        PUBLIC(3, 3),
109        /**
110         * <code>EXTRA = 4;</code>
111         *
112         * <pre>
113         * there's an extra field for the actual visibility
114         * </pre>
115         */
116        EXTRA(4, 4),
117        ;
118    
119        /**
120         * <code>INTERNAL = 0;</code>
121         *
122         * <pre>
123         * 3 bits
124         * </pre>
125         */
126        public static final int INTERNAL_VALUE = 0;
127        /**
128         * <code>PRIVATE = 1;</code>
129         */
130        public static final int PRIVATE_VALUE = 1;
131        /**
132         * <code>PROTECTED = 2;</code>
133         */
134        public static final int PROTECTED_VALUE = 2;
135        /**
136         * <code>PUBLIC = 3;</code>
137         */
138        public static final int PUBLIC_VALUE = 3;
139        /**
140         * <code>EXTRA = 4;</code>
141         *
142         * <pre>
143         * there's an extra field for the actual visibility
144         * </pre>
145         */
146        public static final int EXTRA_VALUE = 4;
147    
148    
149        public final int getNumber() { return value; }
150    
151        public static Visibility valueOf(int value) {
152          switch (value) {
153            case 0: return INTERNAL;
154            case 1: return PRIVATE;
155            case 2: return PROTECTED;
156            case 3: return PUBLIC;
157            case 4: return EXTRA;
158            default: return null;
159          }
160        }
161    
162        public static com.google.protobuf.Internal.EnumLiteMap<Visibility>
163            internalGetValueMap() {
164          return internalValueMap;
165        }
166        private static com.google.protobuf.Internal.EnumLiteMap<Visibility>
167            internalValueMap =
168              new com.google.protobuf.Internal.EnumLiteMap<Visibility>() {
169                public Visibility findValueByNumber(int number) {
170                  return Visibility.valueOf(number);
171                }
172              };
173    
174        private final int value;
175    
176        private Visibility(int index, int value) {
177          this.value = value;
178        }
179    
180        // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Visibility)
181      }
182    
183      public interface StringTableOrBuilder
184          extends com.google.protobuf.MessageLiteOrBuilder {
185    
186        // repeated string string = 1;
187        /**
188         * <code>repeated string string = 1;</code>
189         */
190        java.util.List<java.lang.String>
191        getStringList();
192        /**
193         * <code>repeated string string = 1;</code>
194         */
195        int getStringCount();
196        /**
197         * <code>repeated string string = 1;</code>
198         */
199        java.lang.String getString(int index);
200        /**
201         * <code>repeated string string = 1;</code>
202         */
203        com.google.protobuf.ByteString
204            getStringBytes(int index);
205      }
206      /**
207       * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.StringTable}
208       */
209      public static final class StringTable extends
210          com.google.protobuf.GeneratedMessageLite
211          implements StringTableOrBuilder {
212        // Use StringTable.newBuilder() to construct.
213        private StringTable(com.google.protobuf.GeneratedMessageLite.Builder builder) {
214          super(builder);
215    
216        }
217        private StringTable(boolean noInit) {}
218    
219        private static final StringTable defaultInstance;
220        public static StringTable getDefaultInstance() {
221          return defaultInstance;
222        }
223    
224        public StringTable getDefaultInstanceForType() {
225          return defaultInstance;
226        }
227    
228        private StringTable(
229            com.google.protobuf.CodedInputStream input,
230            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
231            throws com.google.protobuf.InvalidProtocolBufferException {
232          initFields();
233          int mutable_bitField0_ = 0;
234          try {
235            boolean done = false;
236            while (!done) {
237              int tag = input.readTag();
238              switch (tag) {
239                case 0:
240                  done = true;
241                  break;
242                default: {
243                  if (!parseUnknownField(input,
244                                         extensionRegistry, tag)) {
245                    done = true;
246                  }
247                  break;
248                }
249                case 10: {
250                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
251                    string_ = new com.google.protobuf.LazyStringArrayList();
252                    mutable_bitField0_ |= 0x00000001;
253                  }
254                  string_.add(input.readBytes());
255                  break;
256                }
257              }
258            }
259          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
260            throw e.setUnfinishedMessage(this);
261          } catch (java.io.IOException e) {
262            throw new com.google.protobuf.InvalidProtocolBufferException(
263                e.getMessage()).setUnfinishedMessage(this);
264          } finally {
265            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
266              string_ = new com.google.protobuf.UnmodifiableLazyStringList(string_);
267            }
268            makeExtensionsImmutable();
269          }
270        }
271        public static com.google.protobuf.Parser<StringTable> PARSER =
272            new com.google.protobuf.AbstractParser<StringTable>() {
273          public StringTable parsePartialFrom(
274              com.google.protobuf.CodedInputStream input,
275              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
276              throws com.google.protobuf.InvalidProtocolBufferException {
277            return new StringTable(input, extensionRegistry);
278          }
279        };
280    
281        @java.lang.Override
282        public com.google.protobuf.Parser<StringTable> getParserForType() {
283          return PARSER;
284        }
285    
286        // repeated string string = 1;
287        public static final int STRING_FIELD_NUMBER = 1;
288        private com.google.protobuf.LazyStringList string_;
289        /**
290         * <code>repeated string string = 1;</code>
291         */
292        public java.util.List<java.lang.String>
293            getStringList() {
294          return string_;
295        }
296        /**
297         * <code>repeated string string = 1;</code>
298         */
299        public int getStringCount() {
300          return string_.size();
301        }
302        /**
303         * <code>repeated string string = 1;</code>
304         */
305        public java.lang.String getString(int index) {
306          return string_.get(index);
307        }
308        /**
309         * <code>repeated string string = 1;</code>
310         */
311        public com.google.protobuf.ByteString
312            getStringBytes(int index) {
313          return string_.getByteString(index);
314        }
315    
316        private void initFields() {
317          string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
318        }
319        private byte memoizedIsInitialized = -1;
320        public final boolean isInitialized() {
321          byte isInitialized = memoizedIsInitialized;
322          if (isInitialized != -1) return isInitialized == 1;
323    
324          memoizedIsInitialized = 1;
325          return true;
326        }
327    
328        public void writeTo(com.google.protobuf.CodedOutputStream output)
329                            throws java.io.IOException {
330          getSerializedSize();
331          for (int i = 0; i < string_.size(); i++) {
332            output.writeBytes(1, string_.getByteString(i));
333          }
334        }
335    
336        private int memoizedSerializedSize = -1;
337        public int getSerializedSize() {
338          int size = memoizedSerializedSize;
339          if (size != -1) return size;
340    
341          size = 0;
342          {
343            int dataSize = 0;
344            for (int i = 0; i < string_.size(); i++) {
345              dataSize += com.google.protobuf.CodedOutputStream
346                .computeBytesSizeNoTag(string_.getByteString(i));
347            }
348            size += dataSize;
349            size += 1 * getStringList().size();
350          }
351          memoizedSerializedSize = size;
352          return size;
353        }
354    
355        private static final long serialVersionUID = 0L;
356        @java.lang.Override
357        protected java.lang.Object writeReplace()
358            throws java.io.ObjectStreamException {
359          return super.writeReplace();
360        }
361    
362        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parseFrom(
363            com.google.protobuf.ByteString data)
364            throws com.google.protobuf.InvalidProtocolBufferException {
365          return PARSER.parseFrom(data);
366        }
367        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parseFrom(
368            com.google.protobuf.ByteString data,
369            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
370            throws com.google.protobuf.InvalidProtocolBufferException {
371          return PARSER.parseFrom(data, extensionRegistry);
372        }
373        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parseFrom(byte[] data)
374            throws com.google.protobuf.InvalidProtocolBufferException {
375          return PARSER.parseFrom(data);
376        }
377        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parseFrom(
378            byte[] data,
379            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
380            throws com.google.protobuf.InvalidProtocolBufferException {
381          return PARSER.parseFrom(data, extensionRegistry);
382        }
383        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parseFrom(java.io.InputStream input)
384            throws java.io.IOException {
385          return PARSER.parseFrom(input);
386        }
387        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parseFrom(
388            java.io.InputStream input,
389            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
390            throws java.io.IOException {
391          return PARSER.parseFrom(input, extensionRegistry);
392        }
393        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parseDelimitedFrom(java.io.InputStream input)
394            throws java.io.IOException {
395          return PARSER.parseDelimitedFrom(input);
396        }
397        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parseDelimitedFrom(
398            java.io.InputStream input,
399            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
400            throws java.io.IOException {
401          return PARSER.parseDelimitedFrom(input, extensionRegistry);
402        }
403        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parseFrom(
404            com.google.protobuf.CodedInputStream input)
405            throws java.io.IOException {
406          return PARSER.parseFrom(input);
407        }
408        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parseFrom(
409            com.google.protobuf.CodedInputStream input,
410            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
411            throws java.io.IOException {
412          return PARSER.parseFrom(input, extensionRegistry);
413        }
414    
415        public static Builder newBuilder() { return Builder.create(); }
416        public Builder newBuilderForType() { return newBuilder(); }
417        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable prototype) {
418          return newBuilder().mergeFrom(prototype);
419        }
420        public Builder toBuilder() { return newBuilder(this); }
421    
422        /**
423         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.StringTable}
424         */
425        public static final class Builder extends
426            com.google.protobuf.GeneratedMessageLite.Builder<
427              org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable, Builder>
428            implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTableOrBuilder {
429          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable.newBuilder()
430          private Builder() {
431            maybeForceBuilderInitialization();
432          }
433    
434          private void maybeForceBuilderInitialization() {
435          }
436          private static Builder create() {
437            return new Builder();
438          }
439    
440          public Builder clear() {
441            super.clear();
442            string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
443            bitField0_ = (bitField0_ & ~0x00000001);
444            return this;
445          }
446    
447          public Builder clone() {
448            return create().mergeFrom(buildPartial());
449          }
450    
451          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable getDefaultInstanceForType() {
452            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable.getDefaultInstance();
453          }
454    
455          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable build() {
456            org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable result = buildPartial();
457            if (!result.isInitialized()) {
458              throw newUninitializedMessageException(result);
459            }
460            return result;
461          }
462    
463          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable buildPartial() {
464            org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable(this);
465            int from_bitField0_ = bitField0_;
466            if (((bitField0_ & 0x00000001) == 0x00000001)) {
467              string_ = new com.google.protobuf.UnmodifiableLazyStringList(
468                  string_);
469              bitField0_ = (bitField0_ & ~0x00000001);
470            }
471            result.string_ = string_;
472            return result;
473          }
474    
475          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable other) {
476            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable.getDefaultInstance()) return this;
477            if (!other.string_.isEmpty()) {
478              if (string_.isEmpty()) {
479                string_ = other.string_;
480                bitField0_ = (bitField0_ & ~0x00000001);
481              } else {
482                ensureStringIsMutable();
483                string_.addAll(other.string_);
484              }
485              
486            }
487            return this;
488          }
489    
490          public final boolean isInitialized() {
491            return true;
492          }
493    
494          public Builder mergeFrom(
495              com.google.protobuf.CodedInputStream input,
496              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
497              throws java.io.IOException {
498            org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parsedMessage = null;
499            try {
500              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
501            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
502              parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable) e.getUnfinishedMessage();
503              throw e;
504            } finally {
505              if (parsedMessage != null) {
506                mergeFrom(parsedMessage);
507              }
508            }
509            return this;
510          }
511          private int bitField0_;
512    
513          // repeated string string = 1;
514          private com.google.protobuf.LazyStringList string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
515          private void ensureStringIsMutable() {
516            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
517              string_ = new com.google.protobuf.LazyStringArrayList(string_);
518              bitField0_ |= 0x00000001;
519             }
520          }
521          /**
522           * <code>repeated string string = 1;</code>
523           */
524          public java.util.List<java.lang.String>
525              getStringList() {
526            return java.util.Collections.unmodifiableList(string_);
527          }
528          /**
529           * <code>repeated string string = 1;</code>
530           */
531          public int getStringCount() {
532            return string_.size();
533          }
534          /**
535           * <code>repeated string string = 1;</code>
536           */
537          public java.lang.String getString(int index) {
538            return string_.get(index);
539          }
540          /**
541           * <code>repeated string string = 1;</code>
542           */
543          public com.google.protobuf.ByteString
544              getStringBytes(int index) {
545            return string_.getByteString(index);
546          }
547          /**
548           * <code>repeated string string = 1;</code>
549           */
550          public Builder setString(
551              int index, java.lang.String value) {
552            if (value == null) {
553        throw new NullPointerException();
554      }
555      ensureStringIsMutable();
556            string_.set(index, value);
557            
558            return this;
559          }
560          /**
561           * <code>repeated string string = 1;</code>
562           */
563          public Builder addString(
564              java.lang.String value) {
565            if (value == null) {
566        throw new NullPointerException();
567      }
568      ensureStringIsMutable();
569            string_.add(value);
570            
571            return this;
572          }
573          /**
574           * <code>repeated string string = 1;</code>
575           */
576          public Builder addAllString(
577              java.lang.Iterable<java.lang.String> values) {
578            ensureStringIsMutable();
579            super.addAll(values, string_);
580            
581            return this;
582          }
583          /**
584           * <code>repeated string string = 1;</code>
585           */
586          public Builder clearString() {
587            string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
588            bitField0_ = (bitField0_ & ~0x00000001);
589            
590            return this;
591          }
592          /**
593           * <code>repeated string string = 1;</code>
594           */
595          public Builder addStringBytes(
596              com.google.protobuf.ByteString value) {
597            if (value == null) {
598        throw new NullPointerException();
599      }
600      ensureStringIsMutable();
601            string_.add(value);
602            
603            return this;
604          }
605    
606          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.StringTable)
607        }
608    
609        static {
610          defaultInstance = new StringTable(true);
611          defaultInstance.initFields();
612        }
613    
614        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.StringTable)
615      }
616    
617      public interface QualifiedNameTableOrBuilder
618          extends com.google.protobuf.MessageLiteOrBuilder {
619    
620        // repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;
621        /**
622         * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
623         */
624        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> 
625            getQualifiedNameList();
626        /**
627         * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
628         */
629        org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index);
630        /**
631         * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
632         */
633        int getQualifiedNameCount();
634      }
635      /**
636       * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.QualifiedNameTable}
637       */
638      public static final class QualifiedNameTable extends
639          com.google.protobuf.GeneratedMessageLite
640          implements QualifiedNameTableOrBuilder {
641        // Use QualifiedNameTable.newBuilder() to construct.
642        private QualifiedNameTable(com.google.protobuf.GeneratedMessageLite.Builder builder) {
643          super(builder);
644    
645        }
646        private QualifiedNameTable(boolean noInit) {}
647    
648        private static final QualifiedNameTable defaultInstance;
649        public static QualifiedNameTable getDefaultInstance() {
650          return defaultInstance;
651        }
652    
653        public QualifiedNameTable getDefaultInstanceForType() {
654          return defaultInstance;
655        }
656    
657        private QualifiedNameTable(
658            com.google.protobuf.CodedInputStream input,
659            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
660            throws com.google.protobuf.InvalidProtocolBufferException {
661          initFields();
662          int mutable_bitField0_ = 0;
663          try {
664            boolean done = false;
665            while (!done) {
666              int tag = input.readTag();
667              switch (tag) {
668                case 0:
669                  done = true;
670                  break;
671                default: {
672                  if (!parseUnknownField(input,
673                                         extensionRegistry, tag)) {
674                    done = true;
675                  }
676                  break;
677                }
678                case 10: {
679                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
680                    qualifiedName_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName>();
681                    mutable_bitField0_ |= 0x00000001;
682                  }
683                  qualifiedName_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.PARSER, extensionRegistry));
684                  break;
685                }
686              }
687            }
688          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
689            throw e.setUnfinishedMessage(this);
690          } catch (java.io.IOException e) {
691            throw new com.google.protobuf.InvalidProtocolBufferException(
692                e.getMessage()).setUnfinishedMessage(this);
693          } finally {
694            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
695              qualifiedName_ = java.util.Collections.unmodifiableList(qualifiedName_);
696            }
697            makeExtensionsImmutable();
698          }
699        }
700        public static com.google.protobuf.Parser<QualifiedNameTable> PARSER =
701            new com.google.protobuf.AbstractParser<QualifiedNameTable>() {
702          public QualifiedNameTable parsePartialFrom(
703              com.google.protobuf.CodedInputStream input,
704              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
705              throws com.google.protobuf.InvalidProtocolBufferException {
706            return new QualifiedNameTable(input, extensionRegistry);
707          }
708        };
709    
710        @java.lang.Override
711        public com.google.protobuf.Parser<QualifiedNameTable> getParserForType() {
712          return PARSER;
713        }
714    
715        public interface QualifiedNameOrBuilder
716            extends com.google.protobuf.MessageLiteOrBuilder {
717    
718          // optional int32 parent_qualified_name = 1 [default = -1];
719          /**
720           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
721           */
722          boolean hasParentQualifiedName();
723          /**
724           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
725           */
726          int getParentQualifiedName();
727    
728          // required int32 short_name = 2;
729          /**
730           * <code>required int32 short_name = 2;</code>
731           *
732           * <pre>
733           * Id in the StringTable
734           * </pre>
735           */
736          boolean hasShortName();
737          /**
738           * <code>required int32 short_name = 2;</code>
739           *
740           * <pre>
741           * Id in the StringTable
742           * </pre>
743           */
744          int getShortName();
745    
746          // optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];
747          /**
748           * <code>optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
749           */
750          boolean hasKind();
751          /**
752           * <code>optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
753           */
754          org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind();
755        }
756        /**
757         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName}
758         */
759        public static final class QualifiedName extends
760            com.google.protobuf.GeneratedMessageLite
761            implements QualifiedNameOrBuilder {
762          // Use QualifiedName.newBuilder() to construct.
763          private QualifiedName(com.google.protobuf.GeneratedMessageLite.Builder builder) {
764            super(builder);
765    
766          }
767          private QualifiedName(boolean noInit) {}
768    
769          private static final QualifiedName defaultInstance;
770          public static QualifiedName getDefaultInstance() {
771            return defaultInstance;
772          }
773    
774          public QualifiedName getDefaultInstanceForType() {
775            return defaultInstance;
776          }
777    
778          private QualifiedName(
779              com.google.protobuf.CodedInputStream input,
780              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
781              throws com.google.protobuf.InvalidProtocolBufferException {
782            initFields();
783            int mutable_bitField0_ = 0;
784            try {
785              boolean done = false;
786              while (!done) {
787                int tag = input.readTag();
788                switch (tag) {
789                  case 0:
790                    done = true;
791                    break;
792                  default: {
793                    if (!parseUnknownField(input,
794                                           extensionRegistry, tag)) {
795                      done = true;
796                    }
797                    break;
798                  }
799                  case 8: {
800                    bitField0_ |= 0x00000001;
801                    parentQualifiedName_ = input.readInt32();
802                    break;
803                  }
804                  case 16: {
805                    bitField0_ |= 0x00000002;
806                    shortName_ = input.readInt32();
807                    break;
808                  }
809                  case 24: {
810                    int rawValue = input.readEnum();
811                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind value = org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.valueOf(rawValue);
812                    if (value != null) {
813                      bitField0_ |= 0x00000004;
814                      kind_ = value;
815                    }
816                    break;
817                  }
818                }
819              }
820            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
821              throw e.setUnfinishedMessage(this);
822            } catch (java.io.IOException e) {
823              throw new com.google.protobuf.InvalidProtocolBufferException(
824                  e.getMessage()).setUnfinishedMessage(this);
825            } finally {
826              makeExtensionsImmutable();
827            }
828          }
829          public static com.google.protobuf.Parser<QualifiedName> PARSER =
830              new com.google.protobuf.AbstractParser<QualifiedName>() {
831            public QualifiedName parsePartialFrom(
832                com.google.protobuf.CodedInputStream input,
833                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
834                throws com.google.protobuf.InvalidProtocolBufferException {
835              return new QualifiedName(input, extensionRegistry);
836            }
837          };
838    
839          @java.lang.Override
840          public com.google.protobuf.Parser<QualifiedName> getParserForType() {
841            return PARSER;
842          }
843    
844          /**
845           * Protobuf enum {@code org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind}
846           */
847          public enum Kind
848              implements com.google.protobuf.Internal.EnumLite {
849            /**
850             * <code>CLASS = 0;</code>
851             */
852            CLASS(0, 0),
853            /**
854             * <code>PACKAGE = 1;</code>
855             */
856            PACKAGE(1, 1),
857            ;
858    
859            /**
860             * <code>CLASS = 0;</code>
861             */
862            public static final int CLASS_VALUE = 0;
863            /**
864             * <code>PACKAGE = 1;</code>
865             */
866            public static final int PACKAGE_VALUE = 1;
867    
868    
869            public final int getNumber() { return value; }
870    
871            public static Kind valueOf(int value) {
872              switch (value) {
873                case 0: return CLASS;
874                case 1: return PACKAGE;
875                default: return null;
876              }
877            }
878    
879            public static com.google.protobuf.Internal.EnumLiteMap<Kind>
880                internalGetValueMap() {
881              return internalValueMap;
882            }
883            private static com.google.protobuf.Internal.EnumLiteMap<Kind>
884                internalValueMap =
885                  new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
886                    public Kind findValueByNumber(int number) {
887                      return Kind.valueOf(number);
888                    }
889                  };
890    
891            private final int value;
892    
893            private Kind(int index, int value) {
894              this.value = value;
895            }
896    
897            // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind)
898          }
899    
900          private int bitField0_;
901          // optional int32 parent_qualified_name = 1 [default = -1];
902          public static final int PARENT_QUALIFIED_NAME_FIELD_NUMBER = 1;
903          private int parentQualifiedName_;
904          /**
905           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
906           */
907          public boolean hasParentQualifiedName() {
908            return ((bitField0_ & 0x00000001) == 0x00000001);
909          }
910          /**
911           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
912           */
913          public int getParentQualifiedName() {
914            return parentQualifiedName_;
915          }
916    
917          // required int32 short_name = 2;
918          public static final int SHORT_NAME_FIELD_NUMBER = 2;
919          private int shortName_;
920          /**
921           * <code>required int32 short_name = 2;</code>
922           *
923           * <pre>
924           * Id in the StringTable
925           * </pre>
926           */
927          public boolean hasShortName() {
928            return ((bitField0_ & 0x00000002) == 0x00000002);
929          }
930          /**
931           * <code>required int32 short_name = 2;</code>
932           *
933           * <pre>
934           * Id in the StringTable
935           * </pre>
936           */
937          public int getShortName() {
938            return shortName_;
939          }
940    
941          // optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];
942          public static final int KIND_FIELD_NUMBER = 3;
943          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind kind_;
944          /**
945           * <code>optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
946           */
947          public boolean hasKind() {
948            return ((bitField0_ & 0x00000004) == 0x00000004);
949          }
950          /**
951           * <code>optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
952           */
953          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind() {
954            return kind_;
955          }
956    
957          private void initFields() {
958            parentQualifiedName_ = -1;
959            shortName_ = 0;
960            kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
961          }
962          private byte memoizedIsInitialized = -1;
963          public final boolean isInitialized() {
964            byte isInitialized = memoizedIsInitialized;
965            if (isInitialized != -1) return isInitialized == 1;
966    
967            if (!hasShortName()) {
968              memoizedIsInitialized = 0;
969              return false;
970            }
971            memoizedIsInitialized = 1;
972            return true;
973          }
974    
975          public void writeTo(com.google.protobuf.CodedOutputStream output)
976                              throws java.io.IOException {
977            getSerializedSize();
978            if (((bitField0_ & 0x00000001) == 0x00000001)) {
979              output.writeInt32(1, parentQualifiedName_);
980            }
981            if (((bitField0_ & 0x00000002) == 0x00000002)) {
982              output.writeInt32(2, shortName_);
983            }
984            if (((bitField0_ & 0x00000004) == 0x00000004)) {
985              output.writeEnum(3, kind_.getNumber());
986            }
987          }
988    
989          private int memoizedSerializedSize = -1;
990          public int getSerializedSize() {
991            int size = memoizedSerializedSize;
992            if (size != -1) return size;
993    
994            size = 0;
995            if (((bitField0_ & 0x00000001) == 0x00000001)) {
996              size += com.google.protobuf.CodedOutputStream
997                .computeInt32Size(1, parentQualifiedName_);
998            }
999            if (((bitField0_ & 0x00000002) == 0x00000002)) {
1000              size += com.google.protobuf.CodedOutputStream
1001                .computeInt32Size(2, shortName_);
1002            }
1003            if (((bitField0_ & 0x00000004) == 0x00000004)) {
1004              size += com.google.protobuf.CodedOutputStream
1005                .computeEnumSize(3, kind_.getNumber());
1006            }
1007            memoizedSerializedSize = size;
1008            return size;
1009          }
1010    
1011          private static final long serialVersionUID = 0L;
1012          @java.lang.Override
1013          protected java.lang.Object writeReplace()
1014              throws java.io.ObjectStreamException {
1015            return super.writeReplace();
1016          }
1017    
1018          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1019              com.google.protobuf.ByteString data)
1020              throws com.google.protobuf.InvalidProtocolBufferException {
1021            return PARSER.parseFrom(data);
1022          }
1023          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1024              com.google.protobuf.ByteString data,
1025              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1026              throws com.google.protobuf.InvalidProtocolBufferException {
1027            return PARSER.parseFrom(data, extensionRegistry);
1028          }
1029          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(byte[] data)
1030              throws com.google.protobuf.InvalidProtocolBufferException {
1031            return PARSER.parseFrom(data);
1032          }
1033          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1034              byte[] data,
1035              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1036              throws com.google.protobuf.InvalidProtocolBufferException {
1037            return PARSER.parseFrom(data, extensionRegistry);
1038          }
1039          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(java.io.InputStream input)
1040              throws java.io.IOException {
1041            return PARSER.parseFrom(input);
1042          }
1043          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1044              java.io.InputStream input,
1045              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1046              throws java.io.IOException {
1047            return PARSER.parseFrom(input, extensionRegistry);
1048          }
1049          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseDelimitedFrom(java.io.InputStream input)
1050              throws java.io.IOException {
1051            return PARSER.parseDelimitedFrom(input);
1052          }
1053          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseDelimitedFrom(
1054              java.io.InputStream input,
1055              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1056              throws java.io.IOException {
1057            return PARSER.parseDelimitedFrom(input, extensionRegistry);
1058          }
1059          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1060              com.google.protobuf.CodedInputStream input)
1061              throws java.io.IOException {
1062            return PARSER.parseFrom(input);
1063          }
1064          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1065              com.google.protobuf.CodedInputStream input,
1066              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1067              throws java.io.IOException {
1068            return PARSER.parseFrom(input, extensionRegistry);
1069          }
1070    
1071          public static Builder newBuilder() { return Builder.create(); }
1072          public Builder newBuilderForType() { return newBuilder(); }
1073          public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName prototype) {
1074            return newBuilder().mergeFrom(prototype);
1075          }
1076          public Builder toBuilder() { return newBuilder(this); }
1077    
1078          /**
1079           * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName}
1080           */
1081          public static final class Builder extends
1082              com.google.protobuf.GeneratedMessageLite.Builder<
1083                org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName, Builder>
1084              implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder {
1085            // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.newBuilder()
1086            private Builder() {
1087              maybeForceBuilderInitialization();
1088            }
1089    
1090            private void maybeForceBuilderInitialization() {
1091            }
1092            private static Builder create() {
1093              return new Builder();
1094            }
1095    
1096            public Builder clear() {
1097              super.clear();
1098              parentQualifiedName_ = -1;
1099              bitField0_ = (bitField0_ & ~0x00000001);
1100              shortName_ = 0;
1101              bitField0_ = (bitField0_ & ~0x00000002);
1102              kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1103              bitField0_ = (bitField0_ & ~0x00000004);
1104              return this;
1105            }
1106    
1107            public Builder clone() {
1108              return create().mergeFrom(buildPartial());
1109            }
1110    
1111            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getDefaultInstanceForType() {
1112              return org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.getDefaultInstance();
1113            }
1114    
1115            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName build() {
1116              org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName result = buildPartial();
1117              if (!result.isInitialized()) {
1118                throw newUninitializedMessageException(result);
1119              }
1120              return result;
1121            }
1122    
1123            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName buildPartial() {
1124              org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName(this);
1125              int from_bitField0_ = bitField0_;
1126              int to_bitField0_ = 0;
1127              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
1128                to_bitField0_ |= 0x00000001;
1129              }
1130              result.parentQualifiedName_ = parentQualifiedName_;
1131              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
1132                to_bitField0_ |= 0x00000002;
1133              }
1134              result.shortName_ = shortName_;
1135              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
1136                to_bitField0_ |= 0x00000004;
1137              }
1138              result.kind_ = kind_;
1139              result.bitField0_ = to_bitField0_;
1140              return result;
1141            }
1142    
1143            public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName other) {
1144              if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.getDefaultInstance()) return this;
1145              if (other.hasParentQualifiedName()) {
1146                setParentQualifiedName(other.getParentQualifiedName());
1147              }
1148              if (other.hasShortName()) {
1149                setShortName(other.getShortName());
1150              }
1151              if (other.hasKind()) {
1152                setKind(other.getKind());
1153              }
1154              return this;
1155            }
1156    
1157            public final boolean isInitialized() {
1158              if (!hasShortName()) {
1159                
1160                return false;
1161              }
1162              return true;
1163            }
1164    
1165            public Builder mergeFrom(
1166                com.google.protobuf.CodedInputStream input,
1167                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1168                throws java.io.IOException {
1169              org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parsedMessage = null;
1170              try {
1171                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1172              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1173                parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName) e.getUnfinishedMessage();
1174                throw e;
1175              } finally {
1176                if (parsedMessage != null) {
1177                  mergeFrom(parsedMessage);
1178                }
1179              }
1180              return this;
1181            }
1182            private int bitField0_;
1183    
1184            // optional int32 parent_qualified_name = 1 [default = -1];
1185            private int parentQualifiedName_ = -1;
1186            /**
1187             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1188             */
1189            public boolean hasParentQualifiedName() {
1190              return ((bitField0_ & 0x00000001) == 0x00000001);
1191            }
1192            /**
1193             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1194             */
1195            public int getParentQualifiedName() {
1196              return parentQualifiedName_;
1197            }
1198            /**
1199             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1200             */
1201            public Builder setParentQualifiedName(int value) {
1202              bitField0_ |= 0x00000001;
1203              parentQualifiedName_ = value;
1204              
1205              return this;
1206            }
1207            /**
1208             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1209             */
1210            public Builder clearParentQualifiedName() {
1211              bitField0_ = (bitField0_ & ~0x00000001);
1212              parentQualifiedName_ = -1;
1213              
1214              return this;
1215            }
1216    
1217            // required int32 short_name = 2;
1218            private int shortName_ ;
1219            /**
1220             * <code>required int32 short_name = 2;</code>
1221             *
1222             * <pre>
1223             * Id in the StringTable
1224             * </pre>
1225             */
1226            public boolean hasShortName() {
1227              return ((bitField0_ & 0x00000002) == 0x00000002);
1228            }
1229            /**
1230             * <code>required int32 short_name = 2;</code>
1231             *
1232             * <pre>
1233             * Id in the StringTable
1234             * </pre>
1235             */
1236            public int getShortName() {
1237              return shortName_;
1238            }
1239            /**
1240             * <code>required int32 short_name = 2;</code>
1241             *
1242             * <pre>
1243             * Id in the StringTable
1244             * </pre>
1245             */
1246            public Builder setShortName(int value) {
1247              bitField0_ |= 0x00000002;
1248              shortName_ = value;
1249              
1250              return this;
1251            }
1252            /**
1253             * <code>required int32 short_name = 2;</code>
1254             *
1255             * <pre>
1256             * Id in the StringTable
1257             * </pre>
1258             */
1259            public Builder clearShortName() {
1260              bitField0_ = (bitField0_ & ~0x00000002);
1261              shortName_ = 0;
1262              
1263              return this;
1264            }
1265    
1266            // optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];
1267            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1268            /**
1269             * <code>optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1270             */
1271            public boolean hasKind() {
1272              return ((bitField0_ & 0x00000004) == 0x00000004);
1273            }
1274            /**
1275             * <code>optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1276             */
1277            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind() {
1278              return kind_;
1279            }
1280            /**
1281             * <code>optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1282             */
1283            public Builder setKind(org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind value) {
1284              if (value == null) {
1285                throw new NullPointerException();
1286              }
1287              bitField0_ |= 0x00000004;
1288              kind_ = value;
1289              
1290              return this;
1291            }
1292            /**
1293             * <code>optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1294             */
1295            public Builder clearKind() {
1296              bitField0_ = (bitField0_ & ~0x00000004);
1297              kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1298              
1299              return this;
1300            }
1301    
1302            // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName)
1303          }
1304    
1305          static {
1306            defaultInstance = new QualifiedName(true);
1307            defaultInstance.initFields();
1308          }
1309    
1310          // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName)
1311        }
1312    
1313        // repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;
1314        public static final int QUALIFIED_NAME_FIELD_NUMBER = 1;
1315        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> qualifiedName_;
1316        /**
1317         * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1318         */
1319        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> getQualifiedNameList() {
1320          return qualifiedName_;
1321        }
1322        /**
1323         * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1324         */
1325        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder> 
1326            getQualifiedNameOrBuilderList() {
1327          return qualifiedName_;
1328        }
1329        /**
1330         * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1331         */
1332        public int getQualifiedNameCount() {
1333          return qualifiedName_.size();
1334        }
1335        /**
1336         * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1337         */
1338        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index) {
1339          return qualifiedName_.get(index);
1340        }
1341        /**
1342         * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1343         */
1344        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder getQualifiedNameOrBuilder(
1345            int index) {
1346          return qualifiedName_.get(index);
1347        }
1348    
1349        private void initFields() {
1350          qualifiedName_ = java.util.Collections.emptyList();
1351        }
1352        private byte memoizedIsInitialized = -1;
1353        public final boolean isInitialized() {
1354          byte isInitialized = memoizedIsInitialized;
1355          if (isInitialized != -1) return isInitialized == 1;
1356    
1357          for (int i = 0; i < getQualifiedNameCount(); i++) {
1358            if (!getQualifiedName(i).isInitialized()) {
1359              memoizedIsInitialized = 0;
1360              return false;
1361            }
1362          }
1363          memoizedIsInitialized = 1;
1364          return true;
1365        }
1366    
1367        public void writeTo(com.google.protobuf.CodedOutputStream output)
1368                            throws java.io.IOException {
1369          getSerializedSize();
1370          for (int i = 0; i < qualifiedName_.size(); i++) {
1371            output.writeMessage(1, qualifiedName_.get(i));
1372          }
1373        }
1374    
1375        private int memoizedSerializedSize = -1;
1376        public int getSerializedSize() {
1377          int size = memoizedSerializedSize;
1378          if (size != -1) return size;
1379    
1380          size = 0;
1381          for (int i = 0; i < qualifiedName_.size(); i++) {
1382            size += com.google.protobuf.CodedOutputStream
1383              .computeMessageSize(1, qualifiedName_.get(i));
1384          }
1385          memoizedSerializedSize = size;
1386          return size;
1387        }
1388    
1389        private static final long serialVersionUID = 0L;
1390        @java.lang.Override
1391        protected java.lang.Object writeReplace()
1392            throws java.io.ObjectStreamException {
1393          return super.writeReplace();
1394        }
1395    
1396        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1397            com.google.protobuf.ByteString data)
1398            throws com.google.protobuf.InvalidProtocolBufferException {
1399          return PARSER.parseFrom(data);
1400        }
1401        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1402            com.google.protobuf.ByteString data,
1403            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1404            throws com.google.protobuf.InvalidProtocolBufferException {
1405          return PARSER.parseFrom(data, extensionRegistry);
1406        }
1407        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(byte[] data)
1408            throws com.google.protobuf.InvalidProtocolBufferException {
1409          return PARSER.parseFrom(data);
1410        }
1411        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1412            byte[] data,
1413            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1414            throws com.google.protobuf.InvalidProtocolBufferException {
1415          return PARSER.parseFrom(data, extensionRegistry);
1416        }
1417        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(java.io.InputStream input)
1418            throws java.io.IOException {
1419          return PARSER.parseFrom(input);
1420        }
1421        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1422            java.io.InputStream input,
1423            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1424            throws java.io.IOException {
1425          return PARSER.parseFrom(input, extensionRegistry);
1426        }
1427        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseDelimitedFrom(java.io.InputStream input)
1428            throws java.io.IOException {
1429          return PARSER.parseDelimitedFrom(input);
1430        }
1431        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseDelimitedFrom(
1432            java.io.InputStream input,
1433            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1434            throws java.io.IOException {
1435          return PARSER.parseDelimitedFrom(input, extensionRegistry);
1436        }
1437        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1438            com.google.protobuf.CodedInputStream input)
1439            throws java.io.IOException {
1440          return PARSER.parseFrom(input);
1441        }
1442        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1443            com.google.protobuf.CodedInputStream input,
1444            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1445            throws java.io.IOException {
1446          return PARSER.parseFrom(input, extensionRegistry);
1447        }
1448    
1449        public static Builder newBuilder() { return Builder.create(); }
1450        public Builder newBuilderForType() { return newBuilder(); }
1451        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable prototype) {
1452          return newBuilder().mergeFrom(prototype);
1453        }
1454        public Builder toBuilder() { return newBuilder(this); }
1455    
1456        /**
1457         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.QualifiedNameTable}
1458         */
1459        public static final class Builder extends
1460            com.google.protobuf.GeneratedMessageLite.Builder<
1461              org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable, Builder>
1462            implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTableOrBuilder {
1463          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.newBuilder()
1464          private Builder() {
1465            maybeForceBuilderInitialization();
1466          }
1467    
1468          private void maybeForceBuilderInitialization() {
1469          }
1470          private static Builder create() {
1471            return new Builder();
1472          }
1473    
1474          public Builder clear() {
1475            super.clear();
1476            qualifiedName_ = java.util.Collections.emptyList();
1477            bitField0_ = (bitField0_ & ~0x00000001);
1478            return this;
1479          }
1480    
1481          public Builder clone() {
1482            return create().mergeFrom(buildPartial());
1483          }
1484    
1485          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable getDefaultInstanceForType() {
1486            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance();
1487          }
1488    
1489          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable build() {
1490            org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable result = buildPartial();
1491            if (!result.isInitialized()) {
1492              throw newUninitializedMessageException(result);
1493            }
1494            return result;
1495          }
1496    
1497          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable buildPartial() {
1498            org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable(this);
1499            int from_bitField0_ = bitField0_;
1500            if (((bitField0_ & 0x00000001) == 0x00000001)) {
1501              qualifiedName_ = java.util.Collections.unmodifiableList(qualifiedName_);
1502              bitField0_ = (bitField0_ & ~0x00000001);
1503            }
1504            result.qualifiedName_ = qualifiedName_;
1505            return result;
1506          }
1507    
1508          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable other) {
1509            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance()) return this;
1510            if (!other.qualifiedName_.isEmpty()) {
1511              if (qualifiedName_.isEmpty()) {
1512                qualifiedName_ = other.qualifiedName_;
1513                bitField0_ = (bitField0_ & ~0x00000001);
1514              } else {
1515                ensureQualifiedNameIsMutable();
1516                qualifiedName_.addAll(other.qualifiedName_);
1517              }
1518              
1519            }
1520            return this;
1521          }
1522    
1523          public final boolean isInitialized() {
1524            for (int i = 0; i < getQualifiedNameCount(); i++) {
1525              if (!getQualifiedName(i).isInitialized()) {
1526                
1527                return false;
1528              }
1529            }
1530            return true;
1531          }
1532    
1533          public Builder mergeFrom(
1534              com.google.protobuf.CodedInputStream input,
1535              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1536              throws java.io.IOException {
1537            org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parsedMessage = null;
1538            try {
1539              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1540            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1541              parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable) e.getUnfinishedMessage();
1542              throw e;
1543            } finally {
1544              if (parsedMessage != null) {
1545                mergeFrom(parsedMessage);
1546              }
1547            }
1548            return this;
1549          }
1550          private int bitField0_;
1551    
1552          // repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;
1553          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> qualifiedName_ =
1554            java.util.Collections.emptyList();
1555          private void ensureQualifiedNameIsMutable() {
1556            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
1557              qualifiedName_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName>(qualifiedName_);
1558              bitField0_ |= 0x00000001;
1559             }
1560          }
1561    
1562          /**
1563           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1564           */
1565          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> getQualifiedNameList() {
1566            return java.util.Collections.unmodifiableList(qualifiedName_);
1567          }
1568          /**
1569           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1570           */
1571          public int getQualifiedNameCount() {
1572            return qualifiedName_.size();
1573          }
1574          /**
1575           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1576           */
1577          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index) {
1578            return qualifiedName_.get(index);
1579          }
1580          /**
1581           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1582           */
1583          public Builder setQualifiedName(
1584              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1585            if (value == null) {
1586              throw new NullPointerException();
1587            }
1588            ensureQualifiedNameIsMutable();
1589            qualifiedName_.set(index, value);
1590    
1591            return this;
1592          }
1593          /**
1594           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1595           */
1596          public Builder setQualifiedName(
1597              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1598            ensureQualifiedNameIsMutable();
1599            qualifiedName_.set(index, builderForValue.build());
1600    
1601            return this;
1602          }
1603          /**
1604           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1605           */
1606          public Builder addQualifiedName(org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1607            if (value == null) {
1608              throw new NullPointerException();
1609            }
1610            ensureQualifiedNameIsMutable();
1611            qualifiedName_.add(value);
1612    
1613            return this;
1614          }
1615          /**
1616           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1617           */
1618          public Builder addQualifiedName(
1619              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1620            if (value == null) {
1621              throw new NullPointerException();
1622            }
1623            ensureQualifiedNameIsMutable();
1624            qualifiedName_.add(index, value);
1625    
1626            return this;
1627          }
1628          /**
1629           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1630           */
1631          public Builder addQualifiedName(
1632              org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1633            ensureQualifiedNameIsMutable();
1634            qualifiedName_.add(builderForValue.build());
1635    
1636            return this;
1637          }
1638          /**
1639           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1640           */
1641          public Builder addQualifiedName(
1642              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1643            ensureQualifiedNameIsMutable();
1644            qualifiedName_.add(index, builderForValue.build());
1645    
1646            return this;
1647          }
1648          /**
1649           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1650           */
1651          public Builder addAllQualifiedName(
1652              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> values) {
1653            ensureQualifiedNameIsMutable();
1654            super.addAll(values, qualifiedName_);
1655    
1656            return this;
1657          }
1658          /**
1659           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1660           */
1661          public Builder clearQualifiedName() {
1662            qualifiedName_ = java.util.Collections.emptyList();
1663            bitField0_ = (bitField0_ & ~0x00000001);
1664    
1665            return this;
1666          }
1667          /**
1668           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1669           */
1670          public Builder removeQualifiedName(int index) {
1671            ensureQualifiedNameIsMutable();
1672            qualifiedName_.remove(index);
1673    
1674            return this;
1675          }
1676    
1677          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.QualifiedNameTable)
1678        }
1679    
1680        static {
1681          defaultInstance = new QualifiedNameTable(true);
1682          defaultInstance.initFields();
1683        }
1684    
1685        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.QualifiedNameTable)
1686      }
1687    
1688      public interface TypeOrBuilder
1689          extends com.google.protobuf.MessageLiteOrBuilder {
1690    
1691        // required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;
1692        /**
1693         * <code>required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;</code>
1694         */
1695        boolean hasConstructor();
1696        /**
1697         * <code>required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;</code>
1698         */
1699        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor getConstructor();
1700    
1701        // repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;
1702        /**
1703         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
1704         */
1705        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument> 
1706            getArgumentList();
1707        /**
1708         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
1709         */
1710        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument getArgument(int index);
1711        /**
1712         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
1713         */
1714        int getArgumentCount();
1715    
1716        // optional bool nullable = 3 [default = false];
1717        /**
1718         * <code>optional bool nullable = 3 [default = false];</code>
1719         */
1720        boolean hasNullable();
1721        /**
1722         * <code>optional bool nullable = 3 [default = false];</code>
1723         */
1724        boolean getNullable();
1725    
1726        // optional int32 flexible_type_capabilities_id = 4;
1727        /**
1728         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
1729         *
1730         * <pre>
1731         * Id in the StringTable
1732         * If this field is set, the type is flexible.
1733         * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
1734         * </pre>
1735         */
1736        boolean hasFlexibleTypeCapabilitiesId();
1737        /**
1738         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
1739         *
1740         * <pre>
1741         * Id in the StringTable
1742         * If this field is set, the type is flexible.
1743         * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
1744         * </pre>
1745         */
1746        int getFlexibleTypeCapabilitiesId();
1747    
1748        // optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;
1749        /**
1750         * <code>optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;</code>
1751         *
1752         * <pre>
1753         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
1754         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
1755         * to represent flexible types is too many wasted bytes.
1756         * </pre>
1757         */
1758        boolean hasFlexibleUpperBound();
1759        /**
1760         * <code>optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;</code>
1761         *
1762         * <pre>
1763         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
1764         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
1765         * to represent flexible types is too many wasted bytes.
1766         * </pre>
1767         */
1768        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getFlexibleUpperBound();
1769      }
1770      /**
1771       * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Type}
1772       */
1773      public static final class Type extends
1774          com.google.protobuf.GeneratedMessageLite
1775          implements TypeOrBuilder {
1776        // Use Type.newBuilder() to construct.
1777        private Type(com.google.protobuf.GeneratedMessageLite.Builder builder) {
1778          super(builder);
1779    
1780        }
1781        private Type(boolean noInit) {}
1782    
1783        private static final Type defaultInstance;
1784        public static Type getDefaultInstance() {
1785          return defaultInstance;
1786        }
1787    
1788        public Type getDefaultInstanceForType() {
1789          return defaultInstance;
1790        }
1791    
1792        private Type(
1793            com.google.protobuf.CodedInputStream input,
1794            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1795            throws com.google.protobuf.InvalidProtocolBufferException {
1796          initFields();
1797          int mutable_bitField0_ = 0;
1798          try {
1799            boolean done = false;
1800            while (!done) {
1801              int tag = input.readTag();
1802              switch (tag) {
1803                case 0:
1804                  done = true;
1805                  break;
1806                default: {
1807                  if (!parseUnknownField(input,
1808                                         extensionRegistry, tag)) {
1809                    done = true;
1810                  }
1811                  break;
1812                }
1813                case 10: {
1814                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Builder subBuilder = null;
1815                  if (((bitField0_ & 0x00000001) == 0x00000001)) {
1816                    subBuilder = constructor_.toBuilder();
1817                  }
1818                  constructor_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.PARSER, extensionRegistry);
1819                  if (subBuilder != null) {
1820                    subBuilder.mergeFrom(constructor_);
1821                    constructor_ = subBuilder.buildPartial();
1822                  }
1823                  bitField0_ |= 0x00000001;
1824                  break;
1825                }
1826                case 18: {
1827                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
1828                    argument_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument>();
1829                    mutable_bitField0_ |= 0x00000002;
1830                  }
1831                  argument_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.PARSER, extensionRegistry));
1832                  break;
1833                }
1834                case 24: {
1835                  bitField0_ |= 0x00000002;
1836                  nullable_ = input.readBool();
1837                  break;
1838                }
1839                case 32: {
1840                  bitField0_ |= 0x00000004;
1841                  flexibleTypeCapabilitiesId_ = input.readInt32();
1842                  break;
1843                }
1844                case 42: {
1845                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = null;
1846                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
1847                    subBuilder = flexibleUpperBound_.toBuilder();
1848                  }
1849                  flexibleUpperBound_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
1850                  if (subBuilder != null) {
1851                    subBuilder.mergeFrom(flexibleUpperBound_);
1852                    flexibleUpperBound_ = subBuilder.buildPartial();
1853                  }
1854                  bitField0_ |= 0x00000008;
1855                  break;
1856                }
1857              }
1858            }
1859          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1860            throw e.setUnfinishedMessage(this);
1861          } catch (java.io.IOException e) {
1862            throw new com.google.protobuf.InvalidProtocolBufferException(
1863                e.getMessage()).setUnfinishedMessage(this);
1864          } finally {
1865            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
1866              argument_ = java.util.Collections.unmodifiableList(argument_);
1867            }
1868            makeExtensionsImmutable();
1869          }
1870        }
1871        public static com.google.protobuf.Parser<Type> PARSER =
1872            new com.google.protobuf.AbstractParser<Type>() {
1873          public Type parsePartialFrom(
1874              com.google.protobuf.CodedInputStream input,
1875              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1876              throws com.google.protobuf.InvalidProtocolBufferException {
1877            return new Type(input, extensionRegistry);
1878          }
1879        };
1880    
1881        @java.lang.Override
1882        public com.google.protobuf.Parser<Type> getParserForType() {
1883          return PARSER;
1884        }
1885    
1886        public interface ConstructorOrBuilder
1887            extends com.google.protobuf.MessageLiteOrBuilder {
1888    
1889          // optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];
1890          /**
1891           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
1892           */
1893          boolean hasKind();
1894          /**
1895           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
1896           */
1897          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind getKind();
1898    
1899          // required int32 id = 2;
1900          /**
1901           * <code>required int32 id = 2;</code>
1902           *
1903           * <pre>
1904           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
1905           * </pre>
1906           */
1907          boolean hasId();
1908          /**
1909           * <code>required int32 id = 2;</code>
1910           *
1911           * <pre>
1912           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
1913           * </pre>
1914           */
1915          int getId();
1916        }
1917        /**
1918         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Type.Constructor}
1919         */
1920        public static final class Constructor extends
1921            com.google.protobuf.GeneratedMessageLite
1922            implements ConstructorOrBuilder {
1923          // Use Constructor.newBuilder() to construct.
1924          private Constructor(com.google.protobuf.GeneratedMessageLite.Builder builder) {
1925            super(builder);
1926    
1927          }
1928          private Constructor(boolean noInit) {}
1929    
1930          private static final Constructor defaultInstance;
1931          public static Constructor getDefaultInstance() {
1932            return defaultInstance;
1933          }
1934    
1935          public Constructor getDefaultInstanceForType() {
1936            return defaultInstance;
1937          }
1938    
1939          private Constructor(
1940              com.google.protobuf.CodedInputStream input,
1941              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1942              throws com.google.protobuf.InvalidProtocolBufferException {
1943            initFields();
1944            int mutable_bitField0_ = 0;
1945            try {
1946              boolean done = false;
1947              while (!done) {
1948                int tag = input.readTag();
1949                switch (tag) {
1950                  case 0:
1951                    done = true;
1952                    break;
1953                  default: {
1954                    if (!parseUnknownField(input,
1955                                           extensionRegistry, tag)) {
1956                      done = true;
1957                    }
1958                    break;
1959                  }
1960                  case 8: {
1961                    int rawValue = input.readEnum();
1962                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind value = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind.valueOf(rawValue);
1963                    if (value != null) {
1964                      bitField0_ |= 0x00000001;
1965                      kind_ = value;
1966                    }
1967                    break;
1968                  }
1969                  case 16: {
1970                    bitField0_ |= 0x00000002;
1971                    id_ = input.readInt32();
1972                    break;
1973                  }
1974                }
1975              }
1976            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1977              throw e.setUnfinishedMessage(this);
1978            } catch (java.io.IOException e) {
1979              throw new com.google.protobuf.InvalidProtocolBufferException(
1980                  e.getMessage()).setUnfinishedMessage(this);
1981            } finally {
1982              makeExtensionsImmutable();
1983            }
1984          }
1985          public static com.google.protobuf.Parser<Constructor> PARSER =
1986              new com.google.protobuf.AbstractParser<Constructor>() {
1987            public Constructor parsePartialFrom(
1988                com.google.protobuf.CodedInputStream input,
1989                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1990                throws com.google.protobuf.InvalidProtocolBufferException {
1991              return new Constructor(input, extensionRegistry);
1992            }
1993          };
1994    
1995          @java.lang.Override
1996          public com.google.protobuf.Parser<Constructor> getParserForType() {
1997            return PARSER;
1998          }
1999    
2000          /**
2001           * Protobuf enum {@code org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind}
2002           */
2003          public enum Kind
2004              implements com.google.protobuf.Internal.EnumLite {
2005            /**
2006             * <code>CLASS = 0;</code>
2007             */
2008            CLASS(0, 0),
2009            /**
2010             * <code>TYPE_PARAMETER = 1;</code>
2011             */
2012            TYPE_PARAMETER(1, 1),
2013            ;
2014    
2015            /**
2016             * <code>CLASS = 0;</code>
2017             */
2018            public static final int CLASS_VALUE = 0;
2019            /**
2020             * <code>TYPE_PARAMETER = 1;</code>
2021             */
2022            public static final int TYPE_PARAMETER_VALUE = 1;
2023    
2024    
2025            public final int getNumber() { return value; }
2026    
2027            public static Kind valueOf(int value) {
2028              switch (value) {
2029                case 0: return CLASS;
2030                case 1: return TYPE_PARAMETER;
2031                default: return null;
2032              }
2033            }
2034    
2035            public static com.google.protobuf.Internal.EnumLiteMap<Kind>
2036                internalGetValueMap() {
2037              return internalValueMap;
2038            }
2039            private static com.google.protobuf.Internal.EnumLiteMap<Kind>
2040                internalValueMap =
2041                  new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
2042                    public Kind findValueByNumber(int number) {
2043                      return Kind.valueOf(number);
2044                    }
2045                  };
2046    
2047            private final int value;
2048    
2049            private Kind(int index, int value) {
2050              this.value = value;
2051            }
2052    
2053            // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind)
2054          }
2055    
2056          private int bitField0_;
2057          // optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];
2058          public static final int KIND_FIELD_NUMBER = 1;
2059          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind kind_;
2060          /**
2061           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
2062           */
2063          public boolean hasKind() {
2064            return ((bitField0_ & 0x00000001) == 0x00000001);
2065          }
2066          /**
2067           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
2068           */
2069          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind getKind() {
2070            return kind_;
2071          }
2072    
2073          // required int32 id = 2;
2074          public static final int ID_FIELD_NUMBER = 2;
2075          private int id_;
2076          /**
2077           * <code>required int32 id = 2;</code>
2078           *
2079           * <pre>
2080           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
2081           * </pre>
2082           */
2083          public boolean hasId() {
2084            return ((bitField0_ & 0x00000002) == 0x00000002);
2085          }
2086          /**
2087           * <code>required int32 id = 2;</code>
2088           *
2089           * <pre>
2090           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
2091           * </pre>
2092           */
2093          public int getId() {
2094            return id_;
2095          }
2096    
2097          private void initFields() {
2098            kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
2099            id_ = 0;
2100          }
2101          private byte memoizedIsInitialized = -1;
2102          public final boolean isInitialized() {
2103            byte isInitialized = memoizedIsInitialized;
2104            if (isInitialized != -1) return isInitialized == 1;
2105    
2106            if (!hasId()) {
2107              memoizedIsInitialized = 0;
2108              return false;
2109            }
2110            memoizedIsInitialized = 1;
2111            return true;
2112          }
2113    
2114          public void writeTo(com.google.protobuf.CodedOutputStream output)
2115                              throws java.io.IOException {
2116            getSerializedSize();
2117            if (((bitField0_ & 0x00000001) == 0x00000001)) {
2118              output.writeEnum(1, kind_.getNumber());
2119            }
2120            if (((bitField0_ & 0x00000002) == 0x00000002)) {
2121              output.writeInt32(2, id_);
2122            }
2123          }
2124    
2125          private int memoizedSerializedSize = -1;
2126          public int getSerializedSize() {
2127            int size = memoizedSerializedSize;
2128            if (size != -1) return size;
2129    
2130            size = 0;
2131            if (((bitField0_ & 0x00000001) == 0x00000001)) {
2132              size += com.google.protobuf.CodedOutputStream
2133                .computeEnumSize(1, kind_.getNumber());
2134            }
2135            if (((bitField0_ & 0x00000002) == 0x00000002)) {
2136              size += com.google.protobuf.CodedOutputStream
2137                .computeInt32Size(2, id_);
2138            }
2139            memoizedSerializedSize = size;
2140            return size;
2141          }
2142    
2143          private static final long serialVersionUID = 0L;
2144          @java.lang.Override
2145          protected java.lang.Object writeReplace()
2146              throws java.io.ObjectStreamException {
2147            return super.writeReplace();
2148          }
2149    
2150          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(
2151              com.google.protobuf.ByteString data)
2152              throws com.google.protobuf.InvalidProtocolBufferException {
2153            return PARSER.parseFrom(data);
2154          }
2155          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(
2156              com.google.protobuf.ByteString data,
2157              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2158              throws com.google.protobuf.InvalidProtocolBufferException {
2159            return PARSER.parseFrom(data, extensionRegistry);
2160          }
2161          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(byte[] data)
2162              throws com.google.protobuf.InvalidProtocolBufferException {
2163            return PARSER.parseFrom(data);
2164          }
2165          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(
2166              byte[] data,
2167              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2168              throws com.google.protobuf.InvalidProtocolBufferException {
2169            return PARSER.parseFrom(data, extensionRegistry);
2170          }
2171          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(java.io.InputStream input)
2172              throws java.io.IOException {
2173            return PARSER.parseFrom(input);
2174          }
2175          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(
2176              java.io.InputStream input,
2177              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2178              throws java.io.IOException {
2179            return PARSER.parseFrom(input, extensionRegistry);
2180          }
2181          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseDelimitedFrom(java.io.InputStream input)
2182              throws java.io.IOException {
2183            return PARSER.parseDelimitedFrom(input);
2184          }
2185          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseDelimitedFrom(
2186              java.io.InputStream input,
2187              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2188              throws java.io.IOException {
2189            return PARSER.parseDelimitedFrom(input, extensionRegistry);
2190          }
2191          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(
2192              com.google.protobuf.CodedInputStream input)
2193              throws java.io.IOException {
2194            return PARSER.parseFrom(input);
2195          }
2196          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(
2197              com.google.protobuf.CodedInputStream input,
2198              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2199              throws java.io.IOException {
2200            return PARSER.parseFrom(input, extensionRegistry);
2201          }
2202    
2203          public static Builder newBuilder() { return Builder.create(); }
2204          public Builder newBuilderForType() { return newBuilder(); }
2205          public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor prototype) {
2206            return newBuilder().mergeFrom(prototype);
2207          }
2208          public Builder toBuilder() { return newBuilder(this); }
2209    
2210          /**
2211           * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Type.Constructor}
2212           */
2213          public static final class Builder extends
2214              com.google.protobuf.GeneratedMessageLite.Builder<
2215                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor, Builder>
2216              implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.ConstructorOrBuilder {
2217            // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.newBuilder()
2218            private Builder() {
2219              maybeForceBuilderInitialization();
2220            }
2221    
2222            private void maybeForceBuilderInitialization() {
2223            }
2224            private static Builder create() {
2225              return new Builder();
2226            }
2227    
2228            public Builder clear() {
2229              super.clear();
2230              kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
2231              bitField0_ = (bitField0_ & ~0x00000001);
2232              id_ = 0;
2233              bitField0_ = (bitField0_ & ~0x00000002);
2234              return this;
2235            }
2236    
2237            public Builder clone() {
2238              return create().mergeFrom(buildPartial());
2239            }
2240    
2241            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor getDefaultInstanceForType() {
2242              return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
2243            }
2244    
2245            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor build() {
2246              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor result = buildPartial();
2247              if (!result.isInitialized()) {
2248                throw newUninitializedMessageException(result);
2249              }
2250              return result;
2251            }
2252    
2253            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor buildPartial() {
2254              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor(this);
2255              int from_bitField0_ = bitField0_;
2256              int to_bitField0_ = 0;
2257              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
2258                to_bitField0_ |= 0x00000001;
2259              }
2260              result.kind_ = kind_;
2261              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
2262                to_bitField0_ |= 0x00000002;
2263              }
2264              result.id_ = id_;
2265              result.bitField0_ = to_bitField0_;
2266              return result;
2267            }
2268    
2269            public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor other) {
2270              if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.getDefaultInstance()) return this;
2271              if (other.hasKind()) {
2272                setKind(other.getKind());
2273              }
2274              if (other.hasId()) {
2275                setId(other.getId());
2276              }
2277              return this;
2278            }
2279    
2280            public final boolean isInitialized() {
2281              if (!hasId()) {
2282                
2283                return false;
2284              }
2285              return true;
2286            }
2287    
2288            public Builder mergeFrom(
2289                com.google.protobuf.CodedInputStream input,
2290                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2291                throws java.io.IOException {
2292              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parsedMessage = null;
2293              try {
2294                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
2295              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2296                parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor) e.getUnfinishedMessage();
2297                throw e;
2298              } finally {
2299                if (parsedMessage != null) {
2300                  mergeFrom(parsedMessage);
2301                }
2302              }
2303              return this;
2304            }
2305            private int bitField0_;
2306    
2307            // optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];
2308            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
2309            /**
2310             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
2311             */
2312            public boolean hasKind() {
2313              return ((bitField0_ & 0x00000001) == 0x00000001);
2314            }
2315            /**
2316             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
2317             */
2318            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind getKind() {
2319              return kind_;
2320            }
2321            /**
2322             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
2323             */
2324            public Builder setKind(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind value) {
2325              if (value == null) {
2326                throw new NullPointerException();
2327              }
2328              bitField0_ |= 0x00000001;
2329              kind_ = value;
2330              
2331              return this;
2332            }
2333            /**
2334             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
2335             */
2336            public Builder clearKind() {
2337              bitField0_ = (bitField0_ & ~0x00000001);
2338              kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
2339              
2340              return this;
2341            }
2342    
2343            // required int32 id = 2;
2344            private int id_ ;
2345            /**
2346             * <code>required int32 id = 2;</code>
2347             *
2348             * <pre>
2349             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
2350             * </pre>
2351             */
2352            public boolean hasId() {
2353              return ((bitField0_ & 0x00000002) == 0x00000002);
2354            }
2355            /**
2356             * <code>required int32 id = 2;</code>
2357             *
2358             * <pre>
2359             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
2360             * </pre>
2361             */
2362            public int getId() {
2363              return id_;
2364            }
2365            /**
2366             * <code>required int32 id = 2;</code>
2367             *
2368             * <pre>
2369             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
2370             * </pre>
2371             */
2372            public Builder setId(int value) {
2373              bitField0_ |= 0x00000002;
2374              id_ = value;
2375              
2376              return this;
2377            }
2378            /**
2379             * <code>required int32 id = 2;</code>
2380             *
2381             * <pre>
2382             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
2383             * </pre>
2384             */
2385            public Builder clearId() {
2386              bitField0_ = (bitField0_ & ~0x00000002);
2387              id_ = 0;
2388              
2389              return this;
2390            }
2391    
2392            // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Type.Constructor)
2393          }
2394    
2395          static {
2396            defaultInstance = new Constructor(true);
2397            defaultInstance.initFields();
2398          }
2399    
2400          // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Type.Constructor)
2401        }
2402    
2403        public interface ArgumentOrBuilder
2404            extends com.google.protobuf.MessageLiteOrBuilder {
2405    
2406          // optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];
2407          /**
2408           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
2409           */
2410          boolean hasProjection();
2411          /**
2412           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
2413           */
2414          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection getProjection();
2415    
2416          // required .org.jetbrains.jet.descriptors.serialization.Type type = 2;
2417          /**
2418           * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 2;</code>
2419           */
2420          boolean hasType();
2421          /**
2422           * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 2;</code>
2423           */
2424          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getType();
2425        }
2426        /**
2427         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Type.Argument}
2428         */
2429        public static final class Argument extends
2430            com.google.protobuf.GeneratedMessageLite
2431            implements ArgumentOrBuilder {
2432          // Use Argument.newBuilder() to construct.
2433          private Argument(com.google.protobuf.GeneratedMessageLite.Builder builder) {
2434            super(builder);
2435    
2436          }
2437          private Argument(boolean noInit) {}
2438    
2439          private static final Argument defaultInstance;
2440          public static Argument getDefaultInstance() {
2441            return defaultInstance;
2442          }
2443    
2444          public Argument getDefaultInstanceForType() {
2445            return defaultInstance;
2446          }
2447    
2448          private Argument(
2449              com.google.protobuf.CodedInputStream input,
2450              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2451              throws com.google.protobuf.InvalidProtocolBufferException {
2452            initFields();
2453            int mutable_bitField0_ = 0;
2454            try {
2455              boolean done = false;
2456              while (!done) {
2457                int tag = input.readTag();
2458                switch (tag) {
2459                  case 0:
2460                    done = true;
2461                    break;
2462                  default: {
2463                    if (!parseUnknownField(input,
2464                                           extensionRegistry, tag)) {
2465                      done = true;
2466                    }
2467                    break;
2468                  }
2469                  case 8: {
2470                    int rawValue = input.readEnum();
2471                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection value = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection.valueOf(rawValue);
2472                    if (value != null) {
2473                      bitField0_ |= 0x00000001;
2474                      projection_ = value;
2475                    }
2476                    break;
2477                  }
2478                  case 18: {
2479                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = null;
2480                    if (((bitField0_ & 0x00000002) == 0x00000002)) {
2481                      subBuilder = type_.toBuilder();
2482                    }
2483                    type_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
2484                    if (subBuilder != null) {
2485                      subBuilder.mergeFrom(type_);
2486                      type_ = subBuilder.buildPartial();
2487                    }
2488                    bitField0_ |= 0x00000002;
2489                    break;
2490                  }
2491                }
2492              }
2493            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2494              throw e.setUnfinishedMessage(this);
2495            } catch (java.io.IOException e) {
2496              throw new com.google.protobuf.InvalidProtocolBufferException(
2497                  e.getMessage()).setUnfinishedMessage(this);
2498            } finally {
2499              makeExtensionsImmutable();
2500            }
2501          }
2502          public static com.google.protobuf.Parser<Argument> PARSER =
2503              new com.google.protobuf.AbstractParser<Argument>() {
2504            public Argument parsePartialFrom(
2505                com.google.protobuf.CodedInputStream input,
2506                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2507                throws com.google.protobuf.InvalidProtocolBufferException {
2508              return new Argument(input, extensionRegistry);
2509            }
2510          };
2511    
2512          @java.lang.Override
2513          public com.google.protobuf.Parser<Argument> getParserForType() {
2514            return PARSER;
2515          }
2516    
2517          /**
2518           * Protobuf enum {@code org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection}
2519           */
2520          public enum Projection
2521              implements com.google.protobuf.Internal.EnumLite {
2522            /**
2523             * <code>IN = 0;</code>
2524             */
2525            IN(0, 0),
2526            /**
2527             * <code>OUT = 1;</code>
2528             */
2529            OUT(1, 1),
2530            /**
2531             * <code>INV = 2;</code>
2532             */
2533            INV(2, 2),
2534            ;
2535    
2536            /**
2537             * <code>IN = 0;</code>
2538             */
2539            public static final int IN_VALUE = 0;
2540            /**
2541             * <code>OUT = 1;</code>
2542             */
2543            public static final int OUT_VALUE = 1;
2544            /**
2545             * <code>INV = 2;</code>
2546             */
2547            public static final int INV_VALUE = 2;
2548    
2549    
2550            public final int getNumber() { return value; }
2551    
2552            public static Projection valueOf(int value) {
2553              switch (value) {
2554                case 0: return IN;
2555                case 1: return OUT;
2556                case 2: return INV;
2557                default: return null;
2558              }
2559            }
2560    
2561            public static com.google.protobuf.Internal.EnumLiteMap<Projection>
2562                internalGetValueMap() {
2563              return internalValueMap;
2564            }
2565            private static com.google.protobuf.Internal.EnumLiteMap<Projection>
2566                internalValueMap =
2567                  new com.google.protobuf.Internal.EnumLiteMap<Projection>() {
2568                    public Projection findValueByNumber(int number) {
2569                      return Projection.valueOf(number);
2570                    }
2571                  };
2572    
2573            private final int value;
2574    
2575            private Projection(int index, int value) {
2576              this.value = value;
2577            }
2578    
2579            // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection)
2580          }
2581    
2582          private int bitField0_;
2583          // optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];
2584          public static final int PROJECTION_FIELD_NUMBER = 1;
2585          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection projection_;
2586          /**
2587           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
2588           */
2589          public boolean hasProjection() {
2590            return ((bitField0_ & 0x00000001) == 0x00000001);
2591          }
2592          /**
2593           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
2594           */
2595          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
2596            return projection_;
2597          }
2598    
2599          // required .org.jetbrains.jet.descriptors.serialization.Type type = 2;
2600          public static final int TYPE_FIELD_NUMBER = 2;
2601          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type type_;
2602          /**
2603           * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 2;</code>
2604           */
2605          public boolean hasType() {
2606            return ((bitField0_ & 0x00000002) == 0x00000002);
2607          }
2608          /**
2609           * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 2;</code>
2610           */
2611          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getType() {
2612            return type_;
2613          }
2614    
2615          private void initFields() {
2616            projection_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection.INV;
2617            type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
2618          }
2619          private byte memoizedIsInitialized = -1;
2620          public final boolean isInitialized() {
2621            byte isInitialized = memoizedIsInitialized;
2622            if (isInitialized != -1) return isInitialized == 1;
2623    
2624            if (!hasType()) {
2625              memoizedIsInitialized = 0;
2626              return false;
2627            }
2628            if (!getType().isInitialized()) {
2629              memoizedIsInitialized = 0;
2630              return false;
2631            }
2632            memoizedIsInitialized = 1;
2633            return true;
2634          }
2635    
2636          public void writeTo(com.google.protobuf.CodedOutputStream output)
2637                              throws java.io.IOException {
2638            getSerializedSize();
2639            if (((bitField0_ & 0x00000001) == 0x00000001)) {
2640              output.writeEnum(1, projection_.getNumber());
2641            }
2642            if (((bitField0_ & 0x00000002) == 0x00000002)) {
2643              output.writeMessage(2, type_);
2644            }
2645          }
2646    
2647          private int memoizedSerializedSize = -1;
2648          public int getSerializedSize() {
2649            int size = memoizedSerializedSize;
2650            if (size != -1) return size;
2651    
2652            size = 0;
2653            if (((bitField0_ & 0x00000001) == 0x00000001)) {
2654              size += com.google.protobuf.CodedOutputStream
2655                .computeEnumSize(1, projection_.getNumber());
2656            }
2657            if (((bitField0_ & 0x00000002) == 0x00000002)) {
2658              size += com.google.protobuf.CodedOutputStream
2659                .computeMessageSize(2, type_);
2660            }
2661            memoizedSerializedSize = size;
2662            return size;
2663          }
2664    
2665          private static final long serialVersionUID = 0L;
2666          @java.lang.Override
2667          protected java.lang.Object writeReplace()
2668              throws java.io.ObjectStreamException {
2669            return super.writeReplace();
2670          }
2671    
2672          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(
2673              com.google.protobuf.ByteString data)
2674              throws com.google.protobuf.InvalidProtocolBufferException {
2675            return PARSER.parseFrom(data);
2676          }
2677          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(
2678              com.google.protobuf.ByteString data,
2679              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2680              throws com.google.protobuf.InvalidProtocolBufferException {
2681            return PARSER.parseFrom(data, extensionRegistry);
2682          }
2683          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(byte[] data)
2684              throws com.google.protobuf.InvalidProtocolBufferException {
2685            return PARSER.parseFrom(data);
2686          }
2687          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(
2688              byte[] data,
2689              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2690              throws com.google.protobuf.InvalidProtocolBufferException {
2691            return PARSER.parseFrom(data, extensionRegistry);
2692          }
2693          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(java.io.InputStream input)
2694              throws java.io.IOException {
2695            return PARSER.parseFrom(input);
2696          }
2697          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(
2698              java.io.InputStream input,
2699              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2700              throws java.io.IOException {
2701            return PARSER.parseFrom(input, extensionRegistry);
2702          }
2703          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(java.io.InputStream input)
2704              throws java.io.IOException {
2705            return PARSER.parseDelimitedFrom(input);
2706          }
2707          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(
2708              java.io.InputStream input,
2709              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2710              throws java.io.IOException {
2711            return PARSER.parseDelimitedFrom(input, extensionRegistry);
2712          }
2713          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(
2714              com.google.protobuf.CodedInputStream input)
2715              throws java.io.IOException {
2716            return PARSER.parseFrom(input);
2717          }
2718          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(
2719              com.google.protobuf.CodedInputStream input,
2720              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2721              throws java.io.IOException {
2722            return PARSER.parseFrom(input, extensionRegistry);
2723          }
2724    
2725          public static Builder newBuilder() { return Builder.create(); }
2726          public Builder newBuilderForType() { return newBuilder(); }
2727          public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument prototype) {
2728            return newBuilder().mergeFrom(prototype);
2729          }
2730          public Builder toBuilder() { return newBuilder(this); }
2731    
2732          /**
2733           * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Type.Argument}
2734           */
2735          public static final class Builder extends
2736              com.google.protobuf.GeneratedMessageLite.Builder<
2737                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument, Builder>
2738              implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.ArgumentOrBuilder {
2739            // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.newBuilder()
2740            private Builder() {
2741              maybeForceBuilderInitialization();
2742            }
2743    
2744            private void maybeForceBuilderInitialization() {
2745            }
2746            private static Builder create() {
2747              return new Builder();
2748            }
2749    
2750            public Builder clear() {
2751              super.clear();
2752              projection_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection.INV;
2753              bitField0_ = (bitField0_ & ~0x00000001);
2754              type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
2755              bitField0_ = (bitField0_ & ~0x00000002);
2756              return this;
2757            }
2758    
2759            public Builder clone() {
2760              return create().mergeFrom(buildPartial());
2761            }
2762    
2763            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument getDefaultInstanceForType() {
2764              return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.getDefaultInstance();
2765            }
2766    
2767            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument build() {
2768              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument result = buildPartial();
2769              if (!result.isInitialized()) {
2770                throw newUninitializedMessageException(result);
2771              }
2772              return result;
2773            }
2774    
2775            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument buildPartial() {
2776              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument(this);
2777              int from_bitField0_ = bitField0_;
2778              int to_bitField0_ = 0;
2779              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
2780                to_bitField0_ |= 0x00000001;
2781              }
2782              result.projection_ = projection_;
2783              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
2784                to_bitField0_ |= 0x00000002;
2785              }
2786              result.type_ = type_;
2787              result.bitField0_ = to_bitField0_;
2788              return result;
2789            }
2790    
2791            public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument other) {
2792              if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.getDefaultInstance()) return this;
2793              if (other.hasProjection()) {
2794                setProjection(other.getProjection());
2795              }
2796              if (other.hasType()) {
2797                mergeType(other.getType());
2798              }
2799              return this;
2800            }
2801    
2802            public final boolean isInitialized() {
2803              if (!hasType()) {
2804                
2805                return false;
2806              }
2807              if (!getType().isInitialized()) {
2808                
2809                return false;
2810              }
2811              return true;
2812            }
2813    
2814            public Builder mergeFrom(
2815                com.google.protobuf.CodedInputStream input,
2816                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2817                throws java.io.IOException {
2818              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parsedMessage = null;
2819              try {
2820                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
2821              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2822                parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument) e.getUnfinishedMessage();
2823                throw e;
2824              } finally {
2825                if (parsedMessage != null) {
2826                  mergeFrom(parsedMessage);
2827                }
2828              }
2829              return this;
2830            }
2831            private int bitField0_;
2832    
2833            // optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];
2834            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection projection_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection.INV;
2835            /**
2836             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
2837             */
2838            public boolean hasProjection() {
2839              return ((bitField0_ & 0x00000001) == 0x00000001);
2840            }
2841            /**
2842             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
2843             */
2844            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
2845              return projection_;
2846            }
2847            /**
2848             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
2849             */
2850            public Builder setProjection(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection value) {
2851              if (value == null) {
2852                throw new NullPointerException();
2853              }
2854              bitField0_ |= 0x00000001;
2855              projection_ = value;
2856              
2857              return this;
2858            }
2859            /**
2860             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
2861             */
2862            public Builder clearProjection() {
2863              bitField0_ = (bitField0_ & ~0x00000001);
2864              projection_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection.INV;
2865              
2866              return this;
2867            }
2868    
2869            // required .org.jetbrains.jet.descriptors.serialization.Type type = 2;
2870            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
2871            /**
2872             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 2;</code>
2873             */
2874            public boolean hasType() {
2875              return ((bitField0_ & 0x00000002) == 0x00000002);
2876            }
2877            /**
2878             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 2;</code>
2879             */
2880            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getType() {
2881              return type_;
2882            }
2883            /**
2884             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 2;</code>
2885             */
2886            public Builder setType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
2887              if (value == null) {
2888                throw new NullPointerException();
2889              }
2890              type_ = value;
2891    
2892              bitField0_ |= 0x00000002;
2893              return this;
2894            }
2895            /**
2896             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 2;</code>
2897             */
2898            public Builder setType(
2899                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
2900              type_ = builderForValue.build();
2901    
2902              bitField0_ |= 0x00000002;
2903              return this;
2904            }
2905            /**
2906             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 2;</code>
2907             */
2908            public Builder mergeType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
2909              if (((bitField0_ & 0x00000002) == 0x00000002) &&
2910                  type_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) {
2911                type_ =
2912                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
2913              } else {
2914                type_ = value;
2915              }
2916    
2917              bitField0_ |= 0x00000002;
2918              return this;
2919            }
2920            /**
2921             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 2;</code>
2922             */
2923            public Builder clearType() {
2924              type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
2925    
2926              bitField0_ = (bitField0_ & ~0x00000002);
2927              return this;
2928            }
2929    
2930            // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Type.Argument)
2931          }
2932    
2933          static {
2934            defaultInstance = new Argument(true);
2935            defaultInstance.initFields();
2936          }
2937    
2938          // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Type.Argument)
2939        }
2940    
2941        private int bitField0_;
2942        // required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;
2943        public static final int CONSTRUCTOR_FIELD_NUMBER = 1;
2944        private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor constructor_;
2945        /**
2946         * <code>required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;</code>
2947         */
2948        public boolean hasConstructor() {
2949          return ((bitField0_ & 0x00000001) == 0x00000001);
2950        }
2951        /**
2952         * <code>required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;</code>
2953         */
2954        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor getConstructor() {
2955          return constructor_;
2956        }
2957    
2958        // repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;
2959        public static final int ARGUMENT_FIELD_NUMBER = 2;
2960        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument> argument_;
2961        /**
2962         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
2963         */
2964        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument> getArgumentList() {
2965          return argument_;
2966        }
2967        /**
2968         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
2969         */
2970        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.ArgumentOrBuilder> 
2971            getArgumentOrBuilderList() {
2972          return argument_;
2973        }
2974        /**
2975         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
2976         */
2977        public int getArgumentCount() {
2978          return argument_.size();
2979        }
2980        /**
2981         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
2982         */
2983        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument getArgument(int index) {
2984          return argument_.get(index);
2985        }
2986        /**
2987         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
2988         */
2989        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.ArgumentOrBuilder getArgumentOrBuilder(
2990            int index) {
2991          return argument_.get(index);
2992        }
2993    
2994        // optional bool nullable = 3 [default = false];
2995        public static final int NULLABLE_FIELD_NUMBER = 3;
2996        private boolean nullable_;
2997        /**
2998         * <code>optional bool nullable = 3 [default = false];</code>
2999         */
3000        public boolean hasNullable() {
3001          return ((bitField0_ & 0x00000002) == 0x00000002);
3002        }
3003        /**
3004         * <code>optional bool nullable = 3 [default = false];</code>
3005         */
3006        public boolean getNullable() {
3007          return nullable_;
3008        }
3009    
3010        // optional int32 flexible_type_capabilities_id = 4;
3011        public static final int FLEXIBLE_TYPE_CAPABILITIES_ID_FIELD_NUMBER = 4;
3012        private int flexibleTypeCapabilitiesId_;
3013        /**
3014         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
3015         *
3016         * <pre>
3017         * Id in the StringTable
3018         * If this field is set, the type is flexible.
3019         * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
3020         * </pre>
3021         */
3022        public boolean hasFlexibleTypeCapabilitiesId() {
3023          return ((bitField0_ & 0x00000004) == 0x00000004);
3024        }
3025        /**
3026         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
3027         *
3028         * <pre>
3029         * Id in the StringTable
3030         * If this field is set, the type is flexible.
3031         * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
3032         * </pre>
3033         */
3034        public int getFlexibleTypeCapabilitiesId() {
3035          return flexibleTypeCapabilitiesId_;
3036        }
3037    
3038        // optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;
3039        public static final int FLEXIBLE_UPPER_BOUND_FIELD_NUMBER = 5;
3040        private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type flexibleUpperBound_;
3041        /**
3042         * <code>optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;</code>
3043         *
3044         * <pre>
3045         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
3046         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
3047         * to represent flexible types is too many wasted bytes.
3048         * </pre>
3049         */
3050        public boolean hasFlexibleUpperBound() {
3051          return ((bitField0_ & 0x00000008) == 0x00000008);
3052        }
3053        /**
3054         * <code>optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;</code>
3055         *
3056         * <pre>
3057         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
3058         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
3059         * to represent flexible types is too many wasted bytes.
3060         * </pre>
3061         */
3062        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getFlexibleUpperBound() {
3063          return flexibleUpperBound_;
3064        }
3065    
3066        private void initFields() {
3067          constructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
3068          argument_ = java.util.Collections.emptyList();
3069          nullable_ = false;
3070          flexibleTypeCapabilitiesId_ = 0;
3071          flexibleUpperBound_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
3072        }
3073        private byte memoizedIsInitialized = -1;
3074        public final boolean isInitialized() {
3075          byte isInitialized = memoizedIsInitialized;
3076          if (isInitialized != -1) return isInitialized == 1;
3077    
3078          if (!hasConstructor()) {
3079            memoizedIsInitialized = 0;
3080            return false;
3081          }
3082          if (!getConstructor().isInitialized()) {
3083            memoizedIsInitialized = 0;
3084            return false;
3085          }
3086          for (int i = 0; i < getArgumentCount(); i++) {
3087            if (!getArgument(i).isInitialized()) {
3088              memoizedIsInitialized = 0;
3089              return false;
3090            }
3091          }
3092          if (hasFlexibleUpperBound()) {
3093            if (!getFlexibleUpperBound().isInitialized()) {
3094              memoizedIsInitialized = 0;
3095              return false;
3096            }
3097          }
3098          memoizedIsInitialized = 1;
3099          return true;
3100        }
3101    
3102        public void writeTo(com.google.protobuf.CodedOutputStream output)
3103                            throws java.io.IOException {
3104          getSerializedSize();
3105          if (((bitField0_ & 0x00000001) == 0x00000001)) {
3106            output.writeMessage(1, constructor_);
3107          }
3108          for (int i = 0; i < argument_.size(); i++) {
3109            output.writeMessage(2, argument_.get(i));
3110          }
3111          if (((bitField0_ & 0x00000002) == 0x00000002)) {
3112            output.writeBool(3, nullable_);
3113          }
3114          if (((bitField0_ & 0x00000004) == 0x00000004)) {
3115            output.writeInt32(4, flexibleTypeCapabilitiesId_);
3116          }
3117          if (((bitField0_ & 0x00000008) == 0x00000008)) {
3118            output.writeMessage(5, flexibleUpperBound_);
3119          }
3120        }
3121    
3122        private int memoizedSerializedSize = -1;
3123        public int getSerializedSize() {
3124          int size = memoizedSerializedSize;
3125          if (size != -1) return size;
3126    
3127          size = 0;
3128          if (((bitField0_ & 0x00000001) == 0x00000001)) {
3129            size += com.google.protobuf.CodedOutputStream
3130              .computeMessageSize(1, constructor_);
3131          }
3132          for (int i = 0; i < argument_.size(); i++) {
3133            size += com.google.protobuf.CodedOutputStream
3134              .computeMessageSize(2, argument_.get(i));
3135          }
3136          if (((bitField0_ & 0x00000002) == 0x00000002)) {
3137            size += com.google.protobuf.CodedOutputStream
3138              .computeBoolSize(3, nullable_);
3139          }
3140          if (((bitField0_ & 0x00000004) == 0x00000004)) {
3141            size += com.google.protobuf.CodedOutputStream
3142              .computeInt32Size(4, flexibleTypeCapabilitiesId_);
3143          }
3144          if (((bitField0_ & 0x00000008) == 0x00000008)) {
3145            size += com.google.protobuf.CodedOutputStream
3146              .computeMessageSize(5, flexibleUpperBound_);
3147          }
3148          memoizedSerializedSize = size;
3149          return size;
3150        }
3151    
3152        private static final long serialVersionUID = 0L;
3153        @java.lang.Override
3154        protected java.lang.Object writeReplace()
3155            throws java.io.ObjectStreamException {
3156          return super.writeReplace();
3157        }
3158    
3159        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(
3160            com.google.protobuf.ByteString data)
3161            throws com.google.protobuf.InvalidProtocolBufferException {
3162          return PARSER.parseFrom(data);
3163        }
3164        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(
3165            com.google.protobuf.ByteString data,
3166            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3167            throws com.google.protobuf.InvalidProtocolBufferException {
3168          return PARSER.parseFrom(data, extensionRegistry);
3169        }
3170        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(byte[] data)
3171            throws com.google.protobuf.InvalidProtocolBufferException {
3172          return PARSER.parseFrom(data);
3173        }
3174        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(
3175            byte[] data,
3176            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3177            throws com.google.protobuf.InvalidProtocolBufferException {
3178          return PARSER.parseFrom(data, extensionRegistry);
3179        }
3180        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(java.io.InputStream input)
3181            throws java.io.IOException {
3182          return PARSER.parseFrom(input);
3183        }
3184        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(
3185            java.io.InputStream input,
3186            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3187            throws java.io.IOException {
3188          return PARSER.parseFrom(input, extensionRegistry);
3189        }
3190        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseDelimitedFrom(java.io.InputStream input)
3191            throws java.io.IOException {
3192          return PARSER.parseDelimitedFrom(input);
3193        }
3194        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseDelimitedFrom(
3195            java.io.InputStream input,
3196            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3197            throws java.io.IOException {
3198          return PARSER.parseDelimitedFrom(input, extensionRegistry);
3199        }
3200        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(
3201            com.google.protobuf.CodedInputStream input)
3202            throws java.io.IOException {
3203          return PARSER.parseFrom(input);
3204        }
3205        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(
3206            com.google.protobuf.CodedInputStream input,
3207            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3208            throws java.io.IOException {
3209          return PARSER.parseFrom(input, extensionRegistry);
3210        }
3211    
3212        public static Builder newBuilder() { return Builder.create(); }
3213        public Builder newBuilderForType() { return newBuilder(); }
3214        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type prototype) {
3215          return newBuilder().mergeFrom(prototype);
3216        }
3217        public Builder toBuilder() { return newBuilder(this); }
3218    
3219        /**
3220         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Type}
3221         */
3222        public static final class Builder extends
3223            com.google.protobuf.GeneratedMessageLite.Builder<
3224              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type, Builder>
3225            implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeOrBuilder {
3226          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder()
3227          private Builder() {
3228            maybeForceBuilderInitialization();
3229          }
3230    
3231          private void maybeForceBuilderInitialization() {
3232          }
3233          private static Builder create() {
3234            return new Builder();
3235          }
3236    
3237          public Builder clear() {
3238            super.clear();
3239            constructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
3240            bitField0_ = (bitField0_ & ~0x00000001);
3241            argument_ = java.util.Collections.emptyList();
3242            bitField0_ = (bitField0_ & ~0x00000002);
3243            nullable_ = false;
3244            bitField0_ = (bitField0_ & ~0x00000004);
3245            flexibleTypeCapabilitiesId_ = 0;
3246            bitField0_ = (bitField0_ & ~0x00000008);
3247            flexibleUpperBound_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
3248            bitField0_ = (bitField0_ & ~0x00000010);
3249            return this;
3250          }
3251    
3252          public Builder clone() {
3253            return create().mergeFrom(buildPartial());
3254          }
3255    
3256          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getDefaultInstanceForType() {
3257            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
3258          }
3259    
3260          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type build() {
3261            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type result = buildPartial();
3262            if (!result.isInitialized()) {
3263              throw newUninitializedMessageException(result);
3264            }
3265            return result;
3266          }
3267    
3268          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type buildPartial() {
3269            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type(this);
3270            int from_bitField0_ = bitField0_;
3271            int to_bitField0_ = 0;
3272            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
3273              to_bitField0_ |= 0x00000001;
3274            }
3275            result.constructor_ = constructor_;
3276            if (((bitField0_ & 0x00000002) == 0x00000002)) {
3277              argument_ = java.util.Collections.unmodifiableList(argument_);
3278              bitField0_ = (bitField0_ & ~0x00000002);
3279            }
3280            result.argument_ = argument_;
3281            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
3282              to_bitField0_ |= 0x00000002;
3283            }
3284            result.nullable_ = nullable_;
3285            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
3286              to_bitField0_ |= 0x00000004;
3287            }
3288            result.flexibleTypeCapabilitiesId_ = flexibleTypeCapabilitiesId_;
3289            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
3290              to_bitField0_ |= 0x00000008;
3291            }
3292            result.flexibleUpperBound_ = flexibleUpperBound_;
3293            result.bitField0_ = to_bitField0_;
3294            return result;
3295          }
3296    
3297          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type other) {
3298            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) return this;
3299            if (other.hasConstructor()) {
3300              mergeConstructor(other.getConstructor());
3301            }
3302            if (!other.argument_.isEmpty()) {
3303              if (argument_.isEmpty()) {
3304                argument_ = other.argument_;
3305                bitField0_ = (bitField0_ & ~0x00000002);
3306              } else {
3307                ensureArgumentIsMutable();
3308                argument_.addAll(other.argument_);
3309              }
3310              
3311            }
3312            if (other.hasNullable()) {
3313              setNullable(other.getNullable());
3314            }
3315            if (other.hasFlexibleTypeCapabilitiesId()) {
3316              setFlexibleTypeCapabilitiesId(other.getFlexibleTypeCapabilitiesId());
3317            }
3318            if (other.hasFlexibleUpperBound()) {
3319              mergeFlexibleUpperBound(other.getFlexibleUpperBound());
3320            }
3321            return this;
3322          }
3323    
3324          public final boolean isInitialized() {
3325            if (!hasConstructor()) {
3326              
3327              return false;
3328            }
3329            if (!getConstructor().isInitialized()) {
3330              
3331              return false;
3332            }
3333            for (int i = 0; i < getArgumentCount(); i++) {
3334              if (!getArgument(i).isInitialized()) {
3335                
3336                return false;
3337              }
3338            }
3339            if (hasFlexibleUpperBound()) {
3340              if (!getFlexibleUpperBound().isInitialized()) {
3341                
3342                return false;
3343              }
3344            }
3345            return true;
3346          }
3347    
3348          public Builder mergeFrom(
3349              com.google.protobuf.CodedInputStream input,
3350              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3351              throws java.io.IOException {
3352            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parsedMessage = null;
3353            try {
3354              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
3355            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3356              parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type) e.getUnfinishedMessage();
3357              throw e;
3358            } finally {
3359              if (parsedMessage != null) {
3360                mergeFrom(parsedMessage);
3361              }
3362            }
3363            return this;
3364          }
3365          private int bitField0_;
3366    
3367          // required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;
3368          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor constructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
3369          /**
3370           * <code>required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;</code>
3371           */
3372          public boolean hasConstructor() {
3373            return ((bitField0_ & 0x00000001) == 0x00000001);
3374          }
3375          /**
3376           * <code>required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;</code>
3377           */
3378          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor getConstructor() {
3379            return constructor_;
3380          }
3381          /**
3382           * <code>required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;</code>
3383           */
3384          public Builder setConstructor(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor value) {
3385            if (value == null) {
3386              throw new NullPointerException();
3387            }
3388            constructor_ = value;
3389    
3390            bitField0_ |= 0x00000001;
3391            return this;
3392          }
3393          /**
3394           * <code>required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;</code>
3395           */
3396          public Builder setConstructor(
3397              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Builder builderForValue) {
3398            constructor_ = builderForValue.build();
3399    
3400            bitField0_ |= 0x00000001;
3401            return this;
3402          }
3403          /**
3404           * <code>required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;</code>
3405           */
3406          public Builder mergeConstructor(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor value) {
3407            if (((bitField0_ & 0x00000001) == 0x00000001) &&
3408                constructor_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.getDefaultInstance()) {
3409              constructor_ =
3410                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.newBuilder(constructor_).mergeFrom(value).buildPartial();
3411            } else {
3412              constructor_ = value;
3413            }
3414    
3415            bitField0_ |= 0x00000001;
3416            return this;
3417          }
3418          /**
3419           * <code>required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;</code>
3420           */
3421          public Builder clearConstructor() {
3422            constructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
3423    
3424            bitField0_ = (bitField0_ & ~0x00000001);
3425            return this;
3426          }
3427    
3428          // repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;
3429          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument> argument_ =
3430            java.util.Collections.emptyList();
3431          private void ensureArgumentIsMutable() {
3432            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
3433              argument_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument>(argument_);
3434              bitField0_ |= 0x00000002;
3435             }
3436          }
3437    
3438          /**
3439           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
3440           */
3441          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument> getArgumentList() {
3442            return java.util.Collections.unmodifiableList(argument_);
3443          }
3444          /**
3445           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
3446           */
3447          public int getArgumentCount() {
3448            return argument_.size();
3449          }
3450          /**
3451           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
3452           */
3453          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument getArgument(int index) {
3454            return argument_.get(index);
3455          }
3456          /**
3457           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
3458           */
3459          public Builder setArgument(
3460              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument value) {
3461            if (value == null) {
3462              throw new NullPointerException();
3463            }
3464            ensureArgumentIsMutable();
3465            argument_.set(index, value);
3466    
3467            return this;
3468          }
3469          /**
3470           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
3471           */
3472          public Builder setArgument(
3473              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
3474            ensureArgumentIsMutable();
3475            argument_.set(index, builderForValue.build());
3476    
3477            return this;
3478          }
3479          /**
3480           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
3481           */
3482          public Builder addArgument(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument value) {
3483            if (value == null) {
3484              throw new NullPointerException();
3485            }
3486            ensureArgumentIsMutable();
3487            argument_.add(value);
3488    
3489            return this;
3490          }
3491          /**
3492           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
3493           */
3494          public Builder addArgument(
3495              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument value) {
3496            if (value == null) {
3497              throw new NullPointerException();
3498            }
3499            ensureArgumentIsMutable();
3500            argument_.add(index, value);
3501    
3502            return this;
3503          }
3504          /**
3505           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
3506           */
3507          public Builder addArgument(
3508              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
3509            ensureArgumentIsMutable();
3510            argument_.add(builderForValue.build());
3511    
3512            return this;
3513          }
3514          /**
3515           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
3516           */
3517          public Builder addArgument(
3518              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
3519            ensureArgumentIsMutable();
3520            argument_.add(index, builderForValue.build());
3521    
3522            return this;
3523          }
3524          /**
3525           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
3526           */
3527          public Builder addAllArgument(
3528              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument> values) {
3529            ensureArgumentIsMutable();
3530            super.addAll(values, argument_);
3531    
3532            return this;
3533          }
3534          /**
3535           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
3536           */
3537          public Builder clearArgument() {
3538            argument_ = java.util.Collections.emptyList();
3539            bitField0_ = (bitField0_ & ~0x00000002);
3540    
3541            return this;
3542          }
3543          /**
3544           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
3545           */
3546          public Builder removeArgument(int index) {
3547            ensureArgumentIsMutable();
3548            argument_.remove(index);
3549    
3550            return this;
3551          }
3552    
3553          // optional bool nullable = 3 [default = false];
3554          private boolean nullable_ ;
3555          /**
3556           * <code>optional bool nullable = 3 [default = false];</code>
3557           */
3558          public boolean hasNullable() {
3559            return ((bitField0_ & 0x00000004) == 0x00000004);
3560          }
3561          /**
3562           * <code>optional bool nullable = 3 [default = false];</code>
3563           */
3564          public boolean getNullable() {
3565            return nullable_;
3566          }
3567          /**
3568           * <code>optional bool nullable = 3 [default = false];</code>
3569           */
3570          public Builder setNullable(boolean value) {
3571            bitField0_ |= 0x00000004;
3572            nullable_ = value;
3573            
3574            return this;
3575          }
3576          /**
3577           * <code>optional bool nullable = 3 [default = false];</code>
3578           */
3579          public Builder clearNullable() {
3580            bitField0_ = (bitField0_ & ~0x00000004);
3581            nullable_ = false;
3582            
3583            return this;
3584          }
3585    
3586          // optional int32 flexible_type_capabilities_id = 4;
3587          private int flexibleTypeCapabilitiesId_ ;
3588          /**
3589           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
3590           *
3591           * <pre>
3592           * Id in the StringTable
3593           * If this field is set, the type is flexible.
3594           * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
3595           * </pre>
3596           */
3597          public boolean hasFlexibleTypeCapabilitiesId() {
3598            return ((bitField0_ & 0x00000008) == 0x00000008);
3599          }
3600          /**
3601           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
3602           *
3603           * <pre>
3604           * Id in the StringTable
3605           * If this field is set, the type is flexible.
3606           * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
3607           * </pre>
3608           */
3609          public int getFlexibleTypeCapabilitiesId() {
3610            return flexibleTypeCapabilitiesId_;
3611          }
3612          /**
3613           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
3614           *
3615           * <pre>
3616           * Id in the StringTable
3617           * If this field is set, the type is flexible.
3618           * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
3619           * </pre>
3620           */
3621          public Builder setFlexibleTypeCapabilitiesId(int value) {
3622            bitField0_ |= 0x00000008;
3623            flexibleTypeCapabilitiesId_ = value;
3624            
3625            return this;
3626          }
3627          /**
3628           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
3629           *
3630           * <pre>
3631           * Id in the StringTable
3632           * If this field is set, the type is flexible.
3633           * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
3634           * </pre>
3635           */
3636          public Builder clearFlexibleTypeCapabilitiesId() {
3637            bitField0_ = (bitField0_ & ~0x00000008);
3638            flexibleTypeCapabilitiesId_ = 0;
3639            
3640            return this;
3641          }
3642    
3643          // optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;
3644          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type flexibleUpperBound_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
3645          /**
3646           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;</code>
3647           *
3648           * <pre>
3649           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
3650           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
3651           * to represent flexible types is too many wasted bytes.
3652           * </pre>
3653           */
3654          public boolean hasFlexibleUpperBound() {
3655            return ((bitField0_ & 0x00000010) == 0x00000010);
3656          }
3657          /**
3658           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;</code>
3659           *
3660           * <pre>
3661           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
3662           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
3663           * to represent flexible types is too many wasted bytes.
3664           * </pre>
3665           */
3666          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getFlexibleUpperBound() {
3667            return flexibleUpperBound_;
3668          }
3669          /**
3670           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;</code>
3671           *
3672           * <pre>
3673           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
3674           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
3675           * to represent flexible types is too many wasted bytes.
3676           * </pre>
3677           */
3678          public Builder setFlexibleUpperBound(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
3679            if (value == null) {
3680              throw new NullPointerException();
3681            }
3682            flexibleUpperBound_ = value;
3683    
3684            bitField0_ |= 0x00000010;
3685            return this;
3686          }
3687          /**
3688           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;</code>
3689           *
3690           * <pre>
3691           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
3692           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
3693           * to represent flexible types is too many wasted bytes.
3694           * </pre>
3695           */
3696          public Builder setFlexibleUpperBound(
3697              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
3698            flexibleUpperBound_ = builderForValue.build();
3699    
3700            bitField0_ |= 0x00000010;
3701            return this;
3702          }
3703          /**
3704           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;</code>
3705           *
3706           * <pre>
3707           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
3708           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
3709           * to represent flexible types is too many wasted bytes.
3710           * </pre>
3711           */
3712          public Builder mergeFlexibleUpperBound(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
3713            if (((bitField0_ & 0x00000010) == 0x00000010) &&
3714                flexibleUpperBound_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) {
3715              flexibleUpperBound_ =
3716                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder(flexibleUpperBound_).mergeFrom(value).buildPartial();
3717            } else {
3718              flexibleUpperBound_ = value;
3719            }
3720    
3721            bitField0_ |= 0x00000010;
3722            return this;
3723          }
3724          /**
3725           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;</code>
3726           *
3727           * <pre>
3728           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
3729           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
3730           * to represent flexible types is too many wasted bytes.
3731           * </pre>
3732           */
3733          public Builder clearFlexibleUpperBound() {
3734            flexibleUpperBound_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
3735    
3736            bitField0_ = (bitField0_ & ~0x00000010);
3737            return this;
3738          }
3739    
3740          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Type)
3741        }
3742    
3743        static {
3744          defaultInstance = new Type(true);
3745          defaultInstance.initFields();
3746        }
3747    
3748        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Type)
3749      }
3750    
3751      public interface TypeParameterOrBuilder
3752          extends com.google.protobuf.MessageLiteOrBuilder {
3753    
3754        // required int32 id = 1;
3755        /**
3756         * <code>required int32 id = 1;</code>
3757         */
3758        boolean hasId();
3759        /**
3760         * <code>required int32 id = 1;</code>
3761         */
3762        int getId();
3763    
3764        // required int32 name = 2;
3765        /**
3766         * <code>required int32 name = 2;</code>
3767         *
3768         * <pre>
3769         * Id in the StringTable
3770         * </pre>
3771         */
3772        boolean hasName();
3773        /**
3774         * <code>required int32 name = 2;</code>
3775         *
3776         * <pre>
3777         * Id in the StringTable
3778         * </pre>
3779         */
3780        int getName();
3781    
3782        // optional bool reified = 3 [default = false];
3783        /**
3784         * <code>optional bool reified = 3 [default = false];</code>
3785         */
3786        boolean hasReified();
3787        /**
3788         * <code>optional bool reified = 3 [default = false];</code>
3789         */
3790        boolean getReified();
3791    
3792        // optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];
3793        /**
3794         * <code>optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
3795         */
3796        boolean hasVariance();
3797        /**
3798         * <code>optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
3799         */
3800        org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance getVariance();
3801    
3802        // repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;
3803        /**
3804         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
3805         */
3806        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> 
3807            getUpperBoundList();
3808        /**
3809         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
3810         */
3811        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getUpperBound(int index);
3812        /**
3813         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
3814         */
3815        int getUpperBoundCount();
3816      }
3817      /**
3818       * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.TypeParameter}
3819       */
3820      public static final class TypeParameter extends
3821          com.google.protobuf.GeneratedMessageLite
3822          implements TypeParameterOrBuilder {
3823        // Use TypeParameter.newBuilder() to construct.
3824        private TypeParameter(com.google.protobuf.GeneratedMessageLite.Builder builder) {
3825          super(builder);
3826    
3827        }
3828        private TypeParameter(boolean noInit) {}
3829    
3830        private static final TypeParameter defaultInstance;
3831        public static TypeParameter getDefaultInstance() {
3832          return defaultInstance;
3833        }
3834    
3835        public TypeParameter getDefaultInstanceForType() {
3836          return defaultInstance;
3837        }
3838    
3839        private TypeParameter(
3840            com.google.protobuf.CodedInputStream input,
3841            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3842            throws com.google.protobuf.InvalidProtocolBufferException {
3843          initFields();
3844          int mutable_bitField0_ = 0;
3845          try {
3846            boolean done = false;
3847            while (!done) {
3848              int tag = input.readTag();
3849              switch (tag) {
3850                case 0:
3851                  done = true;
3852                  break;
3853                default: {
3854                  if (!parseUnknownField(input,
3855                                         extensionRegistry, tag)) {
3856                    done = true;
3857                  }
3858                  break;
3859                }
3860                case 8: {
3861                  bitField0_ |= 0x00000001;
3862                  id_ = input.readInt32();
3863                  break;
3864                }
3865                case 16: {
3866                  bitField0_ |= 0x00000002;
3867                  name_ = input.readInt32();
3868                  break;
3869                }
3870                case 24: {
3871                  bitField0_ |= 0x00000004;
3872                  reified_ = input.readBool();
3873                  break;
3874                }
3875                case 32: {
3876                  int rawValue = input.readEnum();
3877                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance value = org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance.valueOf(rawValue);
3878                  if (value != null) {
3879                    bitField0_ |= 0x00000008;
3880                    variance_ = value;
3881                  }
3882                  break;
3883                }
3884                case 42: {
3885                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
3886                    upperBound_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type>();
3887                    mutable_bitField0_ |= 0x00000010;
3888                  }
3889                  upperBound_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
3890                  break;
3891                }
3892              }
3893            }
3894          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3895            throw e.setUnfinishedMessage(this);
3896          } catch (java.io.IOException e) {
3897            throw new com.google.protobuf.InvalidProtocolBufferException(
3898                e.getMessage()).setUnfinishedMessage(this);
3899          } finally {
3900            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
3901              upperBound_ = java.util.Collections.unmodifiableList(upperBound_);
3902            }
3903            makeExtensionsImmutable();
3904          }
3905        }
3906        public static com.google.protobuf.Parser<TypeParameter> PARSER =
3907            new com.google.protobuf.AbstractParser<TypeParameter>() {
3908          public TypeParameter parsePartialFrom(
3909              com.google.protobuf.CodedInputStream input,
3910              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3911              throws com.google.protobuf.InvalidProtocolBufferException {
3912            return new TypeParameter(input, extensionRegistry);
3913          }
3914        };
3915    
3916        @java.lang.Override
3917        public com.google.protobuf.Parser<TypeParameter> getParserForType() {
3918          return PARSER;
3919        }
3920    
3921        /**
3922         * Protobuf enum {@code org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance}
3923         */
3924        public enum Variance
3925            implements com.google.protobuf.Internal.EnumLite {
3926          /**
3927           * <code>IN = 0;</code>
3928           */
3929          IN(0, 0),
3930          /**
3931           * <code>OUT = 1;</code>
3932           */
3933          OUT(1, 1),
3934          /**
3935           * <code>INV = 2;</code>
3936           */
3937          INV(2, 2),
3938          ;
3939    
3940          /**
3941           * <code>IN = 0;</code>
3942           */
3943          public static final int IN_VALUE = 0;
3944          /**
3945           * <code>OUT = 1;</code>
3946           */
3947          public static final int OUT_VALUE = 1;
3948          /**
3949           * <code>INV = 2;</code>
3950           */
3951          public static final int INV_VALUE = 2;
3952    
3953    
3954          public final int getNumber() { return value; }
3955    
3956          public static Variance valueOf(int value) {
3957            switch (value) {
3958              case 0: return IN;
3959              case 1: return OUT;
3960              case 2: return INV;
3961              default: return null;
3962            }
3963          }
3964    
3965          public static com.google.protobuf.Internal.EnumLiteMap<Variance>
3966              internalGetValueMap() {
3967            return internalValueMap;
3968          }
3969          private static com.google.protobuf.Internal.EnumLiteMap<Variance>
3970              internalValueMap =
3971                new com.google.protobuf.Internal.EnumLiteMap<Variance>() {
3972                  public Variance findValueByNumber(int number) {
3973                    return Variance.valueOf(number);
3974                  }
3975                };
3976    
3977          private final int value;
3978    
3979          private Variance(int index, int value) {
3980            this.value = value;
3981          }
3982    
3983          // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance)
3984        }
3985    
3986        private int bitField0_;
3987        // required int32 id = 1;
3988        public static final int ID_FIELD_NUMBER = 1;
3989        private int id_;
3990        /**
3991         * <code>required int32 id = 1;</code>
3992         */
3993        public boolean hasId() {
3994          return ((bitField0_ & 0x00000001) == 0x00000001);
3995        }
3996        /**
3997         * <code>required int32 id = 1;</code>
3998         */
3999        public int getId() {
4000          return id_;
4001        }
4002    
4003        // required int32 name = 2;
4004        public static final int NAME_FIELD_NUMBER = 2;
4005        private int name_;
4006        /**
4007         * <code>required int32 name = 2;</code>
4008         *
4009         * <pre>
4010         * Id in the StringTable
4011         * </pre>
4012         */
4013        public boolean hasName() {
4014          return ((bitField0_ & 0x00000002) == 0x00000002);
4015        }
4016        /**
4017         * <code>required int32 name = 2;</code>
4018         *
4019         * <pre>
4020         * Id in the StringTable
4021         * </pre>
4022         */
4023        public int getName() {
4024          return name_;
4025        }
4026    
4027        // optional bool reified = 3 [default = false];
4028        public static final int REIFIED_FIELD_NUMBER = 3;
4029        private boolean reified_;
4030        /**
4031         * <code>optional bool reified = 3 [default = false];</code>
4032         */
4033        public boolean hasReified() {
4034          return ((bitField0_ & 0x00000004) == 0x00000004);
4035        }
4036        /**
4037         * <code>optional bool reified = 3 [default = false];</code>
4038         */
4039        public boolean getReified() {
4040          return reified_;
4041        }
4042    
4043        // optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];
4044        public static final int VARIANCE_FIELD_NUMBER = 4;
4045        private org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance variance_;
4046        /**
4047         * <code>optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
4048         */
4049        public boolean hasVariance() {
4050          return ((bitField0_ & 0x00000008) == 0x00000008);
4051        }
4052        /**
4053         * <code>optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
4054         */
4055        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
4056          return variance_;
4057        }
4058    
4059        // repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;
4060        public static final int UPPER_BOUND_FIELD_NUMBER = 5;
4061        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> upperBound_;
4062        /**
4063         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
4064         */
4065        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> getUpperBoundList() {
4066          return upperBound_;
4067        }
4068        /**
4069         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
4070         */
4071        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeOrBuilder> 
4072            getUpperBoundOrBuilderList() {
4073          return upperBound_;
4074        }
4075        /**
4076         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
4077         */
4078        public int getUpperBoundCount() {
4079          return upperBound_.size();
4080        }
4081        /**
4082         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
4083         */
4084        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getUpperBound(int index) {
4085          return upperBound_.get(index);
4086        }
4087        /**
4088         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
4089         */
4090        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeOrBuilder getUpperBoundOrBuilder(
4091            int index) {
4092          return upperBound_.get(index);
4093        }
4094    
4095        private void initFields() {
4096          id_ = 0;
4097          name_ = 0;
4098          reified_ = false;
4099          variance_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance.INV;
4100          upperBound_ = java.util.Collections.emptyList();
4101        }
4102        private byte memoizedIsInitialized = -1;
4103        public final boolean isInitialized() {
4104          byte isInitialized = memoizedIsInitialized;
4105          if (isInitialized != -1) return isInitialized == 1;
4106    
4107          if (!hasId()) {
4108            memoizedIsInitialized = 0;
4109            return false;
4110          }
4111          if (!hasName()) {
4112            memoizedIsInitialized = 0;
4113            return false;
4114          }
4115          for (int i = 0; i < getUpperBoundCount(); i++) {
4116            if (!getUpperBound(i).isInitialized()) {
4117              memoizedIsInitialized = 0;
4118              return false;
4119            }
4120          }
4121          memoizedIsInitialized = 1;
4122          return true;
4123        }
4124    
4125        public void writeTo(com.google.protobuf.CodedOutputStream output)
4126                            throws java.io.IOException {
4127          getSerializedSize();
4128          if (((bitField0_ & 0x00000001) == 0x00000001)) {
4129            output.writeInt32(1, id_);
4130          }
4131          if (((bitField0_ & 0x00000002) == 0x00000002)) {
4132            output.writeInt32(2, name_);
4133          }
4134          if (((bitField0_ & 0x00000004) == 0x00000004)) {
4135            output.writeBool(3, reified_);
4136          }
4137          if (((bitField0_ & 0x00000008) == 0x00000008)) {
4138            output.writeEnum(4, variance_.getNumber());
4139          }
4140          for (int i = 0; i < upperBound_.size(); i++) {
4141            output.writeMessage(5, upperBound_.get(i));
4142          }
4143        }
4144    
4145        private int memoizedSerializedSize = -1;
4146        public int getSerializedSize() {
4147          int size = memoizedSerializedSize;
4148          if (size != -1) return size;
4149    
4150          size = 0;
4151          if (((bitField0_ & 0x00000001) == 0x00000001)) {
4152            size += com.google.protobuf.CodedOutputStream
4153              .computeInt32Size(1, id_);
4154          }
4155          if (((bitField0_ & 0x00000002) == 0x00000002)) {
4156            size += com.google.protobuf.CodedOutputStream
4157              .computeInt32Size(2, name_);
4158          }
4159          if (((bitField0_ & 0x00000004) == 0x00000004)) {
4160            size += com.google.protobuf.CodedOutputStream
4161              .computeBoolSize(3, reified_);
4162          }
4163          if (((bitField0_ & 0x00000008) == 0x00000008)) {
4164            size += com.google.protobuf.CodedOutputStream
4165              .computeEnumSize(4, variance_.getNumber());
4166          }
4167          for (int i = 0; i < upperBound_.size(); i++) {
4168            size += com.google.protobuf.CodedOutputStream
4169              .computeMessageSize(5, upperBound_.get(i));
4170          }
4171          memoizedSerializedSize = size;
4172          return size;
4173        }
4174    
4175        private static final long serialVersionUID = 0L;
4176        @java.lang.Override
4177        protected java.lang.Object writeReplace()
4178            throws java.io.ObjectStreamException {
4179          return super.writeReplace();
4180        }
4181    
4182        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(
4183            com.google.protobuf.ByteString data)
4184            throws com.google.protobuf.InvalidProtocolBufferException {
4185          return PARSER.parseFrom(data);
4186        }
4187        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(
4188            com.google.protobuf.ByteString data,
4189            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4190            throws com.google.protobuf.InvalidProtocolBufferException {
4191          return PARSER.parseFrom(data, extensionRegistry);
4192        }
4193        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(byte[] data)
4194            throws com.google.protobuf.InvalidProtocolBufferException {
4195          return PARSER.parseFrom(data);
4196        }
4197        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(
4198            byte[] data,
4199            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4200            throws com.google.protobuf.InvalidProtocolBufferException {
4201          return PARSER.parseFrom(data, extensionRegistry);
4202        }
4203        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(java.io.InputStream input)
4204            throws java.io.IOException {
4205          return PARSER.parseFrom(input);
4206        }
4207        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(
4208            java.io.InputStream input,
4209            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4210            throws java.io.IOException {
4211          return PARSER.parseFrom(input, extensionRegistry);
4212        }
4213        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(java.io.InputStream input)
4214            throws java.io.IOException {
4215          return PARSER.parseDelimitedFrom(input);
4216        }
4217        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(
4218            java.io.InputStream input,
4219            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4220            throws java.io.IOException {
4221          return PARSER.parseDelimitedFrom(input, extensionRegistry);
4222        }
4223        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(
4224            com.google.protobuf.CodedInputStream input)
4225            throws java.io.IOException {
4226          return PARSER.parseFrom(input);
4227        }
4228        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(
4229            com.google.protobuf.CodedInputStream input,
4230            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4231            throws java.io.IOException {
4232          return PARSER.parseFrom(input, extensionRegistry);
4233        }
4234    
4235        public static Builder newBuilder() { return Builder.create(); }
4236        public Builder newBuilderForType() { return newBuilder(); }
4237        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter prototype) {
4238          return newBuilder().mergeFrom(prototype);
4239        }
4240        public Builder toBuilder() { return newBuilder(this); }
4241    
4242        /**
4243         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.TypeParameter}
4244         */
4245        public static final class Builder extends
4246            com.google.protobuf.GeneratedMessageLite.Builder<
4247              org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter, Builder>
4248            implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameterOrBuilder {
4249          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.newBuilder()
4250          private Builder() {
4251            maybeForceBuilderInitialization();
4252          }
4253    
4254          private void maybeForceBuilderInitialization() {
4255          }
4256          private static Builder create() {
4257            return new Builder();
4258          }
4259    
4260          public Builder clear() {
4261            super.clear();
4262            id_ = 0;
4263            bitField0_ = (bitField0_ & ~0x00000001);
4264            name_ = 0;
4265            bitField0_ = (bitField0_ & ~0x00000002);
4266            reified_ = false;
4267            bitField0_ = (bitField0_ & ~0x00000004);
4268            variance_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance.INV;
4269            bitField0_ = (bitField0_ & ~0x00000008);
4270            upperBound_ = java.util.Collections.emptyList();
4271            bitField0_ = (bitField0_ & ~0x00000010);
4272            return this;
4273          }
4274    
4275          public Builder clone() {
4276            return create().mergeFrom(buildPartial());
4277          }
4278    
4279          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getDefaultInstanceForType() {
4280            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.getDefaultInstance();
4281          }
4282    
4283          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter build() {
4284            org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter result = buildPartial();
4285            if (!result.isInitialized()) {
4286              throw newUninitializedMessageException(result);
4287            }
4288            return result;
4289          }
4290    
4291          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter buildPartial() {
4292            org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter(this);
4293            int from_bitField0_ = bitField0_;
4294            int to_bitField0_ = 0;
4295            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
4296              to_bitField0_ |= 0x00000001;
4297            }
4298            result.id_ = id_;
4299            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
4300              to_bitField0_ |= 0x00000002;
4301            }
4302            result.name_ = name_;
4303            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
4304              to_bitField0_ |= 0x00000004;
4305            }
4306            result.reified_ = reified_;
4307            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
4308              to_bitField0_ |= 0x00000008;
4309            }
4310            result.variance_ = variance_;
4311            if (((bitField0_ & 0x00000010) == 0x00000010)) {
4312              upperBound_ = java.util.Collections.unmodifiableList(upperBound_);
4313              bitField0_ = (bitField0_ & ~0x00000010);
4314            }
4315            result.upperBound_ = upperBound_;
4316            result.bitField0_ = to_bitField0_;
4317            return result;
4318          }
4319    
4320          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter other) {
4321            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.getDefaultInstance()) return this;
4322            if (other.hasId()) {
4323              setId(other.getId());
4324            }
4325            if (other.hasName()) {
4326              setName(other.getName());
4327            }
4328            if (other.hasReified()) {
4329              setReified(other.getReified());
4330            }
4331            if (other.hasVariance()) {
4332              setVariance(other.getVariance());
4333            }
4334            if (!other.upperBound_.isEmpty()) {
4335              if (upperBound_.isEmpty()) {
4336                upperBound_ = other.upperBound_;
4337                bitField0_ = (bitField0_ & ~0x00000010);
4338              } else {
4339                ensureUpperBoundIsMutable();
4340                upperBound_.addAll(other.upperBound_);
4341              }
4342              
4343            }
4344            return this;
4345          }
4346    
4347          public final boolean isInitialized() {
4348            if (!hasId()) {
4349              
4350              return false;
4351            }
4352            if (!hasName()) {
4353              
4354              return false;
4355            }
4356            for (int i = 0; i < getUpperBoundCount(); i++) {
4357              if (!getUpperBound(i).isInitialized()) {
4358                
4359                return false;
4360              }
4361            }
4362            return true;
4363          }
4364    
4365          public Builder mergeFrom(
4366              com.google.protobuf.CodedInputStream input,
4367              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4368              throws java.io.IOException {
4369            org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parsedMessage = null;
4370            try {
4371              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
4372            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4373              parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter) e.getUnfinishedMessage();
4374              throw e;
4375            } finally {
4376              if (parsedMessage != null) {
4377                mergeFrom(parsedMessage);
4378              }
4379            }
4380            return this;
4381          }
4382          private int bitField0_;
4383    
4384          // required int32 id = 1;
4385          private int id_ ;
4386          /**
4387           * <code>required int32 id = 1;</code>
4388           */
4389          public boolean hasId() {
4390            return ((bitField0_ & 0x00000001) == 0x00000001);
4391          }
4392          /**
4393           * <code>required int32 id = 1;</code>
4394           */
4395          public int getId() {
4396            return id_;
4397          }
4398          /**
4399           * <code>required int32 id = 1;</code>
4400           */
4401          public Builder setId(int value) {
4402            bitField0_ |= 0x00000001;
4403            id_ = value;
4404            
4405            return this;
4406          }
4407          /**
4408           * <code>required int32 id = 1;</code>
4409           */
4410          public Builder clearId() {
4411            bitField0_ = (bitField0_ & ~0x00000001);
4412            id_ = 0;
4413            
4414            return this;
4415          }
4416    
4417          // required int32 name = 2;
4418          private int name_ ;
4419          /**
4420           * <code>required int32 name = 2;</code>
4421           *
4422           * <pre>
4423           * Id in the StringTable
4424           * </pre>
4425           */
4426          public boolean hasName() {
4427            return ((bitField0_ & 0x00000002) == 0x00000002);
4428          }
4429          /**
4430           * <code>required int32 name = 2;</code>
4431           *
4432           * <pre>
4433           * Id in the StringTable
4434           * </pre>
4435           */
4436          public int getName() {
4437            return name_;
4438          }
4439          /**
4440           * <code>required int32 name = 2;</code>
4441           *
4442           * <pre>
4443           * Id in the StringTable
4444           * </pre>
4445           */
4446          public Builder setName(int value) {
4447            bitField0_ |= 0x00000002;
4448            name_ = value;
4449            
4450            return this;
4451          }
4452          /**
4453           * <code>required int32 name = 2;</code>
4454           *
4455           * <pre>
4456           * Id in the StringTable
4457           * </pre>
4458           */
4459          public Builder clearName() {
4460            bitField0_ = (bitField0_ & ~0x00000002);
4461            name_ = 0;
4462            
4463            return this;
4464          }
4465    
4466          // optional bool reified = 3 [default = false];
4467          private boolean reified_ ;
4468          /**
4469           * <code>optional bool reified = 3 [default = false];</code>
4470           */
4471          public boolean hasReified() {
4472            return ((bitField0_ & 0x00000004) == 0x00000004);
4473          }
4474          /**
4475           * <code>optional bool reified = 3 [default = false];</code>
4476           */
4477          public boolean getReified() {
4478            return reified_;
4479          }
4480          /**
4481           * <code>optional bool reified = 3 [default = false];</code>
4482           */
4483          public Builder setReified(boolean value) {
4484            bitField0_ |= 0x00000004;
4485            reified_ = value;
4486            
4487            return this;
4488          }
4489          /**
4490           * <code>optional bool reified = 3 [default = false];</code>
4491           */
4492          public Builder clearReified() {
4493            bitField0_ = (bitField0_ & ~0x00000004);
4494            reified_ = false;
4495            
4496            return this;
4497          }
4498    
4499          // optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];
4500          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance variance_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance.INV;
4501          /**
4502           * <code>optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
4503           */
4504          public boolean hasVariance() {
4505            return ((bitField0_ & 0x00000008) == 0x00000008);
4506          }
4507          /**
4508           * <code>optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
4509           */
4510          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
4511            return variance_;
4512          }
4513          /**
4514           * <code>optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
4515           */
4516          public Builder setVariance(org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance value) {
4517            if (value == null) {
4518              throw new NullPointerException();
4519            }
4520            bitField0_ |= 0x00000008;
4521            variance_ = value;
4522            
4523            return this;
4524          }
4525          /**
4526           * <code>optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
4527           */
4528          public Builder clearVariance() {
4529            bitField0_ = (bitField0_ & ~0x00000008);
4530            variance_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance.INV;
4531            
4532            return this;
4533          }
4534    
4535          // repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;
4536          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> upperBound_ =
4537            java.util.Collections.emptyList();
4538          private void ensureUpperBoundIsMutable() {
4539            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
4540              upperBound_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type>(upperBound_);
4541              bitField0_ |= 0x00000010;
4542             }
4543          }
4544    
4545          /**
4546           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
4547           */
4548          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> getUpperBoundList() {
4549            return java.util.Collections.unmodifiableList(upperBound_);
4550          }
4551          /**
4552           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
4553           */
4554          public int getUpperBoundCount() {
4555            return upperBound_.size();
4556          }
4557          /**
4558           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
4559           */
4560          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getUpperBound(int index) {
4561            return upperBound_.get(index);
4562          }
4563          /**
4564           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
4565           */
4566          public Builder setUpperBound(
4567              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
4568            if (value == null) {
4569              throw new NullPointerException();
4570            }
4571            ensureUpperBoundIsMutable();
4572            upperBound_.set(index, value);
4573    
4574            return this;
4575          }
4576          /**
4577           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
4578           */
4579          public Builder setUpperBound(
4580              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
4581            ensureUpperBoundIsMutable();
4582            upperBound_.set(index, builderForValue.build());
4583    
4584            return this;
4585          }
4586          /**
4587           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
4588           */
4589          public Builder addUpperBound(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
4590            if (value == null) {
4591              throw new NullPointerException();
4592            }
4593            ensureUpperBoundIsMutable();
4594            upperBound_.add(value);
4595    
4596            return this;
4597          }
4598          /**
4599           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
4600           */
4601          public Builder addUpperBound(
4602              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
4603            if (value == null) {
4604              throw new NullPointerException();
4605            }
4606            ensureUpperBoundIsMutable();
4607            upperBound_.add(index, value);
4608    
4609            return this;
4610          }
4611          /**
4612           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
4613           */
4614          public Builder addUpperBound(
4615              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
4616            ensureUpperBoundIsMutable();
4617            upperBound_.add(builderForValue.build());
4618    
4619            return this;
4620          }
4621          /**
4622           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
4623           */
4624          public Builder addUpperBound(
4625              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
4626            ensureUpperBoundIsMutable();
4627            upperBound_.add(index, builderForValue.build());
4628    
4629            return this;
4630          }
4631          /**
4632           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
4633           */
4634          public Builder addAllUpperBound(
4635              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> values) {
4636            ensureUpperBoundIsMutable();
4637            super.addAll(values, upperBound_);
4638    
4639            return this;
4640          }
4641          /**
4642           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
4643           */
4644          public Builder clearUpperBound() {
4645            upperBound_ = java.util.Collections.emptyList();
4646            bitField0_ = (bitField0_ & ~0x00000010);
4647    
4648            return this;
4649          }
4650          /**
4651           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
4652           */
4653          public Builder removeUpperBound(int index) {
4654            ensureUpperBoundIsMutable();
4655            upperBound_.remove(index);
4656    
4657            return this;
4658          }
4659    
4660          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.TypeParameter)
4661        }
4662    
4663        static {
4664          defaultInstance = new TypeParameter(true);
4665          defaultInstance.initFields();
4666        }
4667    
4668        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.TypeParameter)
4669      }
4670    
4671      public interface ClassOrBuilder
4672          extends com.google.protobuf.MessageLiteOrBuilder {
4673    
4674        // optional int32 flags = 1 [default = 0];
4675        /**
4676         * <code>optional int32 flags = 1 [default = 0];</code>
4677         *
4678         * <pre>
4679         *
4680         *Visibility
4681         *Modality
4682         *has_annotation
4683         *ClassKind
4684         *is_inner
4685         * </pre>
4686         */
4687        boolean hasFlags();
4688        /**
4689         * <code>optional int32 flags = 1 [default = 0];</code>
4690         *
4691         * <pre>
4692         *
4693         *Visibility
4694         *Modality
4695         *has_annotation
4696         *ClassKind
4697         *is_inner
4698         * </pre>
4699         */
4700        int getFlags();
4701    
4702        // optional string extra_visibility = 2;
4703        /**
4704         * <code>optional string extra_visibility = 2;</code>
4705         *
4706         * <pre>
4707         * for things like java-specific visibilities
4708         * </pre>
4709         */
4710        boolean hasExtraVisibility();
4711        /**
4712         * <code>optional string extra_visibility = 2;</code>
4713         *
4714         * <pre>
4715         * for things like java-specific visibilities
4716         * </pre>
4717         */
4718        java.lang.String getExtraVisibility();
4719        /**
4720         * <code>optional string extra_visibility = 2;</code>
4721         *
4722         * <pre>
4723         * for things like java-specific visibilities
4724         * </pre>
4725         */
4726        com.google.protobuf.ByteString
4727            getExtraVisibilityBytes();
4728    
4729        // required int32 fq_name = 3;
4730        /**
4731         * <code>required int32 fq_name = 3;</code>
4732         */
4733        boolean hasFqName();
4734        /**
4735         * <code>required int32 fq_name = 3;</code>
4736         */
4737        int getFqName();
4738    
4739        // optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;
4740        /**
4741         * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;</code>
4742         *
4743         * <pre>
4744         * This field is present if and only if the class has a class object. Its proto should be found either here or in the separate file
4745         * </pre>
4746         */
4747        boolean hasClassObject();
4748        /**
4749         * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;</code>
4750         *
4751         * <pre>
4752         * This field is present if and only if the class has a class object. Its proto should be found either here or in the separate file
4753         * </pre>
4754         */
4755        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject getClassObject();
4756    
4757        // repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;
4758        /**
4759         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
4760         */
4761        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> 
4762            getTypeParameterList();
4763        /**
4764         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
4765         */
4766        org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
4767        /**
4768         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
4769         */
4770        int getTypeParameterCount();
4771    
4772        // repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;
4773        /**
4774         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
4775         */
4776        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> 
4777            getSupertypeList();
4778        /**
4779         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
4780         */
4781        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getSupertype(int index);
4782        /**
4783         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
4784         */
4785        int getSupertypeCount();
4786    
4787        // repeated int32 nested_class_name = 7;
4788        /**
4789         * <code>repeated int32 nested_class_name = 7;</code>
4790         *
4791         * <pre>
4792         * we store only names, because the actual information must reside in the corresponding .class files,
4793         * to be obtainable through reflection at runtime
4794         * </pre>
4795         */
4796        java.util.List<java.lang.Integer> getNestedClassNameList();
4797        /**
4798         * <code>repeated int32 nested_class_name = 7;</code>
4799         *
4800         * <pre>
4801         * we store only names, because the actual information must reside in the corresponding .class files,
4802         * to be obtainable through reflection at runtime
4803         * </pre>
4804         */
4805        int getNestedClassNameCount();
4806        /**
4807         * <code>repeated int32 nested_class_name = 7;</code>
4808         *
4809         * <pre>
4810         * we store only names, because the actual information must reside in the corresponding .class files,
4811         * to be obtainable through reflection at runtime
4812         * </pre>
4813         */
4814        int getNestedClassName(int index);
4815    
4816        // repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;
4817        /**
4818         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
4819         */
4820        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> 
4821            getMemberList();
4822        /**
4823         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
4824         */
4825        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getMember(int index);
4826        /**
4827         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
4828         */
4829        int getMemberCount();
4830    
4831        // repeated int32 enum_entry = 12;
4832        /**
4833         * <code>repeated int32 enum_entry = 12;</code>
4834         */
4835        java.util.List<java.lang.Integer> getEnumEntryList();
4836        /**
4837         * <code>repeated int32 enum_entry = 12;</code>
4838         */
4839        int getEnumEntryCount();
4840        /**
4841         * <code>repeated int32 enum_entry = 12;</code>
4842         */
4843        int getEnumEntry(int index);
4844    
4845        // optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;
4846        /**
4847         * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
4848         *
4849         * <pre>
4850         * This field is present if and only if the class has a primary constructor
4851         * </pre>
4852         */
4853        boolean hasPrimaryConstructor();
4854        /**
4855         * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
4856         *
4857         * <pre>
4858         * This field is present if and only if the class has a primary constructor
4859         * </pre>
4860         */
4861        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor getPrimaryConstructor();
4862      }
4863      /**
4864       * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Class}
4865       */
4866      public static final class Class extends
4867          com.google.protobuf.GeneratedMessageLite
4868          implements ClassOrBuilder {
4869        // Use Class.newBuilder() to construct.
4870        private Class(com.google.protobuf.GeneratedMessageLite.Builder builder) {
4871          super(builder);
4872    
4873        }
4874        private Class(boolean noInit) {}
4875    
4876        private static final Class defaultInstance;
4877        public static Class getDefaultInstance() {
4878          return defaultInstance;
4879        }
4880    
4881        public Class getDefaultInstanceForType() {
4882          return defaultInstance;
4883        }
4884    
4885        private Class(
4886            com.google.protobuf.CodedInputStream input,
4887            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4888            throws com.google.protobuf.InvalidProtocolBufferException {
4889          initFields();
4890          int mutable_bitField0_ = 0;
4891          try {
4892            boolean done = false;
4893            while (!done) {
4894              int tag = input.readTag();
4895              switch (tag) {
4896                case 0:
4897                  done = true;
4898                  break;
4899                default: {
4900                  if (!parseUnknownField(input,
4901                                         extensionRegistry, tag)) {
4902                    done = true;
4903                  }
4904                  break;
4905                }
4906                case 8: {
4907                  bitField0_ |= 0x00000001;
4908                  flags_ = input.readInt32();
4909                  break;
4910                }
4911                case 18: {
4912                  bitField0_ |= 0x00000002;
4913                  extraVisibility_ = input.readBytes();
4914                  break;
4915                }
4916                case 24: {
4917                  bitField0_ |= 0x00000004;
4918                  fqName_ = input.readInt32();
4919                  break;
4920                }
4921                case 34: {
4922                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.Builder subBuilder = null;
4923                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
4924                    subBuilder = classObject_.toBuilder();
4925                  }
4926                  classObject_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.PARSER, extensionRegistry);
4927                  if (subBuilder != null) {
4928                    subBuilder.mergeFrom(classObject_);
4929                    classObject_ = subBuilder.buildPartial();
4930                  }
4931                  bitField0_ |= 0x00000008;
4932                  break;
4933                }
4934                case 42: {
4935                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
4936                    typeParameter_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter>();
4937                    mutable_bitField0_ |= 0x00000010;
4938                  }
4939                  typeParameter_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
4940                  break;
4941                }
4942                case 50: {
4943                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
4944                    supertype_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type>();
4945                    mutable_bitField0_ |= 0x00000020;
4946                  }
4947                  supertype_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
4948                  break;
4949                }
4950                case 56: {
4951                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
4952                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
4953                    mutable_bitField0_ |= 0x00000040;
4954                  }
4955                  nestedClassName_.add(input.readInt32());
4956                  break;
4957                }
4958                case 58: {
4959                  int length = input.readRawVarint32();
4960                  int limit = input.pushLimit(length);
4961                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) {
4962                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
4963                    mutable_bitField0_ |= 0x00000040;
4964                  }
4965                  while (input.getBytesUntilLimit() > 0) {
4966                    nestedClassName_.add(input.readInt32());
4967                  }
4968                  input.popLimit(limit);
4969                  break;
4970                }
4971                case 90: {
4972                  if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
4973                    member_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable>();
4974                    mutable_bitField0_ |= 0x00000080;
4975                  }
4976                  member_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.PARSER, extensionRegistry));
4977                  break;
4978                }
4979                case 96: {
4980                  if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
4981                    enumEntry_ = new java.util.ArrayList<java.lang.Integer>();
4982                    mutable_bitField0_ |= 0x00000100;
4983                  }
4984                  enumEntry_.add(input.readInt32());
4985                  break;
4986                }
4987                case 98: {
4988                  int length = input.readRawVarint32();
4989                  int limit = input.pushLimit(length);
4990                  if (!((mutable_bitField0_ & 0x00000100) == 0x00000100) && input.getBytesUntilLimit() > 0) {
4991                    enumEntry_ = new java.util.ArrayList<java.lang.Integer>();
4992                    mutable_bitField0_ |= 0x00000100;
4993                  }
4994                  while (input.getBytesUntilLimit() > 0) {
4995                    enumEntry_.add(input.readInt32());
4996                  }
4997                  input.popLimit(limit);
4998                  break;
4999                }
5000                case 106: {
5001                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.Builder subBuilder = null;
5002                  if (((bitField0_ & 0x00000010) == 0x00000010)) {
5003                    subBuilder = primaryConstructor_.toBuilder();
5004                  }
5005                  primaryConstructor_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.PARSER, extensionRegistry);
5006                  if (subBuilder != null) {
5007                    subBuilder.mergeFrom(primaryConstructor_);
5008                    primaryConstructor_ = subBuilder.buildPartial();
5009                  }
5010                  bitField0_ |= 0x00000010;
5011                  break;
5012                }
5013              }
5014            }
5015          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5016            throw e.setUnfinishedMessage(this);
5017          } catch (java.io.IOException e) {
5018            throw new com.google.protobuf.InvalidProtocolBufferException(
5019                e.getMessage()).setUnfinishedMessage(this);
5020          } finally {
5021            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
5022              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
5023            }
5024            if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
5025              supertype_ = java.util.Collections.unmodifiableList(supertype_);
5026            }
5027            if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
5028              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
5029            }
5030            if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
5031              member_ = java.util.Collections.unmodifiableList(member_);
5032            }
5033            if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
5034              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
5035            }
5036            makeExtensionsImmutable();
5037          }
5038        }
5039        public static com.google.protobuf.Parser<Class> PARSER =
5040            new com.google.protobuf.AbstractParser<Class>() {
5041          public Class parsePartialFrom(
5042              com.google.protobuf.CodedInputStream input,
5043              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5044              throws com.google.protobuf.InvalidProtocolBufferException {
5045            return new Class(input, extensionRegistry);
5046          }
5047        };
5048    
5049        @java.lang.Override
5050        public com.google.protobuf.Parser<Class> getParserForType() {
5051          return PARSER;
5052        }
5053    
5054        /**
5055         * Protobuf enum {@code org.jetbrains.jet.descriptors.serialization.Class.Kind}
5056         */
5057        public enum Kind
5058            implements com.google.protobuf.Internal.EnumLite {
5059          /**
5060           * <code>CLASS = 0;</code>
5061           *
5062           * <pre>
5063           * 3 bits
5064           * </pre>
5065           */
5066          CLASS(0, 0),
5067          /**
5068           * <code>TRAIT = 1;</code>
5069           */
5070          TRAIT(1, 1),
5071          /**
5072           * <code>ENUM_CLASS = 2;</code>
5073           */
5074          ENUM_CLASS(2, 2),
5075          /**
5076           * <code>ENUM_ENTRY = 3;</code>
5077           */
5078          ENUM_ENTRY(3, 3),
5079          /**
5080           * <code>ANNOTATION_CLASS = 4;</code>
5081           */
5082          ANNOTATION_CLASS(4, 4),
5083          /**
5084           * <code>OBJECT = 5;</code>
5085           */
5086          OBJECT(5, 5),
5087          /**
5088           * <code>CLASS_OBJECT = 6;</code>
5089           */
5090          CLASS_OBJECT(6, 6),
5091          ;
5092    
5093          /**
5094           * <code>CLASS = 0;</code>
5095           *
5096           * <pre>
5097           * 3 bits
5098           * </pre>
5099           */
5100          public static final int CLASS_VALUE = 0;
5101          /**
5102           * <code>TRAIT = 1;</code>
5103           */
5104          public static final int TRAIT_VALUE = 1;
5105          /**
5106           * <code>ENUM_CLASS = 2;</code>
5107           */
5108          public static final int ENUM_CLASS_VALUE = 2;
5109          /**
5110           * <code>ENUM_ENTRY = 3;</code>
5111           */
5112          public static final int ENUM_ENTRY_VALUE = 3;
5113          /**
5114           * <code>ANNOTATION_CLASS = 4;</code>
5115           */
5116          public static final int ANNOTATION_CLASS_VALUE = 4;
5117          /**
5118           * <code>OBJECT = 5;</code>
5119           */
5120          public static final int OBJECT_VALUE = 5;
5121          /**
5122           * <code>CLASS_OBJECT = 6;</code>
5123           */
5124          public static final int CLASS_OBJECT_VALUE = 6;
5125    
5126    
5127          public final int getNumber() { return value; }
5128    
5129          public static Kind valueOf(int value) {
5130            switch (value) {
5131              case 0: return CLASS;
5132              case 1: return TRAIT;
5133              case 2: return ENUM_CLASS;
5134              case 3: return ENUM_ENTRY;
5135              case 4: return ANNOTATION_CLASS;
5136              case 5: return OBJECT;
5137              case 6: return CLASS_OBJECT;
5138              default: return null;
5139            }
5140          }
5141    
5142          public static com.google.protobuf.Internal.EnumLiteMap<Kind>
5143              internalGetValueMap() {
5144            return internalValueMap;
5145          }
5146          private static com.google.protobuf.Internal.EnumLiteMap<Kind>
5147              internalValueMap =
5148                new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
5149                  public Kind findValueByNumber(int number) {
5150                    return Kind.valueOf(number);
5151                  }
5152                };
5153    
5154          private final int value;
5155    
5156          private Kind(int index, int value) {
5157            this.value = value;
5158          }
5159    
5160          // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Class.Kind)
5161        }
5162    
5163        public interface ClassObjectOrBuilder
5164            extends com.google.protobuf.MessageLiteOrBuilder {
5165    
5166          // optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;
5167          /**
5168           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;</code>
5169           *
5170           * <pre>
5171           * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
5172           * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
5173           * </pre>
5174           */
5175          boolean hasData();
5176          /**
5177           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;</code>
5178           *
5179           * <pre>
5180           * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
5181           * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
5182           * </pre>
5183           */
5184          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class getData();
5185        }
5186        /**
5187         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Class.ClassObject}
5188         */
5189        public static final class ClassObject extends
5190            com.google.protobuf.GeneratedMessageLite
5191            implements ClassObjectOrBuilder {
5192          // Use ClassObject.newBuilder() to construct.
5193          private ClassObject(com.google.protobuf.GeneratedMessageLite.Builder builder) {
5194            super(builder);
5195    
5196          }
5197          private ClassObject(boolean noInit) {}
5198    
5199          private static final ClassObject defaultInstance;
5200          public static ClassObject getDefaultInstance() {
5201            return defaultInstance;
5202          }
5203    
5204          public ClassObject getDefaultInstanceForType() {
5205            return defaultInstance;
5206          }
5207    
5208          private ClassObject(
5209              com.google.protobuf.CodedInputStream input,
5210              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5211              throws com.google.protobuf.InvalidProtocolBufferException {
5212            initFields();
5213            int mutable_bitField0_ = 0;
5214            try {
5215              boolean done = false;
5216              while (!done) {
5217                int tag = input.readTag();
5218                switch (tag) {
5219                  case 0:
5220                    done = true;
5221                    break;
5222                  default: {
5223                    if (!parseUnknownField(input,
5224                                           extensionRegistry, tag)) {
5225                      done = true;
5226                    }
5227                    break;
5228                  }
5229                  case 10: {
5230                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.Builder subBuilder = null;
5231                    if (((bitField0_ & 0x00000001) == 0x00000001)) {
5232                      subBuilder = data_.toBuilder();
5233                    }
5234                    data_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PARSER, extensionRegistry);
5235                    if (subBuilder != null) {
5236                      subBuilder.mergeFrom(data_);
5237                      data_ = subBuilder.buildPartial();
5238                    }
5239                    bitField0_ |= 0x00000001;
5240                    break;
5241                  }
5242                }
5243              }
5244            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5245              throw e.setUnfinishedMessage(this);
5246            } catch (java.io.IOException e) {
5247              throw new com.google.protobuf.InvalidProtocolBufferException(
5248                  e.getMessage()).setUnfinishedMessage(this);
5249            } finally {
5250              makeExtensionsImmutable();
5251            }
5252          }
5253          public static com.google.protobuf.Parser<ClassObject> PARSER =
5254              new com.google.protobuf.AbstractParser<ClassObject>() {
5255            public ClassObject parsePartialFrom(
5256                com.google.protobuf.CodedInputStream input,
5257                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5258                throws com.google.protobuf.InvalidProtocolBufferException {
5259              return new ClassObject(input, extensionRegistry);
5260            }
5261          };
5262    
5263          @java.lang.Override
5264          public com.google.protobuf.Parser<ClassObject> getParserForType() {
5265            return PARSER;
5266          }
5267    
5268          private int bitField0_;
5269          // optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;
5270          public static final int DATA_FIELD_NUMBER = 1;
5271          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class data_;
5272          /**
5273           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;</code>
5274           *
5275           * <pre>
5276           * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
5277           * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
5278           * </pre>
5279           */
5280          public boolean hasData() {
5281            return ((bitField0_ & 0x00000001) == 0x00000001);
5282          }
5283          /**
5284           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;</code>
5285           *
5286           * <pre>
5287           * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
5288           * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
5289           * </pre>
5290           */
5291          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class getData() {
5292            return data_;
5293          }
5294    
5295          private void initFields() {
5296            data_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.getDefaultInstance();
5297          }
5298          private byte memoizedIsInitialized = -1;
5299          public final boolean isInitialized() {
5300            byte isInitialized = memoizedIsInitialized;
5301            if (isInitialized != -1) return isInitialized == 1;
5302    
5303            if (hasData()) {
5304              if (!getData().isInitialized()) {
5305                memoizedIsInitialized = 0;
5306                return false;
5307              }
5308            }
5309            memoizedIsInitialized = 1;
5310            return true;
5311          }
5312    
5313          public void writeTo(com.google.protobuf.CodedOutputStream output)
5314                              throws java.io.IOException {
5315            getSerializedSize();
5316            if (((bitField0_ & 0x00000001) == 0x00000001)) {
5317              output.writeMessage(1, data_);
5318            }
5319          }
5320    
5321          private int memoizedSerializedSize = -1;
5322          public int getSerializedSize() {
5323            int size = memoizedSerializedSize;
5324            if (size != -1) return size;
5325    
5326            size = 0;
5327            if (((bitField0_ & 0x00000001) == 0x00000001)) {
5328              size += com.google.protobuf.CodedOutputStream
5329                .computeMessageSize(1, data_);
5330            }
5331            memoizedSerializedSize = size;
5332            return size;
5333          }
5334    
5335          private static final long serialVersionUID = 0L;
5336          @java.lang.Override
5337          protected java.lang.Object writeReplace()
5338              throws java.io.ObjectStreamException {
5339            return super.writeReplace();
5340          }
5341    
5342          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parseFrom(
5343              com.google.protobuf.ByteString data)
5344              throws com.google.protobuf.InvalidProtocolBufferException {
5345            return PARSER.parseFrom(data);
5346          }
5347          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parseFrom(
5348              com.google.protobuf.ByteString data,
5349              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5350              throws com.google.protobuf.InvalidProtocolBufferException {
5351            return PARSER.parseFrom(data, extensionRegistry);
5352          }
5353          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parseFrom(byte[] data)
5354              throws com.google.protobuf.InvalidProtocolBufferException {
5355            return PARSER.parseFrom(data);
5356          }
5357          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parseFrom(
5358              byte[] data,
5359              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5360              throws com.google.protobuf.InvalidProtocolBufferException {
5361            return PARSER.parseFrom(data, extensionRegistry);
5362          }
5363          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parseFrom(java.io.InputStream input)
5364              throws java.io.IOException {
5365            return PARSER.parseFrom(input);
5366          }
5367          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parseFrom(
5368              java.io.InputStream input,
5369              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5370              throws java.io.IOException {
5371            return PARSER.parseFrom(input, extensionRegistry);
5372          }
5373          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parseDelimitedFrom(java.io.InputStream input)
5374              throws java.io.IOException {
5375            return PARSER.parseDelimitedFrom(input);
5376          }
5377          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parseDelimitedFrom(
5378              java.io.InputStream input,
5379              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5380              throws java.io.IOException {
5381            return PARSER.parseDelimitedFrom(input, extensionRegistry);
5382          }
5383          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parseFrom(
5384              com.google.protobuf.CodedInputStream input)
5385              throws java.io.IOException {
5386            return PARSER.parseFrom(input);
5387          }
5388          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parseFrom(
5389              com.google.protobuf.CodedInputStream input,
5390              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5391              throws java.io.IOException {
5392            return PARSER.parseFrom(input, extensionRegistry);
5393          }
5394    
5395          public static Builder newBuilder() { return Builder.create(); }
5396          public Builder newBuilderForType() { return newBuilder(); }
5397          public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject prototype) {
5398            return newBuilder().mergeFrom(prototype);
5399          }
5400          public Builder toBuilder() { return newBuilder(this); }
5401    
5402          /**
5403           * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Class.ClassObject}
5404           */
5405          public static final class Builder extends
5406              com.google.protobuf.GeneratedMessageLite.Builder<
5407                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject, Builder>
5408              implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObjectOrBuilder {
5409            // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.newBuilder()
5410            private Builder() {
5411              maybeForceBuilderInitialization();
5412            }
5413    
5414            private void maybeForceBuilderInitialization() {
5415            }
5416            private static Builder create() {
5417              return new Builder();
5418            }
5419    
5420            public Builder clear() {
5421              super.clear();
5422              data_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.getDefaultInstance();
5423              bitField0_ = (bitField0_ & ~0x00000001);
5424              return this;
5425            }
5426    
5427            public Builder clone() {
5428              return create().mergeFrom(buildPartial());
5429            }
5430    
5431            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject getDefaultInstanceForType() {
5432              return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.getDefaultInstance();
5433            }
5434    
5435            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject build() {
5436              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject result = buildPartial();
5437              if (!result.isInitialized()) {
5438                throw newUninitializedMessageException(result);
5439              }
5440              return result;
5441            }
5442    
5443            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject buildPartial() {
5444              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject(this);
5445              int from_bitField0_ = bitField0_;
5446              int to_bitField0_ = 0;
5447              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
5448                to_bitField0_ |= 0x00000001;
5449              }
5450              result.data_ = data_;
5451              result.bitField0_ = to_bitField0_;
5452              return result;
5453            }
5454    
5455            public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject other) {
5456              if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.getDefaultInstance()) return this;
5457              if (other.hasData()) {
5458                mergeData(other.getData());
5459              }
5460              return this;
5461            }
5462    
5463            public final boolean isInitialized() {
5464              if (hasData()) {
5465                if (!getData().isInitialized()) {
5466                  
5467                  return false;
5468                }
5469              }
5470              return true;
5471            }
5472    
5473            public Builder mergeFrom(
5474                com.google.protobuf.CodedInputStream input,
5475                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5476                throws java.io.IOException {
5477              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parsedMessage = null;
5478              try {
5479                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
5480              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5481                parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject) e.getUnfinishedMessage();
5482                throw e;
5483              } finally {
5484                if (parsedMessage != null) {
5485                  mergeFrom(parsedMessage);
5486                }
5487              }
5488              return this;
5489            }
5490            private int bitField0_;
5491    
5492            // optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;
5493            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class data_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.getDefaultInstance();
5494            /**
5495             * <code>optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;</code>
5496             *
5497             * <pre>
5498             * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
5499             * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
5500             * </pre>
5501             */
5502            public boolean hasData() {
5503              return ((bitField0_ & 0x00000001) == 0x00000001);
5504            }
5505            /**
5506             * <code>optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;</code>
5507             *
5508             * <pre>
5509             * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
5510             * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
5511             * </pre>
5512             */
5513            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class getData() {
5514              return data_;
5515            }
5516            /**
5517             * <code>optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;</code>
5518             *
5519             * <pre>
5520             * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
5521             * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
5522             * </pre>
5523             */
5524            public Builder setData(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class value) {
5525              if (value == null) {
5526                throw new NullPointerException();
5527              }
5528              data_ = value;
5529    
5530              bitField0_ |= 0x00000001;
5531              return this;
5532            }
5533            /**
5534             * <code>optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;</code>
5535             *
5536             * <pre>
5537             * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
5538             * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
5539             * </pre>
5540             */
5541            public Builder setData(
5542                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.Builder builderForValue) {
5543              data_ = builderForValue.build();
5544    
5545              bitField0_ |= 0x00000001;
5546              return this;
5547            }
5548            /**
5549             * <code>optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;</code>
5550             *
5551             * <pre>
5552             * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
5553             * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
5554             * </pre>
5555             */
5556            public Builder mergeData(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class value) {
5557              if (((bitField0_ & 0x00000001) == 0x00000001) &&
5558                  data_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.getDefaultInstance()) {
5559                data_ =
5560                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.newBuilder(data_).mergeFrom(value).buildPartial();
5561              } else {
5562                data_ = value;
5563              }
5564    
5565              bitField0_ |= 0x00000001;
5566              return this;
5567            }
5568            /**
5569             * <code>optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;</code>
5570             *
5571             * <pre>
5572             * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
5573             * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
5574             * </pre>
5575             */
5576            public Builder clearData() {
5577              data_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.getDefaultInstance();
5578    
5579              bitField0_ = (bitField0_ & ~0x00000001);
5580              return this;
5581            }
5582    
5583            // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Class.ClassObject)
5584          }
5585    
5586          static {
5587            defaultInstance = new ClassObject(true);
5588            defaultInstance.initFields();
5589          }
5590    
5591          // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Class.ClassObject)
5592        }
5593    
5594        public interface PrimaryConstructorOrBuilder
5595            extends com.google.protobuf.MessageLiteOrBuilder {
5596    
5597          // optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;
5598          /**
5599           * <code>optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;</code>
5600           *
5601           * <pre>
5602           * If this field is present, it contains serialized data for the primary constructor.
5603           * Otherwise it's default and can be created manually upon deserialization
5604           * </pre>
5605           */
5606          boolean hasData();
5607          /**
5608           * <code>optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;</code>
5609           *
5610           * <pre>
5611           * If this field is present, it contains serialized data for the primary constructor.
5612           * Otherwise it's default and can be created manually upon deserialization
5613           * </pre>
5614           */
5615          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getData();
5616        }
5617        /**
5618         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor}
5619         */
5620        public static final class PrimaryConstructor extends
5621            com.google.protobuf.GeneratedMessageLite
5622            implements PrimaryConstructorOrBuilder {
5623          // Use PrimaryConstructor.newBuilder() to construct.
5624          private PrimaryConstructor(com.google.protobuf.GeneratedMessageLite.Builder builder) {
5625            super(builder);
5626    
5627          }
5628          private PrimaryConstructor(boolean noInit) {}
5629    
5630          private static final PrimaryConstructor defaultInstance;
5631          public static PrimaryConstructor getDefaultInstance() {
5632            return defaultInstance;
5633          }
5634    
5635          public PrimaryConstructor getDefaultInstanceForType() {
5636            return defaultInstance;
5637          }
5638    
5639          private PrimaryConstructor(
5640              com.google.protobuf.CodedInputStream input,
5641              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5642              throws com.google.protobuf.InvalidProtocolBufferException {
5643            initFields();
5644            int mutable_bitField0_ = 0;
5645            try {
5646              boolean done = false;
5647              while (!done) {
5648                int tag = input.readTag();
5649                switch (tag) {
5650                  case 0:
5651                    done = true;
5652                    break;
5653                  default: {
5654                    if (!parseUnknownField(input,
5655                                           extensionRegistry, tag)) {
5656                      done = true;
5657                    }
5658                    break;
5659                  }
5660                  case 10: {
5661                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder subBuilder = null;
5662                    if (((bitField0_ & 0x00000001) == 0x00000001)) {
5663                      subBuilder = data_.toBuilder();
5664                    }
5665                    data_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.PARSER, extensionRegistry);
5666                    if (subBuilder != null) {
5667                      subBuilder.mergeFrom(data_);
5668                      data_ = subBuilder.buildPartial();
5669                    }
5670                    bitField0_ |= 0x00000001;
5671                    break;
5672                  }
5673                }
5674              }
5675            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5676              throw e.setUnfinishedMessage(this);
5677            } catch (java.io.IOException e) {
5678              throw new com.google.protobuf.InvalidProtocolBufferException(
5679                  e.getMessage()).setUnfinishedMessage(this);
5680            } finally {
5681              makeExtensionsImmutable();
5682            }
5683          }
5684          public static com.google.protobuf.Parser<PrimaryConstructor> PARSER =
5685              new com.google.protobuf.AbstractParser<PrimaryConstructor>() {
5686            public PrimaryConstructor parsePartialFrom(
5687                com.google.protobuf.CodedInputStream input,
5688                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5689                throws com.google.protobuf.InvalidProtocolBufferException {
5690              return new PrimaryConstructor(input, extensionRegistry);
5691            }
5692          };
5693    
5694          @java.lang.Override
5695          public com.google.protobuf.Parser<PrimaryConstructor> getParserForType() {
5696            return PARSER;
5697          }
5698    
5699          private int bitField0_;
5700          // optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;
5701          public static final int DATA_FIELD_NUMBER = 1;
5702          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable data_;
5703          /**
5704           * <code>optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;</code>
5705           *
5706           * <pre>
5707           * If this field is present, it contains serialized data for the primary constructor.
5708           * Otherwise it's default and can be created manually upon deserialization
5709           * </pre>
5710           */
5711          public boolean hasData() {
5712            return ((bitField0_ & 0x00000001) == 0x00000001);
5713          }
5714          /**
5715           * <code>optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;</code>
5716           *
5717           * <pre>
5718           * If this field is present, it contains serialized data for the primary constructor.
5719           * Otherwise it's default and can be created manually upon deserialization
5720           * </pre>
5721           */
5722          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getData() {
5723            return data_;
5724          }
5725    
5726          private void initFields() {
5727            data_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance();
5728          }
5729          private byte memoizedIsInitialized = -1;
5730          public final boolean isInitialized() {
5731            byte isInitialized = memoizedIsInitialized;
5732            if (isInitialized != -1) return isInitialized == 1;
5733    
5734            if (hasData()) {
5735              if (!getData().isInitialized()) {
5736                memoizedIsInitialized = 0;
5737                return false;
5738              }
5739            }
5740            memoizedIsInitialized = 1;
5741            return true;
5742          }
5743    
5744          public void writeTo(com.google.protobuf.CodedOutputStream output)
5745                              throws java.io.IOException {
5746            getSerializedSize();
5747            if (((bitField0_ & 0x00000001) == 0x00000001)) {
5748              output.writeMessage(1, data_);
5749            }
5750          }
5751    
5752          private int memoizedSerializedSize = -1;
5753          public int getSerializedSize() {
5754            int size = memoizedSerializedSize;
5755            if (size != -1) return size;
5756    
5757            size = 0;
5758            if (((bitField0_ & 0x00000001) == 0x00000001)) {
5759              size += com.google.protobuf.CodedOutputStream
5760                .computeMessageSize(1, data_);
5761            }
5762            memoizedSerializedSize = size;
5763            return size;
5764          }
5765    
5766          private static final long serialVersionUID = 0L;
5767          @java.lang.Override
5768          protected java.lang.Object writeReplace()
5769              throws java.io.ObjectStreamException {
5770            return super.writeReplace();
5771          }
5772    
5773          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
5774              com.google.protobuf.ByteString data)
5775              throws com.google.protobuf.InvalidProtocolBufferException {
5776            return PARSER.parseFrom(data);
5777          }
5778          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
5779              com.google.protobuf.ByteString data,
5780              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5781              throws com.google.protobuf.InvalidProtocolBufferException {
5782            return PARSER.parseFrom(data, extensionRegistry);
5783          }
5784          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(byte[] data)
5785              throws com.google.protobuf.InvalidProtocolBufferException {
5786            return PARSER.parseFrom(data);
5787          }
5788          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
5789              byte[] data,
5790              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5791              throws com.google.protobuf.InvalidProtocolBufferException {
5792            return PARSER.parseFrom(data, extensionRegistry);
5793          }
5794          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(java.io.InputStream input)
5795              throws java.io.IOException {
5796            return PARSER.parseFrom(input);
5797          }
5798          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
5799              java.io.InputStream input,
5800              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5801              throws java.io.IOException {
5802            return PARSER.parseFrom(input, extensionRegistry);
5803          }
5804          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parseDelimitedFrom(java.io.InputStream input)
5805              throws java.io.IOException {
5806            return PARSER.parseDelimitedFrom(input);
5807          }
5808          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parseDelimitedFrom(
5809              java.io.InputStream input,
5810              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5811              throws java.io.IOException {
5812            return PARSER.parseDelimitedFrom(input, extensionRegistry);
5813          }
5814          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
5815              com.google.protobuf.CodedInputStream input)
5816              throws java.io.IOException {
5817            return PARSER.parseFrom(input);
5818          }
5819          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
5820              com.google.protobuf.CodedInputStream input,
5821              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5822              throws java.io.IOException {
5823            return PARSER.parseFrom(input, extensionRegistry);
5824          }
5825    
5826          public static Builder newBuilder() { return Builder.create(); }
5827          public Builder newBuilderForType() { return newBuilder(); }
5828          public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor prototype) {
5829            return newBuilder().mergeFrom(prototype);
5830          }
5831          public Builder toBuilder() { return newBuilder(this); }
5832    
5833          /**
5834           * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor}
5835           */
5836          public static final class Builder extends
5837              com.google.protobuf.GeneratedMessageLite.Builder<
5838                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor, Builder>
5839              implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructorOrBuilder {
5840            // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.newBuilder()
5841            private Builder() {
5842              maybeForceBuilderInitialization();
5843            }
5844    
5845            private void maybeForceBuilderInitialization() {
5846            }
5847            private static Builder create() {
5848              return new Builder();
5849            }
5850    
5851            public Builder clear() {
5852              super.clear();
5853              data_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance();
5854              bitField0_ = (bitField0_ & ~0x00000001);
5855              return this;
5856            }
5857    
5858            public Builder clone() {
5859              return create().mergeFrom(buildPartial());
5860            }
5861    
5862            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor getDefaultInstanceForType() {
5863              return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
5864            }
5865    
5866            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor build() {
5867              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor result = buildPartial();
5868              if (!result.isInitialized()) {
5869                throw newUninitializedMessageException(result);
5870              }
5871              return result;
5872            }
5873    
5874            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor buildPartial() {
5875              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor(this);
5876              int from_bitField0_ = bitField0_;
5877              int to_bitField0_ = 0;
5878              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
5879                to_bitField0_ |= 0x00000001;
5880              }
5881              result.data_ = data_;
5882              result.bitField0_ = to_bitField0_;
5883              return result;
5884            }
5885    
5886            public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor other) {
5887              if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance()) return this;
5888              if (other.hasData()) {
5889                mergeData(other.getData());
5890              }
5891              return this;
5892            }
5893    
5894            public final boolean isInitialized() {
5895              if (hasData()) {
5896                if (!getData().isInitialized()) {
5897                  
5898                  return false;
5899                }
5900              }
5901              return true;
5902            }
5903    
5904            public Builder mergeFrom(
5905                com.google.protobuf.CodedInputStream input,
5906                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5907                throws java.io.IOException {
5908              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parsedMessage = null;
5909              try {
5910                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
5911              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5912                parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor) e.getUnfinishedMessage();
5913                throw e;
5914              } finally {
5915                if (parsedMessage != null) {
5916                  mergeFrom(parsedMessage);
5917                }
5918              }
5919              return this;
5920            }
5921            private int bitField0_;
5922    
5923            // optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;
5924            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable data_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance();
5925            /**
5926             * <code>optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;</code>
5927             *
5928             * <pre>
5929             * If this field is present, it contains serialized data for the primary constructor.
5930             * Otherwise it's default and can be created manually upon deserialization
5931             * </pre>
5932             */
5933            public boolean hasData() {
5934              return ((bitField0_ & 0x00000001) == 0x00000001);
5935            }
5936            /**
5937             * <code>optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;</code>
5938             *
5939             * <pre>
5940             * If this field is present, it contains serialized data for the primary constructor.
5941             * Otherwise it's default and can be created manually upon deserialization
5942             * </pre>
5943             */
5944            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getData() {
5945              return data_;
5946            }
5947            /**
5948             * <code>optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;</code>
5949             *
5950             * <pre>
5951             * If this field is present, it contains serialized data for the primary constructor.
5952             * Otherwise it's default and can be created manually upon deserialization
5953             * </pre>
5954             */
5955            public Builder setData(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
5956              if (value == null) {
5957                throw new NullPointerException();
5958              }
5959              data_ = value;
5960    
5961              bitField0_ |= 0x00000001;
5962              return this;
5963            }
5964            /**
5965             * <code>optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;</code>
5966             *
5967             * <pre>
5968             * If this field is present, it contains serialized data for the primary constructor.
5969             * Otherwise it's default and can be created manually upon deserialization
5970             * </pre>
5971             */
5972            public Builder setData(
5973                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder builderForValue) {
5974              data_ = builderForValue.build();
5975    
5976              bitField0_ |= 0x00000001;
5977              return this;
5978            }
5979            /**
5980             * <code>optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;</code>
5981             *
5982             * <pre>
5983             * If this field is present, it contains serialized data for the primary constructor.
5984             * Otherwise it's default and can be created manually upon deserialization
5985             * </pre>
5986             */
5987            public Builder mergeData(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
5988              if (((bitField0_ & 0x00000001) == 0x00000001) &&
5989                  data_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance()) {
5990                data_ =
5991                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.newBuilder(data_).mergeFrom(value).buildPartial();
5992              } else {
5993                data_ = value;
5994              }
5995    
5996              bitField0_ |= 0x00000001;
5997              return this;
5998            }
5999            /**
6000             * <code>optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;</code>
6001             *
6002             * <pre>
6003             * If this field is present, it contains serialized data for the primary constructor.
6004             * Otherwise it's default and can be created manually upon deserialization
6005             * </pre>
6006             */
6007            public Builder clearData() {
6008              data_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance();
6009    
6010              bitField0_ = (bitField0_ & ~0x00000001);
6011              return this;
6012            }
6013    
6014            // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor)
6015          }
6016    
6017          static {
6018            defaultInstance = new PrimaryConstructor(true);
6019            defaultInstance.initFields();
6020          }
6021    
6022          // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor)
6023        }
6024    
6025        private int bitField0_;
6026        // optional int32 flags = 1 [default = 0];
6027        public static final int FLAGS_FIELD_NUMBER = 1;
6028        private int flags_;
6029        /**
6030         * <code>optional int32 flags = 1 [default = 0];</code>
6031         *
6032         * <pre>
6033         *
6034         *Visibility
6035         *Modality
6036         *has_annotation
6037         *ClassKind
6038         *is_inner
6039         * </pre>
6040         */
6041        public boolean hasFlags() {
6042          return ((bitField0_ & 0x00000001) == 0x00000001);
6043        }
6044        /**
6045         * <code>optional int32 flags = 1 [default = 0];</code>
6046         *
6047         * <pre>
6048         *
6049         *Visibility
6050         *Modality
6051         *has_annotation
6052         *ClassKind
6053         *is_inner
6054         * </pre>
6055         */
6056        public int getFlags() {
6057          return flags_;
6058        }
6059    
6060        // optional string extra_visibility = 2;
6061        public static final int EXTRA_VISIBILITY_FIELD_NUMBER = 2;
6062        private java.lang.Object extraVisibility_;
6063        /**
6064         * <code>optional string extra_visibility = 2;</code>
6065         *
6066         * <pre>
6067         * for things like java-specific visibilities
6068         * </pre>
6069         */
6070        public boolean hasExtraVisibility() {
6071          return ((bitField0_ & 0x00000002) == 0x00000002);
6072        }
6073        /**
6074         * <code>optional string extra_visibility = 2;</code>
6075         *
6076         * <pre>
6077         * for things like java-specific visibilities
6078         * </pre>
6079         */
6080        public java.lang.String getExtraVisibility() {
6081          java.lang.Object ref = extraVisibility_;
6082          if (ref instanceof java.lang.String) {
6083            return (java.lang.String) ref;
6084          } else {
6085            com.google.protobuf.ByteString bs = 
6086                (com.google.protobuf.ByteString) ref;
6087            java.lang.String s = bs.toStringUtf8();
6088            if (bs.isValidUtf8()) {
6089              extraVisibility_ = s;
6090            }
6091            return s;
6092          }
6093        }
6094        /**
6095         * <code>optional string extra_visibility = 2;</code>
6096         *
6097         * <pre>
6098         * for things like java-specific visibilities
6099         * </pre>
6100         */
6101        public com.google.protobuf.ByteString
6102            getExtraVisibilityBytes() {
6103          java.lang.Object ref = extraVisibility_;
6104          if (ref instanceof java.lang.String) {
6105            com.google.protobuf.ByteString b = 
6106                com.google.protobuf.ByteString.copyFromUtf8(
6107                    (java.lang.String) ref);
6108            extraVisibility_ = b;
6109            return b;
6110          } else {
6111            return (com.google.protobuf.ByteString) ref;
6112          }
6113        }
6114    
6115        // required int32 fq_name = 3;
6116        public static final int FQ_NAME_FIELD_NUMBER = 3;
6117        private int fqName_;
6118        /**
6119         * <code>required int32 fq_name = 3;</code>
6120         */
6121        public boolean hasFqName() {
6122          return ((bitField0_ & 0x00000004) == 0x00000004);
6123        }
6124        /**
6125         * <code>required int32 fq_name = 3;</code>
6126         */
6127        public int getFqName() {
6128          return fqName_;
6129        }
6130    
6131        // optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;
6132        public static final int CLASS_OBJECT_FIELD_NUMBER = 4;
6133        private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject classObject_;
6134        /**
6135         * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;</code>
6136         *
6137         * <pre>
6138         * This field is present if and only if the class has a class object. Its proto should be found either here or in the separate file
6139         * </pre>
6140         */
6141        public boolean hasClassObject() {
6142          return ((bitField0_ & 0x00000008) == 0x00000008);
6143        }
6144        /**
6145         * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;</code>
6146         *
6147         * <pre>
6148         * This field is present if and only if the class has a class object. Its proto should be found either here or in the separate file
6149         * </pre>
6150         */
6151        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject getClassObject() {
6152          return classObject_;
6153        }
6154    
6155        // repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;
6156        public static final int TYPE_PARAMETER_FIELD_NUMBER = 5;
6157        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> typeParameter_;
6158        /**
6159         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
6160         */
6161        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
6162          return typeParameter_;
6163        }
6164        /**
6165         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
6166         */
6167        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameterOrBuilder> 
6168            getTypeParameterOrBuilderList() {
6169          return typeParameter_;
6170        }
6171        /**
6172         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
6173         */
6174        public int getTypeParameterCount() {
6175          return typeParameter_.size();
6176        }
6177        /**
6178         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
6179         */
6180        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
6181          return typeParameter_.get(index);
6182        }
6183        /**
6184         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
6185         */
6186        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
6187            int index) {
6188          return typeParameter_.get(index);
6189        }
6190    
6191        // repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;
6192        public static final int SUPERTYPE_FIELD_NUMBER = 6;
6193        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> supertype_;
6194        /**
6195         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
6196         */
6197        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> getSupertypeList() {
6198          return supertype_;
6199        }
6200        /**
6201         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
6202         */
6203        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeOrBuilder> 
6204            getSupertypeOrBuilderList() {
6205          return supertype_;
6206        }
6207        /**
6208         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
6209         */
6210        public int getSupertypeCount() {
6211          return supertype_.size();
6212        }
6213        /**
6214         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
6215         */
6216        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getSupertype(int index) {
6217          return supertype_.get(index);
6218        }
6219        /**
6220         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
6221         */
6222        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeOrBuilder getSupertypeOrBuilder(
6223            int index) {
6224          return supertype_.get(index);
6225        }
6226    
6227        // repeated int32 nested_class_name = 7;
6228        public static final int NESTED_CLASS_NAME_FIELD_NUMBER = 7;
6229        private java.util.List<java.lang.Integer> nestedClassName_;
6230        /**
6231         * <code>repeated int32 nested_class_name = 7;</code>
6232         *
6233         * <pre>
6234         * we store only names, because the actual information must reside in the corresponding .class files,
6235         * to be obtainable through reflection at runtime
6236         * </pre>
6237         */
6238        public java.util.List<java.lang.Integer>
6239            getNestedClassNameList() {
6240          return nestedClassName_;
6241        }
6242        /**
6243         * <code>repeated int32 nested_class_name = 7;</code>
6244         *
6245         * <pre>
6246         * we store only names, because the actual information must reside in the corresponding .class files,
6247         * to be obtainable through reflection at runtime
6248         * </pre>
6249         */
6250        public int getNestedClassNameCount() {
6251          return nestedClassName_.size();
6252        }
6253        /**
6254         * <code>repeated int32 nested_class_name = 7;</code>
6255         *
6256         * <pre>
6257         * we store only names, because the actual information must reside in the corresponding .class files,
6258         * to be obtainable through reflection at runtime
6259         * </pre>
6260         */
6261        public int getNestedClassName(int index) {
6262          return nestedClassName_.get(index);
6263        }
6264    
6265        // repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;
6266        public static final int MEMBER_FIELD_NUMBER = 11;
6267        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> member_;
6268        /**
6269         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
6270         */
6271        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> getMemberList() {
6272          return member_;
6273        }
6274        /**
6275         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
6276         */
6277        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.CallableOrBuilder> 
6278            getMemberOrBuilderList() {
6279          return member_;
6280        }
6281        /**
6282         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
6283         */
6284        public int getMemberCount() {
6285          return member_.size();
6286        }
6287        /**
6288         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
6289         */
6290        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getMember(int index) {
6291          return member_.get(index);
6292        }
6293        /**
6294         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
6295         */
6296        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.CallableOrBuilder getMemberOrBuilder(
6297            int index) {
6298          return member_.get(index);
6299        }
6300    
6301        // repeated int32 enum_entry = 12;
6302        public static final int ENUM_ENTRY_FIELD_NUMBER = 12;
6303        private java.util.List<java.lang.Integer> enumEntry_;
6304        /**
6305         * <code>repeated int32 enum_entry = 12;</code>
6306         */
6307        public java.util.List<java.lang.Integer>
6308            getEnumEntryList() {
6309          return enumEntry_;
6310        }
6311        /**
6312         * <code>repeated int32 enum_entry = 12;</code>
6313         */
6314        public int getEnumEntryCount() {
6315          return enumEntry_.size();
6316        }
6317        /**
6318         * <code>repeated int32 enum_entry = 12;</code>
6319         */
6320        public int getEnumEntry(int index) {
6321          return enumEntry_.get(index);
6322        }
6323    
6324        // optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;
6325        public static final int PRIMARY_CONSTRUCTOR_FIELD_NUMBER = 13;
6326        private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor primaryConstructor_;
6327        /**
6328         * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
6329         *
6330         * <pre>
6331         * This field is present if and only if the class has a primary constructor
6332         * </pre>
6333         */
6334        public boolean hasPrimaryConstructor() {
6335          return ((bitField0_ & 0x00000010) == 0x00000010);
6336        }
6337        /**
6338         * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
6339         *
6340         * <pre>
6341         * This field is present if and only if the class has a primary constructor
6342         * </pre>
6343         */
6344        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor getPrimaryConstructor() {
6345          return primaryConstructor_;
6346        }
6347    
6348        private void initFields() {
6349          flags_ = 0;
6350          extraVisibility_ = "";
6351          fqName_ = 0;
6352          classObject_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.getDefaultInstance();
6353          typeParameter_ = java.util.Collections.emptyList();
6354          supertype_ = java.util.Collections.emptyList();
6355          nestedClassName_ = java.util.Collections.emptyList();
6356          member_ = java.util.Collections.emptyList();
6357          enumEntry_ = java.util.Collections.emptyList();
6358          primaryConstructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
6359        }
6360        private byte memoizedIsInitialized = -1;
6361        public final boolean isInitialized() {
6362          byte isInitialized = memoizedIsInitialized;
6363          if (isInitialized != -1) return isInitialized == 1;
6364    
6365          if (!hasFqName()) {
6366            memoizedIsInitialized = 0;
6367            return false;
6368          }
6369          if (hasClassObject()) {
6370            if (!getClassObject().isInitialized()) {
6371              memoizedIsInitialized = 0;
6372              return false;
6373            }
6374          }
6375          for (int i = 0; i < getTypeParameterCount(); i++) {
6376            if (!getTypeParameter(i).isInitialized()) {
6377              memoizedIsInitialized = 0;
6378              return false;
6379            }
6380          }
6381          for (int i = 0; i < getSupertypeCount(); i++) {
6382            if (!getSupertype(i).isInitialized()) {
6383              memoizedIsInitialized = 0;
6384              return false;
6385            }
6386          }
6387          for (int i = 0; i < getMemberCount(); i++) {
6388            if (!getMember(i).isInitialized()) {
6389              memoizedIsInitialized = 0;
6390              return false;
6391            }
6392          }
6393          if (hasPrimaryConstructor()) {
6394            if (!getPrimaryConstructor().isInitialized()) {
6395              memoizedIsInitialized = 0;
6396              return false;
6397            }
6398          }
6399          memoizedIsInitialized = 1;
6400          return true;
6401        }
6402    
6403        public void writeTo(com.google.protobuf.CodedOutputStream output)
6404                            throws java.io.IOException {
6405          getSerializedSize();
6406          if (((bitField0_ & 0x00000001) == 0x00000001)) {
6407            output.writeInt32(1, flags_);
6408          }
6409          if (((bitField0_ & 0x00000002) == 0x00000002)) {
6410            output.writeBytes(2, getExtraVisibilityBytes());
6411          }
6412          if (((bitField0_ & 0x00000004) == 0x00000004)) {
6413            output.writeInt32(3, fqName_);
6414          }
6415          if (((bitField0_ & 0x00000008) == 0x00000008)) {
6416            output.writeMessage(4, classObject_);
6417          }
6418          for (int i = 0; i < typeParameter_.size(); i++) {
6419            output.writeMessage(5, typeParameter_.get(i));
6420          }
6421          for (int i = 0; i < supertype_.size(); i++) {
6422            output.writeMessage(6, supertype_.get(i));
6423          }
6424          for (int i = 0; i < nestedClassName_.size(); i++) {
6425            output.writeInt32(7, nestedClassName_.get(i));
6426          }
6427          for (int i = 0; i < member_.size(); i++) {
6428            output.writeMessage(11, member_.get(i));
6429          }
6430          for (int i = 0; i < enumEntry_.size(); i++) {
6431            output.writeInt32(12, enumEntry_.get(i));
6432          }
6433          if (((bitField0_ & 0x00000010) == 0x00000010)) {
6434            output.writeMessage(13, primaryConstructor_);
6435          }
6436        }
6437    
6438        private int memoizedSerializedSize = -1;
6439        public int getSerializedSize() {
6440          int size = memoizedSerializedSize;
6441          if (size != -1) return size;
6442    
6443          size = 0;
6444          if (((bitField0_ & 0x00000001) == 0x00000001)) {
6445            size += com.google.protobuf.CodedOutputStream
6446              .computeInt32Size(1, flags_);
6447          }
6448          if (((bitField0_ & 0x00000002) == 0x00000002)) {
6449            size += com.google.protobuf.CodedOutputStream
6450              .computeBytesSize(2, getExtraVisibilityBytes());
6451          }
6452          if (((bitField0_ & 0x00000004) == 0x00000004)) {
6453            size += com.google.protobuf.CodedOutputStream
6454              .computeInt32Size(3, fqName_);
6455          }
6456          if (((bitField0_ & 0x00000008) == 0x00000008)) {
6457            size += com.google.protobuf.CodedOutputStream
6458              .computeMessageSize(4, classObject_);
6459          }
6460          for (int i = 0; i < typeParameter_.size(); i++) {
6461            size += com.google.protobuf.CodedOutputStream
6462              .computeMessageSize(5, typeParameter_.get(i));
6463          }
6464          for (int i = 0; i < supertype_.size(); i++) {
6465            size += com.google.protobuf.CodedOutputStream
6466              .computeMessageSize(6, supertype_.get(i));
6467          }
6468          {
6469            int dataSize = 0;
6470            for (int i = 0; i < nestedClassName_.size(); i++) {
6471              dataSize += com.google.protobuf.CodedOutputStream
6472                .computeInt32SizeNoTag(nestedClassName_.get(i));
6473            }
6474            size += dataSize;
6475            size += 1 * getNestedClassNameList().size();
6476          }
6477          for (int i = 0; i < member_.size(); i++) {
6478            size += com.google.protobuf.CodedOutputStream
6479              .computeMessageSize(11, member_.get(i));
6480          }
6481          {
6482            int dataSize = 0;
6483            for (int i = 0; i < enumEntry_.size(); i++) {
6484              dataSize += com.google.protobuf.CodedOutputStream
6485                .computeInt32SizeNoTag(enumEntry_.get(i));
6486            }
6487            size += dataSize;
6488            size += 1 * getEnumEntryList().size();
6489          }
6490          if (((bitField0_ & 0x00000010) == 0x00000010)) {
6491            size += com.google.protobuf.CodedOutputStream
6492              .computeMessageSize(13, primaryConstructor_);
6493          }
6494          memoizedSerializedSize = size;
6495          return size;
6496        }
6497    
6498        private static final long serialVersionUID = 0L;
6499        @java.lang.Override
6500        protected java.lang.Object writeReplace()
6501            throws java.io.ObjectStreamException {
6502          return super.writeReplace();
6503        }
6504    
6505        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(
6506            com.google.protobuf.ByteString data)
6507            throws com.google.protobuf.InvalidProtocolBufferException {
6508          return PARSER.parseFrom(data);
6509        }
6510        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(
6511            com.google.protobuf.ByteString data,
6512            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6513            throws com.google.protobuf.InvalidProtocolBufferException {
6514          return PARSER.parseFrom(data, extensionRegistry);
6515        }
6516        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(byte[] data)
6517            throws com.google.protobuf.InvalidProtocolBufferException {
6518          return PARSER.parseFrom(data);
6519        }
6520        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(
6521            byte[] data,
6522            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6523            throws com.google.protobuf.InvalidProtocolBufferException {
6524          return PARSER.parseFrom(data, extensionRegistry);
6525        }
6526        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(java.io.InputStream input)
6527            throws java.io.IOException {
6528          return PARSER.parseFrom(input);
6529        }
6530        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(
6531            java.io.InputStream input,
6532            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6533            throws java.io.IOException {
6534          return PARSER.parseFrom(input, extensionRegistry);
6535        }
6536        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseDelimitedFrom(java.io.InputStream input)
6537            throws java.io.IOException {
6538          return PARSER.parseDelimitedFrom(input);
6539        }
6540        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseDelimitedFrom(
6541            java.io.InputStream input,
6542            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6543            throws java.io.IOException {
6544          return PARSER.parseDelimitedFrom(input, extensionRegistry);
6545        }
6546        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(
6547            com.google.protobuf.CodedInputStream input)
6548            throws java.io.IOException {
6549          return PARSER.parseFrom(input);
6550        }
6551        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(
6552            com.google.protobuf.CodedInputStream input,
6553            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6554            throws java.io.IOException {
6555          return PARSER.parseFrom(input, extensionRegistry);
6556        }
6557    
6558        public static Builder newBuilder() { return Builder.create(); }
6559        public Builder newBuilderForType() { return newBuilder(); }
6560        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class prototype) {
6561          return newBuilder().mergeFrom(prototype);
6562        }
6563        public Builder toBuilder() { return newBuilder(this); }
6564    
6565        /**
6566         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Class}
6567         */
6568        public static final class Builder extends
6569            com.google.protobuf.GeneratedMessageLite.Builder<
6570              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class, Builder>
6571            implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.ClassOrBuilder {
6572          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.newBuilder()
6573          private Builder() {
6574            maybeForceBuilderInitialization();
6575          }
6576    
6577          private void maybeForceBuilderInitialization() {
6578          }
6579          private static Builder create() {
6580            return new Builder();
6581          }
6582    
6583          public Builder clear() {
6584            super.clear();
6585            flags_ = 0;
6586            bitField0_ = (bitField0_ & ~0x00000001);
6587            extraVisibility_ = "";
6588            bitField0_ = (bitField0_ & ~0x00000002);
6589            fqName_ = 0;
6590            bitField0_ = (bitField0_ & ~0x00000004);
6591            classObject_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.getDefaultInstance();
6592            bitField0_ = (bitField0_ & ~0x00000008);
6593            typeParameter_ = java.util.Collections.emptyList();
6594            bitField0_ = (bitField0_ & ~0x00000010);
6595            supertype_ = java.util.Collections.emptyList();
6596            bitField0_ = (bitField0_ & ~0x00000020);
6597            nestedClassName_ = java.util.Collections.emptyList();
6598            bitField0_ = (bitField0_ & ~0x00000040);
6599            member_ = java.util.Collections.emptyList();
6600            bitField0_ = (bitField0_ & ~0x00000080);
6601            enumEntry_ = java.util.Collections.emptyList();
6602            bitField0_ = (bitField0_ & ~0x00000100);
6603            primaryConstructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
6604            bitField0_ = (bitField0_ & ~0x00000200);
6605            return this;
6606          }
6607    
6608          public Builder clone() {
6609            return create().mergeFrom(buildPartial());
6610          }
6611    
6612          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class getDefaultInstanceForType() {
6613            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.getDefaultInstance();
6614          }
6615    
6616          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class build() {
6617            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class result = buildPartial();
6618            if (!result.isInitialized()) {
6619              throw newUninitializedMessageException(result);
6620            }
6621            return result;
6622          }
6623    
6624          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class buildPartial() {
6625            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class(this);
6626            int from_bitField0_ = bitField0_;
6627            int to_bitField0_ = 0;
6628            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
6629              to_bitField0_ |= 0x00000001;
6630            }
6631            result.flags_ = flags_;
6632            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
6633              to_bitField0_ |= 0x00000002;
6634            }
6635            result.extraVisibility_ = extraVisibility_;
6636            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
6637              to_bitField0_ |= 0x00000004;
6638            }
6639            result.fqName_ = fqName_;
6640            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
6641              to_bitField0_ |= 0x00000008;
6642            }
6643            result.classObject_ = classObject_;
6644            if (((bitField0_ & 0x00000010) == 0x00000010)) {
6645              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
6646              bitField0_ = (bitField0_ & ~0x00000010);
6647            }
6648            result.typeParameter_ = typeParameter_;
6649            if (((bitField0_ & 0x00000020) == 0x00000020)) {
6650              supertype_ = java.util.Collections.unmodifiableList(supertype_);
6651              bitField0_ = (bitField0_ & ~0x00000020);
6652            }
6653            result.supertype_ = supertype_;
6654            if (((bitField0_ & 0x00000040) == 0x00000040)) {
6655              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
6656              bitField0_ = (bitField0_ & ~0x00000040);
6657            }
6658            result.nestedClassName_ = nestedClassName_;
6659            if (((bitField0_ & 0x00000080) == 0x00000080)) {
6660              member_ = java.util.Collections.unmodifiableList(member_);
6661              bitField0_ = (bitField0_ & ~0x00000080);
6662            }
6663            result.member_ = member_;
6664            if (((bitField0_ & 0x00000100) == 0x00000100)) {
6665              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
6666              bitField0_ = (bitField0_ & ~0x00000100);
6667            }
6668            result.enumEntry_ = enumEntry_;
6669            if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
6670              to_bitField0_ |= 0x00000010;
6671            }
6672            result.primaryConstructor_ = primaryConstructor_;
6673            result.bitField0_ = to_bitField0_;
6674            return result;
6675          }
6676    
6677          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class other) {
6678            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.getDefaultInstance()) return this;
6679            if (other.hasFlags()) {
6680              setFlags(other.getFlags());
6681            }
6682            if (other.hasExtraVisibility()) {
6683              bitField0_ |= 0x00000002;
6684              extraVisibility_ = other.extraVisibility_;
6685              
6686            }
6687            if (other.hasFqName()) {
6688              setFqName(other.getFqName());
6689            }
6690            if (other.hasClassObject()) {
6691              mergeClassObject(other.getClassObject());
6692            }
6693            if (!other.typeParameter_.isEmpty()) {
6694              if (typeParameter_.isEmpty()) {
6695                typeParameter_ = other.typeParameter_;
6696                bitField0_ = (bitField0_ & ~0x00000010);
6697              } else {
6698                ensureTypeParameterIsMutable();
6699                typeParameter_.addAll(other.typeParameter_);
6700              }
6701              
6702            }
6703            if (!other.supertype_.isEmpty()) {
6704              if (supertype_.isEmpty()) {
6705                supertype_ = other.supertype_;
6706                bitField0_ = (bitField0_ & ~0x00000020);
6707              } else {
6708                ensureSupertypeIsMutable();
6709                supertype_.addAll(other.supertype_);
6710              }
6711              
6712            }
6713            if (!other.nestedClassName_.isEmpty()) {
6714              if (nestedClassName_.isEmpty()) {
6715                nestedClassName_ = other.nestedClassName_;
6716                bitField0_ = (bitField0_ & ~0x00000040);
6717              } else {
6718                ensureNestedClassNameIsMutable();
6719                nestedClassName_.addAll(other.nestedClassName_);
6720              }
6721              
6722            }
6723            if (!other.member_.isEmpty()) {
6724              if (member_.isEmpty()) {
6725                member_ = other.member_;
6726                bitField0_ = (bitField0_ & ~0x00000080);
6727              } else {
6728                ensureMemberIsMutable();
6729                member_.addAll(other.member_);
6730              }
6731              
6732            }
6733            if (!other.enumEntry_.isEmpty()) {
6734              if (enumEntry_.isEmpty()) {
6735                enumEntry_ = other.enumEntry_;
6736                bitField0_ = (bitField0_ & ~0x00000100);
6737              } else {
6738                ensureEnumEntryIsMutable();
6739                enumEntry_.addAll(other.enumEntry_);
6740              }
6741              
6742            }
6743            if (other.hasPrimaryConstructor()) {
6744              mergePrimaryConstructor(other.getPrimaryConstructor());
6745            }
6746            return this;
6747          }
6748    
6749          public final boolean isInitialized() {
6750            if (!hasFqName()) {
6751              
6752              return false;
6753            }
6754            if (hasClassObject()) {
6755              if (!getClassObject().isInitialized()) {
6756                
6757                return false;
6758              }
6759            }
6760            for (int i = 0; i < getTypeParameterCount(); i++) {
6761              if (!getTypeParameter(i).isInitialized()) {
6762                
6763                return false;
6764              }
6765            }
6766            for (int i = 0; i < getSupertypeCount(); i++) {
6767              if (!getSupertype(i).isInitialized()) {
6768                
6769                return false;
6770              }
6771            }
6772            for (int i = 0; i < getMemberCount(); i++) {
6773              if (!getMember(i).isInitialized()) {
6774                
6775                return false;
6776              }
6777            }
6778            if (hasPrimaryConstructor()) {
6779              if (!getPrimaryConstructor().isInitialized()) {
6780                
6781                return false;
6782              }
6783            }
6784            return true;
6785          }
6786    
6787          public Builder mergeFrom(
6788              com.google.protobuf.CodedInputStream input,
6789              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6790              throws java.io.IOException {
6791            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parsedMessage = null;
6792            try {
6793              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
6794            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6795              parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class) e.getUnfinishedMessage();
6796              throw e;
6797            } finally {
6798              if (parsedMessage != null) {
6799                mergeFrom(parsedMessage);
6800              }
6801            }
6802            return this;
6803          }
6804          private int bitField0_;
6805    
6806          // optional int32 flags = 1 [default = 0];
6807          private int flags_ ;
6808          /**
6809           * <code>optional int32 flags = 1 [default = 0];</code>
6810           *
6811           * <pre>
6812           *
6813           *Visibility
6814           *Modality
6815           *has_annotation
6816           *ClassKind
6817           *is_inner
6818           * </pre>
6819           */
6820          public boolean hasFlags() {
6821            return ((bitField0_ & 0x00000001) == 0x00000001);
6822          }
6823          /**
6824           * <code>optional int32 flags = 1 [default = 0];</code>
6825           *
6826           * <pre>
6827           *
6828           *Visibility
6829           *Modality
6830           *has_annotation
6831           *ClassKind
6832           *is_inner
6833           * </pre>
6834           */
6835          public int getFlags() {
6836            return flags_;
6837          }
6838          /**
6839           * <code>optional int32 flags = 1 [default = 0];</code>
6840           *
6841           * <pre>
6842           *
6843           *Visibility
6844           *Modality
6845           *has_annotation
6846           *ClassKind
6847           *is_inner
6848           * </pre>
6849           */
6850          public Builder setFlags(int value) {
6851            bitField0_ |= 0x00000001;
6852            flags_ = value;
6853            
6854            return this;
6855          }
6856          /**
6857           * <code>optional int32 flags = 1 [default = 0];</code>
6858           *
6859           * <pre>
6860           *
6861           *Visibility
6862           *Modality
6863           *has_annotation
6864           *ClassKind
6865           *is_inner
6866           * </pre>
6867           */
6868          public Builder clearFlags() {
6869            bitField0_ = (bitField0_ & ~0x00000001);
6870            flags_ = 0;
6871            
6872            return this;
6873          }
6874    
6875          // optional string extra_visibility = 2;
6876          private java.lang.Object extraVisibility_ = "";
6877          /**
6878           * <code>optional string extra_visibility = 2;</code>
6879           *
6880           * <pre>
6881           * for things like java-specific visibilities
6882           * </pre>
6883           */
6884          public boolean hasExtraVisibility() {
6885            return ((bitField0_ & 0x00000002) == 0x00000002);
6886          }
6887          /**
6888           * <code>optional string extra_visibility = 2;</code>
6889           *
6890           * <pre>
6891           * for things like java-specific visibilities
6892           * </pre>
6893           */
6894          public java.lang.String getExtraVisibility() {
6895            java.lang.Object ref = extraVisibility_;
6896            if (!(ref instanceof java.lang.String)) {
6897              java.lang.String s = ((com.google.protobuf.ByteString) ref)
6898                  .toStringUtf8();
6899              extraVisibility_ = s;
6900              return s;
6901            } else {
6902              return (java.lang.String) ref;
6903            }
6904          }
6905          /**
6906           * <code>optional string extra_visibility = 2;</code>
6907           *
6908           * <pre>
6909           * for things like java-specific visibilities
6910           * </pre>
6911           */
6912          public com.google.protobuf.ByteString
6913              getExtraVisibilityBytes() {
6914            java.lang.Object ref = extraVisibility_;
6915            if (ref instanceof String) {
6916              com.google.protobuf.ByteString b = 
6917                  com.google.protobuf.ByteString.copyFromUtf8(
6918                      (java.lang.String) ref);
6919              extraVisibility_ = b;
6920              return b;
6921            } else {
6922              return (com.google.protobuf.ByteString) ref;
6923            }
6924          }
6925          /**
6926           * <code>optional string extra_visibility = 2;</code>
6927           *
6928           * <pre>
6929           * for things like java-specific visibilities
6930           * </pre>
6931           */
6932          public Builder setExtraVisibility(
6933              java.lang.String value) {
6934            if (value == null) {
6935        throw new NullPointerException();
6936      }
6937      bitField0_ |= 0x00000002;
6938            extraVisibility_ = value;
6939            
6940            return this;
6941          }
6942          /**
6943           * <code>optional string extra_visibility = 2;</code>
6944           *
6945           * <pre>
6946           * for things like java-specific visibilities
6947           * </pre>
6948           */
6949          public Builder clearExtraVisibility() {
6950            bitField0_ = (bitField0_ & ~0x00000002);
6951            extraVisibility_ = getDefaultInstance().getExtraVisibility();
6952            
6953            return this;
6954          }
6955          /**
6956           * <code>optional string extra_visibility = 2;</code>
6957           *
6958           * <pre>
6959           * for things like java-specific visibilities
6960           * </pre>
6961           */
6962          public Builder setExtraVisibilityBytes(
6963              com.google.protobuf.ByteString value) {
6964            if (value == null) {
6965        throw new NullPointerException();
6966      }
6967      bitField0_ |= 0x00000002;
6968            extraVisibility_ = value;
6969            
6970            return this;
6971          }
6972    
6973          // required int32 fq_name = 3;
6974          private int fqName_ ;
6975          /**
6976           * <code>required int32 fq_name = 3;</code>
6977           */
6978          public boolean hasFqName() {
6979            return ((bitField0_ & 0x00000004) == 0x00000004);
6980          }
6981          /**
6982           * <code>required int32 fq_name = 3;</code>
6983           */
6984          public int getFqName() {
6985            return fqName_;
6986          }
6987          /**
6988           * <code>required int32 fq_name = 3;</code>
6989           */
6990          public Builder setFqName(int value) {
6991            bitField0_ |= 0x00000004;
6992            fqName_ = value;
6993            
6994            return this;
6995          }
6996          /**
6997           * <code>required int32 fq_name = 3;</code>
6998           */
6999          public Builder clearFqName() {
7000            bitField0_ = (bitField0_ & ~0x00000004);
7001            fqName_ = 0;
7002            
7003            return this;
7004          }
7005    
7006          // optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;
7007          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject classObject_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.getDefaultInstance();
7008          /**
7009           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;</code>
7010           *
7011           * <pre>
7012           * This field is present if and only if the class has a class object. Its proto should be found either here or in the separate file
7013           * </pre>
7014           */
7015          public boolean hasClassObject() {
7016            return ((bitField0_ & 0x00000008) == 0x00000008);
7017          }
7018          /**
7019           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;</code>
7020           *
7021           * <pre>
7022           * This field is present if and only if the class has a class object. Its proto should be found either here or in the separate file
7023           * </pre>
7024           */
7025          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject getClassObject() {
7026            return classObject_;
7027          }
7028          /**
7029           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;</code>
7030           *
7031           * <pre>
7032           * This field is present if and only if the class has a class object. Its proto should be found either here or in the separate file
7033           * </pre>
7034           */
7035          public Builder setClassObject(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject value) {
7036            if (value == null) {
7037              throw new NullPointerException();
7038            }
7039            classObject_ = value;
7040    
7041            bitField0_ |= 0x00000008;
7042            return this;
7043          }
7044          /**
7045           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;</code>
7046           *
7047           * <pre>
7048           * This field is present if and only if the class has a class object. Its proto should be found either here or in the separate file
7049           * </pre>
7050           */
7051          public Builder setClassObject(
7052              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.Builder builderForValue) {
7053            classObject_ = builderForValue.build();
7054    
7055            bitField0_ |= 0x00000008;
7056            return this;
7057          }
7058          /**
7059           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;</code>
7060           *
7061           * <pre>
7062           * This field is present if and only if the class has a class object. Its proto should be found either here or in the separate file
7063           * </pre>
7064           */
7065          public Builder mergeClassObject(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject value) {
7066            if (((bitField0_ & 0x00000008) == 0x00000008) &&
7067                classObject_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.getDefaultInstance()) {
7068              classObject_ =
7069                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.newBuilder(classObject_).mergeFrom(value).buildPartial();
7070            } else {
7071              classObject_ = value;
7072            }
7073    
7074            bitField0_ |= 0x00000008;
7075            return this;
7076          }
7077          /**
7078           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;</code>
7079           *
7080           * <pre>
7081           * This field is present if and only if the class has a class object. Its proto should be found either here or in the separate file
7082           * </pre>
7083           */
7084          public Builder clearClassObject() {
7085            classObject_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.getDefaultInstance();
7086    
7087            bitField0_ = (bitField0_ & ~0x00000008);
7088            return this;
7089          }
7090    
7091          // repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;
7092          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> typeParameter_ =
7093            java.util.Collections.emptyList();
7094          private void ensureTypeParameterIsMutable() {
7095            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
7096              typeParameter_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter>(typeParameter_);
7097              bitField0_ |= 0x00000010;
7098             }
7099          }
7100    
7101          /**
7102           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
7103           */
7104          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
7105            return java.util.Collections.unmodifiableList(typeParameter_);
7106          }
7107          /**
7108           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
7109           */
7110          public int getTypeParameterCount() {
7111            return typeParameter_.size();
7112          }
7113          /**
7114           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
7115           */
7116          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
7117            return typeParameter_.get(index);
7118          }
7119          /**
7120           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
7121           */
7122          public Builder setTypeParameter(
7123              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter value) {
7124            if (value == null) {
7125              throw new NullPointerException();
7126            }
7127            ensureTypeParameterIsMutable();
7128            typeParameter_.set(index, value);
7129    
7130            return this;
7131          }
7132          /**
7133           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
7134           */
7135          public Builder setTypeParameter(
7136              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
7137            ensureTypeParameterIsMutable();
7138            typeParameter_.set(index, builderForValue.build());
7139    
7140            return this;
7141          }
7142          /**
7143           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
7144           */
7145          public Builder addTypeParameter(org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter value) {
7146            if (value == null) {
7147              throw new NullPointerException();
7148            }
7149            ensureTypeParameterIsMutable();
7150            typeParameter_.add(value);
7151    
7152            return this;
7153          }
7154          /**
7155           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
7156           */
7157          public Builder addTypeParameter(
7158              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter value) {
7159            if (value == null) {
7160              throw new NullPointerException();
7161            }
7162            ensureTypeParameterIsMutable();
7163            typeParameter_.add(index, value);
7164    
7165            return this;
7166          }
7167          /**
7168           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
7169           */
7170          public Builder addTypeParameter(
7171              org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
7172            ensureTypeParameterIsMutable();
7173            typeParameter_.add(builderForValue.build());
7174    
7175            return this;
7176          }
7177          /**
7178           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
7179           */
7180          public Builder addTypeParameter(
7181              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
7182            ensureTypeParameterIsMutable();
7183            typeParameter_.add(index, builderForValue.build());
7184    
7185            return this;
7186          }
7187          /**
7188           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
7189           */
7190          public Builder addAllTypeParameter(
7191              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> values) {
7192            ensureTypeParameterIsMutable();
7193            super.addAll(values, typeParameter_);
7194    
7195            return this;
7196          }
7197          /**
7198           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
7199           */
7200          public Builder clearTypeParameter() {
7201            typeParameter_ = java.util.Collections.emptyList();
7202            bitField0_ = (bitField0_ & ~0x00000010);
7203    
7204            return this;
7205          }
7206          /**
7207           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
7208           */
7209          public Builder removeTypeParameter(int index) {
7210            ensureTypeParameterIsMutable();
7211            typeParameter_.remove(index);
7212    
7213            return this;
7214          }
7215    
7216          // repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;
7217          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> supertype_ =
7218            java.util.Collections.emptyList();
7219          private void ensureSupertypeIsMutable() {
7220            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
7221              supertype_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type>(supertype_);
7222              bitField0_ |= 0x00000020;
7223             }
7224          }
7225    
7226          /**
7227           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
7228           */
7229          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> getSupertypeList() {
7230            return java.util.Collections.unmodifiableList(supertype_);
7231          }
7232          /**
7233           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
7234           */
7235          public int getSupertypeCount() {
7236            return supertype_.size();
7237          }
7238          /**
7239           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
7240           */
7241          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getSupertype(int index) {
7242            return supertype_.get(index);
7243          }
7244          /**
7245           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
7246           */
7247          public Builder setSupertype(
7248              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
7249            if (value == null) {
7250              throw new NullPointerException();
7251            }
7252            ensureSupertypeIsMutable();
7253            supertype_.set(index, value);
7254    
7255            return this;
7256          }
7257          /**
7258           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
7259           */
7260          public Builder setSupertype(
7261              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
7262            ensureSupertypeIsMutable();
7263            supertype_.set(index, builderForValue.build());
7264    
7265            return this;
7266          }
7267          /**
7268           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
7269           */
7270          public Builder addSupertype(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
7271            if (value == null) {
7272              throw new NullPointerException();
7273            }
7274            ensureSupertypeIsMutable();
7275            supertype_.add(value);
7276    
7277            return this;
7278          }
7279          /**
7280           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
7281           */
7282          public Builder addSupertype(
7283              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
7284            if (value == null) {
7285              throw new NullPointerException();
7286            }
7287            ensureSupertypeIsMutable();
7288            supertype_.add(index, value);
7289    
7290            return this;
7291          }
7292          /**
7293           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
7294           */
7295          public Builder addSupertype(
7296              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
7297            ensureSupertypeIsMutable();
7298            supertype_.add(builderForValue.build());
7299    
7300            return this;
7301          }
7302          /**
7303           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
7304           */
7305          public Builder addSupertype(
7306              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
7307            ensureSupertypeIsMutable();
7308            supertype_.add(index, builderForValue.build());
7309    
7310            return this;
7311          }
7312          /**
7313           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
7314           */
7315          public Builder addAllSupertype(
7316              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> values) {
7317            ensureSupertypeIsMutable();
7318            super.addAll(values, supertype_);
7319    
7320            return this;
7321          }
7322          /**
7323           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
7324           */
7325          public Builder clearSupertype() {
7326            supertype_ = java.util.Collections.emptyList();
7327            bitField0_ = (bitField0_ & ~0x00000020);
7328    
7329            return this;
7330          }
7331          /**
7332           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
7333           */
7334          public Builder removeSupertype(int index) {
7335            ensureSupertypeIsMutable();
7336            supertype_.remove(index);
7337    
7338            return this;
7339          }
7340    
7341          // repeated int32 nested_class_name = 7;
7342          private java.util.List<java.lang.Integer> nestedClassName_ = java.util.Collections.emptyList();
7343          private void ensureNestedClassNameIsMutable() {
7344            if (!((bitField0_ & 0x00000040) == 0x00000040)) {
7345              nestedClassName_ = new java.util.ArrayList<java.lang.Integer>(nestedClassName_);
7346              bitField0_ |= 0x00000040;
7347             }
7348          }
7349          /**
7350           * <code>repeated int32 nested_class_name = 7;</code>
7351           *
7352           * <pre>
7353           * we store only names, because the actual information must reside in the corresponding .class files,
7354           * to be obtainable through reflection at runtime
7355           * </pre>
7356           */
7357          public java.util.List<java.lang.Integer>
7358              getNestedClassNameList() {
7359            return java.util.Collections.unmodifiableList(nestedClassName_);
7360          }
7361          /**
7362           * <code>repeated int32 nested_class_name = 7;</code>
7363           *
7364           * <pre>
7365           * we store only names, because the actual information must reside in the corresponding .class files,
7366           * to be obtainable through reflection at runtime
7367           * </pre>
7368           */
7369          public int getNestedClassNameCount() {
7370            return nestedClassName_.size();
7371          }
7372          /**
7373           * <code>repeated int32 nested_class_name = 7;</code>
7374           *
7375           * <pre>
7376           * we store only names, because the actual information must reside in the corresponding .class files,
7377           * to be obtainable through reflection at runtime
7378           * </pre>
7379           */
7380          public int getNestedClassName(int index) {
7381            return nestedClassName_.get(index);
7382          }
7383          /**
7384           * <code>repeated int32 nested_class_name = 7;</code>
7385           *
7386           * <pre>
7387           * we store only names, because the actual information must reside in the corresponding .class files,
7388           * to be obtainable through reflection at runtime
7389           * </pre>
7390           */
7391          public Builder setNestedClassName(
7392              int index, int value) {
7393            ensureNestedClassNameIsMutable();
7394            nestedClassName_.set(index, value);
7395            
7396            return this;
7397          }
7398          /**
7399           * <code>repeated int32 nested_class_name = 7;</code>
7400           *
7401           * <pre>
7402           * we store only names, because the actual information must reside in the corresponding .class files,
7403           * to be obtainable through reflection at runtime
7404           * </pre>
7405           */
7406          public Builder addNestedClassName(int value) {
7407            ensureNestedClassNameIsMutable();
7408            nestedClassName_.add(value);
7409            
7410            return this;
7411          }
7412          /**
7413           * <code>repeated int32 nested_class_name = 7;</code>
7414           *
7415           * <pre>
7416           * we store only names, because the actual information must reside in the corresponding .class files,
7417           * to be obtainable through reflection at runtime
7418           * </pre>
7419           */
7420          public Builder addAllNestedClassName(
7421              java.lang.Iterable<? extends java.lang.Integer> values) {
7422            ensureNestedClassNameIsMutable();
7423            super.addAll(values, nestedClassName_);
7424            
7425            return this;
7426          }
7427          /**
7428           * <code>repeated int32 nested_class_name = 7;</code>
7429           *
7430           * <pre>
7431           * we store only names, because the actual information must reside in the corresponding .class files,
7432           * to be obtainable through reflection at runtime
7433           * </pre>
7434           */
7435          public Builder clearNestedClassName() {
7436            nestedClassName_ = java.util.Collections.emptyList();
7437            bitField0_ = (bitField0_ & ~0x00000040);
7438            
7439            return this;
7440          }
7441    
7442          // repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;
7443          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> member_ =
7444            java.util.Collections.emptyList();
7445          private void ensureMemberIsMutable() {
7446            if (!((bitField0_ & 0x00000080) == 0x00000080)) {
7447              member_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable>(member_);
7448              bitField0_ |= 0x00000080;
7449             }
7450          }
7451    
7452          /**
7453           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
7454           */
7455          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> getMemberList() {
7456            return java.util.Collections.unmodifiableList(member_);
7457          }
7458          /**
7459           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
7460           */
7461          public int getMemberCount() {
7462            return member_.size();
7463          }
7464          /**
7465           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
7466           */
7467          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getMember(int index) {
7468            return member_.get(index);
7469          }
7470          /**
7471           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
7472           */
7473          public Builder setMember(
7474              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
7475            if (value == null) {
7476              throw new NullPointerException();
7477            }
7478            ensureMemberIsMutable();
7479            member_.set(index, value);
7480    
7481            return this;
7482          }
7483          /**
7484           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
7485           */
7486          public Builder setMember(
7487              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder builderForValue) {
7488            ensureMemberIsMutable();
7489            member_.set(index, builderForValue.build());
7490    
7491            return this;
7492          }
7493          /**
7494           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
7495           */
7496          public Builder addMember(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
7497            if (value == null) {
7498              throw new NullPointerException();
7499            }
7500            ensureMemberIsMutable();
7501            member_.add(value);
7502    
7503            return this;
7504          }
7505          /**
7506           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
7507           */
7508          public Builder addMember(
7509              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
7510            if (value == null) {
7511              throw new NullPointerException();
7512            }
7513            ensureMemberIsMutable();
7514            member_.add(index, value);
7515    
7516            return this;
7517          }
7518          /**
7519           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
7520           */
7521          public Builder addMember(
7522              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder builderForValue) {
7523            ensureMemberIsMutable();
7524            member_.add(builderForValue.build());
7525    
7526            return this;
7527          }
7528          /**
7529           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
7530           */
7531          public Builder addMember(
7532              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder builderForValue) {
7533            ensureMemberIsMutable();
7534            member_.add(index, builderForValue.build());
7535    
7536            return this;
7537          }
7538          /**
7539           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
7540           */
7541          public Builder addAllMember(
7542              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> values) {
7543            ensureMemberIsMutable();
7544            super.addAll(values, member_);
7545    
7546            return this;
7547          }
7548          /**
7549           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
7550           */
7551          public Builder clearMember() {
7552            member_ = java.util.Collections.emptyList();
7553            bitField0_ = (bitField0_ & ~0x00000080);
7554    
7555            return this;
7556          }
7557          /**
7558           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
7559           */
7560          public Builder removeMember(int index) {
7561            ensureMemberIsMutable();
7562            member_.remove(index);
7563    
7564            return this;
7565          }
7566    
7567          // repeated int32 enum_entry = 12;
7568          private java.util.List<java.lang.Integer> enumEntry_ = java.util.Collections.emptyList();
7569          private void ensureEnumEntryIsMutable() {
7570            if (!((bitField0_ & 0x00000100) == 0x00000100)) {
7571              enumEntry_ = new java.util.ArrayList<java.lang.Integer>(enumEntry_);
7572              bitField0_ |= 0x00000100;
7573             }
7574          }
7575          /**
7576           * <code>repeated int32 enum_entry = 12;</code>
7577           */
7578          public java.util.List<java.lang.Integer>
7579              getEnumEntryList() {
7580            return java.util.Collections.unmodifiableList(enumEntry_);
7581          }
7582          /**
7583           * <code>repeated int32 enum_entry = 12;</code>
7584           */
7585          public int getEnumEntryCount() {
7586            return enumEntry_.size();
7587          }
7588          /**
7589           * <code>repeated int32 enum_entry = 12;</code>
7590           */
7591          public int getEnumEntry(int index) {
7592            return enumEntry_.get(index);
7593          }
7594          /**
7595           * <code>repeated int32 enum_entry = 12;</code>
7596           */
7597          public Builder setEnumEntry(
7598              int index, int value) {
7599            ensureEnumEntryIsMutable();
7600            enumEntry_.set(index, value);
7601            
7602            return this;
7603          }
7604          /**
7605           * <code>repeated int32 enum_entry = 12;</code>
7606           */
7607          public Builder addEnumEntry(int value) {
7608            ensureEnumEntryIsMutable();
7609            enumEntry_.add(value);
7610            
7611            return this;
7612          }
7613          /**
7614           * <code>repeated int32 enum_entry = 12;</code>
7615           */
7616          public Builder addAllEnumEntry(
7617              java.lang.Iterable<? extends java.lang.Integer> values) {
7618            ensureEnumEntryIsMutable();
7619            super.addAll(values, enumEntry_);
7620            
7621            return this;
7622          }
7623          /**
7624           * <code>repeated int32 enum_entry = 12;</code>
7625           */
7626          public Builder clearEnumEntry() {
7627            enumEntry_ = java.util.Collections.emptyList();
7628            bitField0_ = (bitField0_ & ~0x00000100);
7629            
7630            return this;
7631          }
7632    
7633          // optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;
7634          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor primaryConstructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
7635          /**
7636           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
7637           *
7638           * <pre>
7639           * This field is present if and only if the class has a primary constructor
7640           * </pre>
7641           */
7642          public boolean hasPrimaryConstructor() {
7643            return ((bitField0_ & 0x00000200) == 0x00000200);
7644          }
7645          /**
7646           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
7647           *
7648           * <pre>
7649           * This field is present if and only if the class has a primary constructor
7650           * </pre>
7651           */
7652          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor getPrimaryConstructor() {
7653            return primaryConstructor_;
7654          }
7655          /**
7656           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
7657           *
7658           * <pre>
7659           * This field is present if and only if the class has a primary constructor
7660           * </pre>
7661           */
7662          public Builder setPrimaryConstructor(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor value) {
7663            if (value == null) {
7664              throw new NullPointerException();
7665            }
7666            primaryConstructor_ = value;
7667    
7668            bitField0_ |= 0x00000200;
7669            return this;
7670          }
7671          /**
7672           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
7673           *
7674           * <pre>
7675           * This field is present if and only if the class has a primary constructor
7676           * </pre>
7677           */
7678          public Builder setPrimaryConstructor(
7679              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.Builder builderForValue) {
7680            primaryConstructor_ = builderForValue.build();
7681    
7682            bitField0_ |= 0x00000200;
7683            return this;
7684          }
7685          /**
7686           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
7687           *
7688           * <pre>
7689           * This field is present if and only if the class has a primary constructor
7690           * </pre>
7691           */
7692          public Builder mergePrimaryConstructor(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor value) {
7693            if (((bitField0_ & 0x00000200) == 0x00000200) &&
7694                primaryConstructor_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance()) {
7695              primaryConstructor_ =
7696                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.newBuilder(primaryConstructor_).mergeFrom(value).buildPartial();
7697            } else {
7698              primaryConstructor_ = value;
7699            }
7700    
7701            bitField0_ |= 0x00000200;
7702            return this;
7703          }
7704          /**
7705           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
7706           *
7707           * <pre>
7708           * This field is present if and only if the class has a primary constructor
7709           * </pre>
7710           */
7711          public Builder clearPrimaryConstructor() {
7712            primaryConstructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
7713    
7714            bitField0_ = (bitField0_ & ~0x00000200);
7715            return this;
7716          }
7717    
7718          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Class)
7719        }
7720    
7721        static {
7722          defaultInstance = new Class(true);
7723          defaultInstance.initFields();
7724        }
7725    
7726        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Class)
7727      }
7728    
7729      public interface PackageOrBuilder
7730          extends com.google.protobuf.MessageLiteOrBuilder {
7731    
7732        // repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;
7733        /**
7734         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
7735         */
7736        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> 
7737            getMemberList();
7738        /**
7739         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
7740         */
7741        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getMember(int index);
7742        /**
7743         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
7744         */
7745        int getMemberCount();
7746      }
7747      /**
7748       * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Package}
7749       */
7750      public static final class Package extends
7751          com.google.protobuf.GeneratedMessageLite
7752          implements PackageOrBuilder {
7753        // Use Package.newBuilder() to construct.
7754        private Package(com.google.protobuf.GeneratedMessageLite.Builder builder) {
7755          super(builder);
7756    
7757        }
7758        private Package(boolean noInit) {}
7759    
7760        private static final Package defaultInstance;
7761        public static Package getDefaultInstance() {
7762          return defaultInstance;
7763        }
7764    
7765        public Package getDefaultInstanceForType() {
7766          return defaultInstance;
7767        }
7768    
7769        private Package(
7770            com.google.protobuf.CodedInputStream input,
7771            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7772            throws com.google.protobuf.InvalidProtocolBufferException {
7773          initFields();
7774          int mutable_bitField0_ = 0;
7775          try {
7776            boolean done = false;
7777            while (!done) {
7778              int tag = input.readTag();
7779              switch (tag) {
7780                case 0:
7781                  done = true;
7782                  break;
7783                default: {
7784                  if (!parseUnknownField(input,
7785                                         extensionRegistry, tag)) {
7786                    done = true;
7787                  }
7788                  break;
7789                }
7790                case 10: {
7791                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
7792                    member_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable>();
7793                    mutable_bitField0_ |= 0x00000001;
7794                  }
7795                  member_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.PARSER, extensionRegistry));
7796                  break;
7797                }
7798              }
7799            }
7800          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7801            throw e.setUnfinishedMessage(this);
7802          } catch (java.io.IOException e) {
7803            throw new com.google.protobuf.InvalidProtocolBufferException(
7804                e.getMessage()).setUnfinishedMessage(this);
7805          } finally {
7806            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
7807              member_ = java.util.Collections.unmodifiableList(member_);
7808            }
7809            makeExtensionsImmutable();
7810          }
7811        }
7812        public static com.google.protobuf.Parser<Package> PARSER =
7813            new com.google.protobuf.AbstractParser<Package>() {
7814          public Package parsePartialFrom(
7815              com.google.protobuf.CodedInputStream input,
7816              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7817              throws com.google.protobuf.InvalidProtocolBufferException {
7818            return new Package(input, extensionRegistry);
7819          }
7820        };
7821    
7822        @java.lang.Override
7823        public com.google.protobuf.Parser<Package> getParserForType() {
7824          return PARSER;
7825        }
7826    
7827        // repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;
7828        public static final int MEMBER_FIELD_NUMBER = 1;
7829        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> member_;
7830        /**
7831         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
7832         */
7833        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> getMemberList() {
7834          return member_;
7835        }
7836        /**
7837         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
7838         */
7839        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.CallableOrBuilder> 
7840            getMemberOrBuilderList() {
7841          return member_;
7842        }
7843        /**
7844         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
7845         */
7846        public int getMemberCount() {
7847          return member_.size();
7848        }
7849        /**
7850         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
7851         */
7852        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getMember(int index) {
7853          return member_.get(index);
7854        }
7855        /**
7856         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
7857         */
7858        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.CallableOrBuilder getMemberOrBuilder(
7859            int index) {
7860          return member_.get(index);
7861        }
7862    
7863        private void initFields() {
7864          member_ = java.util.Collections.emptyList();
7865        }
7866        private byte memoizedIsInitialized = -1;
7867        public final boolean isInitialized() {
7868          byte isInitialized = memoizedIsInitialized;
7869          if (isInitialized != -1) return isInitialized == 1;
7870    
7871          for (int i = 0; i < getMemberCount(); i++) {
7872            if (!getMember(i).isInitialized()) {
7873              memoizedIsInitialized = 0;
7874              return false;
7875            }
7876          }
7877          memoizedIsInitialized = 1;
7878          return true;
7879        }
7880    
7881        public void writeTo(com.google.protobuf.CodedOutputStream output)
7882                            throws java.io.IOException {
7883          getSerializedSize();
7884          for (int i = 0; i < member_.size(); i++) {
7885            output.writeMessage(1, member_.get(i));
7886          }
7887        }
7888    
7889        private int memoizedSerializedSize = -1;
7890        public int getSerializedSize() {
7891          int size = memoizedSerializedSize;
7892          if (size != -1) return size;
7893    
7894          size = 0;
7895          for (int i = 0; i < member_.size(); i++) {
7896            size += com.google.protobuf.CodedOutputStream
7897              .computeMessageSize(1, member_.get(i));
7898          }
7899          memoizedSerializedSize = size;
7900          return size;
7901        }
7902    
7903        private static final long serialVersionUID = 0L;
7904        @java.lang.Override
7905        protected java.lang.Object writeReplace()
7906            throws java.io.ObjectStreamException {
7907          return super.writeReplace();
7908        }
7909    
7910        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(
7911            com.google.protobuf.ByteString data)
7912            throws com.google.protobuf.InvalidProtocolBufferException {
7913          return PARSER.parseFrom(data);
7914        }
7915        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(
7916            com.google.protobuf.ByteString data,
7917            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7918            throws com.google.protobuf.InvalidProtocolBufferException {
7919          return PARSER.parseFrom(data, extensionRegistry);
7920        }
7921        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(byte[] data)
7922            throws com.google.protobuf.InvalidProtocolBufferException {
7923          return PARSER.parseFrom(data);
7924        }
7925        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(
7926            byte[] data,
7927            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7928            throws com.google.protobuf.InvalidProtocolBufferException {
7929          return PARSER.parseFrom(data, extensionRegistry);
7930        }
7931        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(java.io.InputStream input)
7932            throws java.io.IOException {
7933          return PARSER.parseFrom(input);
7934        }
7935        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(
7936            java.io.InputStream input,
7937            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7938            throws java.io.IOException {
7939          return PARSER.parseFrom(input, extensionRegistry);
7940        }
7941        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseDelimitedFrom(java.io.InputStream input)
7942            throws java.io.IOException {
7943          return PARSER.parseDelimitedFrom(input);
7944        }
7945        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseDelimitedFrom(
7946            java.io.InputStream input,
7947            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7948            throws java.io.IOException {
7949          return PARSER.parseDelimitedFrom(input, extensionRegistry);
7950        }
7951        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(
7952            com.google.protobuf.CodedInputStream input)
7953            throws java.io.IOException {
7954          return PARSER.parseFrom(input);
7955        }
7956        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(
7957            com.google.protobuf.CodedInputStream input,
7958            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7959            throws java.io.IOException {
7960          return PARSER.parseFrom(input, extensionRegistry);
7961        }
7962    
7963        public static Builder newBuilder() { return Builder.create(); }
7964        public Builder newBuilderForType() { return newBuilder(); }
7965        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package prototype) {
7966          return newBuilder().mergeFrom(prototype);
7967        }
7968        public Builder toBuilder() { return newBuilder(this); }
7969    
7970        /**
7971         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Package}
7972         */
7973        public static final class Builder extends
7974            com.google.protobuf.GeneratedMessageLite.Builder<
7975              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package, Builder>
7976            implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.PackageOrBuilder {
7977          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package.newBuilder()
7978          private Builder() {
7979            maybeForceBuilderInitialization();
7980          }
7981    
7982          private void maybeForceBuilderInitialization() {
7983          }
7984          private static Builder create() {
7985            return new Builder();
7986          }
7987    
7988          public Builder clear() {
7989            super.clear();
7990            member_ = java.util.Collections.emptyList();
7991            bitField0_ = (bitField0_ & ~0x00000001);
7992            return this;
7993          }
7994    
7995          public Builder clone() {
7996            return create().mergeFrom(buildPartial());
7997          }
7998    
7999          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package getDefaultInstanceForType() {
8000            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package.getDefaultInstance();
8001          }
8002    
8003          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package build() {
8004            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package result = buildPartial();
8005            if (!result.isInitialized()) {
8006              throw newUninitializedMessageException(result);
8007            }
8008            return result;
8009          }
8010    
8011          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package buildPartial() {
8012            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package(this);
8013            int from_bitField0_ = bitField0_;
8014            if (((bitField0_ & 0x00000001) == 0x00000001)) {
8015              member_ = java.util.Collections.unmodifiableList(member_);
8016              bitField0_ = (bitField0_ & ~0x00000001);
8017            }
8018            result.member_ = member_;
8019            return result;
8020          }
8021    
8022          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package other) {
8023            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package.getDefaultInstance()) return this;
8024            if (!other.member_.isEmpty()) {
8025              if (member_.isEmpty()) {
8026                member_ = other.member_;
8027                bitField0_ = (bitField0_ & ~0x00000001);
8028              } else {
8029                ensureMemberIsMutable();
8030                member_.addAll(other.member_);
8031              }
8032              
8033            }
8034            return this;
8035          }
8036    
8037          public final boolean isInitialized() {
8038            for (int i = 0; i < getMemberCount(); i++) {
8039              if (!getMember(i).isInitialized()) {
8040                
8041                return false;
8042              }
8043            }
8044            return true;
8045          }
8046    
8047          public Builder mergeFrom(
8048              com.google.protobuf.CodedInputStream input,
8049              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8050              throws java.io.IOException {
8051            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parsedMessage = null;
8052            try {
8053              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
8054            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8055              parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package) e.getUnfinishedMessage();
8056              throw e;
8057            } finally {
8058              if (parsedMessage != null) {
8059                mergeFrom(parsedMessage);
8060              }
8061            }
8062            return this;
8063          }
8064          private int bitField0_;
8065    
8066          // repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;
8067          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> member_ =
8068            java.util.Collections.emptyList();
8069          private void ensureMemberIsMutable() {
8070            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
8071              member_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable>(member_);
8072              bitField0_ |= 0x00000001;
8073             }
8074          }
8075    
8076          /**
8077           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
8078           */
8079          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> getMemberList() {
8080            return java.util.Collections.unmodifiableList(member_);
8081          }
8082          /**
8083           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
8084           */
8085          public int getMemberCount() {
8086            return member_.size();
8087          }
8088          /**
8089           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
8090           */
8091          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getMember(int index) {
8092            return member_.get(index);
8093          }
8094          /**
8095           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
8096           */
8097          public Builder setMember(
8098              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
8099            if (value == null) {
8100              throw new NullPointerException();
8101            }
8102            ensureMemberIsMutable();
8103            member_.set(index, value);
8104    
8105            return this;
8106          }
8107          /**
8108           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
8109           */
8110          public Builder setMember(
8111              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder builderForValue) {
8112            ensureMemberIsMutable();
8113            member_.set(index, builderForValue.build());
8114    
8115            return this;
8116          }
8117          /**
8118           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
8119           */
8120          public Builder addMember(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
8121            if (value == null) {
8122              throw new NullPointerException();
8123            }
8124            ensureMemberIsMutable();
8125            member_.add(value);
8126    
8127            return this;
8128          }
8129          /**
8130           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
8131           */
8132          public Builder addMember(
8133              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
8134            if (value == null) {
8135              throw new NullPointerException();
8136            }
8137            ensureMemberIsMutable();
8138            member_.add(index, value);
8139    
8140            return this;
8141          }
8142          /**
8143           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
8144           */
8145          public Builder addMember(
8146              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder builderForValue) {
8147            ensureMemberIsMutable();
8148            member_.add(builderForValue.build());
8149    
8150            return this;
8151          }
8152          /**
8153           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
8154           */
8155          public Builder addMember(
8156              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder builderForValue) {
8157            ensureMemberIsMutable();
8158            member_.add(index, builderForValue.build());
8159    
8160            return this;
8161          }
8162          /**
8163           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
8164           */
8165          public Builder addAllMember(
8166              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> values) {
8167            ensureMemberIsMutable();
8168            super.addAll(values, member_);
8169    
8170            return this;
8171          }
8172          /**
8173           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
8174           */
8175          public Builder clearMember() {
8176            member_ = java.util.Collections.emptyList();
8177            bitField0_ = (bitField0_ & ~0x00000001);
8178    
8179            return this;
8180          }
8181          /**
8182           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
8183           */
8184          public Builder removeMember(int index) {
8185            ensureMemberIsMutable();
8186            member_.remove(index);
8187    
8188            return this;
8189          }
8190    
8191          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Package)
8192        }
8193    
8194        static {
8195          defaultInstance = new Package(true);
8196          defaultInstance.initFields();
8197        }
8198    
8199        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Package)
8200      }
8201    
8202      public interface CallableOrBuilder extends 
8203           com.google.protobuf.GeneratedMessageLite.
8204                ExtendableMessageOrBuilder<Callable> {
8205    
8206        // optional int32 flags = 1;
8207        /**
8208         * <code>optional int32 flags = 1;</code>
8209         *
8210         * <pre>
8211         *
8212         *Visibility
8213         *Modality
8214         *has_annotations
8215         *CallableKind
8216         *MemberKind
8217         *hasGetter
8218         *hasSetter
8219         *hasConstant
8220         * </pre>
8221         */
8222        boolean hasFlags();
8223        /**
8224         * <code>optional int32 flags = 1;</code>
8225         *
8226         * <pre>
8227         *
8228         *Visibility
8229         *Modality
8230         *has_annotations
8231         *CallableKind
8232         *MemberKind
8233         *hasGetter
8234         *hasSetter
8235         *hasConstant
8236         * </pre>
8237         */
8238        int getFlags();
8239    
8240        // optional string extra_visibility = 2;
8241        /**
8242         * <code>optional string extra_visibility = 2;</code>
8243         *
8244         * <pre>
8245         * for things like java-specific visibilities
8246         * </pre>
8247         */
8248        boolean hasExtraVisibility();
8249        /**
8250         * <code>optional string extra_visibility = 2;</code>
8251         *
8252         * <pre>
8253         * for things like java-specific visibilities
8254         * </pre>
8255         */
8256        java.lang.String getExtraVisibility();
8257        /**
8258         * <code>optional string extra_visibility = 2;</code>
8259         *
8260         * <pre>
8261         * for things like java-specific visibilities
8262         * </pre>
8263         */
8264        com.google.protobuf.ByteString
8265            getExtraVisibilityBytes();
8266    
8267        // optional int32 getter_flags = 9;
8268        /**
8269         * <code>optional int32 getter_flags = 9;</code>
8270         *
8271         * <pre>
8272         *
8273         *isNotDefault
8274         *Visibility
8275         *Modality
8276         *has_annotations
8277         * </pre>
8278         */
8279        boolean hasGetterFlags();
8280        /**
8281         * <code>optional int32 getter_flags = 9;</code>
8282         *
8283         * <pre>
8284         *
8285         *isNotDefault
8286         *Visibility
8287         *Modality
8288         *has_annotations
8289         * </pre>
8290         */
8291        int getGetterFlags();
8292    
8293        // optional int32 setter_flags = 10;
8294        /**
8295         * <code>optional int32 setter_flags = 10;</code>
8296         */
8297        boolean hasSetterFlags();
8298        /**
8299         * <code>optional int32 setter_flags = 10;</code>
8300         */
8301        int getSetterFlags();
8302    
8303        // repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;
8304        /**
8305         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
8306         */
8307        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> 
8308            getTypeParameterList();
8309        /**
8310         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
8311         */
8312        org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
8313        /**
8314         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
8315         */
8316        int getTypeParameterCount();
8317    
8318        // optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;
8319        /**
8320         * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
8321         */
8322        boolean hasReceiverType();
8323        /**
8324         * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
8325         */
8326        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReceiverType();
8327    
8328        // required int32 name = 6;
8329        /**
8330         * <code>required int32 name = 6;</code>
8331         *
8332         * <pre>
8333         * Id in the StringTable
8334         * </pre>
8335         */
8336        boolean hasName();
8337        /**
8338         * <code>required int32 name = 6;</code>
8339         *
8340         * <pre>
8341         * Id in the StringTable
8342         * </pre>
8343         */
8344        int getName();
8345    
8346        // repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;
8347        /**
8348         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
8349         *
8350         * <pre>
8351         * Value parameters for functions and constructors, or setter value parameter for properties
8352         * </pre>
8353         */
8354        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> 
8355            getValueParameterList();
8356        /**
8357         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
8358         *
8359         * <pre>
8360         * Value parameters for functions and constructors, or setter value parameter for properties
8361         * </pre>
8362         */
8363        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index);
8364        /**
8365         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
8366         *
8367         * <pre>
8368         * Value parameters for functions and constructors, or setter value parameter for properties
8369         * </pre>
8370         */
8371        int getValueParameterCount();
8372    
8373        // required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;
8374        /**
8375         * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
8376         */
8377        boolean hasReturnType();
8378        /**
8379         * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
8380         */
8381        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReturnType();
8382      }
8383      /**
8384       * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Callable}
8385       */
8386      public static final class Callable extends
8387          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
8388            Callable> implements CallableOrBuilder {
8389        // Use Callable.newBuilder() to construct.
8390        private Callable(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable, ?> builder) {
8391          super(builder);
8392    
8393        }
8394        private Callable(boolean noInit) {}
8395    
8396        private static final Callable defaultInstance;
8397        public static Callable getDefaultInstance() {
8398          return defaultInstance;
8399        }
8400    
8401        public Callable getDefaultInstanceForType() {
8402          return defaultInstance;
8403        }
8404    
8405        private Callable(
8406            com.google.protobuf.CodedInputStream input,
8407            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8408            throws com.google.protobuf.InvalidProtocolBufferException {
8409          initFields();
8410          int mutable_bitField0_ = 0;
8411          try {
8412            boolean done = false;
8413            while (!done) {
8414              int tag = input.readTag();
8415              switch (tag) {
8416                case 0:
8417                  done = true;
8418                  break;
8419                default: {
8420                  if (!parseUnknownField(input,
8421                                         extensionRegistry, tag)) {
8422                    done = true;
8423                  }
8424                  break;
8425                }
8426                case 8: {
8427                  bitField0_ |= 0x00000001;
8428                  flags_ = input.readInt32();
8429                  break;
8430                }
8431                case 18: {
8432                  bitField0_ |= 0x00000002;
8433                  extraVisibility_ = input.readBytes();
8434                  break;
8435                }
8436                case 34: {
8437                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
8438                    typeParameter_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter>();
8439                    mutable_bitField0_ |= 0x00000010;
8440                  }
8441                  typeParameter_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
8442                  break;
8443                }
8444                case 42: {
8445                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = null;
8446                  if (((bitField0_ & 0x00000010) == 0x00000010)) {
8447                    subBuilder = receiverType_.toBuilder();
8448                  }
8449                  receiverType_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
8450                  if (subBuilder != null) {
8451                    subBuilder.mergeFrom(receiverType_);
8452                    receiverType_ = subBuilder.buildPartial();
8453                  }
8454                  bitField0_ |= 0x00000010;
8455                  break;
8456                }
8457                case 48: {
8458                  bitField0_ |= 0x00000020;
8459                  name_ = input.readInt32();
8460                  break;
8461                }
8462                case 58: {
8463                  if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
8464                    valueParameter_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter>();
8465                    mutable_bitField0_ |= 0x00000080;
8466                  }
8467                  valueParameter_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.PARSER, extensionRegistry));
8468                  break;
8469                }
8470                case 66: {
8471                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = null;
8472                  if (((bitField0_ & 0x00000040) == 0x00000040)) {
8473                    subBuilder = returnType_.toBuilder();
8474                  }
8475                  returnType_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
8476                  if (subBuilder != null) {
8477                    subBuilder.mergeFrom(returnType_);
8478                    returnType_ = subBuilder.buildPartial();
8479                  }
8480                  bitField0_ |= 0x00000040;
8481                  break;
8482                }
8483                case 72: {
8484                  bitField0_ |= 0x00000004;
8485                  getterFlags_ = input.readInt32();
8486                  break;
8487                }
8488                case 80: {
8489                  bitField0_ |= 0x00000008;
8490                  setterFlags_ = input.readInt32();
8491                  break;
8492                }
8493              }
8494            }
8495          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8496            throw e.setUnfinishedMessage(this);
8497          } catch (java.io.IOException e) {
8498            throw new com.google.protobuf.InvalidProtocolBufferException(
8499                e.getMessage()).setUnfinishedMessage(this);
8500          } finally {
8501            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
8502              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
8503            }
8504            if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
8505              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
8506            }
8507            makeExtensionsImmutable();
8508          }
8509        }
8510        public static com.google.protobuf.Parser<Callable> PARSER =
8511            new com.google.protobuf.AbstractParser<Callable>() {
8512          public Callable parsePartialFrom(
8513              com.google.protobuf.CodedInputStream input,
8514              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8515              throws com.google.protobuf.InvalidProtocolBufferException {
8516            return new Callable(input, extensionRegistry);
8517          }
8518        };
8519    
8520        @java.lang.Override
8521        public com.google.protobuf.Parser<Callable> getParserForType() {
8522          return PARSER;
8523        }
8524    
8525        /**
8526         * Protobuf enum {@code org.jetbrains.jet.descriptors.serialization.Callable.MemberKind}
8527         */
8528        public enum MemberKind
8529            implements com.google.protobuf.Internal.EnumLite {
8530          /**
8531           * <code>DECLARATION = 0;</code>
8532           *
8533           * <pre>
8534           * 2 bits
8535           * </pre>
8536           */
8537          DECLARATION(0, 0),
8538          /**
8539           * <code>FAKE_OVERRIDE = 1;</code>
8540           */
8541          FAKE_OVERRIDE(1, 1),
8542          /**
8543           * <code>DELEGATION = 2;</code>
8544           */
8545          DELEGATION(2, 2),
8546          /**
8547           * <code>SYNTHESIZED = 3;</code>
8548           */
8549          SYNTHESIZED(3, 3),
8550          ;
8551    
8552          /**
8553           * <code>DECLARATION = 0;</code>
8554           *
8555           * <pre>
8556           * 2 bits
8557           * </pre>
8558           */
8559          public static final int DECLARATION_VALUE = 0;
8560          /**
8561           * <code>FAKE_OVERRIDE = 1;</code>
8562           */
8563          public static final int FAKE_OVERRIDE_VALUE = 1;
8564          /**
8565           * <code>DELEGATION = 2;</code>
8566           */
8567          public static final int DELEGATION_VALUE = 2;
8568          /**
8569           * <code>SYNTHESIZED = 3;</code>
8570           */
8571          public static final int SYNTHESIZED_VALUE = 3;
8572    
8573    
8574          public final int getNumber() { return value; }
8575    
8576          public static MemberKind valueOf(int value) {
8577            switch (value) {
8578              case 0: return DECLARATION;
8579              case 1: return FAKE_OVERRIDE;
8580              case 2: return DELEGATION;
8581              case 3: return SYNTHESIZED;
8582              default: return null;
8583            }
8584          }
8585    
8586          public static com.google.protobuf.Internal.EnumLiteMap<MemberKind>
8587              internalGetValueMap() {
8588            return internalValueMap;
8589          }
8590          private static com.google.protobuf.Internal.EnumLiteMap<MemberKind>
8591              internalValueMap =
8592                new com.google.protobuf.Internal.EnumLiteMap<MemberKind>() {
8593                  public MemberKind findValueByNumber(int number) {
8594                    return MemberKind.valueOf(number);
8595                  }
8596                };
8597    
8598          private final int value;
8599    
8600          private MemberKind(int index, int value) {
8601            this.value = value;
8602          }
8603    
8604          // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Callable.MemberKind)
8605        }
8606    
8607        /**
8608         * Protobuf enum {@code org.jetbrains.jet.descriptors.serialization.Callable.CallableKind}
8609         */
8610        public enum CallableKind
8611            implements com.google.protobuf.Internal.EnumLite {
8612          /**
8613           * <code>FUN = 0;</code>
8614           *
8615           * <pre>
8616           * 2 bits
8617           * </pre>
8618           */
8619          FUN(0, 0),
8620          /**
8621           * <code>VAL = 1;</code>
8622           */
8623          VAL(1, 1),
8624          /**
8625           * <code>VAR = 2;</code>
8626           */
8627          VAR(2, 2),
8628          /**
8629           * <code>CONSTRUCTOR = 3;</code>
8630           */
8631          CONSTRUCTOR(3, 3),
8632          ;
8633    
8634          /**
8635           * <code>FUN = 0;</code>
8636           *
8637           * <pre>
8638           * 2 bits
8639           * </pre>
8640           */
8641          public static final int FUN_VALUE = 0;
8642          /**
8643           * <code>VAL = 1;</code>
8644           */
8645          public static final int VAL_VALUE = 1;
8646          /**
8647           * <code>VAR = 2;</code>
8648           */
8649          public static final int VAR_VALUE = 2;
8650          /**
8651           * <code>CONSTRUCTOR = 3;</code>
8652           */
8653          public static final int CONSTRUCTOR_VALUE = 3;
8654    
8655    
8656          public final int getNumber() { return value; }
8657    
8658          public static CallableKind valueOf(int value) {
8659            switch (value) {
8660              case 0: return FUN;
8661              case 1: return VAL;
8662              case 2: return VAR;
8663              case 3: return CONSTRUCTOR;
8664              default: return null;
8665            }
8666          }
8667    
8668          public static com.google.protobuf.Internal.EnumLiteMap<CallableKind>
8669              internalGetValueMap() {
8670            return internalValueMap;
8671          }
8672          private static com.google.protobuf.Internal.EnumLiteMap<CallableKind>
8673              internalValueMap =
8674                new com.google.protobuf.Internal.EnumLiteMap<CallableKind>() {
8675                  public CallableKind findValueByNumber(int number) {
8676                    return CallableKind.valueOf(number);
8677                  }
8678                };
8679    
8680          private final int value;
8681    
8682          private CallableKind(int index, int value) {
8683            this.value = value;
8684          }
8685    
8686          // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Callable.CallableKind)
8687        }
8688    
8689        public interface ValueParameterOrBuilder extends 
8690             com.google.protobuf.GeneratedMessageLite.
8691                  ExtendableMessageOrBuilder<ValueParameter> {
8692    
8693          // optional int32 flags = 1;
8694          /**
8695           * <code>optional int32 flags = 1;</code>
8696           *
8697           * <pre>
8698           *
8699           *declaresDefault
8700           *has_annotations
8701           * </pre>
8702           */
8703          boolean hasFlags();
8704          /**
8705           * <code>optional int32 flags = 1;</code>
8706           *
8707           * <pre>
8708           *
8709           *declaresDefault
8710           *has_annotations
8711           * </pre>
8712           */
8713          int getFlags();
8714    
8715          // required int32 name = 2;
8716          /**
8717           * <code>required int32 name = 2;</code>
8718           *
8719           * <pre>
8720           * Id in the StringTable
8721           * </pre>
8722           */
8723          boolean hasName();
8724          /**
8725           * <code>required int32 name = 2;</code>
8726           *
8727           * <pre>
8728           * Id in the StringTable
8729           * </pre>
8730           */
8731          int getName();
8732    
8733          // required .org.jetbrains.jet.descriptors.serialization.Type type = 3;
8734          /**
8735           * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
8736           */
8737          boolean hasType();
8738          /**
8739           * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
8740           */
8741          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getType();
8742    
8743          // optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;
8744          /**
8745           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
8746           */
8747          boolean hasVarargElementType();
8748          /**
8749           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
8750           */
8751          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getVarargElementType();
8752        }
8753        /**
8754         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter}
8755         */
8756        public static final class ValueParameter extends
8757            com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
8758              ValueParameter> implements ValueParameterOrBuilder {
8759          // Use ValueParameter.newBuilder() to construct.
8760          private ValueParameter(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter, ?> builder) {
8761            super(builder);
8762    
8763          }
8764          private ValueParameter(boolean noInit) {}
8765    
8766          private static final ValueParameter defaultInstance;
8767          public static ValueParameter getDefaultInstance() {
8768            return defaultInstance;
8769          }
8770    
8771          public ValueParameter getDefaultInstanceForType() {
8772            return defaultInstance;
8773          }
8774    
8775          private ValueParameter(
8776              com.google.protobuf.CodedInputStream input,
8777              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8778              throws com.google.protobuf.InvalidProtocolBufferException {
8779            initFields();
8780            int mutable_bitField0_ = 0;
8781            try {
8782              boolean done = false;
8783              while (!done) {
8784                int tag = input.readTag();
8785                switch (tag) {
8786                  case 0:
8787                    done = true;
8788                    break;
8789                  default: {
8790                    if (!parseUnknownField(input,
8791                                           extensionRegistry, tag)) {
8792                      done = true;
8793                    }
8794                    break;
8795                  }
8796                  case 8: {
8797                    bitField0_ |= 0x00000001;
8798                    flags_ = input.readInt32();
8799                    break;
8800                  }
8801                  case 16: {
8802                    bitField0_ |= 0x00000002;
8803                    name_ = input.readInt32();
8804                    break;
8805                  }
8806                  case 26: {
8807                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = null;
8808                    if (((bitField0_ & 0x00000004) == 0x00000004)) {
8809                      subBuilder = type_.toBuilder();
8810                    }
8811                    type_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
8812                    if (subBuilder != null) {
8813                      subBuilder.mergeFrom(type_);
8814                      type_ = subBuilder.buildPartial();
8815                    }
8816                    bitField0_ |= 0x00000004;
8817                    break;
8818                  }
8819                  case 34: {
8820                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = null;
8821                    if (((bitField0_ & 0x00000008) == 0x00000008)) {
8822                      subBuilder = varargElementType_.toBuilder();
8823                    }
8824                    varargElementType_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
8825                    if (subBuilder != null) {
8826                      subBuilder.mergeFrom(varargElementType_);
8827                      varargElementType_ = subBuilder.buildPartial();
8828                    }
8829                    bitField0_ |= 0x00000008;
8830                    break;
8831                  }
8832                }
8833              }
8834            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8835              throw e.setUnfinishedMessage(this);
8836            } catch (java.io.IOException e) {
8837              throw new com.google.protobuf.InvalidProtocolBufferException(
8838                  e.getMessage()).setUnfinishedMessage(this);
8839            } finally {
8840              makeExtensionsImmutable();
8841            }
8842          }
8843          public static com.google.protobuf.Parser<ValueParameter> PARSER =
8844              new com.google.protobuf.AbstractParser<ValueParameter>() {
8845            public ValueParameter parsePartialFrom(
8846                com.google.protobuf.CodedInputStream input,
8847                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8848                throws com.google.protobuf.InvalidProtocolBufferException {
8849              return new ValueParameter(input, extensionRegistry);
8850            }
8851          };
8852    
8853          @java.lang.Override
8854          public com.google.protobuf.Parser<ValueParameter> getParserForType() {
8855            return PARSER;
8856          }
8857    
8858          private int bitField0_;
8859          // optional int32 flags = 1;
8860          public static final int FLAGS_FIELD_NUMBER = 1;
8861          private int flags_;
8862          /**
8863           * <code>optional int32 flags = 1;</code>
8864           *
8865           * <pre>
8866           *
8867           *declaresDefault
8868           *has_annotations
8869           * </pre>
8870           */
8871          public boolean hasFlags() {
8872            return ((bitField0_ & 0x00000001) == 0x00000001);
8873          }
8874          /**
8875           * <code>optional int32 flags = 1;</code>
8876           *
8877           * <pre>
8878           *
8879           *declaresDefault
8880           *has_annotations
8881           * </pre>
8882           */
8883          public int getFlags() {
8884            return flags_;
8885          }
8886    
8887          // required int32 name = 2;
8888          public static final int NAME_FIELD_NUMBER = 2;
8889          private int name_;
8890          /**
8891           * <code>required int32 name = 2;</code>
8892           *
8893           * <pre>
8894           * Id in the StringTable
8895           * </pre>
8896           */
8897          public boolean hasName() {
8898            return ((bitField0_ & 0x00000002) == 0x00000002);
8899          }
8900          /**
8901           * <code>required int32 name = 2;</code>
8902           *
8903           * <pre>
8904           * Id in the StringTable
8905           * </pre>
8906           */
8907          public int getName() {
8908            return name_;
8909          }
8910    
8911          // required .org.jetbrains.jet.descriptors.serialization.Type type = 3;
8912          public static final int TYPE_FIELD_NUMBER = 3;
8913          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type type_;
8914          /**
8915           * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
8916           */
8917          public boolean hasType() {
8918            return ((bitField0_ & 0x00000004) == 0x00000004);
8919          }
8920          /**
8921           * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
8922           */
8923          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getType() {
8924            return type_;
8925          }
8926    
8927          // optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;
8928          public static final int VARARG_ELEMENT_TYPE_FIELD_NUMBER = 4;
8929          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type varargElementType_;
8930          /**
8931           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
8932           */
8933          public boolean hasVarargElementType() {
8934            return ((bitField0_ & 0x00000008) == 0x00000008);
8935          }
8936          /**
8937           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
8938           */
8939          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getVarargElementType() {
8940            return varargElementType_;
8941          }
8942    
8943          private void initFields() {
8944            flags_ = 0;
8945            name_ = 0;
8946            type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
8947            varargElementType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
8948          }
8949          private byte memoizedIsInitialized = -1;
8950          public final boolean isInitialized() {
8951            byte isInitialized = memoizedIsInitialized;
8952            if (isInitialized != -1) return isInitialized == 1;
8953    
8954            if (!hasName()) {
8955              memoizedIsInitialized = 0;
8956              return false;
8957            }
8958            if (!hasType()) {
8959              memoizedIsInitialized = 0;
8960              return false;
8961            }
8962            if (!getType().isInitialized()) {
8963              memoizedIsInitialized = 0;
8964              return false;
8965            }
8966            if (hasVarargElementType()) {
8967              if (!getVarargElementType().isInitialized()) {
8968                memoizedIsInitialized = 0;
8969                return false;
8970              }
8971            }
8972            if (!extensionsAreInitialized()) {
8973              memoizedIsInitialized = 0;
8974              return false;
8975            }
8976            memoizedIsInitialized = 1;
8977            return true;
8978          }
8979    
8980          public void writeTo(com.google.protobuf.CodedOutputStream output)
8981                              throws java.io.IOException {
8982            getSerializedSize();
8983            com.google.protobuf.GeneratedMessageLite
8984              .ExtendableMessage<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter>.ExtensionWriter extensionWriter =
8985                newExtensionWriter();
8986            if (((bitField0_ & 0x00000001) == 0x00000001)) {
8987              output.writeInt32(1, flags_);
8988            }
8989            if (((bitField0_ & 0x00000002) == 0x00000002)) {
8990              output.writeInt32(2, name_);
8991            }
8992            if (((bitField0_ & 0x00000004) == 0x00000004)) {
8993              output.writeMessage(3, type_);
8994            }
8995            if (((bitField0_ & 0x00000008) == 0x00000008)) {
8996              output.writeMessage(4, varargElementType_);
8997            }
8998            extensionWriter.writeUntil(200, output);
8999          }
9000    
9001          private int memoizedSerializedSize = -1;
9002          public int getSerializedSize() {
9003            int size = memoizedSerializedSize;
9004            if (size != -1) return size;
9005    
9006            size = 0;
9007            if (((bitField0_ & 0x00000001) == 0x00000001)) {
9008              size += com.google.protobuf.CodedOutputStream
9009                .computeInt32Size(1, flags_);
9010            }
9011            if (((bitField0_ & 0x00000002) == 0x00000002)) {
9012              size += com.google.protobuf.CodedOutputStream
9013                .computeInt32Size(2, name_);
9014            }
9015            if (((bitField0_ & 0x00000004) == 0x00000004)) {
9016              size += com.google.protobuf.CodedOutputStream
9017                .computeMessageSize(3, type_);
9018            }
9019            if (((bitField0_ & 0x00000008) == 0x00000008)) {
9020              size += com.google.protobuf.CodedOutputStream
9021                .computeMessageSize(4, varargElementType_);
9022            }
9023            size += extensionsSerializedSize();
9024            memoizedSerializedSize = size;
9025            return size;
9026          }
9027    
9028          private static final long serialVersionUID = 0L;
9029          @java.lang.Override
9030          protected java.lang.Object writeReplace()
9031              throws java.io.ObjectStreamException {
9032            return super.writeReplace();
9033          }
9034    
9035          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
9036              com.google.protobuf.ByteString data)
9037              throws com.google.protobuf.InvalidProtocolBufferException {
9038            return PARSER.parseFrom(data);
9039          }
9040          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
9041              com.google.protobuf.ByteString data,
9042              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9043              throws com.google.protobuf.InvalidProtocolBufferException {
9044            return PARSER.parseFrom(data, extensionRegistry);
9045          }
9046          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(byte[] data)
9047              throws com.google.protobuf.InvalidProtocolBufferException {
9048            return PARSER.parseFrom(data);
9049          }
9050          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
9051              byte[] data,
9052              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9053              throws com.google.protobuf.InvalidProtocolBufferException {
9054            return PARSER.parseFrom(data, extensionRegistry);
9055          }
9056          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(java.io.InputStream input)
9057              throws java.io.IOException {
9058            return PARSER.parseFrom(input);
9059          }
9060          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
9061              java.io.InputStream input,
9062              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9063              throws java.io.IOException {
9064            return PARSER.parseFrom(input, extensionRegistry);
9065          }
9066          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseDelimitedFrom(java.io.InputStream input)
9067              throws java.io.IOException {
9068            return PARSER.parseDelimitedFrom(input);
9069          }
9070          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseDelimitedFrom(
9071              java.io.InputStream input,
9072              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9073              throws java.io.IOException {
9074            return PARSER.parseDelimitedFrom(input, extensionRegistry);
9075          }
9076          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
9077              com.google.protobuf.CodedInputStream input)
9078              throws java.io.IOException {
9079            return PARSER.parseFrom(input);
9080          }
9081          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
9082              com.google.protobuf.CodedInputStream input,
9083              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9084              throws java.io.IOException {
9085            return PARSER.parseFrom(input, extensionRegistry);
9086          }
9087    
9088          public static Builder newBuilder() { return Builder.create(); }
9089          public Builder newBuilderForType() { return newBuilder(); }
9090          public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter prototype) {
9091            return newBuilder().mergeFrom(prototype);
9092          }
9093          public Builder toBuilder() { return newBuilder(this); }
9094    
9095          /**
9096           * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter}
9097           */
9098          public static final class Builder extends
9099              com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
9100                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter, Builder> implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameterOrBuilder {
9101            // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.newBuilder()
9102            private Builder() {
9103              maybeForceBuilderInitialization();
9104            }
9105    
9106            private void maybeForceBuilderInitialization() {
9107            }
9108            private static Builder create() {
9109              return new Builder();
9110            }
9111    
9112            public Builder clear() {
9113              super.clear();
9114              flags_ = 0;
9115              bitField0_ = (bitField0_ & ~0x00000001);
9116              name_ = 0;
9117              bitField0_ = (bitField0_ & ~0x00000002);
9118              type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
9119              bitField0_ = (bitField0_ & ~0x00000004);
9120              varargElementType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
9121              bitField0_ = (bitField0_ & ~0x00000008);
9122              return this;
9123            }
9124    
9125            public Builder clone() {
9126              return create().mergeFrom(buildPartial());
9127            }
9128    
9129            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter getDefaultInstanceForType() {
9130              return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.getDefaultInstance();
9131            }
9132    
9133            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter build() {
9134              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter result = buildPartial();
9135              if (!result.isInitialized()) {
9136                throw newUninitializedMessageException(result);
9137              }
9138              return result;
9139            }
9140    
9141            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter buildPartial() {
9142              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter(this);
9143              int from_bitField0_ = bitField0_;
9144              int to_bitField0_ = 0;
9145              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
9146                to_bitField0_ |= 0x00000001;
9147              }
9148              result.flags_ = flags_;
9149              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
9150                to_bitField0_ |= 0x00000002;
9151              }
9152              result.name_ = name_;
9153              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
9154                to_bitField0_ |= 0x00000004;
9155              }
9156              result.type_ = type_;
9157              if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
9158                to_bitField0_ |= 0x00000008;
9159              }
9160              result.varargElementType_ = varargElementType_;
9161              result.bitField0_ = to_bitField0_;
9162              return result;
9163            }
9164    
9165            public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter other) {
9166              if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.getDefaultInstance()) return this;
9167              if (other.hasFlags()) {
9168                setFlags(other.getFlags());
9169              }
9170              if (other.hasName()) {
9171                setName(other.getName());
9172              }
9173              if (other.hasType()) {
9174                mergeType(other.getType());
9175              }
9176              if (other.hasVarargElementType()) {
9177                mergeVarargElementType(other.getVarargElementType());
9178              }
9179              this.mergeExtensionFields(other);
9180              return this;
9181            }
9182    
9183            public final boolean isInitialized() {
9184              if (!hasName()) {
9185                
9186                return false;
9187              }
9188              if (!hasType()) {
9189                
9190                return false;
9191              }
9192              if (!getType().isInitialized()) {
9193                
9194                return false;
9195              }
9196              if (hasVarargElementType()) {
9197                if (!getVarargElementType().isInitialized()) {
9198                  
9199                  return false;
9200                }
9201              }
9202              if (!extensionsAreInitialized()) {
9203                
9204                return false;
9205              }
9206              return true;
9207            }
9208    
9209            public Builder mergeFrom(
9210                com.google.protobuf.CodedInputStream input,
9211                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9212                throws java.io.IOException {
9213              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parsedMessage = null;
9214              try {
9215                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
9216              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
9217                parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter) e.getUnfinishedMessage();
9218                throw e;
9219              } finally {
9220                if (parsedMessage != null) {
9221                  mergeFrom(parsedMessage);
9222                }
9223              }
9224              return this;
9225            }
9226            private int bitField0_;
9227    
9228            // optional int32 flags = 1;
9229            private int flags_ ;
9230            /**
9231             * <code>optional int32 flags = 1;</code>
9232             *
9233             * <pre>
9234             *
9235             *declaresDefault
9236             *has_annotations
9237             * </pre>
9238             */
9239            public boolean hasFlags() {
9240              return ((bitField0_ & 0x00000001) == 0x00000001);
9241            }
9242            /**
9243             * <code>optional int32 flags = 1;</code>
9244             *
9245             * <pre>
9246             *
9247             *declaresDefault
9248             *has_annotations
9249             * </pre>
9250             */
9251            public int getFlags() {
9252              return flags_;
9253            }
9254            /**
9255             * <code>optional int32 flags = 1;</code>
9256             *
9257             * <pre>
9258             *
9259             *declaresDefault
9260             *has_annotations
9261             * </pre>
9262             */
9263            public Builder setFlags(int value) {
9264              bitField0_ |= 0x00000001;
9265              flags_ = value;
9266              
9267              return this;
9268            }
9269            /**
9270             * <code>optional int32 flags = 1;</code>
9271             *
9272             * <pre>
9273             *
9274             *declaresDefault
9275             *has_annotations
9276             * </pre>
9277             */
9278            public Builder clearFlags() {
9279              bitField0_ = (bitField0_ & ~0x00000001);
9280              flags_ = 0;
9281              
9282              return this;
9283            }
9284    
9285            // required int32 name = 2;
9286            private int name_ ;
9287            /**
9288             * <code>required int32 name = 2;</code>
9289             *
9290             * <pre>
9291             * Id in the StringTable
9292             * </pre>
9293             */
9294            public boolean hasName() {
9295              return ((bitField0_ & 0x00000002) == 0x00000002);
9296            }
9297            /**
9298             * <code>required int32 name = 2;</code>
9299             *
9300             * <pre>
9301             * Id in the StringTable
9302             * </pre>
9303             */
9304            public int getName() {
9305              return name_;
9306            }
9307            /**
9308             * <code>required int32 name = 2;</code>
9309             *
9310             * <pre>
9311             * Id in the StringTable
9312             * </pre>
9313             */
9314            public Builder setName(int value) {
9315              bitField0_ |= 0x00000002;
9316              name_ = value;
9317              
9318              return this;
9319            }
9320            /**
9321             * <code>required int32 name = 2;</code>
9322             *
9323             * <pre>
9324             * Id in the StringTable
9325             * </pre>
9326             */
9327            public Builder clearName() {
9328              bitField0_ = (bitField0_ & ~0x00000002);
9329              name_ = 0;
9330              
9331              return this;
9332            }
9333    
9334            // required .org.jetbrains.jet.descriptors.serialization.Type type = 3;
9335            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
9336            /**
9337             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
9338             */
9339            public boolean hasType() {
9340              return ((bitField0_ & 0x00000004) == 0x00000004);
9341            }
9342            /**
9343             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
9344             */
9345            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getType() {
9346              return type_;
9347            }
9348            /**
9349             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
9350             */
9351            public Builder setType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
9352              if (value == null) {
9353                throw new NullPointerException();
9354              }
9355              type_ = value;
9356    
9357              bitField0_ |= 0x00000004;
9358              return this;
9359            }
9360            /**
9361             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
9362             */
9363            public Builder setType(
9364                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
9365              type_ = builderForValue.build();
9366    
9367              bitField0_ |= 0x00000004;
9368              return this;
9369            }
9370            /**
9371             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
9372             */
9373            public Builder mergeType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
9374              if (((bitField0_ & 0x00000004) == 0x00000004) &&
9375                  type_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) {
9376                type_ =
9377                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
9378              } else {
9379                type_ = value;
9380              }
9381    
9382              bitField0_ |= 0x00000004;
9383              return this;
9384            }
9385            /**
9386             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
9387             */
9388            public Builder clearType() {
9389              type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
9390    
9391              bitField0_ = (bitField0_ & ~0x00000004);
9392              return this;
9393            }
9394    
9395            // optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;
9396            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type varargElementType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
9397            /**
9398             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
9399             */
9400            public boolean hasVarargElementType() {
9401              return ((bitField0_ & 0x00000008) == 0x00000008);
9402            }
9403            /**
9404             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
9405             */
9406            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getVarargElementType() {
9407              return varargElementType_;
9408            }
9409            /**
9410             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
9411             */
9412            public Builder setVarargElementType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
9413              if (value == null) {
9414                throw new NullPointerException();
9415              }
9416              varargElementType_ = value;
9417    
9418              bitField0_ |= 0x00000008;
9419              return this;
9420            }
9421            /**
9422             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
9423             */
9424            public Builder setVarargElementType(
9425                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
9426              varargElementType_ = builderForValue.build();
9427    
9428              bitField0_ |= 0x00000008;
9429              return this;
9430            }
9431            /**
9432             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
9433             */
9434            public Builder mergeVarargElementType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
9435              if (((bitField0_ & 0x00000008) == 0x00000008) &&
9436                  varargElementType_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) {
9437                varargElementType_ =
9438                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder(varargElementType_).mergeFrom(value).buildPartial();
9439              } else {
9440                varargElementType_ = value;
9441              }
9442    
9443              bitField0_ |= 0x00000008;
9444              return this;
9445            }
9446            /**
9447             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
9448             */
9449            public Builder clearVarargElementType() {
9450              varargElementType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
9451    
9452              bitField0_ = (bitField0_ & ~0x00000008);
9453              return this;
9454            }
9455    
9456            // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter)
9457          }
9458    
9459          static {
9460            defaultInstance = new ValueParameter(true);
9461            defaultInstance.initFields();
9462          }
9463    
9464          // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter)
9465        }
9466    
9467        private int bitField0_;
9468        // optional int32 flags = 1;
9469        public static final int FLAGS_FIELD_NUMBER = 1;
9470        private int flags_;
9471        /**
9472         * <code>optional int32 flags = 1;</code>
9473         *
9474         * <pre>
9475         *
9476         *Visibility
9477         *Modality
9478         *has_annotations
9479         *CallableKind
9480         *MemberKind
9481         *hasGetter
9482         *hasSetter
9483         *hasConstant
9484         * </pre>
9485         */
9486        public boolean hasFlags() {
9487          return ((bitField0_ & 0x00000001) == 0x00000001);
9488        }
9489        /**
9490         * <code>optional int32 flags = 1;</code>
9491         *
9492         * <pre>
9493         *
9494         *Visibility
9495         *Modality
9496         *has_annotations
9497         *CallableKind
9498         *MemberKind
9499         *hasGetter
9500         *hasSetter
9501         *hasConstant
9502         * </pre>
9503         */
9504        public int getFlags() {
9505          return flags_;
9506        }
9507    
9508        // optional string extra_visibility = 2;
9509        public static final int EXTRA_VISIBILITY_FIELD_NUMBER = 2;
9510        private java.lang.Object extraVisibility_;
9511        /**
9512         * <code>optional string extra_visibility = 2;</code>
9513         *
9514         * <pre>
9515         * for things like java-specific visibilities
9516         * </pre>
9517         */
9518        public boolean hasExtraVisibility() {
9519          return ((bitField0_ & 0x00000002) == 0x00000002);
9520        }
9521        /**
9522         * <code>optional string extra_visibility = 2;</code>
9523         *
9524         * <pre>
9525         * for things like java-specific visibilities
9526         * </pre>
9527         */
9528        public java.lang.String getExtraVisibility() {
9529          java.lang.Object ref = extraVisibility_;
9530          if (ref instanceof java.lang.String) {
9531            return (java.lang.String) ref;
9532          } else {
9533            com.google.protobuf.ByteString bs = 
9534                (com.google.protobuf.ByteString) ref;
9535            java.lang.String s = bs.toStringUtf8();
9536            if (bs.isValidUtf8()) {
9537              extraVisibility_ = s;
9538            }
9539            return s;
9540          }
9541        }
9542        /**
9543         * <code>optional string extra_visibility = 2;</code>
9544         *
9545         * <pre>
9546         * for things like java-specific visibilities
9547         * </pre>
9548         */
9549        public com.google.protobuf.ByteString
9550            getExtraVisibilityBytes() {
9551          java.lang.Object ref = extraVisibility_;
9552          if (ref instanceof java.lang.String) {
9553            com.google.protobuf.ByteString b = 
9554                com.google.protobuf.ByteString.copyFromUtf8(
9555                    (java.lang.String) ref);
9556            extraVisibility_ = b;
9557            return b;
9558          } else {
9559            return (com.google.protobuf.ByteString) ref;
9560          }
9561        }
9562    
9563        // optional int32 getter_flags = 9;
9564        public static final int GETTER_FLAGS_FIELD_NUMBER = 9;
9565        private int getterFlags_;
9566        /**
9567         * <code>optional int32 getter_flags = 9;</code>
9568         *
9569         * <pre>
9570         *
9571         *isNotDefault
9572         *Visibility
9573         *Modality
9574         *has_annotations
9575         * </pre>
9576         */
9577        public boolean hasGetterFlags() {
9578          return ((bitField0_ & 0x00000004) == 0x00000004);
9579        }
9580        /**
9581         * <code>optional int32 getter_flags = 9;</code>
9582         *
9583         * <pre>
9584         *
9585         *isNotDefault
9586         *Visibility
9587         *Modality
9588         *has_annotations
9589         * </pre>
9590         */
9591        public int getGetterFlags() {
9592          return getterFlags_;
9593        }
9594    
9595        // optional int32 setter_flags = 10;
9596        public static final int SETTER_FLAGS_FIELD_NUMBER = 10;
9597        private int setterFlags_;
9598        /**
9599         * <code>optional int32 setter_flags = 10;</code>
9600         */
9601        public boolean hasSetterFlags() {
9602          return ((bitField0_ & 0x00000008) == 0x00000008);
9603        }
9604        /**
9605         * <code>optional int32 setter_flags = 10;</code>
9606         */
9607        public int getSetterFlags() {
9608          return setterFlags_;
9609        }
9610    
9611        // repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;
9612        public static final int TYPE_PARAMETER_FIELD_NUMBER = 4;
9613        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> typeParameter_;
9614        /**
9615         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
9616         */
9617        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
9618          return typeParameter_;
9619        }
9620        /**
9621         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
9622         */
9623        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameterOrBuilder> 
9624            getTypeParameterOrBuilderList() {
9625          return typeParameter_;
9626        }
9627        /**
9628         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
9629         */
9630        public int getTypeParameterCount() {
9631          return typeParameter_.size();
9632        }
9633        /**
9634         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
9635         */
9636        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
9637          return typeParameter_.get(index);
9638        }
9639        /**
9640         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
9641         */
9642        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
9643            int index) {
9644          return typeParameter_.get(index);
9645        }
9646    
9647        // optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;
9648        public static final int RECEIVER_TYPE_FIELD_NUMBER = 5;
9649        private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type receiverType_;
9650        /**
9651         * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
9652         */
9653        public boolean hasReceiverType() {
9654          return ((bitField0_ & 0x00000010) == 0x00000010);
9655        }
9656        /**
9657         * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
9658         */
9659        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReceiverType() {
9660          return receiverType_;
9661        }
9662    
9663        // required int32 name = 6;
9664        public static final int NAME_FIELD_NUMBER = 6;
9665        private int name_;
9666        /**
9667         * <code>required int32 name = 6;</code>
9668         *
9669         * <pre>
9670         * Id in the StringTable
9671         * </pre>
9672         */
9673        public boolean hasName() {
9674          return ((bitField0_ & 0x00000020) == 0x00000020);
9675        }
9676        /**
9677         * <code>required int32 name = 6;</code>
9678         *
9679         * <pre>
9680         * Id in the StringTable
9681         * </pre>
9682         */
9683        public int getName() {
9684          return name_;
9685        }
9686    
9687        // repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;
9688        public static final int VALUE_PARAMETER_FIELD_NUMBER = 7;
9689        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> valueParameter_;
9690        /**
9691         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
9692         *
9693         * <pre>
9694         * Value parameters for functions and constructors, or setter value parameter for properties
9695         * </pre>
9696         */
9697        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> getValueParameterList() {
9698          return valueParameter_;
9699        }
9700        /**
9701         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
9702         *
9703         * <pre>
9704         * Value parameters for functions and constructors, or setter value parameter for properties
9705         * </pre>
9706         */
9707        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameterOrBuilder> 
9708            getValueParameterOrBuilderList() {
9709          return valueParameter_;
9710        }
9711        /**
9712         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
9713         *
9714         * <pre>
9715         * Value parameters for functions and constructors, or setter value parameter for properties
9716         * </pre>
9717         */
9718        public int getValueParameterCount() {
9719          return valueParameter_.size();
9720        }
9721        /**
9722         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
9723         *
9724         * <pre>
9725         * Value parameters for functions and constructors, or setter value parameter for properties
9726         * </pre>
9727         */
9728        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index) {
9729          return valueParameter_.get(index);
9730        }
9731        /**
9732         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
9733         *
9734         * <pre>
9735         * Value parameters for functions and constructors, or setter value parameter for properties
9736         * </pre>
9737         */
9738        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameterOrBuilder getValueParameterOrBuilder(
9739            int index) {
9740          return valueParameter_.get(index);
9741        }
9742    
9743        // required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;
9744        public static final int RETURN_TYPE_FIELD_NUMBER = 8;
9745        private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type returnType_;
9746        /**
9747         * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
9748         */
9749        public boolean hasReturnType() {
9750          return ((bitField0_ & 0x00000040) == 0x00000040);
9751        }
9752        /**
9753         * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
9754         */
9755        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReturnType() {
9756          return returnType_;
9757        }
9758    
9759        private void initFields() {
9760          flags_ = 0;
9761          extraVisibility_ = "";
9762          getterFlags_ = 0;
9763          setterFlags_ = 0;
9764          typeParameter_ = java.util.Collections.emptyList();
9765          receiverType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
9766          name_ = 0;
9767          valueParameter_ = java.util.Collections.emptyList();
9768          returnType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
9769        }
9770        private byte memoizedIsInitialized = -1;
9771        public final boolean isInitialized() {
9772          byte isInitialized = memoizedIsInitialized;
9773          if (isInitialized != -1) return isInitialized == 1;
9774    
9775          if (!hasName()) {
9776            memoizedIsInitialized = 0;
9777            return false;
9778          }
9779          if (!hasReturnType()) {
9780            memoizedIsInitialized = 0;
9781            return false;
9782          }
9783          for (int i = 0; i < getTypeParameterCount(); i++) {
9784            if (!getTypeParameter(i).isInitialized()) {
9785              memoizedIsInitialized = 0;
9786              return false;
9787            }
9788          }
9789          if (hasReceiverType()) {
9790            if (!getReceiverType().isInitialized()) {
9791              memoizedIsInitialized = 0;
9792              return false;
9793            }
9794          }
9795          for (int i = 0; i < getValueParameterCount(); i++) {
9796            if (!getValueParameter(i).isInitialized()) {
9797              memoizedIsInitialized = 0;
9798              return false;
9799            }
9800          }
9801          if (!getReturnType().isInitialized()) {
9802            memoizedIsInitialized = 0;
9803            return false;
9804          }
9805          if (!extensionsAreInitialized()) {
9806            memoizedIsInitialized = 0;
9807            return false;
9808          }
9809          memoizedIsInitialized = 1;
9810          return true;
9811        }
9812    
9813        public void writeTo(com.google.protobuf.CodedOutputStream output)
9814                            throws java.io.IOException {
9815          getSerializedSize();
9816          com.google.protobuf.GeneratedMessageLite
9817            .ExtendableMessage<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable>.ExtensionWriter extensionWriter =
9818              newExtensionWriter();
9819          if (((bitField0_ & 0x00000001) == 0x00000001)) {
9820            output.writeInt32(1, flags_);
9821          }
9822          if (((bitField0_ & 0x00000002) == 0x00000002)) {
9823            output.writeBytes(2, getExtraVisibilityBytes());
9824          }
9825          for (int i = 0; i < typeParameter_.size(); i++) {
9826            output.writeMessage(4, typeParameter_.get(i));
9827          }
9828          if (((bitField0_ & 0x00000010) == 0x00000010)) {
9829            output.writeMessage(5, receiverType_);
9830          }
9831          if (((bitField0_ & 0x00000020) == 0x00000020)) {
9832            output.writeInt32(6, name_);
9833          }
9834          for (int i = 0; i < valueParameter_.size(); i++) {
9835            output.writeMessage(7, valueParameter_.get(i));
9836          }
9837          if (((bitField0_ & 0x00000040) == 0x00000040)) {
9838            output.writeMessage(8, returnType_);
9839          }
9840          if (((bitField0_ & 0x00000004) == 0x00000004)) {
9841            output.writeInt32(9, getterFlags_);
9842          }
9843          if (((bitField0_ & 0x00000008) == 0x00000008)) {
9844            output.writeInt32(10, setterFlags_);
9845          }
9846          extensionWriter.writeUntil(200, output);
9847        }
9848    
9849        private int memoizedSerializedSize = -1;
9850        public int getSerializedSize() {
9851          int size = memoizedSerializedSize;
9852          if (size != -1) return size;
9853    
9854          size = 0;
9855          if (((bitField0_ & 0x00000001) == 0x00000001)) {
9856            size += com.google.protobuf.CodedOutputStream
9857              .computeInt32Size(1, flags_);
9858          }
9859          if (((bitField0_ & 0x00000002) == 0x00000002)) {
9860            size += com.google.protobuf.CodedOutputStream
9861              .computeBytesSize(2, getExtraVisibilityBytes());
9862          }
9863          for (int i = 0; i < typeParameter_.size(); i++) {
9864            size += com.google.protobuf.CodedOutputStream
9865              .computeMessageSize(4, typeParameter_.get(i));
9866          }
9867          if (((bitField0_ & 0x00000010) == 0x00000010)) {
9868            size += com.google.protobuf.CodedOutputStream
9869              .computeMessageSize(5, receiverType_);
9870          }
9871          if (((bitField0_ & 0x00000020) == 0x00000020)) {
9872            size += com.google.protobuf.CodedOutputStream
9873              .computeInt32Size(6, name_);
9874          }
9875          for (int i = 0; i < valueParameter_.size(); i++) {
9876            size += com.google.protobuf.CodedOutputStream
9877              .computeMessageSize(7, valueParameter_.get(i));
9878          }
9879          if (((bitField0_ & 0x00000040) == 0x00000040)) {
9880            size += com.google.protobuf.CodedOutputStream
9881              .computeMessageSize(8, returnType_);
9882          }
9883          if (((bitField0_ & 0x00000004) == 0x00000004)) {
9884            size += com.google.protobuf.CodedOutputStream
9885              .computeInt32Size(9, getterFlags_);
9886          }
9887          if (((bitField0_ & 0x00000008) == 0x00000008)) {
9888            size += com.google.protobuf.CodedOutputStream
9889              .computeInt32Size(10, setterFlags_);
9890          }
9891          size += extensionsSerializedSize();
9892          memoizedSerializedSize = size;
9893          return size;
9894        }
9895    
9896        private static final long serialVersionUID = 0L;
9897        @java.lang.Override
9898        protected java.lang.Object writeReplace()
9899            throws java.io.ObjectStreamException {
9900          return super.writeReplace();
9901        }
9902    
9903        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
9904            com.google.protobuf.ByteString data)
9905            throws com.google.protobuf.InvalidProtocolBufferException {
9906          return PARSER.parseFrom(data);
9907        }
9908        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
9909            com.google.protobuf.ByteString data,
9910            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9911            throws com.google.protobuf.InvalidProtocolBufferException {
9912          return PARSER.parseFrom(data, extensionRegistry);
9913        }
9914        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(byte[] data)
9915            throws com.google.protobuf.InvalidProtocolBufferException {
9916          return PARSER.parseFrom(data);
9917        }
9918        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
9919            byte[] data,
9920            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9921            throws com.google.protobuf.InvalidProtocolBufferException {
9922          return PARSER.parseFrom(data, extensionRegistry);
9923        }
9924        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(java.io.InputStream input)
9925            throws java.io.IOException {
9926          return PARSER.parseFrom(input);
9927        }
9928        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
9929            java.io.InputStream input,
9930            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9931            throws java.io.IOException {
9932          return PARSER.parseFrom(input, extensionRegistry);
9933        }
9934        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseDelimitedFrom(java.io.InputStream input)
9935            throws java.io.IOException {
9936          return PARSER.parseDelimitedFrom(input);
9937        }
9938        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseDelimitedFrom(
9939            java.io.InputStream input,
9940            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9941            throws java.io.IOException {
9942          return PARSER.parseDelimitedFrom(input, extensionRegistry);
9943        }
9944        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
9945            com.google.protobuf.CodedInputStream input)
9946            throws java.io.IOException {
9947          return PARSER.parseFrom(input);
9948        }
9949        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
9950            com.google.protobuf.CodedInputStream input,
9951            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9952            throws java.io.IOException {
9953          return PARSER.parseFrom(input, extensionRegistry);
9954        }
9955    
9956        public static Builder newBuilder() { return Builder.create(); }
9957        public Builder newBuilderForType() { return newBuilder(); }
9958        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable prototype) {
9959          return newBuilder().mergeFrom(prototype);
9960        }
9961        public Builder toBuilder() { return newBuilder(this); }
9962    
9963        /**
9964         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Callable}
9965         */
9966        public static final class Builder extends
9967            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
9968              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable, Builder> implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.CallableOrBuilder {
9969          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.newBuilder()
9970          private Builder() {
9971            maybeForceBuilderInitialization();
9972          }
9973    
9974          private void maybeForceBuilderInitialization() {
9975          }
9976          private static Builder create() {
9977            return new Builder();
9978          }
9979    
9980          public Builder clear() {
9981            super.clear();
9982            flags_ = 0;
9983            bitField0_ = (bitField0_ & ~0x00000001);
9984            extraVisibility_ = "";
9985            bitField0_ = (bitField0_ & ~0x00000002);
9986            getterFlags_ = 0;
9987            bitField0_ = (bitField0_ & ~0x00000004);
9988            setterFlags_ = 0;
9989            bitField0_ = (bitField0_ & ~0x00000008);
9990            typeParameter_ = java.util.Collections.emptyList();
9991            bitField0_ = (bitField0_ & ~0x00000010);
9992            receiverType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
9993            bitField0_ = (bitField0_ & ~0x00000020);
9994            name_ = 0;
9995            bitField0_ = (bitField0_ & ~0x00000040);
9996            valueParameter_ = java.util.Collections.emptyList();
9997            bitField0_ = (bitField0_ & ~0x00000080);
9998            returnType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
9999            bitField0_ = (bitField0_ & ~0x00000100);
10000            return this;
10001          }
10002    
10003          public Builder clone() {
10004            return create().mergeFrom(buildPartial());
10005          }
10006    
10007          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getDefaultInstanceForType() {
10008            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance();
10009          }
10010    
10011          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable build() {
10012            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable result = buildPartial();
10013            if (!result.isInitialized()) {
10014              throw newUninitializedMessageException(result);
10015            }
10016            return result;
10017          }
10018    
10019          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable buildPartial() {
10020            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable(this);
10021            int from_bitField0_ = bitField0_;
10022            int to_bitField0_ = 0;
10023            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
10024              to_bitField0_ |= 0x00000001;
10025            }
10026            result.flags_ = flags_;
10027            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
10028              to_bitField0_ |= 0x00000002;
10029            }
10030            result.extraVisibility_ = extraVisibility_;
10031            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
10032              to_bitField0_ |= 0x00000004;
10033            }
10034            result.getterFlags_ = getterFlags_;
10035            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
10036              to_bitField0_ |= 0x00000008;
10037            }
10038            result.setterFlags_ = setterFlags_;
10039            if (((bitField0_ & 0x00000010) == 0x00000010)) {
10040              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
10041              bitField0_ = (bitField0_ & ~0x00000010);
10042            }
10043            result.typeParameter_ = typeParameter_;
10044            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
10045              to_bitField0_ |= 0x00000010;
10046            }
10047            result.receiverType_ = receiverType_;
10048            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
10049              to_bitField0_ |= 0x00000020;
10050            }
10051            result.name_ = name_;
10052            if (((bitField0_ & 0x00000080) == 0x00000080)) {
10053              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
10054              bitField0_ = (bitField0_ & ~0x00000080);
10055            }
10056            result.valueParameter_ = valueParameter_;
10057            if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
10058              to_bitField0_ |= 0x00000040;
10059            }
10060            result.returnType_ = returnType_;
10061            result.bitField0_ = to_bitField0_;
10062            return result;
10063          }
10064    
10065          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable other) {
10066            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance()) return this;
10067            if (other.hasFlags()) {
10068              setFlags(other.getFlags());
10069            }
10070            if (other.hasExtraVisibility()) {
10071              bitField0_ |= 0x00000002;
10072              extraVisibility_ = other.extraVisibility_;
10073              
10074            }
10075            if (other.hasGetterFlags()) {
10076              setGetterFlags(other.getGetterFlags());
10077            }
10078            if (other.hasSetterFlags()) {
10079              setSetterFlags(other.getSetterFlags());
10080            }
10081            if (!other.typeParameter_.isEmpty()) {
10082              if (typeParameter_.isEmpty()) {
10083                typeParameter_ = other.typeParameter_;
10084                bitField0_ = (bitField0_ & ~0x00000010);
10085              } else {
10086                ensureTypeParameterIsMutable();
10087                typeParameter_.addAll(other.typeParameter_);
10088              }
10089              
10090            }
10091            if (other.hasReceiverType()) {
10092              mergeReceiverType(other.getReceiverType());
10093            }
10094            if (other.hasName()) {
10095              setName(other.getName());
10096            }
10097            if (!other.valueParameter_.isEmpty()) {
10098              if (valueParameter_.isEmpty()) {
10099                valueParameter_ = other.valueParameter_;
10100                bitField0_ = (bitField0_ & ~0x00000080);
10101              } else {
10102                ensureValueParameterIsMutable();
10103                valueParameter_.addAll(other.valueParameter_);
10104              }
10105              
10106            }
10107            if (other.hasReturnType()) {
10108              mergeReturnType(other.getReturnType());
10109            }
10110            this.mergeExtensionFields(other);
10111            return this;
10112          }
10113    
10114          public final boolean isInitialized() {
10115            if (!hasName()) {
10116              
10117              return false;
10118            }
10119            if (!hasReturnType()) {
10120              
10121              return false;
10122            }
10123            for (int i = 0; i < getTypeParameterCount(); i++) {
10124              if (!getTypeParameter(i).isInitialized()) {
10125                
10126                return false;
10127              }
10128            }
10129            if (hasReceiverType()) {
10130              if (!getReceiverType().isInitialized()) {
10131                
10132                return false;
10133              }
10134            }
10135            for (int i = 0; i < getValueParameterCount(); i++) {
10136              if (!getValueParameter(i).isInitialized()) {
10137                
10138                return false;
10139              }
10140            }
10141            if (!getReturnType().isInitialized()) {
10142              
10143              return false;
10144            }
10145            if (!extensionsAreInitialized()) {
10146              
10147              return false;
10148            }
10149            return true;
10150          }
10151    
10152          public Builder mergeFrom(
10153              com.google.protobuf.CodedInputStream input,
10154              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10155              throws java.io.IOException {
10156            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parsedMessage = null;
10157            try {
10158              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
10159            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10160              parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable) e.getUnfinishedMessage();
10161              throw e;
10162            } finally {
10163              if (parsedMessage != null) {
10164                mergeFrom(parsedMessage);
10165              }
10166            }
10167            return this;
10168          }
10169          private int bitField0_;
10170    
10171          // optional int32 flags = 1;
10172          private int flags_ ;
10173          /**
10174           * <code>optional int32 flags = 1;</code>
10175           *
10176           * <pre>
10177           *
10178           *Visibility
10179           *Modality
10180           *has_annotations
10181           *CallableKind
10182           *MemberKind
10183           *hasGetter
10184           *hasSetter
10185           *hasConstant
10186           * </pre>
10187           */
10188          public boolean hasFlags() {
10189            return ((bitField0_ & 0x00000001) == 0x00000001);
10190          }
10191          /**
10192           * <code>optional int32 flags = 1;</code>
10193           *
10194           * <pre>
10195           *
10196           *Visibility
10197           *Modality
10198           *has_annotations
10199           *CallableKind
10200           *MemberKind
10201           *hasGetter
10202           *hasSetter
10203           *hasConstant
10204           * </pre>
10205           */
10206          public int getFlags() {
10207            return flags_;
10208          }
10209          /**
10210           * <code>optional int32 flags = 1;</code>
10211           *
10212           * <pre>
10213           *
10214           *Visibility
10215           *Modality
10216           *has_annotations
10217           *CallableKind
10218           *MemberKind
10219           *hasGetter
10220           *hasSetter
10221           *hasConstant
10222           * </pre>
10223           */
10224          public Builder setFlags(int value) {
10225            bitField0_ |= 0x00000001;
10226            flags_ = value;
10227            
10228            return this;
10229          }
10230          /**
10231           * <code>optional int32 flags = 1;</code>
10232           *
10233           * <pre>
10234           *
10235           *Visibility
10236           *Modality
10237           *has_annotations
10238           *CallableKind
10239           *MemberKind
10240           *hasGetter
10241           *hasSetter
10242           *hasConstant
10243           * </pre>
10244           */
10245          public Builder clearFlags() {
10246            bitField0_ = (bitField0_ & ~0x00000001);
10247            flags_ = 0;
10248            
10249            return this;
10250          }
10251    
10252          // optional string extra_visibility = 2;
10253          private java.lang.Object extraVisibility_ = "";
10254          /**
10255           * <code>optional string extra_visibility = 2;</code>
10256           *
10257           * <pre>
10258           * for things like java-specific visibilities
10259           * </pre>
10260           */
10261          public boolean hasExtraVisibility() {
10262            return ((bitField0_ & 0x00000002) == 0x00000002);
10263          }
10264          /**
10265           * <code>optional string extra_visibility = 2;</code>
10266           *
10267           * <pre>
10268           * for things like java-specific visibilities
10269           * </pre>
10270           */
10271          public java.lang.String getExtraVisibility() {
10272            java.lang.Object ref = extraVisibility_;
10273            if (!(ref instanceof java.lang.String)) {
10274              java.lang.String s = ((com.google.protobuf.ByteString) ref)
10275                  .toStringUtf8();
10276              extraVisibility_ = s;
10277              return s;
10278            } else {
10279              return (java.lang.String) ref;
10280            }
10281          }
10282          /**
10283           * <code>optional string extra_visibility = 2;</code>
10284           *
10285           * <pre>
10286           * for things like java-specific visibilities
10287           * </pre>
10288           */
10289          public com.google.protobuf.ByteString
10290              getExtraVisibilityBytes() {
10291            java.lang.Object ref = extraVisibility_;
10292            if (ref instanceof String) {
10293              com.google.protobuf.ByteString b = 
10294                  com.google.protobuf.ByteString.copyFromUtf8(
10295                      (java.lang.String) ref);
10296              extraVisibility_ = b;
10297              return b;
10298            } else {
10299              return (com.google.protobuf.ByteString) ref;
10300            }
10301          }
10302          /**
10303           * <code>optional string extra_visibility = 2;</code>
10304           *
10305           * <pre>
10306           * for things like java-specific visibilities
10307           * </pre>
10308           */
10309          public Builder setExtraVisibility(
10310              java.lang.String value) {
10311            if (value == null) {
10312        throw new NullPointerException();
10313      }
10314      bitField0_ |= 0x00000002;
10315            extraVisibility_ = value;
10316            
10317            return this;
10318          }
10319          /**
10320           * <code>optional string extra_visibility = 2;</code>
10321           *
10322           * <pre>
10323           * for things like java-specific visibilities
10324           * </pre>
10325           */
10326          public Builder clearExtraVisibility() {
10327            bitField0_ = (bitField0_ & ~0x00000002);
10328            extraVisibility_ = getDefaultInstance().getExtraVisibility();
10329            
10330            return this;
10331          }
10332          /**
10333           * <code>optional string extra_visibility = 2;</code>
10334           *
10335           * <pre>
10336           * for things like java-specific visibilities
10337           * </pre>
10338           */
10339          public Builder setExtraVisibilityBytes(
10340              com.google.protobuf.ByteString value) {
10341            if (value == null) {
10342        throw new NullPointerException();
10343      }
10344      bitField0_ |= 0x00000002;
10345            extraVisibility_ = value;
10346            
10347            return this;
10348          }
10349    
10350          // optional int32 getter_flags = 9;
10351          private int getterFlags_ ;
10352          /**
10353           * <code>optional int32 getter_flags = 9;</code>
10354           *
10355           * <pre>
10356           *
10357           *isNotDefault
10358           *Visibility
10359           *Modality
10360           *has_annotations
10361           * </pre>
10362           */
10363          public boolean hasGetterFlags() {
10364            return ((bitField0_ & 0x00000004) == 0x00000004);
10365          }
10366          /**
10367           * <code>optional int32 getter_flags = 9;</code>
10368           *
10369           * <pre>
10370           *
10371           *isNotDefault
10372           *Visibility
10373           *Modality
10374           *has_annotations
10375           * </pre>
10376           */
10377          public int getGetterFlags() {
10378            return getterFlags_;
10379          }
10380          /**
10381           * <code>optional int32 getter_flags = 9;</code>
10382           *
10383           * <pre>
10384           *
10385           *isNotDefault
10386           *Visibility
10387           *Modality
10388           *has_annotations
10389           * </pre>
10390           */
10391          public Builder setGetterFlags(int value) {
10392            bitField0_ |= 0x00000004;
10393            getterFlags_ = value;
10394            
10395            return this;
10396          }
10397          /**
10398           * <code>optional int32 getter_flags = 9;</code>
10399           *
10400           * <pre>
10401           *
10402           *isNotDefault
10403           *Visibility
10404           *Modality
10405           *has_annotations
10406           * </pre>
10407           */
10408          public Builder clearGetterFlags() {
10409            bitField0_ = (bitField0_ & ~0x00000004);
10410            getterFlags_ = 0;
10411            
10412            return this;
10413          }
10414    
10415          // optional int32 setter_flags = 10;
10416          private int setterFlags_ ;
10417          /**
10418           * <code>optional int32 setter_flags = 10;</code>
10419           */
10420          public boolean hasSetterFlags() {
10421            return ((bitField0_ & 0x00000008) == 0x00000008);
10422          }
10423          /**
10424           * <code>optional int32 setter_flags = 10;</code>
10425           */
10426          public int getSetterFlags() {
10427            return setterFlags_;
10428          }
10429          /**
10430           * <code>optional int32 setter_flags = 10;</code>
10431           */
10432          public Builder setSetterFlags(int value) {
10433            bitField0_ |= 0x00000008;
10434            setterFlags_ = value;
10435            
10436            return this;
10437          }
10438          /**
10439           * <code>optional int32 setter_flags = 10;</code>
10440           */
10441          public Builder clearSetterFlags() {
10442            bitField0_ = (bitField0_ & ~0x00000008);
10443            setterFlags_ = 0;
10444            
10445            return this;
10446          }
10447    
10448          // repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;
10449          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> typeParameter_ =
10450            java.util.Collections.emptyList();
10451          private void ensureTypeParameterIsMutable() {
10452            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
10453              typeParameter_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter>(typeParameter_);
10454              bitField0_ |= 0x00000010;
10455             }
10456          }
10457    
10458          /**
10459           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
10460           */
10461          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
10462            return java.util.Collections.unmodifiableList(typeParameter_);
10463          }
10464          /**
10465           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
10466           */
10467          public int getTypeParameterCount() {
10468            return typeParameter_.size();
10469          }
10470          /**
10471           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
10472           */
10473          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
10474            return typeParameter_.get(index);
10475          }
10476          /**
10477           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
10478           */
10479          public Builder setTypeParameter(
10480              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter value) {
10481            if (value == null) {
10482              throw new NullPointerException();
10483            }
10484            ensureTypeParameterIsMutable();
10485            typeParameter_.set(index, value);
10486    
10487            return this;
10488          }
10489          /**
10490           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
10491           */
10492          public Builder setTypeParameter(
10493              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
10494            ensureTypeParameterIsMutable();
10495            typeParameter_.set(index, builderForValue.build());
10496    
10497            return this;
10498          }
10499          /**
10500           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
10501           */
10502          public Builder addTypeParameter(org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter value) {
10503            if (value == null) {
10504              throw new NullPointerException();
10505            }
10506            ensureTypeParameterIsMutable();
10507            typeParameter_.add(value);
10508    
10509            return this;
10510          }
10511          /**
10512           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
10513           */
10514          public Builder addTypeParameter(
10515              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter value) {
10516            if (value == null) {
10517              throw new NullPointerException();
10518            }
10519            ensureTypeParameterIsMutable();
10520            typeParameter_.add(index, value);
10521    
10522            return this;
10523          }
10524          /**
10525           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
10526           */
10527          public Builder addTypeParameter(
10528              org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
10529            ensureTypeParameterIsMutable();
10530            typeParameter_.add(builderForValue.build());
10531    
10532            return this;
10533          }
10534          /**
10535           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
10536           */
10537          public Builder addTypeParameter(
10538              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
10539            ensureTypeParameterIsMutable();
10540            typeParameter_.add(index, builderForValue.build());
10541    
10542            return this;
10543          }
10544          /**
10545           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
10546           */
10547          public Builder addAllTypeParameter(
10548              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> values) {
10549            ensureTypeParameterIsMutable();
10550            super.addAll(values, typeParameter_);
10551    
10552            return this;
10553          }
10554          /**
10555           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
10556           */
10557          public Builder clearTypeParameter() {
10558            typeParameter_ = java.util.Collections.emptyList();
10559            bitField0_ = (bitField0_ & ~0x00000010);
10560    
10561            return this;
10562          }
10563          /**
10564           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
10565           */
10566          public Builder removeTypeParameter(int index) {
10567            ensureTypeParameterIsMutable();
10568            typeParameter_.remove(index);
10569    
10570            return this;
10571          }
10572    
10573          // optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;
10574          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type receiverType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
10575          /**
10576           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
10577           */
10578          public boolean hasReceiverType() {
10579            return ((bitField0_ & 0x00000020) == 0x00000020);
10580          }
10581          /**
10582           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
10583           */
10584          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReceiverType() {
10585            return receiverType_;
10586          }
10587          /**
10588           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
10589           */
10590          public Builder setReceiverType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
10591            if (value == null) {
10592              throw new NullPointerException();
10593            }
10594            receiverType_ = value;
10595    
10596            bitField0_ |= 0x00000020;
10597            return this;
10598          }
10599          /**
10600           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
10601           */
10602          public Builder setReceiverType(
10603              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
10604            receiverType_ = builderForValue.build();
10605    
10606            bitField0_ |= 0x00000020;
10607            return this;
10608          }
10609          /**
10610           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
10611           */
10612          public Builder mergeReceiverType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
10613            if (((bitField0_ & 0x00000020) == 0x00000020) &&
10614                receiverType_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) {
10615              receiverType_ =
10616                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder(receiverType_).mergeFrom(value).buildPartial();
10617            } else {
10618              receiverType_ = value;
10619            }
10620    
10621            bitField0_ |= 0x00000020;
10622            return this;
10623          }
10624          /**
10625           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
10626           */
10627          public Builder clearReceiverType() {
10628            receiverType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
10629    
10630            bitField0_ = (bitField0_ & ~0x00000020);
10631            return this;
10632          }
10633    
10634          // required int32 name = 6;
10635          private int name_ ;
10636          /**
10637           * <code>required int32 name = 6;</code>
10638           *
10639           * <pre>
10640           * Id in the StringTable
10641           * </pre>
10642           */
10643          public boolean hasName() {
10644            return ((bitField0_ & 0x00000040) == 0x00000040);
10645          }
10646          /**
10647           * <code>required int32 name = 6;</code>
10648           *
10649           * <pre>
10650           * Id in the StringTable
10651           * </pre>
10652           */
10653          public int getName() {
10654            return name_;
10655          }
10656          /**
10657           * <code>required int32 name = 6;</code>
10658           *
10659           * <pre>
10660           * Id in the StringTable
10661           * </pre>
10662           */
10663          public Builder setName(int value) {
10664            bitField0_ |= 0x00000040;
10665            name_ = value;
10666            
10667            return this;
10668          }
10669          /**
10670           * <code>required int32 name = 6;</code>
10671           *
10672           * <pre>
10673           * Id in the StringTable
10674           * </pre>
10675           */
10676          public Builder clearName() {
10677            bitField0_ = (bitField0_ & ~0x00000040);
10678            name_ = 0;
10679            
10680            return this;
10681          }
10682    
10683          // repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;
10684          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> valueParameter_ =
10685            java.util.Collections.emptyList();
10686          private void ensureValueParameterIsMutable() {
10687            if (!((bitField0_ & 0x00000080) == 0x00000080)) {
10688              valueParameter_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter>(valueParameter_);
10689              bitField0_ |= 0x00000080;
10690             }
10691          }
10692    
10693          /**
10694           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
10695           *
10696           * <pre>
10697           * Value parameters for functions and constructors, or setter value parameter for properties
10698           * </pre>
10699           */
10700          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> getValueParameterList() {
10701            return java.util.Collections.unmodifiableList(valueParameter_);
10702          }
10703          /**
10704           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
10705           *
10706           * <pre>
10707           * Value parameters for functions and constructors, or setter value parameter for properties
10708           * </pre>
10709           */
10710          public int getValueParameterCount() {
10711            return valueParameter_.size();
10712          }
10713          /**
10714           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
10715           *
10716           * <pre>
10717           * Value parameters for functions and constructors, or setter value parameter for properties
10718           * </pre>
10719           */
10720          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index) {
10721            return valueParameter_.get(index);
10722          }
10723          /**
10724           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
10725           *
10726           * <pre>
10727           * Value parameters for functions and constructors, or setter value parameter for properties
10728           * </pre>
10729           */
10730          public Builder setValueParameter(
10731              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter value) {
10732            if (value == null) {
10733              throw new NullPointerException();
10734            }
10735            ensureValueParameterIsMutable();
10736            valueParameter_.set(index, value);
10737    
10738            return this;
10739          }
10740          /**
10741           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
10742           *
10743           * <pre>
10744           * Value parameters for functions and constructors, or setter value parameter for properties
10745           * </pre>
10746           */
10747          public Builder setValueParameter(
10748              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
10749            ensureValueParameterIsMutable();
10750            valueParameter_.set(index, builderForValue.build());
10751    
10752            return this;
10753          }
10754          /**
10755           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
10756           *
10757           * <pre>
10758           * Value parameters for functions and constructors, or setter value parameter for properties
10759           * </pre>
10760           */
10761          public Builder addValueParameter(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter value) {
10762            if (value == null) {
10763              throw new NullPointerException();
10764            }
10765            ensureValueParameterIsMutable();
10766            valueParameter_.add(value);
10767    
10768            return this;
10769          }
10770          /**
10771           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
10772           *
10773           * <pre>
10774           * Value parameters for functions and constructors, or setter value parameter for properties
10775           * </pre>
10776           */
10777          public Builder addValueParameter(
10778              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter value) {
10779            if (value == null) {
10780              throw new NullPointerException();
10781            }
10782            ensureValueParameterIsMutable();
10783            valueParameter_.add(index, value);
10784    
10785            return this;
10786          }
10787          /**
10788           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
10789           *
10790           * <pre>
10791           * Value parameters for functions and constructors, or setter value parameter for properties
10792           * </pre>
10793           */
10794          public Builder addValueParameter(
10795              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
10796            ensureValueParameterIsMutable();
10797            valueParameter_.add(builderForValue.build());
10798    
10799            return this;
10800          }
10801          /**
10802           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
10803           *
10804           * <pre>
10805           * Value parameters for functions and constructors, or setter value parameter for properties
10806           * </pre>
10807           */
10808          public Builder addValueParameter(
10809              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
10810            ensureValueParameterIsMutable();
10811            valueParameter_.add(index, builderForValue.build());
10812    
10813            return this;
10814          }
10815          /**
10816           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
10817           *
10818           * <pre>
10819           * Value parameters for functions and constructors, or setter value parameter for properties
10820           * </pre>
10821           */
10822          public Builder addAllValueParameter(
10823              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> values) {
10824            ensureValueParameterIsMutable();
10825            super.addAll(values, valueParameter_);
10826    
10827            return this;
10828          }
10829          /**
10830           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
10831           *
10832           * <pre>
10833           * Value parameters for functions and constructors, or setter value parameter for properties
10834           * </pre>
10835           */
10836          public Builder clearValueParameter() {
10837            valueParameter_ = java.util.Collections.emptyList();
10838            bitField0_ = (bitField0_ & ~0x00000080);
10839    
10840            return this;
10841          }
10842          /**
10843           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
10844           *
10845           * <pre>
10846           * Value parameters for functions and constructors, or setter value parameter for properties
10847           * </pre>
10848           */
10849          public Builder removeValueParameter(int index) {
10850            ensureValueParameterIsMutable();
10851            valueParameter_.remove(index);
10852    
10853            return this;
10854          }
10855    
10856          // required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;
10857          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type returnType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
10858          /**
10859           * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
10860           */
10861          public boolean hasReturnType() {
10862            return ((bitField0_ & 0x00000100) == 0x00000100);
10863          }
10864          /**
10865           * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
10866           */
10867          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReturnType() {
10868            return returnType_;
10869          }
10870          /**
10871           * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
10872           */
10873          public Builder setReturnType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
10874            if (value == null) {
10875              throw new NullPointerException();
10876            }
10877            returnType_ = value;
10878    
10879            bitField0_ |= 0x00000100;
10880            return this;
10881          }
10882          /**
10883           * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
10884           */
10885          public Builder setReturnType(
10886              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
10887            returnType_ = builderForValue.build();
10888    
10889            bitField0_ |= 0x00000100;
10890            return this;
10891          }
10892          /**
10893           * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
10894           */
10895          public Builder mergeReturnType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
10896            if (((bitField0_ & 0x00000100) == 0x00000100) &&
10897                returnType_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) {
10898              returnType_ =
10899                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder(returnType_).mergeFrom(value).buildPartial();
10900            } else {
10901              returnType_ = value;
10902            }
10903    
10904            bitField0_ |= 0x00000100;
10905            return this;
10906          }
10907          /**
10908           * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
10909           */
10910          public Builder clearReturnType() {
10911            returnType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
10912    
10913            bitField0_ = (bitField0_ & ~0x00000100);
10914            return this;
10915          }
10916    
10917          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Callable)
10918        }
10919    
10920        static {
10921          defaultInstance = new Callable(true);
10922          defaultInstance.initFields();
10923        }
10924    
10925        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Callable)
10926      }
10927    
10928    
10929      static {
10930      }
10931    
10932      // @@protoc_insertion_point(outer_class_scope)
10933    }