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>PRIVATE_TO_THIS = 4;</code>
111         */
112        PRIVATE_TO_THIS(4, 4),
113        /**
114         * <code>EXTRA = 5;</code>
115         *
116         * <pre>
117         * there's an extra field for the actual visibility
118         * </pre>
119         */
120        EXTRA(5, 5),
121        ;
122    
123        /**
124         * <code>INTERNAL = 0;</code>
125         *
126         * <pre>
127         * 3 bits
128         * </pre>
129         */
130        public static final int INTERNAL_VALUE = 0;
131        /**
132         * <code>PRIVATE = 1;</code>
133         */
134        public static final int PRIVATE_VALUE = 1;
135        /**
136         * <code>PROTECTED = 2;</code>
137         */
138        public static final int PROTECTED_VALUE = 2;
139        /**
140         * <code>PUBLIC = 3;</code>
141         */
142        public static final int PUBLIC_VALUE = 3;
143        /**
144         * <code>PRIVATE_TO_THIS = 4;</code>
145         */
146        public static final int PRIVATE_TO_THIS_VALUE = 4;
147        /**
148         * <code>EXTRA = 5;</code>
149         *
150         * <pre>
151         * there's an extra field for the actual visibility
152         * </pre>
153         */
154        public static final int EXTRA_VALUE = 5;
155    
156    
157        public final int getNumber() { return value; }
158    
159        public static Visibility valueOf(int value) {
160          switch (value) {
161            case 0: return INTERNAL;
162            case 1: return PRIVATE;
163            case 2: return PROTECTED;
164            case 3: return PUBLIC;
165            case 4: return PRIVATE_TO_THIS;
166            case 5: return EXTRA;
167            default: return null;
168          }
169        }
170    
171        public static com.google.protobuf.Internal.EnumLiteMap<Visibility>
172            internalGetValueMap() {
173          return internalValueMap;
174        }
175        private static com.google.protobuf.Internal.EnumLiteMap<Visibility>
176            internalValueMap =
177              new com.google.protobuf.Internal.EnumLiteMap<Visibility>() {
178                public Visibility findValueByNumber(int number) {
179                  return Visibility.valueOf(number);
180                }
181              };
182    
183        private final int value;
184    
185        private Visibility(int index, int value) {
186          this.value = value;
187        }
188    
189        // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Visibility)
190      }
191    
192      public interface StringTableOrBuilder
193          extends com.google.protobuf.MessageLiteOrBuilder {
194    
195        // repeated string string = 1;
196        /**
197         * <code>repeated string string = 1;</code>
198         */
199        java.util.List<java.lang.String>
200        getStringList();
201        /**
202         * <code>repeated string string = 1;</code>
203         */
204        int getStringCount();
205        /**
206         * <code>repeated string string = 1;</code>
207         */
208        java.lang.String getString(int index);
209        /**
210         * <code>repeated string string = 1;</code>
211         */
212        com.google.protobuf.ByteString
213            getStringBytes(int index);
214      }
215      /**
216       * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.StringTable}
217       */
218      public static final class StringTable extends
219          com.google.protobuf.GeneratedMessageLite
220          implements StringTableOrBuilder {
221        // Use StringTable.newBuilder() to construct.
222        private StringTable(com.google.protobuf.GeneratedMessageLite.Builder builder) {
223          super(builder);
224    
225        }
226        private StringTable(boolean noInit) {}
227    
228        private static final StringTable defaultInstance;
229        public static StringTable getDefaultInstance() {
230          return defaultInstance;
231        }
232    
233        public StringTable getDefaultInstanceForType() {
234          return defaultInstance;
235        }
236    
237        private StringTable(
238            com.google.protobuf.CodedInputStream input,
239            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
240            throws com.google.protobuf.InvalidProtocolBufferException {
241          initFields();
242          int mutable_bitField0_ = 0;
243          try {
244            boolean done = false;
245            while (!done) {
246              int tag = input.readTag();
247              switch (tag) {
248                case 0:
249                  done = true;
250                  break;
251                default: {
252                  if (!parseUnknownField(input,
253                                         extensionRegistry, tag)) {
254                    done = true;
255                  }
256                  break;
257                }
258                case 10: {
259                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
260                    string_ = new com.google.protobuf.LazyStringArrayList();
261                    mutable_bitField0_ |= 0x00000001;
262                  }
263                  string_.add(input.readBytes());
264                  break;
265                }
266              }
267            }
268          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
269            throw e.setUnfinishedMessage(this);
270          } catch (java.io.IOException e) {
271            throw new com.google.protobuf.InvalidProtocolBufferException(
272                e.getMessage()).setUnfinishedMessage(this);
273          } finally {
274            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
275              string_ = new com.google.protobuf.UnmodifiableLazyStringList(string_);
276            }
277            makeExtensionsImmutable();
278          }
279        }
280        public static com.google.protobuf.Parser<StringTable> PARSER =
281            new com.google.protobuf.AbstractParser<StringTable>() {
282          public StringTable parsePartialFrom(
283              com.google.protobuf.CodedInputStream input,
284              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
285              throws com.google.protobuf.InvalidProtocolBufferException {
286            return new StringTable(input, extensionRegistry);
287          }
288        };
289    
290        @java.lang.Override
291        public com.google.protobuf.Parser<StringTable> getParserForType() {
292          return PARSER;
293        }
294    
295        // repeated string string = 1;
296        public static final int STRING_FIELD_NUMBER = 1;
297        private com.google.protobuf.LazyStringList string_;
298        /**
299         * <code>repeated string string = 1;</code>
300         */
301        public java.util.List<java.lang.String>
302            getStringList() {
303          return string_;
304        }
305        /**
306         * <code>repeated string string = 1;</code>
307         */
308        public int getStringCount() {
309          return string_.size();
310        }
311        /**
312         * <code>repeated string string = 1;</code>
313         */
314        public java.lang.String getString(int index) {
315          return string_.get(index);
316        }
317        /**
318         * <code>repeated string string = 1;</code>
319         */
320        public com.google.protobuf.ByteString
321            getStringBytes(int index) {
322          return string_.getByteString(index);
323        }
324    
325        private void initFields() {
326          string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
327        }
328        private byte memoizedIsInitialized = -1;
329        public final boolean isInitialized() {
330          byte isInitialized = memoizedIsInitialized;
331          if (isInitialized != -1) return isInitialized == 1;
332    
333          memoizedIsInitialized = 1;
334          return true;
335        }
336    
337        public void writeTo(com.google.protobuf.CodedOutputStream output)
338                            throws java.io.IOException {
339          getSerializedSize();
340          for (int i = 0; i < string_.size(); i++) {
341            output.writeBytes(1, string_.getByteString(i));
342          }
343        }
344    
345        private int memoizedSerializedSize = -1;
346        public int getSerializedSize() {
347          int size = memoizedSerializedSize;
348          if (size != -1) return size;
349    
350          size = 0;
351          {
352            int dataSize = 0;
353            for (int i = 0; i < string_.size(); i++) {
354              dataSize += com.google.protobuf.CodedOutputStream
355                .computeBytesSizeNoTag(string_.getByteString(i));
356            }
357            size += dataSize;
358            size += 1 * getStringList().size();
359          }
360          memoizedSerializedSize = size;
361          return size;
362        }
363    
364        private static final long serialVersionUID = 0L;
365        @java.lang.Override
366        protected java.lang.Object writeReplace()
367            throws java.io.ObjectStreamException {
368          return super.writeReplace();
369        }
370    
371        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parseFrom(
372            com.google.protobuf.ByteString data)
373            throws com.google.protobuf.InvalidProtocolBufferException {
374          return PARSER.parseFrom(data);
375        }
376        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parseFrom(
377            com.google.protobuf.ByteString data,
378            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
379            throws com.google.protobuf.InvalidProtocolBufferException {
380          return PARSER.parseFrom(data, extensionRegistry);
381        }
382        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parseFrom(byte[] data)
383            throws com.google.protobuf.InvalidProtocolBufferException {
384          return PARSER.parseFrom(data);
385        }
386        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parseFrom(
387            byte[] data,
388            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
389            throws com.google.protobuf.InvalidProtocolBufferException {
390          return PARSER.parseFrom(data, extensionRegistry);
391        }
392        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parseFrom(java.io.InputStream input)
393            throws java.io.IOException {
394          return PARSER.parseFrom(input);
395        }
396        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parseFrom(
397            java.io.InputStream input,
398            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
399            throws java.io.IOException {
400          return PARSER.parseFrom(input, extensionRegistry);
401        }
402        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parseDelimitedFrom(java.io.InputStream input)
403            throws java.io.IOException {
404          return PARSER.parseDelimitedFrom(input);
405        }
406        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parseDelimitedFrom(
407            java.io.InputStream input,
408            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
409            throws java.io.IOException {
410          return PARSER.parseDelimitedFrom(input, extensionRegistry);
411        }
412        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parseFrom(
413            com.google.protobuf.CodedInputStream input)
414            throws java.io.IOException {
415          return PARSER.parseFrom(input);
416        }
417        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parseFrom(
418            com.google.protobuf.CodedInputStream input,
419            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
420            throws java.io.IOException {
421          return PARSER.parseFrom(input, extensionRegistry);
422        }
423    
424        public static Builder newBuilder() { return Builder.create(); }
425        public Builder newBuilderForType() { return newBuilder(); }
426        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable prototype) {
427          return newBuilder().mergeFrom(prototype);
428        }
429        public Builder toBuilder() { return newBuilder(this); }
430    
431        /**
432         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.StringTable}
433         */
434        public static final class Builder extends
435            com.google.protobuf.GeneratedMessageLite.Builder<
436              org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable, Builder>
437            implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTableOrBuilder {
438          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable.newBuilder()
439          private Builder() {
440            maybeForceBuilderInitialization();
441          }
442    
443          private void maybeForceBuilderInitialization() {
444          }
445          private static Builder create() {
446            return new Builder();
447          }
448    
449          public Builder clear() {
450            super.clear();
451            string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
452            bitField0_ = (bitField0_ & ~0x00000001);
453            return this;
454          }
455    
456          public Builder clone() {
457            return create().mergeFrom(buildPartial());
458          }
459    
460          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable getDefaultInstanceForType() {
461            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable.getDefaultInstance();
462          }
463    
464          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable build() {
465            org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable result = buildPartial();
466            if (!result.isInitialized()) {
467              throw newUninitializedMessageException(result);
468            }
469            return result;
470          }
471    
472          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable buildPartial() {
473            org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable(this);
474            int from_bitField0_ = bitField0_;
475            if (((bitField0_ & 0x00000001) == 0x00000001)) {
476              string_ = new com.google.protobuf.UnmodifiableLazyStringList(
477                  string_);
478              bitField0_ = (bitField0_ & ~0x00000001);
479            }
480            result.string_ = string_;
481            return result;
482          }
483    
484          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable other) {
485            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable.getDefaultInstance()) return this;
486            if (!other.string_.isEmpty()) {
487              if (string_.isEmpty()) {
488                string_ = other.string_;
489                bitField0_ = (bitField0_ & ~0x00000001);
490              } else {
491                ensureStringIsMutable();
492                string_.addAll(other.string_);
493              }
494              
495            }
496            return this;
497          }
498    
499          public final boolean isInitialized() {
500            return true;
501          }
502    
503          public Builder mergeFrom(
504              com.google.protobuf.CodedInputStream input,
505              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
506              throws java.io.IOException {
507            org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable parsedMessage = null;
508            try {
509              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
510            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
511              parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.StringTable) e.getUnfinishedMessage();
512              throw e;
513            } finally {
514              if (parsedMessage != null) {
515                mergeFrom(parsedMessage);
516              }
517            }
518            return this;
519          }
520          private int bitField0_;
521    
522          // repeated string string = 1;
523          private com.google.protobuf.LazyStringList string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
524          private void ensureStringIsMutable() {
525            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
526              string_ = new com.google.protobuf.LazyStringArrayList(string_);
527              bitField0_ |= 0x00000001;
528             }
529          }
530          /**
531           * <code>repeated string string = 1;</code>
532           */
533          public java.util.List<java.lang.String>
534              getStringList() {
535            return java.util.Collections.unmodifiableList(string_);
536          }
537          /**
538           * <code>repeated string string = 1;</code>
539           */
540          public int getStringCount() {
541            return string_.size();
542          }
543          /**
544           * <code>repeated string string = 1;</code>
545           */
546          public java.lang.String getString(int index) {
547            return string_.get(index);
548          }
549          /**
550           * <code>repeated string string = 1;</code>
551           */
552          public com.google.protobuf.ByteString
553              getStringBytes(int index) {
554            return string_.getByteString(index);
555          }
556          /**
557           * <code>repeated string string = 1;</code>
558           */
559          public Builder setString(
560              int index, java.lang.String value) {
561            if (value == null) {
562        throw new NullPointerException();
563      }
564      ensureStringIsMutable();
565            string_.set(index, value);
566            
567            return this;
568          }
569          /**
570           * <code>repeated string string = 1;</code>
571           */
572          public Builder addString(
573              java.lang.String value) {
574            if (value == null) {
575        throw new NullPointerException();
576      }
577      ensureStringIsMutable();
578            string_.add(value);
579            
580            return this;
581          }
582          /**
583           * <code>repeated string string = 1;</code>
584           */
585          public Builder addAllString(
586              java.lang.Iterable<java.lang.String> values) {
587            ensureStringIsMutable();
588            super.addAll(values, string_);
589            
590            return this;
591          }
592          /**
593           * <code>repeated string string = 1;</code>
594           */
595          public Builder clearString() {
596            string_ = com.google.protobuf.LazyStringArrayList.EMPTY;
597            bitField0_ = (bitField0_ & ~0x00000001);
598            
599            return this;
600          }
601          /**
602           * <code>repeated string string = 1;</code>
603           */
604          public Builder addStringBytes(
605              com.google.protobuf.ByteString value) {
606            if (value == null) {
607        throw new NullPointerException();
608      }
609      ensureStringIsMutable();
610            string_.add(value);
611            
612            return this;
613          }
614    
615          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.StringTable)
616        }
617    
618        static {
619          defaultInstance = new StringTable(true);
620          defaultInstance.initFields();
621        }
622    
623        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.StringTable)
624      }
625    
626      public interface QualifiedNameTableOrBuilder
627          extends com.google.protobuf.MessageLiteOrBuilder {
628    
629        // repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;
630        /**
631         * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
632         */
633        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> 
634            getQualifiedNameList();
635        /**
636         * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
637         */
638        org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index);
639        /**
640         * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
641         */
642        int getQualifiedNameCount();
643      }
644      /**
645       * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.QualifiedNameTable}
646       */
647      public static final class QualifiedNameTable extends
648          com.google.protobuf.GeneratedMessageLite
649          implements QualifiedNameTableOrBuilder {
650        // Use QualifiedNameTable.newBuilder() to construct.
651        private QualifiedNameTable(com.google.protobuf.GeneratedMessageLite.Builder builder) {
652          super(builder);
653    
654        }
655        private QualifiedNameTable(boolean noInit) {}
656    
657        private static final QualifiedNameTable defaultInstance;
658        public static QualifiedNameTable getDefaultInstance() {
659          return defaultInstance;
660        }
661    
662        public QualifiedNameTable getDefaultInstanceForType() {
663          return defaultInstance;
664        }
665    
666        private QualifiedNameTable(
667            com.google.protobuf.CodedInputStream input,
668            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
669            throws com.google.protobuf.InvalidProtocolBufferException {
670          initFields();
671          int mutable_bitField0_ = 0;
672          try {
673            boolean done = false;
674            while (!done) {
675              int tag = input.readTag();
676              switch (tag) {
677                case 0:
678                  done = true;
679                  break;
680                default: {
681                  if (!parseUnknownField(input,
682                                         extensionRegistry, tag)) {
683                    done = true;
684                  }
685                  break;
686                }
687                case 10: {
688                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
689                    qualifiedName_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName>();
690                    mutable_bitField0_ |= 0x00000001;
691                  }
692                  qualifiedName_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.PARSER, extensionRegistry));
693                  break;
694                }
695              }
696            }
697          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
698            throw e.setUnfinishedMessage(this);
699          } catch (java.io.IOException e) {
700            throw new com.google.protobuf.InvalidProtocolBufferException(
701                e.getMessage()).setUnfinishedMessage(this);
702          } finally {
703            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
704              qualifiedName_ = java.util.Collections.unmodifiableList(qualifiedName_);
705            }
706            makeExtensionsImmutable();
707          }
708        }
709        public static com.google.protobuf.Parser<QualifiedNameTable> PARSER =
710            new com.google.protobuf.AbstractParser<QualifiedNameTable>() {
711          public QualifiedNameTable parsePartialFrom(
712              com.google.protobuf.CodedInputStream input,
713              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
714              throws com.google.protobuf.InvalidProtocolBufferException {
715            return new QualifiedNameTable(input, extensionRegistry);
716          }
717        };
718    
719        @java.lang.Override
720        public com.google.protobuf.Parser<QualifiedNameTable> getParserForType() {
721          return PARSER;
722        }
723    
724        public interface QualifiedNameOrBuilder
725            extends com.google.protobuf.MessageLiteOrBuilder {
726    
727          // optional int32 parent_qualified_name = 1 [default = -1];
728          /**
729           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
730           */
731          boolean hasParentQualifiedName();
732          /**
733           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
734           */
735          int getParentQualifiedName();
736    
737          // required int32 short_name = 2;
738          /**
739           * <code>required int32 short_name = 2;</code>
740           *
741           * <pre>
742           * Id in the StringTable
743           * </pre>
744           */
745          boolean hasShortName();
746          /**
747           * <code>required int32 short_name = 2;</code>
748           *
749           * <pre>
750           * Id in the StringTable
751           * </pre>
752           */
753          int getShortName();
754    
755          // optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];
756          /**
757           * <code>optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
758           */
759          boolean hasKind();
760          /**
761           * <code>optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
762           */
763          org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind();
764        }
765        /**
766         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName}
767         */
768        public static final class QualifiedName extends
769            com.google.protobuf.GeneratedMessageLite
770            implements QualifiedNameOrBuilder {
771          // Use QualifiedName.newBuilder() to construct.
772          private QualifiedName(com.google.protobuf.GeneratedMessageLite.Builder builder) {
773            super(builder);
774    
775          }
776          private QualifiedName(boolean noInit) {}
777    
778          private static final QualifiedName defaultInstance;
779          public static QualifiedName getDefaultInstance() {
780            return defaultInstance;
781          }
782    
783          public QualifiedName getDefaultInstanceForType() {
784            return defaultInstance;
785          }
786    
787          private QualifiedName(
788              com.google.protobuf.CodedInputStream input,
789              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
790              throws com.google.protobuf.InvalidProtocolBufferException {
791            initFields();
792            int mutable_bitField0_ = 0;
793            try {
794              boolean done = false;
795              while (!done) {
796                int tag = input.readTag();
797                switch (tag) {
798                  case 0:
799                    done = true;
800                    break;
801                  default: {
802                    if (!parseUnknownField(input,
803                                           extensionRegistry, tag)) {
804                      done = true;
805                    }
806                    break;
807                  }
808                  case 8: {
809                    bitField0_ |= 0x00000001;
810                    parentQualifiedName_ = input.readInt32();
811                    break;
812                  }
813                  case 16: {
814                    bitField0_ |= 0x00000002;
815                    shortName_ = input.readInt32();
816                    break;
817                  }
818                  case 24: {
819                    int rawValue = input.readEnum();
820                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind value = org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.valueOf(rawValue);
821                    if (value != null) {
822                      bitField0_ |= 0x00000004;
823                      kind_ = value;
824                    }
825                    break;
826                  }
827                }
828              }
829            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
830              throw e.setUnfinishedMessage(this);
831            } catch (java.io.IOException e) {
832              throw new com.google.protobuf.InvalidProtocolBufferException(
833                  e.getMessage()).setUnfinishedMessage(this);
834            } finally {
835              makeExtensionsImmutable();
836            }
837          }
838          public static com.google.protobuf.Parser<QualifiedName> PARSER =
839              new com.google.protobuf.AbstractParser<QualifiedName>() {
840            public QualifiedName parsePartialFrom(
841                com.google.protobuf.CodedInputStream input,
842                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
843                throws com.google.protobuf.InvalidProtocolBufferException {
844              return new QualifiedName(input, extensionRegistry);
845            }
846          };
847    
848          @java.lang.Override
849          public com.google.protobuf.Parser<QualifiedName> getParserForType() {
850            return PARSER;
851          }
852    
853          /**
854           * Protobuf enum {@code org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind}
855           */
856          public enum Kind
857              implements com.google.protobuf.Internal.EnumLite {
858            /**
859             * <code>CLASS = 0;</code>
860             */
861            CLASS(0, 0),
862            /**
863             * <code>PACKAGE = 1;</code>
864             */
865            PACKAGE(1, 1),
866            ;
867    
868            /**
869             * <code>CLASS = 0;</code>
870             */
871            public static final int CLASS_VALUE = 0;
872            /**
873             * <code>PACKAGE = 1;</code>
874             */
875            public static final int PACKAGE_VALUE = 1;
876    
877    
878            public final int getNumber() { return value; }
879    
880            public static Kind valueOf(int value) {
881              switch (value) {
882                case 0: return CLASS;
883                case 1: return PACKAGE;
884                default: return null;
885              }
886            }
887    
888            public static com.google.protobuf.Internal.EnumLiteMap<Kind>
889                internalGetValueMap() {
890              return internalValueMap;
891            }
892            private static com.google.protobuf.Internal.EnumLiteMap<Kind>
893                internalValueMap =
894                  new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
895                    public Kind findValueByNumber(int number) {
896                      return Kind.valueOf(number);
897                    }
898                  };
899    
900            private final int value;
901    
902            private Kind(int index, int value) {
903              this.value = value;
904            }
905    
906            // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind)
907          }
908    
909          private int bitField0_;
910          // optional int32 parent_qualified_name = 1 [default = -1];
911          public static final int PARENT_QUALIFIED_NAME_FIELD_NUMBER = 1;
912          private int parentQualifiedName_;
913          /**
914           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
915           */
916          public boolean hasParentQualifiedName() {
917            return ((bitField0_ & 0x00000001) == 0x00000001);
918          }
919          /**
920           * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
921           */
922          public int getParentQualifiedName() {
923            return parentQualifiedName_;
924          }
925    
926          // required int32 short_name = 2;
927          public static final int SHORT_NAME_FIELD_NUMBER = 2;
928          private int shortName_;
929          /**
930           * <code>required int32 short_name = 2;</code>
931           *
932           * <pre>
933           * Id in the StringTable
934           * </pre>
935           */
936          public boolean hasShortName() {
937            return ((bitField0_ & 0x00000002) == 0x00000002);
938          }
939          /**
940           * <code>required int32 short_name = 2;</code>
941           *
942           * <pre>
943           * Id in the StringTable
944           * </pre>
945           */
946          public int getShortName() {
947            return shortName_;
948          }
949    
950          // optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];
951          public static final int KIND_FIELD_NUMBER = 3;
952          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind kind_;
953          /**
954           * <code>optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
955           */
956          public boolean hasKind() {
957            return ((bitField0_ & 0x00000004) == 0x00000004);
958          }
959          /**
960           * <code>optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
961           */
962          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind() {
963            return kind_;
964          }
965    
966          private void initFields() {
967            parentQualifiedName_ = -1;
968            shortName_ = 0;
969            kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
970          }
971          private byte memoizedIsInitialized = -1;
972          public final boolean isInitialized() {
973            byte isInitialized = memoizedIsInitialized;
974            if (isInitialized != -1) return isInitialized == 1;
975    
976            if (!hasShortName()) {
977              memoizedIsInitialized = 0;
978              return false;
979            }
980            memoizedIsInitialized = 1;
981            return true;
982          }
983    
984          public void writeTo(com.google.protobuf.CodedOutputStream output)
985                              throws java.io.IOException {
986            getSerializedSize();
987            if (((bitField0_ & 0x00000001) == 0x00000001)) {
988              output.writeInt32(1, parentQualifiedName_);
989            }
990            if (((bitField0_ & 0x00000002) == 0x00000002)) {
991              output.writeInt32(2, shortName_);
992            }
993            if (((bitField0_ & 0x00000004) == 0x00000004)) {
994              output.writeEnum(3, kind_.getNumber());
995            }
996          }
997    
998          private int memoizedSerializedSize = -1;
999          public int getSerializedSize() {
1000            int size = memoizedSerializedSize;
1001            if (size != -1) return size;
1002    
1003            size = 0;
1004            if (((bitField0_ & 0x00000001) == 0x00000001)) {
1005              size += com.google.protobuf.CodedOutputStream
1006                .computeInt32Size(1, parentQualifiedName_);
1007            }
1008            if (((bitField0_ & 0x00000002) == 0x00000002)) {
1009              size += com.google.protobuf.CodedOutputStream
1010                .computeInt32Size(2, shortName_);
1011            }
1012            if (((bitField0_ & 0x00000004) == 0x00000004)) {
1013              size += com.google.protobuf.CodedOutputStream
1014                .computeEnumSize(3, kind_.getNumber());
1015            }
1016            memoizedSerializedSize = size;
1017            return size;
1018          }
1019    
1020          private static final long serialVersionUID = 0L;
1021          @java.lang.Override
1022          protected java.lang.Object writeReplace()
1023              throws java.io.ObjectStreamException {
1024            return super.writeReplace();
1025          }
1026    
1027          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1028              com.google.protobuf.ByteString data)
1029              throws com.google.protobuf.InvalidProtocolBufferException {
1030            return PARSER.parseFrom(data);
1031          }
1032          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1033              com.google.protobuf.ByteString data,
1034              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1035              throws com.google.protobuf.InvalidProtocolBufferException {
1036            return PARSER.parseFrom(data, extensionRegistry);
1037          }
1038          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(byte[] data)
1039              throws com.google.protobuf.InvalidProtocolBufferException {
1040            return PARSER.parseFrom(data);
1041          }
1042          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1043              byte[] data,
1044              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1045              throws com.google.protobuf.InvalidProtocolBufferException {
1046            return PARSER.parseFrom(data, extensionRegistry);
1047          }
1048          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(java.io.InputStream input)
1049              throws java.io.IOException {
1050            return PARSER.parseFrom(input);
1051          }
1052          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1053              java.io.InputStream input,
1054              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1055              throws java.io.IOException {
1056            return PARSER.parseFrom(input, extensionRegistry);
1057          }
1058          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseDelimitedFrom(java.io.InputStream input)
1059              throws java.io.IOException {
1060            return PARSER.parseDelimitedFrom(input);
1061          }
1062          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseDelimitedFrom(
1063              java.io.InputStream input,
1064              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1065              throws java.io.IOException {
1066            return PARSER.parseDelimitedFrom(input, extensionRegistry);
1067          }
1068          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1069              com.google.protobuf.CodedInputStream input)
1070              throws java.io.IOException {
1071            return PARSER.parseFrom(input);
1072          }
1073          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
1074              com.google.protobuf.CodedInputStream input,
1075              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1076              throws java.io.IOException {
1077            return PARSER.parseFrom(input, extensionRegistry);
1078          }
1079    
1080          public static Builder newBuilder() { return Builder.create(); }
1081          public Builder newBuilderForType() { return newBuilder(); }
1082          public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName prototype) {
1083            return newBuilder().mergeFrom(prototype);
1084          }
1085          public Builder toBuilder() { return newBuilder(this); }
1086    
1087          /**
1088           * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName}
1089           */
1090          public static final class Builder extends
1091              com.google.protobuf.GeneratedMessageLite.Builder<
1092                org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName, Builder>
1093              implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder {
1094            // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.newBuilder()
1095            private Builder() {
1096              maybeForceBuilderInitialization();
1097            }
1098    
1099            private void maybeForceBuilderInitialization() {
1100            }
1101            private static Builder create() {
1102              return new Builder();
1103            }
1104    
1105            public Builder clear() {
1106              super.clear();
1107              parentQualifiedName_ = -1;
1108              bitField0_ = (bitField0_ & ~0x00000001);
1109              shortName_ = 0;
1110              bitField0_ = (bitField0_ & ~0x00000002);
1111              kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1112              bitField0_ = (bitField0_ & ~0x00000004);
1113              return this;
1114            }
1115    
1116            public Builder clone() {
1117              return create().mergeFrom(buildPartial());
1118            }
1119    
1120            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getDefaultInstanceForType() {
1121              return org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.getDefaultInstance();
1122            }
1123    
1124            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName build() {
1125              org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName result = buildPartial();
1126              if (!result.isInitialized()) {
1127                throw newUninitializedMessageException(result);
1128              }
1129              return result;
1130            }
1131    
1132            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName buildPartial() {
1133              org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName(this);
1134              int from_bitField0_ = bitField0_;
1135              int to_bitField0_ = 0;
1136              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
1137                to_bitField0_ |= 0x00000001;
1138              }
1139              result.parentQualifiedName_ = parentQualifiedName_;
1140              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
1141                to_bitField0_ |= 0x00000002;
1142              }
1143              result.shortName_ = shortName_;
1144              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
1145                to_bitField0_ |= 0x00000004;
1146              }
1147              result.kind_ = kind_;
1148              result.bitField0_ = to_bitField0_;
1149              return result;
1150            }
1151    
1152            public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName other) {
1153              if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.getDefaultInstance()) return this;
1154              if (other.hasParentQualifiedName()) {
1155                setParentQualifiedName(other.getParentQualifiedName());
1156              }
1157              if (other.hasShortName()) {
1158                setShortName(other.getShortName());
1159              }
1160              if (other.hasKind()) {
1161                setKind(other.getKind());
1162              }
1163              return this;
1164            }
1165    
1166            public final boolean isInitialized() {
1167              if (!hasShortName()) {
1168                
1169                return false;
1170              }
1171              return true;
1172            }
1173    
1174            public Builder mergeFrom(
1175                com.google.protobuf.CodedInputStream input,
1176                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1177                throws java.io.IOException {
1178              org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parsedMessage = null;
1179              try {
1180                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1181              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1182                parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName) e.getUnfinishedMessage();
1183                throw e;
1184              } finally {
1185                if (parsedMessage != null) {
1186                  mergeFrom(parsedMessage);
1187                }
1188              }
1189              return this;
1190            }
1191            private int bitField0_;
1192    
1193            // optional int32 parent_qualified_name = 1 [default = -1];
1194            private int parentQualifiedName_ = -1;
1195            /**
1196             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1197             */
1198            public boolean hasParentQualifiedName() {
1199              return ((bitField0_ & 0x00000001) == 0x00000001);
1200            }
1201            /**
1202             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1203             */
1204            public int getParentQualifiedName() {
1205              return parentQualifiedName_;
1206            }
1207            /**
1208             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1209             */
1210            public Builder setParentQualifiedName(int value) {
1211              bitField0_ |= 0x00000001;
1212              parentQualifiedName_ = value;
1213              
1214              return this;
1215            }
1216            /**
1217             * <code>optional int32 parent_qualified_name = 1 [default = -1];</code>
1218             */
1219            public Builder clearParentQualifiedName() {
1220              bitField0_ = (bitField0_ & ~0x00000001);
1221              parentQualifiedName_ = -1;
1222              
1223              return this;
1224            }
1225    
1226            // required int32 short_name = 2;
1227            private int shortName_ ;
1228            /**
1229             * <code>required int32 short_name = 2;</code>
1230             *
1231             * <pre>
1232             * Id in the StringTable
1233             * </pre>
1234             */
1235            public boolean hasShortName() {
1236              return ((bitField0_ & 0x00000002) == 0x00000002);
1237            }
1238            /**
1239             * <code>required int32 short_name = 2;</code>
1240             *
1241             * <pre>
1242             * Id in the StringTable
1243             * </pre>
1244             */
1245            public int getShortName() {
1246              return shortName_;
1247            }
1248            /**
1249             * <code>required int32 short_name = 2;</code>
1250             *
1251             * <pre>
1252             * Id in the StringTable
1253             * </pre>
1254             */
1255            public Builder setShortName(int value) {
1256              bitField0_ |= 0x00000002;
1257              shortName_ = value;
1258              
1259              return this;
1260            }
1261            /**
1262             * <code>required int32 short_name = 2;</code>
1263             *
1264             * <pre>
1265             * Id in the StringTable
1266             * </pre>
1267             */
1268            public Builder clearShortName() {
1269              bitField0_ = (bitField0_ & ~0x00000002);
1270              shortName_ = 0;
1271              
1272              return this;
1273            }
1274    
1275            // optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];
1276            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1277            /**
1278             * <code>optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1279             */
1280            public boolean hasKind() {
1281              return ((bitField0_ & 0x00000004) == 0x00000004);
1282            }
1283            /**
1284             * <code>optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1285             */
1286            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind() {
1287              return kind_;
1288            }
1289            /**
1290             * <code>optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1291             */
1292            public Builder setKind(org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind value) {
1293              if (value == null) {
1294                throw new NullPointerException();
1295              }
1296              bitField0_ |= 0x00000004;
1297              kind_ = value;
1298              
1299              return this;
1300            }
1301            /**
1302             * <code>optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];</code>
1303             */
1304            public Builder clearKind() {
1305              bitField0_ = (bitField0_ & ~0x00000004);
1306              kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
1307              
1308              return this;
1309            }
1310    
1311            // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName)
1312          }
1313    
1314          static {
1315            defaultInstance = new QualifiedName(true);
1316            defaultInstance.initFields();
1317          }
1318    
1319          // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName)
1320        }
1321    
1322        // repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;
1323        public static final int QUALIFIED_NAME_FIELD_NUMBER = 1;
1324        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> qualifiedName_;
1325        /**
1326         * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1327         */
1328        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> getQualifiedNameList() {
1329          return qualifiedName_;
1330        }
1331        /**
1332         * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1333         */
1334        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder> 
1335            getQualifiedNameOrBuilderList() {
1336          return qualifiedName_;
1337        }
1338        /**
1339         * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1340         */
1341        public int getQualifiedNameCount() {
1342          return qualifiedName_.size();
1343        }
1344        /**
1345         * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1346         */
1347        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index) {
1348          return qualifiedName_.get(index);
1349        }
1350        /**
1351         * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1352         */
1353        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder getQualifiedNameOrBuilder(
1354            int index) {
1355          return qualifiedName_.get(index);
1356        }
1357    
1358        private void initFields() {
1359          qualifiedName_ = java.util.Collections.emptyList();
1360        }
1361        private byte memoizedIsInitialized = -1;
1362        public final boolean isInitialized() {
1363          byte isInitialized = memoizedIsInitialized;
1364          if (isInitialized != -1) return isInitialized == 1;
1365    
1366          for (int i = 0; i < getQualifiedNameCount(); i++) {
1367            if (!getQualifiedName(i).isInitialized()) {
1368              memoizedIsInitialized = 0;
1369              return false;
1370            }
1371          }
1372          memoizedIsInitialized = 1;
1373          return true;
1374        }
1375    
1376        public void writeTo(com.google.protobuf.CodedOutputStream output)
1377                            throws java.io.IOException {
1378          getSerializedSize();
1379          for (int i = 0; i < qualifiedName_.size(); i++) {
1380            output.writeMessage(1, qualifiedName_.get(i));
1381          }
1382        }
1383    
1384        private int memoizedSerializedSize = -1;
1385        public int getSerializedSize() {
1386          int size = memoizedSerializedSize;
1387          if (size != -1) return size;
1388    
1389          size = 0;
1390          for (int i = 0; i < qualifiedName_.size(); i++) {
1391            size += com.google.protobuf.CodedOutputStream
1392              .computeMessageSize(1, qualifiedName_.get(i));
1393          }
1394          memoizedSerializedSize = size;
1395          return size;
1396        }
1397    
1398        private static final long serialVersionUID = 0L;
1399        @java.lang.Override
1400        protected java.lang.Object writeReplace()
1401            throws java.io.ObjectStreamException {
1402          return super.writeReplace();
1403        }
1404    
1405        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1406            com.google.protobuf.ByteString data)
1407            throws com.google.protobuf.InvalidProtocolBufferException {
1408          return PARSER.parseFrom(data);
1409        }
1410        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1411            com.google.protobuf.ByteString data,
1412            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1413            throws com.google.protobuf.InvalidProtocolBufferException {
1414          return PARSER.parseFrom(data, extensionRegistry);
1415        }
1416        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(byte[] data)
1417            throws com.google.protobuf.InvalidProtocolBufferException {
1418          return PARSER.parseFrom(data);
1419        }
1420        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1421            byte[] data,
1422            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1423            throws com.google.protobuf.InvalidProtocolBufferException {
1424          return PARSER.parseFrom(data, extensionRegistry);
1425        }
1426        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(java.io.InputStream input)
1427            throws java.io.IOException {
1428          return PARSER.parseFrom(input);
1429        }
1430        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1431            java.io.InputStream input,
1432            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1433            throws java.io.IOException {
1434          return PARSER.parseFrom(input, extensionRegistry);
1435        }
1436        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseDelimitedFrom(java.io.InputStream input)
1437            throws java.io.IOException {
1438          return PARSER.parseDelimitedFrom(input);
1439        }
1440        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseDelimitedFrom(
1441            java.io.InputStream input,
1442            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1443            throws java.io.IOException {
1444          return PARSER.parseDelimitedFrom(input, extensionRegistry);
1445        }
1446        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1447            com.google.protobuf.CodedInputStream input)
1448            throws java.io.IOException {
1449          return PARSER.parseFrom(input);
1450        }
1451        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1452            com.google.protobuf.CodedInputStream input,
1453            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1454            throws java.io.IOException {
1455          return PARSER.parseFrom(input, extensionRegistry);
1456        }
1457    
1458        public static Builder newBuilder() { return Builder.create(); }
1459        public Builder newBuilderForType() { return newBuilder(); }
1460        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable prototype) {
1461          return newBuilder().mergeFrom(prototype);
1462        }
1463        public Builder toBuilder() { return newBuilder(this); }
1464    
1465        /**
1466         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.QualifiedNameTable}
1467         */
1468        public static final class Builder extends
1469            com.google.protobuf.GeneratedMessageLite.Builder<
1470              org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable, Builder>
1471            implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTableOrBuilder {
1472          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.newBuilder()
1473          private Builder() {
1474            maybeForceBuilderInitialization();
1475          }
1476    
1477          private void maybeForceBuilderInitialization() {
1478          }
1479          private static Builder create() {
1480            return new Builder();
1481          }
1482    
1483          public Builder clear() {
1484            super.clear();
1485            qualifiedName_ = java.util.Collections.emptyList();
1486            bitField0_ = (bitField0_ & ~0x00000001);
1487            return this;
1488          }
1489    
1490          public Builder clone() {
1491            return create().mergeFrom(buildPartial());
1492          }
1493    
1494          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable getDefaultInstanceForType() {
1495            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance();
1496          }
1497    
1498          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable build() {
1499            org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable result = buildPartial();
1500            if (!result.isInitialized()) {
1501              throw newUninitializedMessageException(result);
1502            }
1503            return result;
1504          }
1505    
1506          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable buildPartial() {
1507            org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable(this);
1508            int from_bitField0_ = bitField0_;
1509            if (((bitField0_ & 0x00000001) == 0x00000001)) {
1510              qualifiedName_ = java.util.Collections.unmodifiableList(qualifiedName_);
1511              bitField0_ = (bitField0_ & ~0x00000001);
1512            }
1513            result.qualifiedName_ = qualifiedName_;
1514            return result;
1515          }
1516    
1517          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable other) {
1518            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance()) return this;
1519            if (!other.qualifiedName_.isEmpty()) {
1520              if (qualifiedName_.isEmpty()) {
1521                qualifiedName_ = other.qualifiedName_;
1522                bitField0_ = (bitField0_ & ~0x00000001);
1523              } else {
1524                ensureQualifiedNameIsMutable();
1525                qualifiedName_.addAll(other.qualifiedName_);
1526              }
1527              
1528            }
1529            return this;
1530          }
1531    
1532          public final boolean isInitialized() {
1533            for (int i = 0; i < getQualifiedNameCount(); i++) {
1534              if (!getQualifiedName(i).isInitialized()) {
1535                
1536                return false;
1537              }
1538            }
1539            return true;
1540          }
1541    
1542          public Builder mergeFrom(
1543              com.google.protobuf.CodedInputStream input,
1544              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1545              throws java.io.IOException {
1546            org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parsedMessage = null;
1547            try {
1548              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1549            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1550              parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable) e.getUnfinishedMessage();
1551              throw e;
1552            } finally {
1553              if (parsedMessage != null) {
1554                mergeFrom(parsedMessage);
1555              }
1556            }
1557            return this;
1558          }
1559          private int bitField0_;
1560    
1561          // repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;
1562          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> qualifiedName_ =
1563            java.util.Collections.emptyList();
1564          private void ensureQualifiedNameIsMutable() {
1565            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
1566              qualifiedName_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName>(qualifiedName_);
1567              bitField0_ |= 0x00000001;
1568             }
1569          }
1570    
1571          /**
1572           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1573           */
1574          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> getQualifiedNameList() {
1575            return java.util.Collections.unmodifiableList(qualifiedName_);
1576          }
1577          /**
1578           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1579           */
1580          public int getQualifiedNameCount() {
1581            return qualifiedName_.size();
1582          }
1583          /**
1584           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1585           */
1586          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index) {
1587            return qualifiedName_.get(index);
1588          }
1589          /**
1590           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1591           */
1592          public Builder setQualifiedName(
1593              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1594            if (value == null) {
1595              throw new NullPointerException();
1596            }
1597            ensureQualifiedNameIsMutable();
1598            qualifiedName_.set(index, value);
1599    
1600            return this;
1601          }
1602          /**
1603           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1604           */
1605          public Builder setQualifiedName(
1606              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1607            ensureQualifiedNameIsMutable();
1608            qualifiedName_.set(index, builderForValue.build());
1609    
1610            return this;
1611          }
1612          /**
1613           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1614           */
1615          public Builder addQualifiedName(org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1616            if (value == null) {
1617              throw new NullPointerException();
1618            }
1619            ensureQualifiedNameIsMutable();
1620            qualifiedName_.add(value);
1621    
1622            return this;
1623          }
1624          /**
1625           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1626           */
1627          public Builder addQualifiedName(
1628              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1629            if (value == null) {
1630              throw new NullPointerException();
1631            }
1632            ensureQualifiedNameIsMutable();
1633            qualifiedName_.add(index, value);
1634    
1635            return this;
1636          }
1637          /**
1638           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1639           */
1640          public Builder addQualifiedName(
1641              org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1642            ensureQualifiedNameIsMutable();
1643            qualifiedName_.add(builderForValue.build());
1644    
1645            return this;
1646          }
1647          /**
1648           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1649           */
1650          public Builder addQualifiedName(
1651              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1652            ensureQualifiedNameIsMutable();
1653            qualifiedName_.add(index, builderForValue.build());
1654    
1655            return this;
1656          }
1657          /**
1658           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1659           */
1660          public Builder addAllQualifiedName(
1661              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> values) {
1662            ensureQualifiedNameIsMutable();
1663            super.addAll(values, qualifiedName_);
1664    
1665            return this;
1666          }
1667          /**
1668           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1669           */
1670          public Builder clearQualifiedName() {
1671            qualifiedName_ = java.util.Collections.emptyList();
1672            bitField0_ = (bitField0_ & ~0x00000001);
1673    
1674            return this;
1675          }
1676          /**
1677           * <code>repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;</code>
1678           */
1679          public Builder removeQualifiedName(int index) {
1680            ensureQualifiedNameIsMutable();
1681            qualifiedName_.remove(index);
1682    
1683            return this;
1684          }
1685    
1686          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.QualifiedNameTable)
1687        }
1688    
1689        static {
1690          defaultInstance = new QualifiedNameTable(true);
1691          defaultInstance.initFields();
1692        }
1693    
1694        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.QualifiedNameTable)
1695      }
1696    
1697      public interface AnnotationOrBuilder
1698          extends com.google.protobuf.MessageLiteOrBuilder {
1699    
1700        // required int32 id = 1;
1701        /**
1702         * <code>required int32 id = 1;</code>
1703         *
1704         * <pre>
1705         * Class FQ name id
1706         * </pre>
1707         */
1708        boolean hasId();
1709        /**
1710         * <code>required int32 id = 1;</code>
1711         *
1712         * <pre>
1713         * Class FQ name id
1714         * </pre>
1715         */
1716        int getId();
1717    
1718        // repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;
1719        /**
1720         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;</code>
1721         */
1722        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument> 
1723            getArgumentList();
1724        /**
1725         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;</code>
1726         */
1727        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument getArgument(int index);
1728        /**
1729         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;</code>
1730         */
1731        int getArgumentCount();
1732      }
1733      /**
1734       * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Annotation}
1735       */
1736      public static final class Annotation extends
1737          com.google.protobuf.GeneratedMessageLite
1738          implements AnnotationOrBuilder {
1739        // Use Annotation.newBuilder() to construct.
1740        private Annotation(com.google.protobuf.GeneratedMessageLite.Builder builder) {
1741          super(builder);
1742    
1743        }
1744        private Annotation(boolean noInit) {}
1745    
1746        private static final Annotation defaultInstance;
1747        public static Annotation getDefaultInstance() {
1748          return defaultInstance;
1749        }
1750    
1751        public Annotation getDefaultInstanceForType() {
1752          return defaultInstance;
1753        }
1754    
1755        private Annotation(
1756            com.google.protobuf.CodedInputStream input,
1757            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1758            throws com.google.protobuf.InvalidProtocolBufferException {
1759          initFields();
1760          int mutable_bitField0_ = 0;
1761          try {
1762            boolean done = false;
1763            while (!done) {
1764              int tag = input.readTag();
1765              switch (tag) {
1766                case 0:
1767                  done = true;
1768                  break;
1769                default: {
1770                  if (!parseUnknownField(input,
1771                                         extensionRegistry, tag)) {
1772                    done = true;
1773                  }
1774                  break;
1775                }
1776                case 8: {
1777                  bitField0_ |= 0x00000001;
1778                  id_ = input.readInt32();
1779                  break;
1780                }
1781                case 18: {
1782                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
1783                    argument_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument>();
1784                    mutable_bitField0_ |= 0x00000002;
1785                  }
1786                  argument_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.PARSER, extensionRegistry));
1787                  break;
1788                }
1789              }
1790            }
1791          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1792            throw e.setUnfinishedMessage(this);
1793          } catch (java.io.IOException e) {
1794            throw new com.google.protobuf.InvalidProtocolBufferException(
1795                e.getMessage()).setUnfinishedMessage(this);
1796          } finally {
1797            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
1798              argument_ = java.util.Collections.unmodifiableList(argument_);
1799            }
1800            makeExtensionsImmutable();
1801          }
1802        }
1803        public static com.google.protobuf.Parser<Annotation> PARSER =
1804            new com.google.protobuf.AbstractParser<Annotation>() {
1805          public Annotation parsePartialFrom(
1806              com.google.protobuf.CodedInputStream input,
1807              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1808              throws com.google.protobuf.InvalidProtocolBufferException {
1809            return new Annotation(input, extensionRegistry);
1810          }
1811        };
1812    
1813        @java.lang.Override
1814        public com.google.protobuf.Parser<Annotation> getParserForType() {
1815          return PARSER;
1816        }
1817    
1818        public interface ArgumentOrBuilder
1819            extends com.google.protobuf.MessageLiteOrBuilder {
1820    
1821          // required int32 name_id = 1;
1822          /**
1823           * <code>required int32 name_id = 1;</code>
1824           *
1825           * <pre>
1826           * id in StringTable
1827           * </pre>
1828           */
1829          boolean hasNameId();
1830          /**
1831           * <code>required int32 name_id = 1;</code>
1832           *
1833           * <pre>
1834           * id in StringTable
1835           * </pre>
1836           */
1837          int getNameId();
1838    
1839          // required .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value value = 2;
1840          /**
1841           * <code>required .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value value = 2;</code>
1842           */
1843          boolean hasValue();
1844          /**
1845           * <code>required .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value value = 2;</code>
1846           */
1847          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value getValue();
1848        }
1849        /**
1850         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Annotation.Argument}
1851         */
1852        public static final class Argument extends
1853            com.google.protobuf.GeneratedMessageLite
1854            implements ArgumentOrBuilder {
1855          // Use Argument.newBuilder() to construct.
1856          private Argument(com.google.protobuf.GeneratedMessageLite.Builder builder) {
1857            super(builder);
1858    
1859          }
1860          private Argument(boolean noInit) {}
1861    
1862          private static final Argument defaultInstance;
1863          public static Argument getDefaultInstance() {
1864            return defaultInstance;
1865          }
1866    
1867          public Argument getDefaultInstanceForType() {
1868            return defaultInstance;
1869          }
1870    
1871          private Argument(
1872              com.google.protobuf.CodedInputStream input,
1873              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1874              throws com.google.protobuf.InvalidProtocolBufferException {
1875            initFields();
1876            int mutable_bitField0_ = 0;
1877            try {
1878              boolean done = false;
1879              while (!done) {
1880                int tag = input.readTag();
1881                switch (tag) {
1882                  case 0:
1883                    done = true;
1884                    break;
1885                  default: {
1886                    if (!parseUnknownField(input,
1887                                           extensionRegistry, tag)) {
1888                      done = true;
1889                    }
1890                    break;
1891                  }
1892                  case 8: {
1893                    bitField0_ |= 0x00000001;
1894                    nameId_ = input.readInt32();
1895                    break;
1896                  }
1897                  case 18: {
1898                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.Builder subBuilder = null;
1899                    if (((bitField0_ & 0x00000002) == 0x00000002)) {
1900                      subBuilder = value_.toBuilder();
1901                    }
1902                    value_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.PARSER, extensionRegistry);
1903                    if (subBuilder != null) {
1904                      subBuilder.mergeFrom(value_);
1905                      value_ = subBuilder.buildPartial();
1906                    }
1907                    bitField0_ |= 0x00000002;
1908                    break;
1909                  }
1910                }
1911              }
1912            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1913              throw e.setUnfinishedMessage(this);
1914            } catch (java.io.IOException e) {
1915              throw new com.google.protobuf.InvalidProtocolBufferException(
1916                  e.getMessage()).setUnfinishedMessage(this);
1917            } finally {
1918              makeExtensionsImmutable();
1919            }
1920          }
1921          public static com.google.protobuf.Parser<Argument> PARSER =
1922              new com.google.protobuf.AbstractParser<Argument>() {
1923            public Argument parsePartialFrom(
1924                com.google.protobuf.CodedInputStream input,
1925                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1926                throws com.google.protobuf.InvalidProtocolBufferException {
1927              return new Argument(input, extensionRegistry);
1928            }
1929          };
1930    
1931          @java.lang.Override
1932          public com.google.protobuf.Parser<Argument> getParserForType() {
1933            return PARSER;
1934          }
1935    
1936          public interface ValueOrBuilder
1937              extends com.google.protobuf.MessageLiteOrBuilder {
1938    
1939            // optional .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value.Type type = 1;
1940            /**
1941             * <code>optional .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value.Type type = 1;</code>
1942             *
1943             * <pre>
1944             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
1945             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
1946             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
1947             * </pre>
1948             */
1949            boolean hasType();
1950            /**
1951             * <code>optional .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value.Type type = 1;</code>
1952             *
1953             * <pre>
1954             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
1955             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
1956             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
1957             * </pre>
1958             */
1959            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.Type getType();
1960    
1961            // optional sint64 int_value = 2;
1962            /**
1963             * <code>optional sint64 int_value = 2;</code>
1964             */
1965            boolean hasIntValue();
1966            /**
1967             * <code>optional sint64 int_value = 2;</code>
1968             */
1969            long getIntValue();
1970    
1971            // optional float float_value = 3;
1972            /**
1973             * <code>optional float float_value = 3;</code>
1974             */
1975            boolean hasFloatValue();
1976            /**
1977             * <code>optional float float_value = 3;</code>
1978             */
1979            float getFloatValue();
1980    
1981            // optional double double_value = 4;
1982            /**
1983             * <code>optional double double_value = 4;</code>
1984             */
1985            boolean hasDoubleValue();
1986            /**
1987             * <code>optional double double_value = 4;</code>
1988             */
1989            double getDoubleValue();
1990    
1991            // optional int32 string_value = 5;
1992            /**
1993             * <code>optional int32 string_value = 5;</code>
1994             *
1995             * <pre>
1996             * id in StringTable
1997             * </pre>
1998             */
1999            boolean hasStringValue();
2000            /**
2001             * <code>optional int32 string_value = 5;</code>
2002             *
2003             * <pre>
2004             * id in StringTable
2005             * </pre>
2006             */
2007            int getStringValue();
2008    
2009            // optional int32 class_id = 6;
2010            /**
2011             * <code>optional int32 class_id = 6;</code>
2012             *
2013             * <pre>
2014             * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
2015             * </pre>
2016             */
2017            boolean hasClassId();
2018            /**
2019             * <code>optional int32 class_id = 6;</code>
2020             *
2021             * <pre>
2022             * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
2023             * </pre>
2024             */
2025            int getClassId();
2026    
2027            // optional int32 enum_value_id = 7;
2028            /**
2029             * <code>optional int32 enum_value_id = 7;</code>
2030             *
2031             * <pre>
2032             * id in StringTable
2033             * </pre>
2034             */
2035            boolean hasEnumValueId();
2036            /**
2037             * <code>optional int32 enum_value_id = 7;</code>
2038             *
2039             * <pre>
2040             * id in StringTable
2041             * </pre>
2042             */
2043            int getEnumValueId();
2044    
2045            // optional .org.jetbrains.jet.descriptors.serialization.Annotation annotation = 8;
2046            /**
2047             * <code>optional .org.jetbrains.jet.descriptors.serialization.Annotation annotation = 8;</code>
2048             */
2049            boolean hasAnnotation();
2050            /**
2051             * <code>optional .org.jetbrains.jet.descriptors.serialization.Annotation annotation = 8;</code>
2052             */
2053            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation getAnnotation();
2054    
2055            // repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;
2056            /**
2057             * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;</code>
2058             */
2059            java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value> 
2060                getArrayElementList();
2061            /**
2062             * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;</code>
2063             */
2064            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value getArrayElement(int index);
2065            /**
2066             * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;</code>
2067             */
2068            int getArrayElementCount();
2069          }
2070          /**
2071           * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value}
2072           */
2073          public static final class Value extends
2074              com.google.protobuf.GeneratedMessageLite
2075              implements ValueOrBuilder {
2076            // Use Value.newBuilder() to construct.
2077            private Value(com.google.protobuf.GeneratedMessageLite.Builder builder) {
2078              super(builder);
2079    
2080            }
2081            private Value(boolean noInit) {}
2082    
2083            private static final Value defaultInstance;
2084            public static Value getDefaultInstance() {
2085              return defaultInstance;
2086            }
2087    
2088            public Value getDefaultInstanceForType() {
2089              return defaultInstance;
2090            }
2091    
2092            private Value(
2093                com.google.protobuf.CodedInputStream input,
2094                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2095                throws com.google.protobuf.InvalidProtocolBufferException {
2096              initFields();
2097              int mutable_bitField0_ = 0;
2098              try {
2099                boolean done = false;
2100                while (!done) {
2101                  int tag = input.readTag();
2102                  switch (tag) {
2103                    case 0:
2104                      done = true;
2105                      break;
2106                    default: {
2107                      if (!parseUnknownField(input,
2108                                             extensionRegistry, tag)) {
2109                        done = true;
2110                      }
2111                      break;
2112                    }
2113                    case 8: {
2114                      int rawValue = input.readEnum();
2115                      org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.Type value = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.Type.valueOf(rawValue);
2116                      if (value != null) {
2117                        bitField0_ |= 0x00000001;
2118                        type_ = value;
2119                      }
2120                      break;
2121                    }
2122                    case 16: {
2123                      bitField0_ |= 0x00000002;
2124                      intValue_ = input.readSInt64();
2125                      break;
2126                    }
2127                    case 29: {
2128                      bitField0_ |= 0x00000004;
2129                      floatValue_ = input.readFloat();
2130                      break;
2131                    }
2132                    case 33: {
2133                      bitField0_ |= 0x00000008;
2134                      doubleValue_ = input.readDouble();
2135                      break;
2136                    }
2137                    case 40: {
2138                      bitField0_ |= 0x00000010;
2139                      stringValue_ = input.readInt32();
2140                      break;
2141                    }
2142                    case 48: {
2143                      bitField0_ |= 0x00000020;
2144                      classId_ = input.readInt32();
2145                      break;
2146                    }
2147                    case 56: {
2148                      bitField0_ |= 0x00000040;
2149                      enumValueId_ = input.readInt32();
2150                      break;
2151                    }
2152                    case 66: {
2153                      org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Builder subBuilder = null;
2154                      if (((bitField0_ & 0x00000080) == 0x00000080)) {
2155                        subBuilder = annotation_.toBuilder();
2156                      }
2157                      annotation_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.PARSER, extensionRegistry);
2158                      if (subBuilder != null) {
2159                        subBuilder.mergeFrom(annotation_);
2160                        annotation_ = subBuilder.buildPartial();
2161                      }
2162                      bitField0_ |= 0x00000080;
2163                      break;
2164                    }
2165                    case 74: {
2166                      if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
2167                        arrayElement_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value>();
2168                        mutable_bitField0_ |= 0x00000100;
2169                      }
2170                      arrayElement_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.PARSER, extensionRegistry));
2171                      break;
2172                    }
2173                  }
2174                }
2175              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2176                throw e.setUnfinishedMessage(this);
2177              } catch (java.io.IOException e) {
2178                throw new com.google.protobuf.InvalidProtocolBufferException(
2179                    e.getMessage()).setUnfinishedMessage(this);
2180              } finally {
2181                if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
2182                  arrayElement_ = java.util.Collections.unmodifiableList(arrayElement_);
2183                }
2184                makeExtensionsImmutable();
2185              }
2186            }
2187            public static com.google.protobuf.Parser<Value> PARSER =
2188                new com.google.protobuf.AbstractParser<Value>() {
2189              public Value parsePartialFrom(
2190                  com.google.protobuf.CodedInputStream input,
2191                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2192                  throws com.google.protobuf.InvalidProtocolBufferException {
2193                return new Value(input, extensionRegistry);
2194              }
2195            };
2196    
2197            @java.lang.Override
2198            public com.google.protobuf.Parser<Value> getParserForType() {
2199              return PARSER;
2200            }
2201    
2202            /**
2203             * Protobuf enum {@code org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value.Type}
2204             */
2205            public enum Type
2206                implements com.google.protobuf.Internal.EnumLite {
2207              /**
2208               * <code>BYTE = 0;</code>
2209               */
2210              BYTE(0, 0),
2211              /**
2212               * <code>CHAR = 1;</code>
2213               */
2214              CHAR(1, 1),
2215              /**
2216               * <code>SHORT = 2;</code>
2217               */
2218              SHORT(2, 2),
2219              /**
2220               * <code>INT = 3;</code>
2221               */
2222              INT(3, 3),
2223              /**
2224               * <code>LONG = 4;</code>
2225               */
2226              LONG(4, 4),
2227              /**
2228               * <code>FLOAT = 5;</code>
2229               */
2230              FLOAT(5, 5),
2231              /**
2232               * <code>DOUBLE = 6;</code>
2233               */
2234              DOUBLE(6, 6),
2235              /**
2236               * <code>BOOLEAN = 7;</code>
2237               */
2238              BOOLEAN(7, 7),
2239              /**
2240               * <code>STRING = 8;</code>
2241               */
2242              STRING(8, 8),
2243              /**
2244               * <code>CLASS = 9;</code>
2245               */
2246              CLASS(9, 9),
2247              /**
2248               * <code>ENUM = 10;</code>
2249               */
2250              ENUM(10, 10),
2251              /**
2252               * <code>ANNOTATION = 11;</code>
2253               */
2254              ANNOTATION(11, 11),
2255              /**
2256               * <code>ARRAY = 12;</code>
2257               */
2258              ARRAY(12, 12),
2259              ;
2260    
2261              /**
2262               * <code>BYTE = 0;</code>
2263               */
2264              public static final int BYTE_VALUE = 0;
2265              /**
2266               * <code>CHAR = 1;</code>
2267               */
2268              public static final int CHAR_VALUE = 1;
2269              /**
2270               * <code>SHORT = 2;</code>
2271               */
2272              public static final int SHORT_VALUE = 2;
2273              /**
2274               * <code>INT = 3;</code>
2275               */
2276              public static final int INT_VALUE = 3;
2277              /**
2278               * <code>LONG = 4;</code>
2279               */
2280              public static final int LONG_VALUE = 4;
2281              /**
2282               * <code>FLOAT = 5;</code>
2283               */
2284              public static final int FLOAT_VALUE = 5;
2285              /**
2286               * <code>DOUBLE = 6;</code>
2287               */
2288              public static final int DOUBLE_VALUE = 6;
2289              /**
2290               * <code>BOOLEAN = 7;</code>
2291               */
2292              public static final int BOOLEAN_VALUE = 7;
2293              /**
2294               * <code>STRING = 8;</code>
2295               */
2296              public static final int STRING_VALUE = 8;
2297              /**
2298               * <code>CLASS = 9;</code>
2299               */
2300              public static final int CLASS_VALUE = 9;
2301              /**
2302               * <code>ENUM = 10;</code>
2303               */
2304              public static final int ENUM_VALUE = 10;
2305              /**
2306               * <code>ANNOTATION = 11;</code>
2307               */
2308              public static final int ANNOTATION_VALUE = 11;
2309              /**
2310               * <code>ARRAY = 12;</code>
2311               */
2312              public static final int ARRAY_VALUE = 12;
2313    
2314    
2315              public final int getNumber() { return value; }
2316    
2317              public static Type valueOf(int value) {
2318                switch (value) {
2319                  case 0: return BYTE;
2320                  case 1: return CHAR;
2321                  case 2: return SHORT;
2322                  case 3: return INT;
2323                  case 4: return LONG;
2324                  case 5: return FLOAT;
2325                  case 6: return DOUBLE;
2326                  case 7: return BOOLEAN;
2327                  case 8: return STRING;
2328                  case 9: return CLASS;
2329                  case 10: return ENUM;
2330                  case 11: return ANNOTATION;
2331                  case 12: return ARRAY;
2332                  default: return null;
2333                }
2334              }
2335    
2336              public static com.google.protobuf.Internal.EnumLiteMap<Type>
2337                  internalGetValueMap() {
2338                return internalValueMap;
2339              }
2340              private static com.google.protobuf.Internal.EnumLiteMap<Type>
2341                  internalValueMap =
2342                    new com.google.protobuf.Internal.EnumLiteMap<Type>() {
2343                      public Type findValueByNumber(int number) {
2344                        return Type.valueOf(number);
2345                      }
2346                    };
2347    
2348              private final int value;
2349    
2350              private Type(int index, int value) {
2351                this.value = value;
2352              }
2353    
2354              // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value.Type)
2355            }
2356    
2357            private int bitField0_;
2358            // optional .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value.Type type = 1;
2359            public static final int TYPE_FIELD_NUMBER = 1;
2360            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.Type type_;
2361            /**
2362             * <code>optional .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value.Type type = 1;</code>
2363             *
2364             * <pre>
2365             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2366             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2367             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2368             * </pre>
2369             */
2370            public boolean hasType() {
2371              return ((bitField0_ & 0x00000001) == 0x00000001);
2372            }
2373            /**
2374             * <code>optional .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value.Type type = 1;</code>
2375             *
2376             * <pre>
2377             * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2378             * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2379             * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2380             * </pre>
2381             */
2382            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.Type getType() {
2383              return type_;
2384            }
2385    
2386            // optional sint64 int_value = 2;
2387            public static final int INT_VALUE_FIELD_NUMBER = 2;
2388            private long intValue_;
2389            /**
2390             * <code>optional sint64 int_value = 2;</code>
2391             */
2392            public boolean hasIntValue() {
2393              return ((bitField0_ & 0x00000002) == 0x00000002);
2394            }
2395            /**
2396             * <code>optional sint64 int_value = 2;</code>
2397             */
2398            public long getIntValue() {
2399              return intValue_;
2400            }
2401    
2402            // optional float float_value = 3;
2403            public static final int FLOAT_VALUE_FIELD_NUMBER = 3;
2404            private float floatValue_;
2405            /**
2406             * <code>optional float float_value = 3;</code>
2407             */
2408            public boolean hasFloatValue() {
2409              return ((bitField0_ & 0x00000004) == 0x00000004);
2410            }
2411            /**
2412             * <code>optional float float_value = 3;</code>
2413             */
2414            public float getFloatValue() {
2415              return floatValue_;
2416            }
2417    
2418            // optional double double_value = 4;
2419            public static final int DOUBLE_VALUE_FIELD_NUMBER = 4;
2420            private double doubleValue_;
2421            /**
2422             * <code>optional double double_value = 4;</code>
2423             */
2424            public boolean hasDoubleValue() {
2425              return ((bitField0_ & 0x00000008) == 0x00000008);
2426            }
2427            /**
2428             * <code>optional double double_value = 4;</code>
2429             */
2430            public double getDoubleValue() {
2431              return doubleValue_;
2432            }
2433    
2434            // optional int32 string_value = 5;
2435            public static final int STRING_VALUE_FIELD_NUMBER = 5;
2436            private int stringValue_;
2437            /**
2438             * <code>optional int32 string_value = 5;</code>
2439             *
2440             * <pre>
2441             * id in StringTable
2442             * </pre>
2443             */
2444            public boolean hasStringValue() {
2445              return ((bitField0_ & 0x00000010) == 0x00000010);
2446            }
2447            /**
2448             * <code>optional int32 string_value = 5;</code>
2449             *
2450             * <pre>
2451             * id in StringTable
2452             * </pre>
2453             */
2454            public int getStringValue() {
2455              return stringValue_;
2456            }
2457    
2458            // optional int32 class_id = 6;
2459            public static final int CLASS_ID_FIELD_NUMBER = 6;
2460            private int classId_;
2461            /**
2462             * <code>optional int32 class_id = 6;</code>
2463             *
2464             * <pre>
2465             * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
2466             * </pre>
2467             */
2468            public boolean hasClassId() {
2469              return ((bitField0_ & 0x00000020) == 0x00000020);
2470            }
2471            /**
2472             * <code>optional int32 class_id = 6;</code>
2473             *
2474             * <pre>
2475             * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
2476             * </pre>
2477             */
2478            public int getClassId() {
2479              return classId_;
2480            }
2481    
2482            // optional int32 enum_value_id = 7;
2483            public static final int ENUM_VALUE_ID_FIELD_NUMBER = 7;
2484            private int enumValueId_;
2485            /**
2486             * <code>optional int32 enum_value_id = 7;</code>
2487             *
2488             * <pre>
2489             * id in StringTable
2490             * </pre>
2491             */
2492            public boolean hasEnumValueId() {
2493              return ((bitField0_ & 0x00000040) == 0x00000040);
2494            }
2495            /**
2496             * <code>optional int32 enum_value_id = 7;</code>
2497             *
2498             * <pre>
2499             * id in StringTable
2500             * </pre>
2501             */
2502            public int getEnumValueId() {
2503              return enumValueId_;
2504            }
2505    
2506            // optional .org.jetbrains.jet.descriptors.serialization.Annotation annotation = 8;
2507            public static final int ANNOTATION_FIELD_NUMBER = 8;
2508            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation annotation_;
2509            /**
2510             * <code>optional .org.jetbrains.jet.descriptors.serialization.Annotation annotation = 8;</code>
2511             */
2512            public boolean hasAnnotation() {
2513              return ((bitField0_ & 0x00000080) == 0x00000080);
2514            }
2515            /**
2516             * <code>optional .org.jetbrains.jet.descriptors.serialization.Annotation annotation = 8;</code>
2517             */
2518            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation getAnnotation() {
2519              return annotation_;
2520            }
2521    
2522            // repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;
2523            public static final int ARRAY_ELEMENT_FIELD_NUMBER = 9;
2524            private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value> arrayElement_;
2525            /**
2526             * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;</code>
2527             */
2528            public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value> getArrayElementList() {
2529              return arrayElement_;
2530            }
2531            /**
2532             * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;</code>
2533             */
2534            public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.ValueOrBuilder> 
2535                getArrayElementOrBuilderList() {
2536              return arrayElement_;
2537            }
2538            /**
2539             * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;</code>
2540             */
2541            public int getArrayElementCount() {
2542              return arrayElement_.size();
2543            }
2544            /**
2545             * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;</code>
2546             */
2547            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value getArrayElement(int index) {
2548              return arrayElement_.get(index);
2549            }
2550            /**
2551             * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;</code>
2552             */
2553            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.ValueOrBuilder getArrayElementOrBuilder(
2554                int index) {
2555              return arrayElement_.get(index);
2556            }
2557    
2558            private void initFields() {
2559              type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
2560              intValue_ = 0L;
2561              floatValue_ = 0F;
2562              doubleValue_ = 0D;
2563              stringValue_ = 0;
2564              classId_ = 0;
2565              enumValueId_ = 0;
2566              annotation_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.getDefaultInstance();
2567              arrayElement_ = java.util.Collections.emptyList();
2568            }
2569            private byte memoizedIsInitialized = -1;
2570            public final boolean isInitialized() {
2571              byte isInitialized = memoizedIsInitialized;
2572              if (isInitialized != -1) return isInitialized == 1;
2573    
2574              if (hasAnnotation()) {
2575                if (!getAnnotation().isInitialized()) {
2576                  memoizedIsInitialized = 0;
2577                  return false;
2578                }
2579              }
2580              for (int i = 0; i < getArrayElementCount(); i++) {
2581                if (!getArrayElement(i).isInitialized()) {
2582                  memoizedIsInitialized = 0;
2583                  return false;
2584                }
2585              }
2586              memoizedIsInitialized = 1;
2587              return true;
2588            }
2589    
2590            public void writeTo(com.google.protobuf.CodedOutputStream output)
2591                                throws java.io.IOException {
2592              getSerializedSize();
2593              if (((bitField0_ & 0x00000001) == 0x00000001)) {
2594                output.writeEnum(1, type_.getNumber());
2595              }
2596              if (((bitField0_ & 0x00000002) == 0x00000002)) {
2597                output.writeSInt64(2, intValue_);
2598              }
2599              if (((bitField0_ & 0x00000004) == 0x00000004)) {
2600                output.writeFloat(3, floatValue_);
2601              }
2602              if (((bitField0_ & 0x00000008) == 0x00000008)) {
2603                output.writeDouble(4, doubleValue_);
2604              }
2605              if (((bitField0_ & 0x00000010) == 0x00000010)) {
2606                output.writeInt32(5, stringValue_);
2607              }
2608              if (((bitField0_ & 0x00000020) == 0x00000020)) {
2609                output.writeInt32(6, classId_);
2610              }
2611              if (((bitField0_ & 0x00000040) == 0x00000040)) {
2612                output.writeInt32(7, enumValueId_);
2613              }
2614              if (((bitField0_ & 0x00000080) == 0x00000080)) {
2615                output.writeMessage(8, annotation_);
2616              }
2617              for (int i = 0; i < arrayElement_.size(); i++) {
2618                output.writeMessage(9, arrayElement_.get(i));
2619              }
2620            }
2621    
2622            private int memoizedSerializedSize = -1;
2623            public int getSerializedSize() {
2624              int size = memoizedSerializedSize;
2625              if (size != -1) return size;
2626    
2627              size = 0;
2628              if (((bitField0_ & 0x00000001) == 0x00000001)) {
2629                size += com.google.protobuf.CodedOutputStream
2630                  .computeEnumSize(1, type_.getNumber());
2631              }
2632              if (((bitField0_ & 0x00000002) == 0x00000002)) {
2633                size += com.google.protobuf.CodedOutputStream
2634                  .computeSInt64Size(2, intValue_);
2635              }
2636              if (((bitField0_ & 0x00000004) == 0x00000004)) {
2637                size += com.google.protobuf.CodedOutputStream
2638                  .computeFloatSize(3, floatValue_);
2639              }
2640              if (((bitField0_ & 0x00000008) == 0x00000008)) {
2641                size += com.google.protobuf.CodedOutputStream
2642                  .computeDoubleSize(4, doubleValue_);
2643              }
2644              if (((bitField0_ & 0x00000010) == 0x00000010)) {
2645                size += com.google.protobuf.CodedOutputStream
2646                  .computeInt32Size(5, stringValue_);
2647              }
2648              if (((bitField0_ & 0x00000020) == 0x00000020)) {
2649                size += com.google.protobuf.CodedOutputStream
2650                  .computeInt32Size(6, classId_);
2651              }
2652              if (((bitField0_ & 0x00000040) == 0x00000040)) {
2653                size += com.google.protobuf.CodedOutputStream
2654                  .computeInt32Size(7, enumValueId_);
2655              }
2656              if (((bitField0_ & 0x00000080) == 0x00000080)) {
2657                size += com.google.protobuf.CodedOutputStream
2658                  .computeMessageSize(8, annotation_);
2659              }
2660              for (int i = 0; i < arrayElement_.size(); i++) {
2661                size += com.google.protobuf.CodedOutputStream
2662                  .computeMessageSize(9, arrayElement_.get(i));
2663              }
2664              memoizedSerializedSize = size;
2665              return size;
2666            }
2667    
2668            private static final long serialVersionUID = 0L;
2669            @java.lang.Override
2670            protected java.lang.Object writeReplace()
2671                throws java.io.ObjectStreamException {
2672              return super.writeReplace();
2673            }
2674    
2675            public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2676                com.google.protobuf.ByteString data)
2677                throws com.google.protobuf.InvalidProtocolBufferException {
2678              return PARSER.parseFrom(data);
2679            }
2680            public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2681                com.google.protobuf.ByteString data,
2682                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2683                throws com.google.protobuf.InvalidProtocolBufferException {
2684              return PARSER.parseFrom(data, extensionRegistry);
2685            }
2686            public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(byte[] data)
2687                throws com.google.protobuf.InvalidProtocolBufferException {
2688              return PARSER.parseFrom(data);
2689            }
2690            public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2691                byte[] data,
2692                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2693                throws com.google.protobuf.InvalidProtocolBufferException {
2694              return PARSER.parseFrom(data, extensionRegistry);
2695            }
2696            public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(java.io.InputStream input)
2697                throws java.io.IOException {
2698              return PARSER.parseFrom(input);
2699            }
2700            public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2701                java.io.InputStream input,
2702                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2703                throws java.io.IOException {
2704              return PARSER.parseFrom(input, extensionRegistry);
2705            }
2706            public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value parseDelimitedFrom(java.io.InputStream input)
2707                throws java.io.IOException {
2708              return PARSER.parseDelimitedFrom(input);
2709            }
2710            public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value parseDelimitedFrom(
2711                java.io.InputStream input,
2712                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2713                throws java.io.IOException {
2714              return PARSER.parseDelimitedFrom(input, extensionRegistry);
2715            }
2716            public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2717                com.google.protobuf.CodedInputStream input)
2718                throws java.io.IOException {
2719              return PARSER.parseFrom(input);
2720            }
2721            public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value parseFrom(
2722                com.google.protobuf.CodedInputStream input,
2723                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2724                throws java.io.IOException {
2725              return PARSER.parseFrom(input, extensionRegistry);
2726            }
2727    
2728            public static Builder newBuilder() { return Builder.create(); }
2729            public Builder newBuilderForType() { return newBuilder(); }
2730            public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value prototype) {
2731              return newBuilder().mergeFrom(prototype);
2732            }
2733            public Builder toBuilder() { return newBuilder(this); }
2734    
2735            /**
2736             * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value}
2737             */
2738            public static final class Builder extends
2739                com.google.protobuf.GeneratedMessageLite.Builder<
2740                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value, Builder>
2741                implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.ValueOrBuilder {
2742              // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.newBuilder()
2743              private Builder() {
2744                maybeForceBuilderInitialization();
2745              }
2746    
2747              private void maybeForceBuilderInitialization() {
2748              }
2749              private static Builder create() {
2750                return new Builder();
2751              }
2752    
2753              public Builder clear() {
2754                super.clear();
2755                type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
2756                bitField0_ = (bitField0_ & ~0x00000001);
2757                intValue_ = 0L;
2758                bitField0_ = (bitField0_ & ~0x00000002);
2759                floatValue_ = 0F;
2760                bitField0_ = (bitField0_ & ~0x00000004);
2761                doubleValue_ = 0D;
2762                bitField0_ = (bitField0_ & ~0x00000008);
2763                stringValue_ = 0;
2764                bitField0_ = (bitField0_ & ~0x00000010);
2765                classId_ = 0;
2766                bitField0_ = (bitField0_ & ~0x00000020);
2767                enumValueId_ = 0;
2768                bitField0_ = (bitField0_ & ~0x00000040);
2769                annotation_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.getDefaultInstance();
2770                bitField0_ = (bitField0_ & ~0x00000080);
2771                arrayElement_ = java.util.Collections.emptyList();
2772                bitField0_ = (bitField0_ & ~0x00000100);
2773                return this;
2774              }
2775    
2776              public Builder clone() {
2777                return create().mergeFrom(buildPartial());
2778              }
2779    
2780              public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value getDefaultInstanceForType() {
2781                return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
2782              }
2783    
2784              public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value build() {
2785                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value result = buildPartial();
2786                if (!result.isInitialized()) {
2787                  throw newUninitializedMessageException(result);
2788                }
2789                return result;
2790              }
2791    
2792              public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value buildPartial() {
2793                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value(this);
2794                int from_bitField0_ = bitField0_;
2795                int to_bitField0_ = 0;
2796                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
2797                  to_bitField0_ |= 0x00000001;
2798                }
2799                result.type_ = type_;
2800                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
2801                  to_bitField0_ |= 0x00000002;
2802                }
2803                result.intValue_ = intValue_;
2804                if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
2805                  to_bitField0_ |= 0x00000004;
2806                }
2807                result.floatValue_ = floatValue_;
2808                if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
2809                  to_bitField0_ |= 0x00000008;
2810                }
2811                result.doubleValue_ = doubleValue_;
2812                if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
2813                  to_bitField0_ |= 0x00000010;
2814                }
2815                result.stringValue_ = stringValue_;
2816                if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
2817                  to_bitField0_ |= 0x00000020;
2818                }
2819                result.classId_ = classId_;
2820                if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
2821                  to_bitField0_ |= 0x00000040;
2822                }
2823                result.enumValueId_ = enumValueId_;
2824                if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
2825                  to_bitField0_ |= 0x00000080;
2826                }
2827                result.annotation_ = annotation_;
2828                if (((bitField0_ & 0x00000100) == 0x00000100)) {
2829                  arrayElement_ = java.util.Collections.unmodifiableList(arrayElement_);
2830                  bitField0_ = (bitField0_ & ~0x00000100);
2831                }
2832                result.arrayElement_ = arrayElement_;
2833                result.bitField0_ = to_bitField0_;
2834                return result;
2835              }
2836    
2837              public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value other) {
2838                if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance()) return this;
2839                if (other.hasType()) {
2840                  setType(other.getType());
2841                }
2842                if (other.hasIntValue()) {
2843                  setIntValue(other.getIntValue());
2844                }
2845                if (other.hasFloatValue()) {
2846                  setFloatValue(other.getFloatValue());
2847                }
2848                if (other.hasDoubleValue()) {
2849                  setDoubleValue(other.getDoubleValue());
2850                }
2851                if (other.hasStringValue()) {
2852                  setStringValue(other.getStringValue());
2853                }
2854                if (other.hasClassId()) {
2855                  setClassId(other.getClassId());
2856                }
2857                if (other.hasEnumValueId()) {
2858                  setEnumValueId(other.getEnumValueId());
2859                }
2860                if (other.hasAnnotation()) {
2861                  mergeAnnotation(other.getAnnotation());
2862                }
2863                if (!other.arrayElement_.isEmpty()) {
2864                  if (arrayElement_.isEmpty()) {
2865                    arrayElement_ = other.arrayElement_;
2866                    bitField0_ = (bitField0_ & ~0x00000100);
2867                  } else {
2868                    ensureArrayElementIsMutable();
2869                    arrayElement_.addAll(other.arrayElement_);
2870                  }
2871                  
2872                }
2873                return this;
2874              }
2875    
2876              public final boolean isInitialized() {
2877                if (hasAnnotation()) {
2878                  if (!getAnnotation().isInitialized()) {
2879                    
2880                    return false;
2881                  }
2882                }
2883                for (int i = 0; i < getArrayElementCount(); i++) {
2884                  if (!getArrayElement(i).isInitialized()) {
2885                    
2886                    return false;
2887                  }
2888                }
2889                return true;
2890              }
2891    
2892              public Builder mergeFrom(
2893                  com.google.protobuf.CodedInputStream input,
2894                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2895                  throws java.io.IOException {
2896                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value parsedMessage = null;
2897                try {
2898                  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
2899                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2900                  parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value) e.getUnfinishedMessage();
2901                  throw e;
2902                } finally {
2903                  if (parsedMessage != null) {
2904                    mergeFrom(parsedMessage);
2905                  }
2906                }
2907                return this;
2908              }
2909              private int bitField0_;
2910    
2911              // optional .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value.Type type = 1;
2912              private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.Type type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
2913              /**
2914               * <code>optional .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value.Type type = 1;</code>
2915               *
2916               * <pre>
2917               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2918               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2919               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2920               * </pre>
2921               */
2922              public boolean hasType() {
2923                return ((bitField0_ & 0x00000001) == 0x00000001);
2924              }
2925              /**
2926               * <code>optional .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value.Type type = 1;</code>
2927               *
2928               * <pre>
2929               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2930               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2931               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2932               * </pre>
2933               */
2934              public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.Type getType() {
2935                return type_;
2936              }
2937              /**
2938               * <code>optional .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value.Type type = 1;</code>
2939               *
2940               * <pre>
2941               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2942               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2943               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2944               * </pre>
2945               */
2946              public Builder setType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.Type value) {
2947                if (value == null) {
2948                  throw new NullPointerException();
2949                }
2950                bitField0_ |= 0x00000001;
2951                type_ = value;
2952                
2953                return this;
2954              }
2955              /**
2956               * <code>optional .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value.Type type = 1;</code>
2957               *
2958               * <pre>
2959               * Note: a *Value* has a Type, not an Argument! This is done for future language features which may involve using arrays
2960               * of elements of different types. Such entries are allowed in the constant pool of JVM class files.
2961               * However, to save space, this field is optional: in case of homogeneous arrays, only the type of the first element is required
2962               * </pre>
2963               */
2964              public Builder clearType() {
2965                bitField0_ = (bitField0_ & ~0x00000001);
2966                type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.Type.BYTE;
2967                
2968                return this;
2969              }
2970    
2971              // optional sint64 int_value = 2;
2972              private long intValue_ ;
2973              /**
2974               * <code>optional sint64 int_value = 2;</code>
2975               */
2976              public boolean hasIntValue() {
2977                return ((bitField0_ & 0x00000002) == 0x00000002);
2978              }
2979              /**
2980               * <code>optional sint64 int_value = 2;</code>
2981               */
2982              public long getIntValue() {
2983                return intValue_;
2984              }
2985              /**
2986               * <code>optional sint64 int_value = 2;</code>
2987               */
2988              public Builder setIntValue(long value) {
2989                bitField0_ |= 0x00000002;
2990                intValue_ = value;
2991                
2992                return this;
2993              }
2994              /**
2995               * <code>optional sint64 int_value = 2;</code>
2996               */
2997              public Builder clearIntValue() {
2998                bitField0_ = (bitField0_ & ~0x00000002);
2999                intValue_ = 0L;
3000                
3001                return this;
3002              }
3003    
3004              // optional float float_value = 3;
3005              private float floatValue_ ;
3006              /**
3007               * <code>optional float float_value = 3;</code>
3008               */
3009              public boolean hasFloatValue() {
3010                return ((bitField0_ & 0x00000004) == 0x00000004);
3011              }
3012              /**
3013               * <code>optional float float_value = 3;</code>
3014               */
3015              public float getFloatValue() {
3016                return floatValue_;
3017              }
3018              /**
3019               * <code>optional float float_value = 3;</code>
3020               */
3021              public Builder setFloatValue(float value) {
3022                bitField0_ |= 0x00000004;
3023                floatValue_ = value;
3024                
3025                return this;
3026              }
3027              /**
3028               * <code>optional float float_value = 3;</code>
3029               */
3030              public Builder clearFloatValue() {
3031                bitField0_ = (bitField0_ & ~0x00000004);
3032                floatValue_ = 0F;
3033                
3034                return this;
3035              }
3036    
3037              // optional double double_value = 4;
3038              private double doubleValue_ ;
3039              /**
3040               * <code>optional double double_value = 4;</code>
3041               */
3042              public boolean hasDoubleValue() {
3043                return ((bitField0_ & 0x00000008) == 0x00000008);
3044              }
3045              /**
3046               * <code>optional double double_value = 4;</code>
3047               */
3048              public double getDoubleValue() {
3049                return doubleValue_;
3050              }
3051              /**
3052               * <code>optional double double_value = 4;</code>
3053               */
3054              public Builder setDoubleValue(double value) {
3055                bitField0_ |= 0x00000008;
3056                doubleValue_ = value;
3057                
3058                return this;
3059              }
3060              /**
3061               * <code>optional double double_value = 4;</code>
3062               */
3063              public Builder clearDoubleValue() {
3064                bitField0_ = (bitField0_ & ~0x00000008);
3065                doubleValue_ = 0D;
3066                
3067                return this;
3068              }
3069    
3070              // optional int32 string_value = 5;
3071              private int stringValue_ ;
3072              /**
3073               * <code>optional int32 string_value = 5;</code>
3074               *
3075               * <pre>
3076               * id in StringTable
3077               * </pre>
3078               */
3079              public boolean hasStringValue() {
3080                return ((bitField0_ & 0x00000010) == 0x00000010);
3081              }
3082              /**
3083               * <code>optional int32 string_value = 5;</code>
3084               *
3085               * <pre>
3086               * id in StringTable
3087               * </pre>
3088               */
3089              public int getStringValue() {
3090                return stringValue_;
3091              }
3092              /**
3093               * <code>optional int32 string_value = 5;</code>
3094               *
3095               * <pre>
3096               * id in StringTable
3097               * </pre>
3098               */
3099              public Builder setStringValue(int value) {
3100                bitField0_ |= 0x00000010;
3101                stringValue_ = value;
3102                
3103                return this;
3104              }
3105              /**
3106               * <code>optional int32 string_value = 5;</code>
3107               *
3108               * <pre>
3109               * id in StringTable
3110               * </pre>
3111               */
3112              public Builder clearStringValue() {
3113                bitField0_ = (bitField0_ & ~0x00000010);
3114                stringValue_ = 0;
3115                
3116                return this;
3117              }
3118    
3119              // optional int32 class_id = 6;
3120              private int classId_ ;
3121              /**
3122               * <code>optional int32 class_id = 6;</code>
3123               *
3124               * <pre>
3125               * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
3126               * </pre>
3127               */
3128              public boolean hasClassId() {
3129                return ((bitField0_ & 0x00000020) == 0x00000020);
3130              }
3131              /**
3132               * <code>optional int32 class_id = 6;</code>
3133               *
3134               * <pre>
3135               * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
3136               * </pre>
3137               */
3138              public int getClassId() {
3139                return classId_;
3140              }
3141              /**
3142               * <code>optional int32 class_id = 6;</code>
3143               *
3144               * <pre>
3145               * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
3146               * </pre>
3147               */
3148              public Builder setClassId(int value) {
3149                bitField0_ |= 0x00000020;
3150                classId_ = value;
3151                
3152                return this;
3153              }
3154              /**
3155               * <code>optional int32 class_id = 6;</code>
3156               *
3157               * <pre>
3158               * If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
3159               * </pre>
3160               */
3161              public Builder clearClassId() {
3162                bitField0_ = (bitField0_ & ~0x00000020);
3163                classId_ = 0;
3164                
3165                return this;
3166              }
3167    
3168              // optional int32 enum_value_id = 7;
3169              private int enumValueId_ ;
3170              /**
3171               * <code>optional int32 enum_value_id = 7;</code>
3172               *
3173               * <pre>
3174               * id in StringTable
3175               * </pre>
3176               */
3177              public boolean hasEnumValueId() {
3178                return ((bitField0_ & 0x00000040) == 0x00000040);
3179              }
3180              /**
3181               * <code>optional int32 enum_value_id = 7;</code>
3182               *
3183               * <pre>
3184               * id in StringTable
3185               * </pre>
3186               */
3187              public int getEnumValueId() {
3188                return enumValueId_;
3189              }
3190              /**
3191               * <code>optional int32 enum_value_id = 7;</code>
3192               *
3193               * <pre>
3194               * id in StringTable
3195               * </pre>
3196               */
3197              public Builder setEnumValueId(int value) {
3198                bitField0_ |= 0x00000040;
3199                enumValueId_ = value;
3200                
3201                return this;
3202              }
3203              /**
3204               * <code>optional int32 enum_value_id = 7;</code>
3205               *
3206               * <pre>
3207               * id in StringTable
3208               * </pre>
3209               */
3210              public Builder clearEnumValueId() {
3211                bitField0_ = (bitField0_ & ~0x00000040);
3212                enumValueId_ = 0;
3213                
3214                return this;
3215              }
3216    
3217              // optional .org.jetbrains.jet.descriptors.serialization.Annotation annotation = 8;
3218              private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation annotation_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.getDefaultInstance();
3219              /**
3220               * <code>optional .org.jetbrains.jet.descriptors.serialization.Annotation annotation = 8;</code>
3221               */
3222              public boolean hasAnnotation() {
3223                return ((bitField0_ & 0x00000080) == 0x00000080);
3224              }
3225              /**
3226               * <code>optional .org.jetbrains.jet.descriptors.serialization.Annotation annotation = 8;</code>
3227               */
3228              public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation getAnnotation() {
3229                return annotation_;
3230              }
3231              /**
3232               * <code>optional .org.jetbrains.jet.descriptors.serialization.Annotation annotation = 8;</code>
3233               */
3234              public Builder setAnnotation(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation value) {
3235                if (value == null) {
3236                  throw new NullPointerException();
3237                }
3238                annotation_ = value;
3239    
3240                bitField0_ |= 0x00000080;
3241                return this;
3242              }
3243              /**
3244               * <code>optional .org.jetbrains.jet.descriptors.serialization.Annotation annotation = 8;</code>
3245               */
3246              public Builder setAnnotation(
3247                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Builder builderForValue) {
3248                annotation_ = builderForValue.build();
3249    
3250                bitField0_ |= 0x00000080;
3251                return this;
3252              }
3253              /**
3254               * <code>optional .org.jetbrains.jet.descriptors.serialization.Annotation annotation = 8;</code>
3255               */
3256              public Builder mergeAnnotation(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation value) {
3257                if (((bitField0_ & 0x00000080) == 0x00000080) &&
3258                    annotation_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.getDefaultInstance()) {
3259                  annotation_ =
3260                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.newBuilder(annotation_).mergeFrom(value).buildPartial();
3261                } else {
3262                  annotation_ = value;
3263                }
3264    
3265                bitField0_ |= 0x00000080;
3266                return this;
3267              }
3268              /**
3269               * <code>optional .org.jetbrains.jet.descriptors.serialization.Annotation annotation = 8;</code>
3270               */
3271              public Builder clearAnnotation() {
3272                annotation_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.getDefaultInstance();
3273    
3274                bitField0_ = (bitField0_ & ~0x00000080);
3275                return this;
3276              }
3277    
3278              // repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;
3279              private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value> arrayElement_ =
3280                java.util.Collections.emptyList();
3281              private void ensureArrayElementIsMutable() {
3282                if (!((bitField0_ & 0x00000100) == 0x00000100)) {
3283                  arrayElement_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value>(arrayElement_);
3284                  bitField0_ |= 0x00000100;
3285                 }
3286              }
3287    
3288              /**
3289               * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;</code>
3290               */
3291              public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value> getArrayElementList() {
3292                return java.util.Collections.unmodifiableList(arrayElement_);
3293              }
3294              /**
3295               * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;</code>
3296               */
3297              public int getArrayElementCount() {
3298                return arrayElement_.size();
3299              }
3300              /**
3301               * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;</code>
3302               */
3303              public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value getArrayElement(int index) {
3304                return arrayElement_.get(index);
3305              }
3306              /**
3307               * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;</code>
3308               */
3309              public Builder setArrayElement(
3310                  int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value value) {
3311                if (value == null) {
3312                  throw new NullPointerException();
3313                }
3314                ensureArrayElementIsMutable();
3315                arrayElement_.set(index, value);
3316    
3317                return this;
3318              }
3319              /**
3320               * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;</code>
3321               */
3322              public Builder setArrayElement(
3323                  int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3324                ensureArrayElementIsMutable();
3325                arrayElement_.set(index, builderForValue.build());
3326    
3327                return this;
3328              }
3329              /**
3330               * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;</code>
3331               */
3332              public Builder addArrayElement(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value value) {
3333                if (value == null) {
3334                  throw new NullPointerException();
3335                }
3336                ensureArrayElementIsMutable();
3337                arrayElement_.add(value);
3338    
3339                return this;
3340              }
3341              /**
3342               * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;</code>
3343               */
3344              public Builder addArrayElement(
3345                  int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value value) {
3346                if (value == null) {
3347                  throw new NullPointerException();
3348                }
3349                ensureArrayElementIsMutable();
3350                arrayElement_.add(index, value);
3351    
3352                return this;
3353              }
3354              /**
3355               * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;</code>
3356               */
3357              public Builder addArrayElement(
3358                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3359                ensureArrayElementIsMutable();
3360                arrayElement_.add(builderForValue.build());
3361    
3362                return this;
3363              }
3364              /**
3365               * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;</code>
3366               */
3367              public Builder addArrayElement(
3368                  int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3369                ensureArrayElementIsMutable();
3370                arrayElement_.add(index, builderForValue.build());
3371    
3372                return this;
3373              }
3374              /**
3375               * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;</code>
3376               */
3377              public Builder addAllArrayElement(
3378                  java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value> values) {
3379                ensureArrayElementIsMutable();
3380                super.addAll(values, arrayElement_);
3381    
3382                return this;
3383              }
3384              /**
3385               * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;</code>
3386               */
3387              public Builder clearArrayElement() {
3388                arrayElement_ = java.util.Collections.emptyList();
3389                bitField0_ = (bitField0_ & ~0x00000100);
3390    
3391                return this;
3392              }
3393              /**
3394               * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value array_element = 9;</code>
3395               */
3396              public Builder removeArrayElement(int index) {
3397                ensureArrayElementIsMutable();
3398                arrayElement_.remove(index);
3399    
3400                return this;
3401              }
3402    
3403              // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value)
3404            }
3405    
3406            static {
3407              defaultInstance = new Value(true);
3408              defaultInstance.initFields();
3409            }
3410    
3411            // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value)
3412          }
3413    
3414          private int bitField0_;
3415          // required int32 name_id = 1;
3416          public static final int NAME_ID_FIELD_NUMBER = 1;
3417          private int nameId_;
3418          /**
3419           * <code>required int32 name_id = 1;</code>
3420           *
3421           * <pre>
3422           * id in StringTable
3423           * </pre>
3424           */
3425          public boolean hasNameId() {
3426            return ((bitField0_ & 0x00000001) == 0x00000001);
3427          }
3428          /**
3429           * <code>required int32 name_id = 1;</code>
3430           *
3431           * <pre>
3432           * id in StringTable
3433           * </pre>
3434           */
3435          public int getNameId() {
3436            return nameId_;
3437          }
3438    
3439          // required .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value value = 2;
3440          public static final int VALUE_FIELD_NUMBER = 2;
3441          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value value_;
3442          /**
3443           * <code>required .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value value = 2;</code>
3444           */
3445          public boolean hasValue() {
3446            return ((bitField0_ & 0x00000002) == 0x00000002);
3447          }
3448          /**
3449           * <code>required .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value value = 2;</code>
3450           */
3451          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value getValue() {
3452            return value_;
3453          }
3454    
3455          private void initFields() {
3456            nameId_ = 0;
3457            value_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3458          }
3459          private byte memoizedIsInitialized = -1;
3460          public final boolean isInitialized() {
3461            byte isInitialized = memoizedIsInitialized;
3462            if (isInitialized != -1) return isInitialized == 1;
3463    
3464            if (!hasNameId()) {
3465              memoizedIsInitialized = 0;
3466              return false;
3467            }
3468            if (!hasValue()) {
3469              memoizedIsInitialized = 0;
3470              return false;
3471            }
3472            if (!getValue().isInitialized()) {
3473              memoizedIsInitialized = 0;
3474              return false;
3475            }
3476            memoizedIsInitialized = 1;
3477            return true;
3478          }
3479    
3480          public void writeTo(com.google.protobuf.CodedOutputStream output)
3481                              throws java.io.IOException {
3482            getSerializedSize();
3483            if (((bitField0_ & 0x00000001) == 0x00000001)) {
3484              output.writeInt32(1, nameId_);
3485            }
3486            if (((bitField0_ & 0x00000002) == 0x00000002)) {
3487              output.writeMessage(2, value_);
3488            }
3489          }
3490    
3491          private int memoizedSerializedSize = -1;
3492          public int getSerializedSize() {
3493            int size = memoizedSerializedSize;
3494            if (size != -1) return size;
3495    
3496            size = 0;
3497            if (((bitField0_ & 0x00000001) == 0x00000001)) {
3498              size += com.google.protobuf.CodedOutputStream
3499                .computeInt32Size(1, nameId_);
3500            }
3501            if (((bitField0_ & 0x00000002) == 0x00000002)) {
3502              size += com.google.protobuf.CodedOutputStream
3503                .computeMessageSize(2, value_);
3504            }
3505            memoizedSerializedSize = size;
3506            return size;
3507          }
3508    
3509          private static final long serialVersionUID = 0L;
3510          @java.lang.Override
3511          protected java.lang.Object writeReplace()
3512              throws java.io.ObjectStreamException {
3513            return super.writeReplace();
3514          }
3515    
3516          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument parseFrom(
3517              com.google.protobuf.ByteString data)
3518              throws com.google.protobuf.InvalidProtocolBufferException {
3519            return PARSER.parseFrom(data);
3520          }
3521          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument parseFrom(
3522              com.google.protobuf.ByteString data,
3523              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3524              throws com.google.protobuf.InvalidProtocolBufferException {
3525            return PARSER.parseFrom(data, extensionRegistry);
3526          }
3527          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument parseFrom(byte[] data)
3528              throws com.google.protobuf.InvalidProtocolBufferException {
3529            return PARSER.parseFrom(data);
3530          }
3531          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument parseFrom(
3532              byte[] data,
3533              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3534              throws com.google.protobuf.InvalidProtocolBufferException {
3535            return PARSER.parseFrom(data, extensionRegistry);
3536          }
3537          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument parseFrom(java.io.InputStream input)
3538              throws java.io.IOException {
3539            return PARSER.parseFrom(input);
3540          }
3541          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument parseFrom(
3542              java.io.InputStream input,
3543              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3544              throws java.io.IOException {
3545            return PARSER.parseFrom(input, extensionRegistry);
3546          }
3547          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument parseDelimitedFrom(java.io.InputStream input)
3548              throws java.io.IOException {
3549            return PARSER.parseDelimitedFrom(input);
3550          }
3551          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument parseDelimitedFrom(
3552              java.io.InputStream input,
3553              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3554              throws java.io.IOException {
3555            return PARSER.parseDelimitedFrom(input, extensionRegistry);
3556          }
3557          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument parseFrom(
3558              com.google.protobuf.CodedInputStream input)
3559              throws java.io.IOException {
3560            return PARSER.parseFrom(input);
3561          }
3562          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument parseFrom(
3563              com.google.protobuf.CodedInputStream input,
3564              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3565              throws java.io.IOException {
3566            return PARSER.parseFrom(input, extensionRegistry);
3567          }
3568    
3569          public static Builder newBuilder() { return Builder.create(); }
3570          public Builder newBuilderForType() { return newBuilder(); }
3571          public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument prototype) {
3572            return newBuilder().mergeFrom(prototype);
3573          }
3574          public Builder toBuilder() { return newBuilder(this); }
3575    
3576          /**
3577           * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Annotation.Argument}
3578           */
3579          public static final class Builder extends
3580              com.google.protobuf.GeneratedMessageLite.Builder<
3581                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument, Builder>
3582              implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.ArgumentOrBuilder {
3583            // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.newBuilder()
3584            private Builder() {
3585              maybeForceBuilderInitialization();
3586            }
3587    
3588            private void maybeForceBuilderInitialization() {
3589            }
3590            private static Builder create() {
3591              return new Builder();
3592            }
3593    
3594            public Builder clear() {
3595              super.clear();
3596              nameId_ = 0;
3597              bitField0_ = (bitField0_ & ~0x00000001);
3598              value_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3599              bitField0_ = (bitField0_ & ~0x00000002);
3600              return this;
3601            }
3602    
3603            public Builder clone() {
3604              return create().mergeFrom(buildPartial());
3605            }
3606    
3607            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument getDefaultInstanceForType() {
3608              return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.getDefaultInstance();
3609            }
3610    
3611            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument build() {
3612              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument result = buildPartial();
3613              if (!result.isInitialized()) {
3614                throw newUninitializedMessageException(result);
3615              }
3616              return result;
3617            }
3618    
3619            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument buildPartial() {
3620              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument(this);
3621              int from_bitField0_ = bitField0_;
3622              int to_bitField0_ = 0;
3623              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
3624                to_bitField0_ |= 0x00000001;
3625              }
3626              result.nameId_ = nameId_;
3627              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
3628                to_bitField0_ |= 0x00000002;
3629              }
3630              result.value_ = value_;
3631              result.bitField0_ = to_bitField0_;
3632              return result;
3633            }
3634    
3635            public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument other) {
3636              if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.getDefaultInstance()) return this;
3637              if (other.hasNameId()) {
3638                setNameId(other.getNameId());
3639              }
3640              if (other.hasValue()) {
3641                mergeValue(other.getValue());
3642              }
3643              return this;
3644            }
3645    
3646            public final boolean isInitialized() {
3647              if (!hasNameId()) {
3648                
3649                return false;
3650              }
3651              if (!hasValue()) {
3652                
3653                return false;
3654              }
3655              if (!getValue().isInitialized()) {
3656                
3657                return false;
3658              }
3659              return true;
3660            }
3661    
3662            public Builder mergeFrom(
3663                com.google.protobuf.CodedInputStream input,
3664                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3665                throws java.io.IOException {
3666              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument parsedMessage = null;
3667              try {
3668                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
3669              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3670                parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument) e.getUnfinishedMessage();
3671                throw e;
3672              } finally {
3673                if (parsedMessage != null) {
3674                  mergeFrom(parsedMessage);
3675                }
3676              }
3677              return this;
3678            }
3679            private int bitField0_;
3680    
3681            // required int32 name_id = 1;
3682            private int nameId_ ;
3683            /**
3684             * <code>required int32 name_id = 1;</code>
3685             *
3686             * <pre>
3687             * id in StringTable
3688             * </pre>
3689             */
3690            public boolean hasNameId() {
3691              return ((bitField0_ & 0x00000001) == 0x00000001);
3692            }
3693            /**
3694             * <code>required int32 name_id = 1;</code>
3695             *
3696             * <pre>
3697             * id in StringTable
3698             * </pre>
3699             */
3700            public int getNameId() {
3701              return nameId_;
3702            }
3703            /**
3704             * <code>required int32 name_id = 1;</code>
3705             *
3706             * <pre>
3707             * id in StringTable
3708             * </pre>
3709             */
3710            public Builder setNameId(int value) {
3711              bitField0_ |= 0x00000001;
3712              nameId_ = value;
3713              
3714              return this;
3715            }
3716            /**
3717             * <code>required int32 name_id = 1;</code>
3718             *
3719             * <pre>
3720             * id in StringTable
3721             * </pre>
3722             */
3723            public Builder clearNameId() {
3724              bitField0_ = (bitField0_ & ~0x00000001);
3725              nameId_ = 0;
3726              
3727              return this;
3728            }
3729    
3730            // required .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value value = 2;
3731            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value value_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3732            /**
3733             * <code>required .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value value = 2;</code>
3734             */
3735            public boolean hasValue() {
3736              return ((bitField0_ & 0x00000002) == 0x00000002);
3737            }
3738            /**
3739             * <code>required .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value value = 2;</code>
3740             */
3741            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value getValue() {
3742              return value_;
3743            }
3744            /**
3745             * <code>required .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value value = 2;</code>
3746             */
3747            public Builder setValue(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value value) {
3748              if (value == null) {
3749                throw new NullPointerException();
3750              }
3751              value_ = value;
3752    
3753              bitField0_ |= 0x00000002;
3754              return this;
3755            }
3756            /**
3757             * <code>required .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value value = 2;</code>
3758             */
3759            public Builder setValue(
3760                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.Builder builderForValue) {
3761              value_ = builderForValue.build();
3762    
3763              bitField0_ |= 0x00000002;
3764              return this;
3765            }
3766            /**
3767             * <code>required .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value value = 2;</code>
3768             */
3769            public Builder mergeValue(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value value) {
3770              if (((bitField0_ & 0x00000002) == 0x00000002) &&
3771                  value_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance()) {
3772                value_ =
3773                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.newBuilder(value_).mergeFrom(value).buildPartial();
3774              } else {
3775                value_ = value;
3776              }
3777    
3778              bitField0_ |= 0x00000002;
3779              return this;
3780            }
3781            /**
3782             * <code>required .org.jetbrains.jet.descriptors.serialization.Annotation.Argument.Value value = 2;</code>
3783             */
3784            public Builder clearValue() {
3785              value_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Value.getDefaultInstance();
3786    
3787              bitField0_ = (bitField0_ & ~0x00000002);
3788              return this;
3789            }
3790    
3791            // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Annotation.Argument)
3792          }
3793    
3794          static {
3795            defaultInstance = new Argument(true);
3796            defaultInstance.initFields();
3797          }
3798    
3799          // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Annotation.Argument)
3800        }
3801    
3802        private int bitField0_;
3803        // required int32 id = 1;
3804        public static final int ID_FIELD_NUMBER = 1;
3805        private int id_;
3806        /**
3807         * <code>required int32 id = 1;</code>
3808         *
3809         * <pre>
3810         * Class FQ name id
3811         * </pre>
3812         */
3813        public boolean hasId() {
3814          return ((bitField0_ & 0x00000001) == 0x00000001);
3815        }
3816        /**
3817         * <code>required int32 id = 1;</code>
3818         *
3819         * <pre>
3820         * Class FQ name id
3821         * </pre>
3822         */
3823        public int getId() {
3824          return id_;
3825        }
3826    
3827        // repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;
3828        public static final int ARGUMENT_FIELD_NUMBER = 2;
3829        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument> argument_;
3830        /**
3831         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;</code>
3832         */
3833        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument> getArgumentList() {
3834          return argument_;
3835        }
3836        /**
3837         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;</code>
3838         */
3839        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.ArgumentOrBuilder> 
3840            getArgumentOrBuilderList() {
3841          return argument_;
3842        }
3843        /**
3844         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;</code>
3845         */
3846        public int getArgumentCount() {
3847          return argument_.size();
3848        }
3849        /**
3850         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;</code>
3851         */
3852        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument getArgument(int index) {
3853          return argument_.get(index);
3854        }
3855        /**
3856         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;</code>
3857         */
3858        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.ArgumentOrBuilder getArgumentOrBuilder(
3859            int index) {
3860          return argument_.get(index);
3861        }
3862    
3863        private void initFields() {
3864          id_ = 0;
3865          argument_ = java.util.Collections.emptyList();
3866        }
3867        private byte memoizedIsInitialized = -1;
3868        public final boolean isInitialized() {
3869          byte isInitialized = memoizedIsInitialized;
3870          if (isInitialized != -1) return isInitialized == 1;
3871    
3872          if (!hasId()) {
3873            memoizedIsInitialized = 0;
3874            return false;
3875          }
3876          for (int i = 0; i < getArgumentCount(); i++) {
3877            if (!getArgument(i).isInitialized()) {
3878              memoizedIsInitialized = 0;
3879              return false;
3880            }
3881          }
3882          memoizedIsInitialized = 1;
3883          return true;
3884        }
3885    
3886        public void writeTo(com.google.protobuf.CodedOutputStream output)
3887                            throws java.io.IOException {
3888          getSerializedSize();
3889          if (((bitField0_ & 0x00000001) == 0x00000001)) {
3890            output.writeInt32(1, id_);
3891          }
3892          for (int i = 0; i < argument_.size(); i++) {
3893            output.writeMessage(2, argument_.get(i));
3894          }
3895        }
3896    
3897        private int memoizedSerializedSize = -1;
3898        public int getSerializedSize() {
3899          int size = memoizedSerializedSize;
3900          if (size != -1) return size;
3901    
3902          size = 0;
3903          if (((bitField0_ & 0x00000001) == 0x00000001)) {
3904            size += com.google.protobuf.CodedOutputStream
3905              .computeInt32Size(1, id_);
3906          }
3907          for (int i = 0; i < argument_.size(); i++) {
3908            size += com.google.protobuf.CodedOutputStream
3909              .computeMessageSize(2, argument_.get(i));
3910          }
3911          memoizedSerializedSize = size;
3912          return size;
3913        }
3914    
3915        private static final long serialVersionUID = 0L;
3916        @java.lang.Override
3917        protected java.lang.Object writeReplace()
3918            throws java.io.ObjectStreamException {
3919          return super.writeReplace();
3920        }
3921    
3922        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation parseFrom(
3923            com.google.protobuf.ByteString data)
3924            throws com.google.protobuf.InvalidProtocolBufferException {
3925          return PARSER.parseFrom(data);
3926        }
3927        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation parseFrom(
3928            com.google.protobuf.ByteString data,
3929            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3930            throws com.google.protobuf.InvalidProtocolBufferException {
3931          return PARSER.parseFrom(data, extensionRegistry);
3932        }
3933        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation parseFrom(byte[] data)
3934            throws com.google.protobuf.InvalidProtocolBufferException {
3935          return PARSER.parseFrom(data);
3936        }
3937        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation parseFrom(
3938            byte[] data,
3939            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3940            throws com.google.protobuf.InvalidProtocolBufferException {
3941          return PARSER.parseFrom(data, extensionRegistry);
3942        }
3943        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation parseFrom(java.io.InputStream input)
3944            throws java.io.IOException {
3945          return PARSER.parseFrom(input);
3946        }
3947        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation parseFrom(
3948            java.io.InputStream input,
3949            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3950            throws java.io.IOException {
3951          return PARSER.parseFrom(input, extensionRegistry);
3952        }
3953        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation parseDelimitedFrom(java.io.InputStream input)
3954            throws java.io.IOException {
3955          return PARSER.parseDelimitedFrom(input);
3956        }
3957        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation parseDelimitedFrom(
3958            java.io.InputStream input,
3959            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3960            throws java.io.IOException {
3961          return PARSER.parseDelimitedFrom(input, extensionRegistry);
3962        }
3963        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation parseFrom(
3964            com.google.protobuf.CodedInputStream input)
3965            throws java.io.IOException {
3966          return PARSER.parseFrom(input);
3967        }
3968        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation parseFrom(
3969            com.google.protobuf.CodedInputStream input,
3970            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3971            throws java.io.IOException {
3972          return PARSER.parseFrom(input, extensionRegistry);
3973        }
3974    
3975        public static Builder newBuilder() { return Builder.create(); }
3976        public Builder newBuilderForType() { return newBuilder(); }
3977        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation prototype) {
3978          return newBuilder().mergeFrom(prototype);
3979        }
3980        public Builder toBuilder() { return newBuilder(this); }
3981    
3982        /**
3983         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Annotation}
3984         */
3985        public static final class Builder extends
3986            com.google.protobuf.GeneratedMessageLite.Builder<
3987              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation, Builder>
3988            implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.AnnotationOrBuilder {
3989          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.newBuilder()
3990          private Builder() {
3991            maybeForceBuilderInitialization();
3992          }
3993    
3994          private void maybeForceBuilderInitialization() {
3995          }
3996          private static Builder create() {
3997            return new Builder();
3998          }
3999    
4000          public Builder clear() {
4001            super.clear();
4002            id_ = 0;
4003            bitField0_ = (bitField0_ & ~0x00000001);
4004            argument_ = java.util.Collections.emptyList();
4005            bitField0_ = (bitField0_ & ~0x00000002);
4006            return this;
4007          }
4008    
4009          public Builder clone() {
4010            return create().mergeFrom(buildPartial());
4011          }
4012    
4013          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation getDefaultInstanceForType() {
4014            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.getDefaultInstance();
4015          }
4016    
4017          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation build() {
4018            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation result = buildPartial();
4019            if (!result.isInitialized()) {
4020              throw newUninitializedMessageException(result);
4021            }
4022            return result;
4023          }
4024    
4025          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation buildPartial() {
4026            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation(this);
4027            int from_bitField0_ = bitField0_;
4028            int to_bitField0_ = 0;
4029            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
4030              to_bitField0_ |= 0x00000001;
4031            }
4032            result.id_ = id_;
4033            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4034              argument_ = java.util.Collections.unmodifiableList(argument_);
4035              bitField0_ = (bitField0_ & ~0x00000002);
4036            }
4037            result.argument_ = argument_;
4038            result.bitField0_ = to_bitField0_;
4039            return result;
4040          }
4041    
4042          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation other) {
4043            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.getDefaultInstance()) return this;
4044            if (other.hasId()) {
4045              setId(other.getId());
4046            }
4047            if (!other.argument_.isEmpty()) {
4048              if (argument_.isEmpty()) {
4049                argument_ = other.argument_;
4050                bitField0_ = (bitField0_ & ~0x00000002);
4051              } else {
4052                ensureArgumentIsMutable();
4053                argument_.addAll(other.argument_);
4054              }
4055              
4056            }
4057            return this;
4058          }
4059    
4060          public final boolean isInitialized() {
4061            if (!hasId()) {
4062              
4063              return false;
4064            }
4065            for (int i = 0; i < getArgumentCount(); i++) {
4066              if (!getArgument(i).isInitialized()) {
4067                
4068                return false;
4069              }
4070            }
4071            return true;
4072          }
4073    
4074          public Builder mergeFrom(
4075              com.google.protobuf.CodedInputStream input,
4076              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4077              throws java.io.IOException {
4078            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation parsedMessage = null;
4079            try {
4080              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
4081            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4082              parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation) e.getUnfinishedMessage();
4083              throw e;
4084            } finally {
4085              if (parsedMessage != null) {
4086                mergeFrom(parsedMessage);
4087              }
4088            }
4089            return this;
4090          }
4091          private int bitField0_;
4092    
4093          // required int32 id = 1;
4094          private int id_ ;
4095          /**
4096           * <code>required int32 id = 1;</code>
4097           *
4098           * <pre>
4099           * Class FQ name id
4100           * </pre>
4101           */
4102          public boolean hasId() {
4103            return ((bitField0_ & 0x00000001) == 0x00000001);
4104          }
4105          /**
4106           * <code>required int32 id = 1;</code>
4107           *
4108           * <pre>
4109           * Class FQ name id
4110           * </pre>
4111           */
4112          public int getId() {
4113            return id_;
4114          }
4115          /**
4116           * <code>required int32 id = 1;</code>
4117           *
4118           * <pre>
4119           * Class FQ name id
4120           * </pre>
4121           */
4122          public Builder setId(int value) {
4123            bitField0_ |= 0x00000001;
4124            id_ = value;
4125            
4126            return this;
4127          }
4128          /**
4129           * <code>required int32 id = 1;</code>
4130           *
4131           * <pre>
4132           * Class FQ name id
4133           * </pre>
4134           */
4135          public Builder clearId() {
4136            bitField0_ = (bitField0_ & ~0x00000001);
4137            id_ = 0;
4138            
4139            return this;
4140          }
4141    
4142          // repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;
4143          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument> argument_ =
4144            java.util.Collections.emptyList();
4145          private void ensureArgumentIsMutable() {
4146            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
4147              argument_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument>(argument_);
4148              bitField0_ |= 0x00000002;
4149             }
4150          }
4151    
4152          /**
4153           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;</code>
4154           */
4155          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument> getArgumentList() {
4156            return java.util.Collections.unmodifiableList(argument_);
4157          }
4158          /**
4159           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;</code>
4160           */
4161          public int getArgumentCount() {
4162            return argument_.size();
4163          }
4164          /**
4165           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;</code>
4166           */
4167          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument getArgument(int index) {
4168            return argument_.get(index);
4169          }
4170          /**
4171           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;</code>
4172           */
4173          public Builder setArgument(
4174              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument value) {
4175            if (value == null) {
4176              throw new NullPointerException();
4177            }
4178            ensureArgumentIsMutable();
4179            argument_.set(index, value);
4180    
4181            return this;
4182          }
4183          /**
4184           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;</code>
4185           */
4186          public Builder setArgument(
4187              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Builder builderForValue) {
4188            ensureArgumentIsMutable();
4189            argument_.set(index, builderForValue.build());
4190    
4191            return this;
4192          }
4193          /**
4194           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;</code>
4195           */
4196          public Builder addArgument(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument value) {
4197            if (value == null) {
4198              throw new NullPointerException();
4199            }
4200            ensureArgumentIsMutable();
4201            argument_.add(value);
4202    
4203            return this;
4204          }
4205          /**
4206           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;</code>
4207           */
4208          public Builder addArgument(
4209              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument value) {
4210            if (value == null) {
4211              throw new NullPointerException();
4212            }
4213            ensureArgumentIsMutable();
4214            argument_.add(index, value);
4215    
4216            return this;
4217          }
4218          /**
4219           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;</code>
4220           */
4221          public Builder addArgument(
4222              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Builder builderForValue) {
4223            ensureArgumentIsMutable();
4224            argument_.add(builderForValue.build());
4225    
4226            return this;
4227          }
4228          /**
4229           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;</code>
4230           */
4231          public Builder addArgument(
4232              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument.Builder builderForValue) {
4233            ensureArgumentIsMutable();
4234            argument_.add(index, builderForValue.build());
4235    
4236            return this;
4237          }
4238          /**
4239           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;</code>
4240           */
4241          public Builder addAllArgument(
4242              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Annotation.Argument> values) {
4243            ensureArgumentIsMutable();
4244            super.addAll(values, argument_);
4245    
4246            return this;
4247          }
4248          /**
4249           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;</code>
4250           */
4251          public Builder clearArgument() {
4252            argument_ = java.util.Collections.emptyList();
4253            bitField0_ = (bitField0_ & ~0x00000002);
4254    
4255            return this;
4256          }
4257          /**
4258           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Annotation.Argument argument = 2;</code>
4259           */
4260          public Builder removeArgument(int index) {
4261            ensureArgumentIsMutable();
4262            argument_.remove(index);
4263    
4264            return this;
4265          }
4266    
4267          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Annotation)
4268        }
4269    
4270        static {
4271          defaultInstance = new Annotation(true);
4272          defaultInstance.initFields();
4273        }
4274    
4275        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Annotation)
4276      }
4277    
4278      public interface TypeOrBuilder
4279          extends com.google.protobuf.MessageLiteOrBuilder {
4280    
4281        // required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;
4282        /**
4283         * <code>required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;</code>
4284         */
4285        boolean hasConstructor();
4286        /**
4287         * <code>required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;</code>
4288         */
4289        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor getConstructor();
4290    
4291        // repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;
4292        /**
4293         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
4294         */
4295        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument> 
4296            getArgumentList();
4297        /**
4298         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
4299         */
4300        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument getArgument(int index);
4301        /**
4302         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
4303         */
4304        int getArgumentCount();
4305    
4306        // optional bool nullable = 3 [default = false];
4307        /**
4308         * <code>optional bool nullable = 3 [default = false];</code>
4309         */
4310        boolean hasNullable();
4311        /**
4312         * <code>optional bool nullable = 3 [default = false];</code>
4313         */
4314        boolean getNullable();
4315    
4316        // optional int32 flexible_type_capabilities_id = 4;
4317        /**
4318         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
4319         *
4320         * <pre>
4321         * Id in the StringTable
4322         * If this field is set, the type is flexible.
4323         * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
4324         * </pre>
4325         */
4326        boolean hasFlexibleTypeCapabilitiesId();
4327        /**
4328         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
4329         *
4330         * <pre>
4331         * Id in the StringTable
4332         * If this field is set, the type is flexible.
4333         * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
4334         * </pre>
4335         */
4336        int getFlexibleTypeCapabilitiesId();
4337    
4338        // optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;
4339        /**
4340         * <code>optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;</code>
4341         *
4342         * <pre>
4343         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
4344         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
4345         * to represent flexible types is too many wasted bytes.
4346         * </pre>
4347         */
4348        boolean hasFlexibleUpperBound();
4349        /**
4350         * <code>optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;</code>
4351         *
4352         * <pre>
4353         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
4354         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
4355         * to represent flexible types is too many wasted bytes.
4356         * </pre>
4357         */
4358        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getFlexibleUpperBound();
4359      }
4360      /**
4361       * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Type}
4362       */
4363      public static final class Type extends
4364          com.google.protobuf.GeneratedMessageLite
4365          implements TypeOrBuilder {
4366        // Use Type.newBuilder() to construct.
4367        private Type(com.google.protobuf.GeneratedMessageLite.Builder builder) {
4368          super(builder);
4369    
4370        }
4371        private Type(boolean noInit) {}
4372    
4373        private static final Type defaultInstance;
4374        public static Type getDefaultInstance() {
4375          return defaultInstance;
4376        }
4377    
4378        public Type getDefaultInstanceForType() {
4379          return defaultInstance;
4380        }
4381    
4382        private Type(
4383            com.google.protobuf.CodedInputStream input,
4384            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4385            throws com.google.protobuf.InvalidProtocolBufferException {
4386          initFields();
4387          int mutable_bitField0_ = 0;
4388          try {
4389            boolean done = false;
4390            while (!done) {
4391              int tag = input.readTag();
4392              switch (tag) {
4393                case 0:
4394                  done = true;
4395                  break;
4396                default: {
4397                  if (!parseUnknownField(input,
4398                                         extensionRegistry, tag)) {
4399                    done = true;
4400                  }
4401                  break;
4402                }
4403                case 10: {
4404                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Builder subBuilder = null;
4405                  if (((bitField0_ & 0x00000001) == 0x00000001)) {
4406                    subBuilder = constructor_.toBuilder();
4407                  }
4408                  constructor_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.PARSER, extensionRegistry);
4409                  if (subBuilder != null) {
4410                    subBuilder.mergeFrom(constructor_);
4411                    constructor_ = subBuilder.buildPartial();
4412                  }
4413                  bitField0_ |= 0x00000001;
4414                  break;
4415                }
4416                case 18: {
4417                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
4418                    argument_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument>();
4419                    mutable_bitField0_ |= 0x00000002;
4420                  }
4421                  argument_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.PARSER, extensionRegistry));
4422                  break;
4423                }
4424                case 24: {
4425                  bitField0_ |= 0x00000002;
4426                  nullable_ = input.readBool();
4427                  break;
4428                }
4429                case 32: {
4430                  bitField0_ |= 0x00000004;
4431                  flexibleTypeCapabilitiesId_ = input.readInt32();
4432                  break;
4433                }
4434                case 42: {
4435                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = null;
4436                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
4437                    subBuilder = flexibleUpperBound_.toBuilder();
4438                  }
4439                  flexibleUpperBound_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
4440                  if (subBuilder != null) {
4441                    subBuilder.mergeFrom(flexibleUpperBound_);
4442                    flexibleUpperBound_ = subBuilder.buildPartial();
4443                  }
4444                  bitField0_ |= 0x00000008;
4445                  break;
4446                }
4447              }
4448            }
4449          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4450            throw e.setUnfinishedMessage(this);
4451          } catch (java.io.IOException e) {
4452            throw new com.google.protobuf.InvalidProtocolBufferException(
4453                e.getMessage()).setUnfinishedMessage(this);
4454          } finally {
4455            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
4456              argument_ = java.util.Collections.unmodifiableList(argument_);
4457            }
4458            makeExtensionsImmutable();
4459          }
4460        }
4461        public static com.google.protobuf.Parser<Type> PARSER =
4462            new com.google.protobuf.AbstractParser<Type>() {
4463          public Type parsePartialFrom(
4464              com.google.protobuf.CodedInputStream input,
4465              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4466              throws com.google.protobuf.InvalidProtocolBufferException {
4467            return new Type(input, extensionRegistry);
4468          }
4469        };
4470    
4471        @java.lang.Override
4472        public com.google.protobuf.Parser<Type> getParserForType() {
4473          return PARSER;
4474        }
4475    
4476        public interface ConstructorOrBuilder
4477            extends com.google.protobuf.MessageLiteOrBuilder {
4478    
4479          // optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];
4480          /**
4481           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4482           */
4483          boolean hasKind();
4484          /**
4485           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4486           */
4487          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind getKind();
4488    
4489          // required int32 id = 2;
4490          /**
4491           * <code>required int32 id = 2;</code>
4492           *
4493           * <pre>
4494           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4495           * </pre>
4496           */
4497          boolean hasId();
4498          /**
4499           * <code>required int32 id = 2;</code>
4500           *
4501           * <pre>
4502           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4503           * </pre>
4504           */
4505          int getId();
4506        }
4507        /**
4508         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Type.Constructor}
4509         */
4510        public static final class Constructor extends
4511            com.google.protobuf.GeneratedMessageLite
4512            implements ConstructorOrBuilder {
4513          // Use Constructor.newBuilder() to construct.
4514          private Constructor(com.google.protobuf.GeneratedMessageLite.Builder builder) {
4515            super(builder);
4516    
4517          }
4518          private Constructor(boolean noInit) {}
4519    
4520          private static final Constructor defaultInstance;
4521          public static Constructor getDefaultInstance() {
4522            return defaultInstance;
4523          }
4524    
4525          public Constructor getDefaultInstanceForType() {
4526            return defaultInstance;
4527          }
4528    
4529          private Constructor(
4530              com.google.protobuf.CodedInputStream input,
4531              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4532              throws com.google.protobuf.InvalidProtocolBufferException {
4533            initFields();
4534            int mutable_bitField0_ = 0;
4535            try {
4536              boolean done = false;
4537              while (!done) {
4538                int tag = input.readTag();
4539                switch (tag) {
4540                  case 0:
4541                    done = true;
4542                    break;
4543                  default: {
4544                    if (!parseUnknownField(input,
4545                                           extensionRegistry, tag)) {
4546                      done = true;
4547                    }
4548                    break;
4549                  }
4550                  case 8: {
4551                    int rawValue = input.readEnum();
4552                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind value = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind.valueOf(rawValue);
4553                    if (value != null) {
4554                      bitField0_ |= 0x00000001;
4555                      kind_ = value;
4556                    }
4557                    break;
4558                  }
4559                  case 16: {
4560                    bitField0_ |= 0x00000002;
4561                    id_ = input.readInt32();
4562                    break;
4563                  }
4564                }
4565              }
4566            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4567              throw e.setUnfinishedMessage(this);
4568            } catch (java.io.IOException e) {
4569              throw new com.google.protobuf.InvalidProtocolBufferException(
4570                  e.getMessage()).setUnfinishedMessage(this);
4571            } finally {
4572              makeExtensionsImmutable();
4573            }
4574          }
4575          public static com.google.protobuf.Parser<Constructor> PARSER =
4576              new com.google.protobuf.AbstractParser<Constructor>() {
4577            public Constructor parsePartialFrom(
4578                com.google.protobuf.CodedInputStream input,
4579                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4580                throws com.google.protobuf.InvalidProtocolBufferException {
4581              return new Constructor(input, extensionRegistry);
4582            }
4583          };
4584    
4585          @java.lang.Override
4586          public com.google.protobuf.Parser<Constructor> getParserForType() {
4587            return PARSER;
4588          }
4589    
4590          /**
4591           * Protobuf enum {@code org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind}
4592           */
4593          public enum Kind
4594              implements com.google.protobuf.Internal.EnumLite {
4595            /**
4596             * <code>CLASS = 0;</code>
4597             */
4598            CLASS(0, 0),
4599            /**
4600             * <code>TYPE_PARAMETER = 1;</code>
4601             */
4602            TYPE_PARAMETER(1, 1),
4603            ;
4604    
4605            /**
4606             * <code>CLASS = 0;</code>
4607             */
4608            public static final int CLASS_VALUE = 0;
4609            /**
4610             * <code>TYPE_PARAMETER = 1;</code>
4611             */
4612            public static final int TYPE_PARAMETER_VALUE = 1;
4613    
4614    
4615            public final int getNumber() { return value; }
4616    
4617            public static Kind valueOf(int value) {
4618              switch (value) {
4619                case 0: return CLASS;
4620                case 1: return TYPE_PARAMETER;
4621                default: return null;
4622              }
4623            }
4624    
4625            public static com.google.protobuf.Internal.EnumLiteMap<Kind>
4626                internalGetValueMap() {
4627              return internalValueMap;
4628            }
4629            private static com.google.protobuf.Internal.EnumLiteMap<Kind>
4630                internalValueMap =
4631                  new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
4632                    public Kind findValueByNumber(int number) {
4633                      return Kind.valueOf(number);
4634                    }
4635                  };
4636    
4637            private final int value;
4638    
4639            private Kind(int index, int value) {
4640              this.value = value;
4641            }
4642    
4643            // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind)
4644          }
4645    
4646          private int bitField0_;
4647          // optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];
4648          public static final int KIND_FIELD_NUMBER = 1;
4649          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind kind_;
4650          /**
4651           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4652           */
4653          public boolean hasKind() {
4654            return ((bitField0_ & 0x00000001) == 0x00000001);
4655          }
4656          /**
4657           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4658           */
4659          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind getKind() {
4660            return kind_;
4661          }
4662    
4663          // required int32 id = 2;
4664          public static final int ID_FIELD_NUMBER = 2;
4665          private int id_;
4666          /**
4667           * <code>required int32 id = 2;</code>
4668           *
4669           * <pre>
4670           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4671           * </pre>
4672           */
4673          public boolean hasId() {
4674            return ((bitField0_ & 0x00000002) == 0x00000002);
4675          }
4676          /**
4677           * <code>required int32 id = 2;</code>
4678           *
4679           * <pre>
4680           * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4681           * </pre>
4682           */
4683          public int getId() {
4684            return id_;
4685          }
4686    
4687          private void initFields() {
4688            kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
4689            id_ = 0;
4690          }
4691          private byte memoizedIsInitialized = -1;
4692          public final boolean isInitialized() {
4693            byte isInitialized = memoizedIsInitialized;
4694            if (isInitialized != -1) return isInitialized == 1;
4695    
4696            if (!hasId()) {
4697              memoizedIsInitialized = 0;
4698              return false;
4699            }
4700            memoizedIsInitialized = 1;
4701            return true;
4702          }
4703    
4704          public void writeTo(com.google.protobuf.CodedOutputStream output)
4705                              throws java.io.IOException {
4706            getSerializedSize();
4707            if (((bitField0_ & 0x00000001) == 0x00000001)) {
4708              output.writeEnum(1, kind_.getNumber());
4709            }
4710            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4711              output.writeInt32(2, id_);
4712            }
4713          }
4714    
4715          private int memoizedSerializedSize = -1;
4716          public int getSerializedSize() {
4717            int size = memoizedSerializedSize;
4718            if (size != -1) return size;
4719    
4720            size = 0;
4721            if (((bitField0_ & 0x00000001) == 0x00000001)) {
4722              size += com.google.protobuf.CodedOutputStream
4723                .computeEnumSize(1, kind_.getNumber());
4724            }
4725            if (((bitField0_ & 0x00000002) == 0x00000002)) {
4726              size += com.google.protobuf.CodedOutputStream
4727                .computeInt32Size(2, id_);
4728            }
4729            memoizedSerializedSize = size;
4730            return size;
4731          }
4732    
4733          private static final long serialVersionUID = 0L;
4734          @java.lang.Override
4735          protected java.lang.Object writeReplace()
4736              throws java.io.ObjectStreamException {
4737            return super.writeReplace();
4738          }
4739    
4740          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(
4741              com.google.protobuf.ByteString data)
4742              throws com.google.protobuf.InvalidProtocolBufferException {
4743            return PARSER.parseFrom(data);
4744          }
4745          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(
4746              com.google.protobuf.ByteString data,
4747              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4748              throws com.google.protobuf.InvalidProtocolBufferException {
4749            return PARSER.parseFrom(data, extensionRegistry);
4750          }
4751          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(byte[] data)
4752              throws com.google.protobuf.InvalidProtocolBufferException {
4753            return PARSER.parseFrom(data);
4754          }
4755          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(
4756              byte[] data,
4757              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4758              throws com.google.protobuf.InvalidProtocolBufferException {
4759            return PARSER.parseFrom(data, extensionRegistry);
4760          }
4761          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(java.io.InputStream input)
4762              throws java.io.IOException {
4763            return PARSER.parseFrom(input);
4764          }
4765          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(
4766              java.io.InputStream input,
4767              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4768              throws java.io.IOException {
4769            return PARSER.parseFrom(input, extensionRegistry);
4770          }
4771          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseDelimitedFrom(java.io.InputStream input)
4772              throws java.io.IOException {
4773            return PARSER.parseDelimitedFrom(input);
4774          }
4775          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseDelimitedFrom(
4776              java.io.InputStream input,
4777              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4778              throws java.io.IOException {
4779            return PARSER.parseDelimitedFrom(input, extensionRegistry);
4780          }
4781          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(
4782              com.google.protobuf.CodedInputStream input)
4783              throws java.io.IOException {
4784            return PARSER.parseFrom(input);
4785          }
4786          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(
4787              com.google.protobuf.CodedInputStream input,
4788              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4789              throws java.io.IOException {
4790            return PARSER.parseFrom(input, extensionRegistry);
4791          }
4792    
4793          public static Builder newBuilder() { return Builder.create(); }
4794          public Builder newBuilderForType() { return newBuilder(); }
4795          public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor prototype) {
4796            return newBuilder().mergeFrom(prototype);
4797          }
4798          public Builder toBuilder() { return newBuilder(this); }
4799    
4800          /**
4801           * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Type.Constructor}
4802           */
4803          public static final class Builder extends
4804              com.google.protobuf.GeneratedMessageLite.Builder<
4805                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor, Builder>
4806              implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.ConstructorOrBuilder {
4807            // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.newBuilder()
4808            private Builder() {
4809              maybeForceBuilderInitialization();
4810            }
4811    
4812            private void maybeForceBuilderInitialization() {
4813            }
4814            private static Builder create() {
4815              return new Builder();
4816            }
4817    
4818            public Builder clear() {
4819              super.clear();
4820              kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
4821              bitField0_ = (bitField0_ & ~0x00000001);
4822              id_ = 0;
4823              bitField0_ = (bitField0_ & ~0x00000002);
4824              return this;
4825            }
4826    
4827            public Builder clone() {
4828              return create().mergeFrom(buildPartial());
4829            }
4830    
4831            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor getDefaultInstanceForType() {
4832              return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
4833            }
4834    
4835            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor build() {
4836              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor result = buildPartial();
4837              if (!result.isInitialized()) {
4838                throw newUninitializedMessageException(result);
4839              }
4840              return result;
4841            }
4842    
4843            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor buildPartial() {
4844              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor(this);
4845              int from_bitField0_ = bitField0_;
4846              int to_bitField0_ = 0;
4847              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
4848                to_bitField0_ |= 0x00000001;
4849              }
4850              result.kind_ = kind_;
4851              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
4852                to_bitField0_ |= 0x00000002;
4853              }
4854              result.id_ = id_;
4855              result.bitField0_ = to_bitField0_;
4856              return result;
4857            }
4858    
4859            public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor other) {
4860              if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.getDefaultInstance()) return this;
4861              if (other.hasKind()) {
4862                setKind(other.getKind());
4863              }
4864              if (other.hasId()) {
4865                setId(other.getId());
4866              }
4867              return this;
4868            }
4869    
4870            public final boolean isInitialized() {
4871              if (!hasId()) {
4872                
4873                return false;
4874              }
4875              return true;
4876            }
4877    
4878            public Builder mergeFrom(
4879                com.google.protobuf.CodedInputStream input,
4880                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4881                throws java.io.IOException {
4882              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parsedMessage = null;
4883              try {
4884                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
4885              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4886                parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor) e.getUnfinishedMessage();
4887                throw e;
4888              } finally {
4889                if (parsedMessage != null) {
4890                  mergeFrom(parsedMessage);
4891                }
4892              }
4893              return this;
4894            }
4895            private int bitField0_;
4896    
4897            // optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];
4898            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
4899            /**
4900             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4901             */
4902            public boolean hasKind() {
4903              return ((bitField0_ & 0x00000001) == 0x00000001);
4904            }
4905            /**
4906             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4907             */
4908            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind getKind() {
4909              return kind_;
4910            }
4911            /**
4912             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4913             */
4914            public Builder setKind(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind value) {
4915              if (value == null) {
4916                throw new NullPointerException();
4917              }
4918              bitField0_ |= 0x00000001;
4919              kind_ = value;
4920              
4921              return this;
4922            }
4923            /**
4924             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];</code>
4925             */
4926            public Builder clearKind() {
4927              bitField0_ = (bitField0_ & ~0x00000001);
4928              kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
4929              
4930              return this;
4931            }
4932    
4933            // required int32 id = 2;
4934            private int id_ ;
4935            /**
4936             * <code>required int32 id = 2;</code>
4937             *
4938             * <pre>
4939             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4940             * </pre>
4941             */
4942            public boolean hasId() {
4943              return ((bitField0_ & 0x00000002) == 0x00000002);
4944            }
4945            /**
4946             * <code>required int32 id = 2;</code>
4947             *
4948             * <pre>
4949             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4950             * </pre>
4951             */
4952            public int getId() {
4953              return id_;
4954            }
4955            /**
4956             * <code>required int32 id = 2;</code>
4957             *
4958             * <pre>
4959             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4960             * </pre>
4961             */
4962            public Builder setId(int value) {
4963              bitField0_ |= 0x00000002;
4964              id_ = value;
4965              
4966              return this;
4967            }
4968            /**
4969             * <code>required int32 id = 2;</code>
4970             *
4971             * <pre>
4972             * CLASS - fqName id, TYPE_PARAMETER - type parameter id
4973             * </pre>
4974             */
4975            public Builder clearId() {
4976              bitField0_ = (bitField0_ & ~0x00000002);
4977              id_ = 0;
4978              
4979              return this;
4980            }
4981    
4982            // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Type.Constructor)
4983          }
4984    
4985          static {
4986            defaultInstance = new Constructor(true);
4987            defaultInstance.initFields();
4988          }
4989    
4990          // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Type.Constructor)
4991        }
4992    
4993        public interface ArgumentOrBuilder
4994            extends com.google.protobuf.MessageLiteOrBuilder {
4995    
4996          // optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];
4997          /**
4998           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
4999           */
5000          boolean hasProjection();
5001          /**
5002           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5003           */
5004          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection getProjection();
5005    
5006          // required .org.jetbrains.jet.descriptors.serialization.Type type = 2;
5007          /**
5008           * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 2;</code>
5009           */
5010          boolean hasType();
5011          /**
5012           * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 2;</code>
5013           */
5014          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getType();
5015        }
5016        /**
5017         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Type.Argument}
5018         */
5019        public static final class Argument extends
5020            com.google.protobuf.GeneratedMessageLite
5021            implements ArgumentOrBuilder {
5022          // Use Argument.newBuilder() to construct.
5023          private Argument(com.google.protobuf.GeneratedMessageLite.Builder builder) {
5024            super(builder);
5025    
5026          }
5027          private Argument(boolean noInit) {}
5028    
5029          private static final Argument defaultInstance;
5030          public static Argument getDefaultInstance() {
5031            return defaultInstance;
5032          }
5033    
5034          public Argument getDefaultInstanceForType() {
5035            return defaultInstance;
5036          }
5037    
5038          private Argument(
5039              com.google.protobuf.CodedInputStream input,
5040              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5041              throws com.google.protobuf.InvalidProtocolBufferException {
5042            initFields();
5043            int mutable_bitField0_ = 0;
5044            try {
5045              boolean done = false;
5046              while (!done) {
5047                int tag = input.readTag();
5048                switch (tag) {
5049                  case 0:
5050                    done = true;
5051                    break;
5052                  default: {
5053                    if (!parseUnknownField(input,
5054                                           extensionRegistry, tag)) {
5055                      done = true;
5056                    }
5057                    break;
5058                  }
5059                  case 8: {
5060                    int rawValue = input.readEnum();
5061                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection value = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection.valueOf(rawValue);
5062                    if (value != null) {
5063                      bitField0_ |= 0x00000001;
5064                      projection_ = value;
5065                    }
5066                    break;
5067                  }
5068                  case 18: {
5069                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = null;
5070                    if (((bitField0_ & 0x00000002) == 0x00000002)) {
5071                      subBuilder = type_.toBuilder();
5072                    }
5073                    type_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
5074                    if (subBuilder != null) {
5075                      subBuilder.mergeFrom(type_);
5076                      type_ = subBuilder.buildPartial();
5077                    }
5078                    bitField0_ |= 0x00000002;
5079                    break;
5080                  }
5081                }
5082              }
5083            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5084              throw e.setUnfinishedMessage(this);
5085            } catch (java.io.IOException e) {
5086              throw new com.google.protobuf.InvalidProtocolBufferException(
5087                  e.getMessage()).setUnfinishedMessage(this);
5088            } finally {
5089              makeExtensionsImmutable();
5090            }
5091          }
5092          public static com.google.protobuf.Parser<Argument> PARSER =
5093              new com.google.protobuf.AbstractParser<Argument>() {
5094            public Argument parsePartialFrom(
5095                com.google.protobuf.CodedInputStream input,
5096                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5097                throws com.google.protobuf.InvalidProtocolBufferException {
5098              return new Argument(input, extensionRegistry);
5099            }
5100          };
5101    
5102          @java.lang.Override
5103          public com.google.protobuf.Parser<Argument> getParserForType() {
5104            return PARSER;
5105          }
5106    
5107          /**
5108           * Protobuf enum {@code org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection}
5109           */
5110          public enum Projection
5111              implements com.google.protobuf.Internal.EnumLite {
5112            /**
5113             * <code>IN = 0;</code>
5114             */
5115            IN(0, 0),
5116            /**
5117             * <code>OUT = 1;</code>
5118             */
5119            OUT(1, 1),
5120            /**
5121             * <code>INV = 2;</code>
5122             */
5123            INV(2, 2),
5124            ;
5125    
5126            /**
5127             * <code>IN = 0;</code>
5128             */
5129            public static final int IN_VALUE = 0;
5130            /**
5131             * <code>OUT = 1;</code>
5132             */
5133            public static final int OUT_VALUE = 1;
5134            /**
5135             * <code>INV = 2;</code>
5136             */
5137            public static final int INV_VALUE = 2;
5138    
5139    
5140            public final int getNumber() { return value; }
5141    
5142            public static Projection valueOf(int value) {
5143              switch (value) {
5144                case 0: return IN;
5145                case 1: return OUT;
5146                case 2: return INV;
5147                default: return null;
5148              }
5149            }
5150    
5151            public static com.google.protobuf.Internal.EnumLiteMap<Projection>
5152                internalGetValueMap() {
5153              return internalValueMap;
5154            }
5155            private static com.google.protobuf.Internal.EnumLiteMap<Projection>
5156                internalValueMap =
5157                  new com.google.protobuf.Internal.EnumLiteMap<Projection>() {
5158                    public Projection findValueByNumber(int number) {
5159                      return Projection.valueOf(number);
5160                    }
5161                  };
5162    
5163            private final int value;
5164    
5165            private Projection(int index, int value) {
5166              this.value = value;
5167            }
5168    
5169            // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection)
5170          }
5171    
5172          private int bitField0_;
5173          // optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];
5174          public static final int PROJECTION_FIELD_NUMBER = 1;
5175          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection projection_;
5176          /**
5177           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5178           */
5179          public boolean hasProjection() {
5180            return ((bitField0_ & 0x00000001) == 0x00000001);
5181          }
5182          /**
5183           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5184           */
5185          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
5186            return projection_;
5187          }
5188    
5189          // required .org.jetbrains.jet.descriptors.serialization.Type type = 2;
5190          public static final int TYPE_FIELD_NUMBER = 2;
5191          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type type_;
5192          /**
5193           * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 2;</code>
5194           */
5195          public boolean hasType() {
5196            return ((bitField0_ & 0x00000002) == 0x00000002);
5197          }
5198          /**
5199           * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 2;</code>
5200           */
5201          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getType() {
5202            return type_;
5203          }
5204    
5205          private void initFields() {
5206            projection_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection.INV;
5207            type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
5208          }
5209          private byte memoizedIsInitialized = -1;
5210          public final boolean isInitialized() {
5211            byte isInitialized = memoizedIsInitialized;
5212            if (isInitialized != -1) return isInitialized == 1;
5213    
5214            if (!hasType()) {
5215              memoizedIsInitialized = 0;
5216              return false;
5217            }
5218            if (!getType().isInitialized()) {
5219              memoizedIsInitialized = 0;
5220              return false;
5221            }
5222            memoizedIsInitialized = 1;
5223            return true;
5224          }
5225    
5226          public void writeTo(com.google.protobuf.CodedOutputStream output)
5227                              throws java.io.IOException {
5228            getSerializedSize();
5229            if (((bitField0_ & 0x00000001) == 0x00000001)) {
5230              output.writeEnum(1, projection_.getNumber());
5231            }
5232            if (((bitField0_ & 0x00000002) == 0x00000002)) {
5233              output.writeMessage(2, type_);
5234            }
5235          }
5236    
5237          private int memoizedSerializedSize = -1;
5238          public int getSerializedSize() {
5239            int size = memoizedSerializedSize;
5240            if (size != -1) return size;
5241    
5242            size = 0;
5243            if (((bitField0_ & 0x00000001) == 0x00000001)) {
5244              size += com.google.protobuf.CodedOutputStream
5245                .computeEnumSize(1, projection_.getNumber());
5246            }
5247            if (((bitField0_ & 0x00000002) == 0x00000002)) {
5248              size += com.google.protobuf.CodedOutputStream
5249                .computeMessageSize(2, type_);
5250            }
5251            memoizedSerializedSize = size;
5252            return size;
5253          }
5254    
5255          private static final long serialVersionUID = 0L;
5256          @java.lang.Override
5257          protected java.lang.Object writeReplace()
5258              throws java.io.ObjectStreamException {
5259            return super.writeReplace();
5260          }
5261    
5262          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(
5263              com.google.protobuf.ByteString data)
5264              throws com.google.protobuf.InvalidProtocolBufferException {
5265            return PARSER.parseFrom(data);
5266          }
5267          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(
5268              com.google.protobuf.ByteString data,
5269              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5270              throws com.google.protobuf.InvalidProtocolBufferException {
5271            return PARSER.parseFrom(data, extensionRegistry);
5272          }
5273          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(byte[] data)
5274              throws com.google.protobuf.InvalidProtocolBufferException {
5275            return PARSER.parseFrom(data);
5276          }
5277          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(
5278              byte[] data,
5279              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5280              throws com.google.protobuf.InvalidProtocolBufferException {
5281            return PARSER.parseFrom(data, extensionRegistry);
5282          }
5283          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(java.io.InputStream input)
5284              throws java.io.IOException {
5285            return PARSER.parseFrom(input);
5286          }
5287          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(
5288              java.io.InputStream input,
5289              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5290              throws java.io.IOException {
5291            return PARSER.parseFrom(input, extensionRegistry);
5292          }
5293          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(java.io.InputStream input)
5294              throws java.io.IOException {
5295            return PARSER.parseDelimitedFrom(input);
5296          }
5297          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(
5298              java.io.InputStream input,
5299              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5300              throws java.io.IOException {
5301            return PARSER.parseDelimitedFrom(input, extensionRegistry);
5302          }
5303          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(
5304              com.google.protobuf.CodedInputStream input)
5305              throws java.io.IOException {
5306            return PARSER.parseFrom(input);
5307          }
5308          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(
5309              com.google.protobuf.CodedInputStream input,
5310              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5311              throws java.io.IOException {
5312            return PARSER.parseFrom(input, extensionRegistry);
5313          }
5314    
5315          public static Builder newBuilder() { return Builder.create(); }
5316          public Builder newBuilderForType() { return newBuilder(); }
5317          public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument prototype) {
5318            return newBuilder().mergeFrom(prototype);
5319          }
5320          public Builder toBuilder() { return newBuilder(this); }
5321    
5322          /**
5323           * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Type.Argument}
5324           */
5325          public static final class Builder extends
5326              com.google.protobuf.GeneratedMessageLite.Builder<
5327                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument, Builder>
5328              implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.ArgumentOrBuilder {
5329            // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.newBuilder()
5330            private Builder() {
5331              maybeForceBuilderInitialization();
5332            }
5333    
5334            private void maybeForceBuilderInitialization() {
5335            }
5336            private static Builder create() {
5337              return new Builder();
5338            }
5339    
5340            public Builder clear() {
5341              super.clear();
5342              projection_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection.INV;
5343              bitField0_ = (bitField0_ & ~0x00000001);
5344              type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
5345              bitField0_ = (bitField0_ & ~0x00000002);
5346              return this;
5347            }
5348    
5349            public Builder clone() {
5350              return create().mergeFrom(buildPartial());
5351            }
5352    
5353            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument getDefaultInstanceForType() {
5354              return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.getDefaultInstance();
5355            }
5356    
5357            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument build() {
5358              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument result = buildPartial();
5359              if (!result.isInitialized()) {
5360                throw newUninitializedMessageException(result);
5361              }
5362              return result;
5363            }
5364    
5365            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument buildPartial() {
5366              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument(this);
5367              int from_bitField0_ = bitField0_;
5368              int to_bitField0_ = 0;
5369              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
5370                to_bitField0_ |= 0x00000001;
5371              }
5372              result.projection_ = projection_;
5373              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
5374                to_bitField0_ |= 0x00000002;
5375              }
5376              result.type_ = type_;
5377              result.bitField0_ = to_bitField0_;
5378              return result;
5379            }
5380    
5381            public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument other) {
5382              if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.getDefaultInstance()) return this;
5383              if (other.hasProjection()) {
5384                setProjection(other.getProjection());
5385              }
5386              if (other.hasType()) {
5387                mergeType(other.getType());
5388              }
5389              return this;
5390            }
5391    
5392            public final boolean isInitialized() {
5393              if (!hasType()) {
5394                
5395                return false;
5396              }
5397              if (!getType().isInitialized()) {
5398                
5399                return false;
5400              }
5401              return true;
5402            }
5403    
5404            public Builder mergeFrom(
5405                com.google.protobuf.CodedInputStream input,
5406                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5407                throws java.io.IOException {
5408              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parsedMessage = null;
5409              try {
5410                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
5411              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5412                parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument) e.getUnfinishedMessage();
5413                throw e;
5414              } finally {
5415                if (parsedMessage != null) {
5416                  mergeFrom(parsedMessage);
5417                }
5418              }
5419              return this;
5420            }
5421            private int bitField0_;
5422    
5423            // optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];
5424            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection projection_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection.INV;
5425            /**
5426             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5427             */
5428            public boolean hasProjection() {
5429              return ((bitField0_ & 0x00000001) == 0x00000001);
5430            }
5431            /**
5432             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5433             */
5434            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
5435              return projection_;
5436            }
5437            /**
5438             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5439             */
5440            public Builder setProjection(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection value) {
5441              if (value == null) {
5442                throw new NullPointerException();
5443              }
5444              bitField0_ |= 0x00000001;
5445              projection_ = value;
5446              
5447              return this;
5448            }
5449            /**
5450             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];</code>
5451             */
5452            public Builder clearProjection() {
5453              bitField0_ = (bitField0_ & ~0x00000001);
5454              projection_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection.INV;
5455              
5456              return this;
5457            }
5458    
5459            // required .org.jetbrains.jet.descriptors.serialization.Type type = 2;
5460            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
5461            /**
5462             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 2;</code>
5463             */
5464            public boolean hasType() {
5465              return ((bitField0_ & 0x00000002) == 0x00000002);
5466            }
5467            /**
5468             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 2;</code>
5469             */
5470            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getType() {
5471              return type_;
5472            }
5473            /**
5474             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 2;</code>
5475             */
5476            public Builder setType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
5477              if (value == null) {
5478                throw new NullPointerException();
5479              }
5480              type_ = value;
5481    
5482              bitField0_ |= 0x00000002;
5483              return this;
5484            }
5485            /**
5486             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 2;</code>
5487             */
5488            public Builder setType(
5489                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
5490              type_ = builderForValue.build();
5491    
5492              bitField0_ |= 0x00000002;
5493              return this;
5494            }
5495            /**
5496             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 2;</code>
5497             */
5498            public Builder mergeType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
5499              if (((bitField0_ & 0x00000002) == 0x00000002) &&
5500                  type_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) {
5501                type_ =
5502                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
5503              } else {
5504                type_ = value;
5505              }
5506    
5507              bitField0_ |= 0x00000002;
5508              return this;
5509            }
5510            /**
5511             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 2;</code>
5512             */
5513            public Builder clearType() {
5514              type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
5515    
5516              bitField0_ = (bitField0_ & ~0x00000002);
5517              return this;
5518            }
5519    
5520            // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Type.Argument)
5521          }
5522    
5523          static {
5524            defaultInstance = new Argument(true);
5525            defaultInstance.initFields();
5526          }
5527    
5528          // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Type.Argument)
5529        }
5530    
5531        private int bitField0_;
5532        // required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;
5533        public static final int CONSTRUCTOR_FIELD_NUMBER = 1;
5534        private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor constructor_;
5535        /**
5536         * <code>required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;</code>
5537         */
5538        public boolean hasConstructor() {
5539          return ((bitField0_ & 0x00000001) == 0x00000001);
5540        }
5541        /**
5542         * <code>required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;</code>
5543         */
5544        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor getConstructor() {
5545          return constructor_;
5546        }
5547    
5548        // repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;
5549        public static final int ARGUMENT_FIELD_NUMBER = 2;
5550        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument> argument_;
5551        /**
5552         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
5553         */
5554        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument> getArgumentList() {
5555          return argument_;
5556        }
5557        /**
5558         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
5559         */
5560        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.ArgumentOrBuilder> 
5561            getArgumentOrBuilderList() {
5562          return argument_;
5563        }
5564        /**
5565         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
5566         */
5567        public int getArgumentCount() {
5568          return argument_.size();
5569        }
5570        /**
5571         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
5572         */
5573        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument getArgument(int index) {
5574          return argument_.get(index);
5575        }
5576        /**
5577         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
5578         */
5579        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.ArgumentOrBuilder getArgumentOrBuilder(
5580            int index) {
5581          return argument_.get(index);
5582        }
5583    
5584        // optional bool nullable = 3 [default = false];
5585        public static final int NULLABLE_FIELD_NUMBER = 3;
5586        private boolean nullable_;
5587        /**
5588         * <code>optional bool nullable = 3 [default = false];</code>
5589         */
5590        public boolean hasNullable() {
5591          return ((bitField0_ & 0x00000002) == 0x00000002);
5592        }
5593        /**
5594         * <code>optional bool nullable = 3 [default = false];</code>
5595         */
5596        public boolean getNullable() {
5597          return nullable_;
5598        }
5599    
5600        // optional int32 flexible_type_capabilities_id = 4;
5601        public static final int FLEXIBLE_TYPE_CAPABILITIES_ID_FIELD_NUMBER = 4;
5602        private int flexibleTypeCapabilitiesId_;
5603        /**
5604         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5605         *
5606         * <pre>
5607         * Id in the StringTable
5608         * If this field is set, the type is flexible.
5609         * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5610         * </pre>
5611         */
5612        public boolean hasFlexibleTypeCapabilitiesId() {
5613          return ((bitField0_ & 0x00000004) == 0x00000004);
5614        }
5615        /**
5616         * <code>optional int32 flexible_type_capabilities_id = 4;</code>
5617         *
5618         * <pre>
5619         * Id in the StringTable
5620         * If this field is set, the type is flexible.
5621         * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
5622         * </pre>
5623         */
5624        public int getFlexibleTypeCapabilitiesId() {
5625          return flexibleTypeCapabilitiesId_;
5626        }
5627    
5628        // optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;
5629        public static final int FLEXIBLE_UPPER_BOUND_FIELD_NUMBER = 5;
5630        private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type flexibleUpperBound_;
5631        /**
5632         * <code>optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;</code>
5633         *
5634         * <pre>
5635         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
5636         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
5637         * to represent flexible types is too many wasted bytes.
5638         * </pre>
5639         */
5640        public boolean hasFlexibleUpperBound() {
5641          return ((bitField0_ & 0x00000008) == 0x00000008);
5642        }
5643        /**
5644         * <code>optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;</code>
5645         *
5646         * <pre>
5647         * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
5648         * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
5649         * to represent flexible types is too many wasted bytes.
5650         * </pre>
5651         */
5652        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getFlexibleUpperBound() {
5653          return flexibleUpperBound_;
5654        }
5655    
5656        private void initFields() {
5657          constructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
5658          argument_ = java.util.Collections.emptyList();
5659          nullable_ = false;
5660          flexibleTypeCapabilitiesId_ = 0;
5661          flexibleUpperBound_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
5662        }
5663        private byte memoizedIsInitialized = -1;
5664        public final boolean isInitialized() {
5665          byte isInitialized = memoizedIsInitialized;
5666          if (isInitialized != -1) return isInitialized == 1;
5667    
5668          if (!hasConstructor()) {
5669            memoizedIsInitialized = 0;
5670            return false;
5671          }
5672          if (!getConstructor().isInitialized()) {
5673            memoizedIsInitialized = 0;
5674            return false;
5675          }
5676          for (int i = 0; i < getArgumentCount(); i++) {
5677            if (!getArgument(i).isInitialized()) {
5678              memoizedIsInitialized = 0;
5679              return false;
5680            }
5681          }
5682          if (hasFlexibleUpperBound()) {
5683            if (!getFlexibleUpperBound().isInitialized()) {
5684              memoizedIsInitialized = 0;
5685              return false;
5686            }
5687          }
5688          memoizedIsInitialized = 1;
5689          return true;
5690        }
5691    
5692        public void writeTo(com.google.protobuf.CodedOutputStream output)
5693                            throws java.io.IOException {
5694          getSerializedSize();
5695          if (((bitField0_ & 0x00000001) == 0x00000001)) {
5696            output.writeMessage(1, constructor_);
5697          }
5698          for (int i = 0; i < argument_.size(); i++) {
5699            output.writeMessage(2, argument_.get(i));
5700          }
5701          if (((bitField0_ & 0x00000002) == 0x00000002)) {
5702            output.writeBool(3, nullable_);
5703          }
5704          if (((bitField0_ & 0x00000004) == 0x00000004)) {
5705            output.writeInt32(4, flexibleTypeCapabilitiesId_);
5706          }
5707          if (((bitField0_ & 0x00000008) == 0x00000008)) {
5708            output.writeMessage(5, flexibleUpperBound_);
5709          }
5710        }
5711    
5712        private int memoizedSerializedSize = -1;
5713        public int getSerializedSize() {
5714          int size = memoizedSerializedSize;
5715          if (size != -1) return size;
5716    
5717          size = 0;
5718          if (((bitField0_ & 0x00000001) == 0x00000001)) {
5719            size += com.google.protobuf.CodedOutputStream
5720              .computeMessageSize(1, constructor_);
5721          }
5722          for (int i = 0; i < argument_.size(); i++) {
5723            size += com.google.protobuf.CodedOutputStream
5724              .computeMessageSize(2, argument_.get(i));
5725          }
5726          if (((bitField0_ & 0x00000002) == 0x00000002)) {
5727            size += com.google.protobuf.CodedOutputStream
5728              .computeBoolSize(3, nullable_);
5729          }
5730          if (((bitField0_ & 0x00000004) == 0x00000004)) {
5731            size += com.google.protobuf.CodedOutputStream
5732              .computeInt32Size(4, flexibleTypeCapabilitiesId_);
5733          }
5734          if (((bitField0_ & 0x00000008) == 0x00000008)) {
5735            size += com.google.protobuf.CodedOutputStream
5736              .computeMessageSize(5, flexibleUpperBound_);
5737          }
5738          memoizedSerializedSize = size;
5739          return size;
5740        }
5741    
5742        private static final long serialVersionUID = 0L;
5743        @java.lang.Override
5744        protected java.lang.Object writeReplace()
5745            throws java.io.ObjectStreamException {
5746          return super.writeReplace();
5747        }
5748    
5749        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(
5750            com.google.protobuf.ByteString data)
5751            throws com.google.protobuf.InvalidProtocolBufferException {
5752          return PARSER.parseFrom(data);
5753        }
5754        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(
5755            com.google.protobuf.ByteString data,
5756            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5757            throws com.google.protobuf.InvalidProtocolBufferException {
5758          return PARSER.parseFrom(data, extensionRegistry);
5759        }
5760        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(byte[] data)
5761            throws com.google.protobuf.InvalidProtocolBufferException {
5762          return PARSER.parseFrom(data);
5763        }
5764        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(
5765            byte[] data,
5766            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5767            throws com.google.protobuf.InvalidProtocolBufferException {
5768          return PARSER.parseFrom(data, extensionRegistry);
5769        }
5770        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(java.io.InputStream input)
5771            throws java.io.IOException {
5772          return PARSER.parseFrom(input);
5773        }
5774        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(
5775            java.io.InputStream input,
5776            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5777            throws java.io.IOException {
5778          return PARSER.parseFrom(input, extensionRegistry);
5779        }
5780        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseDelimitedFrom(java.io.InputStream input)
5781            throws java.io.IOException {
5782          return PARSER.parseDelimitedFrom(input);
5783        }
5784        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseDelimitedFrom(
5785            java.io.InputStream input,
5786            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5787            throws java.io.IOException {
5788          return PARSER.parseDelimitedFrom(input, extensionRegistry);
5789        }
5790        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(
5791            com.google.protobuf.CodedInputStream input)
5792            throws java.io.IOException {
5793          return PARSER.parseFrom(input);
5794        }
5795        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(
5796            com.google.protobuf.CodedInputStream input,
5797            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5798            throws java.io.IOException {
5799          return PARSER.parseFrom(input, extensionRegistry);
5800        }
5801    
5802        public static Builder newBuilder() { return Builder.create(); }
5803        public Builder newBuilderForType() { return newBuilder(); }
5804        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type prototype) {
5805          return newBuilder().mergeFrom(prototype);
5806        }
5807        public Builder toBuilder() { return newBuilder(this); }
5808    
5809        /**
5810         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Type}
5811         */
5812        public static final class Builder extends
5813            com.google.protobuf.GeneratedMessageLite.Builder<
5814              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type, Builder>
5815            implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeOrBuilder {
5816          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder()
5817          private Builder() {
5818            maybeForceBuilderInitialization();
5819          }
5820    
5821          private void maybeForceBuilderInitialization() {
5822          }
5823          private static Builder create() {
5824            return new Builder();
5825          }
5826    
5827          public Builder clear() {
5828            super.clear();
5829            constructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
5830            bitField0_ = (bitField0_ & ~0x00000001);
5831            argument_ = java.util.Collections.emptyList();
5832            bitField0_ = (bitField0_ & ~0x00000002);
5833            nullable_ = false;
5834            bitField0_ = (bitField0_ & ~0x00000004);
5835            flexibleTypeCapabilitiesId_ = 0;
5836            bitField0_ = (bitField0_ & ~0x00000008);
5837            flexibleUpperBound_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
5838            bitField0_ = (bitField0_ & ~0x00000010);
5839            return this;
5840          }
5841    
5842          public Builder clone() {
5843            return create().mergeFrom(buildPartial());
5844          }
5845    
5846          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getDefaultInstanceForType() {
5847            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
5848          }
5849    
5850          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type build() {
5851            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type result = buildPartial();
5852            if (!result.isInitialized()) {
5853              throw newUninitializedMessageException(result);
5854            }
5855            return result;
5856          }
5857    
5858          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type buildPartial() {
5859            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type(this);
5860            int from_bitField0_ = bitField0_;
5861            int to_bitField0_ = 0;
5862            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
5863              to_bitField0_ |= 0x00000001;
5864            }
5865            result.constructor_ = constructor_;
5866            if (((bitField0_ & 0x00000002) == 0x00000002)) {
5867              argument_ = java.util.Collections.unmodifiableList(argument_);
5868              bitField0_ = (bitField0_ & ~0x00000002);
5869            }
5870            result.argument_ = argument_;
5871            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
5872              to_bitField0_ |= 0x00000002;
5873            }
5874            result.nullable_ = nullable_;
5875            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
5876              to_bitField0_ |= 0x00000004;
5877            }
5878            result.flexibleTypeCapabilitiesId_ = flexibleTypeCapabilitiesId_;
5879            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
5880              to_bitField0_ |= 0x00000008;
5881            }
5882            result.flexibleUpperBound_ = flexibleUpperBound_;
5883            result.bitField0_ = to_bitField0_;
5884            return result;
5885          }
5886    
5887          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type other) {
5888            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) return this;
5889            if (other.hasConstructor()) {
5890              mergeConstructor(other.getConstructor());
5891            }
5892            if (!other.argument_.isEmpty()) {
5893              if (argument_.isEmpty()) {
5894                argument_ = other.argument_;
5895                bitField0_ = (bitField0_ & ~0x00000002);
5896              } else {
5897                ensureArgumentIsMutable();
5898                argument_.addAll(other.argument_);
5899              }
5900              
5901            }
5902            if (other.hasNullable()) {
5903              setNullable(other.getNullable());
5904            }
5905            if (other.hasFlexibleTypeCapabilitiesId()) {
5906              setFlexibleTypeCapabilitiesId(other.getFlexibleTypeCapabilitiesId());
5907            }
5908            if (other.hasFlexibleUpperBound()) {
5909              mergeFlexibleUpperBound(other.getFlexibleUpperBound());
5910            }
5911            return this;
5912          }
5913    
5914          public final boolean isInitialized() {
5915            if (!hasConstructor()) {
5916              
5917              return false;
5918            }
5919            if (!getConstructor().isInitialized()) {
5920              
5921              return false;
5922            }
5923            for (int i = 0; i < getArgumentCount(); i++) {
5924              if (!getArgument(i).isInitialized()) {
5925                
5926                return false;
5927              }
5928            }
5929            if (hasFlexibleUpperBound()) {
5930              if (!getFlexibleUpperBound().isInitialized()) {
5931                
5932                return false;
5933              }
5934            }
5935            return true;
5936          }
5937    
5938          public Builder mergeFrom(
5939              com.google.protobuf.CodedInputStream input,
5940              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5941              throws java.io.IOException {
5942            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parsedMessage = null;
5943            try {
5944              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
5945            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5946              parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type) e.getUnfinishedMessage();
5947              throw e;
5948            } finally {
5949              if (parsedMessage != null) {
5950                mergeFrom(parsedMessage);
5951              }
5952            }
5953            return this;
5954          }
5955          private int bitField0_;
5956    
5957          // required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;
5958          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor constructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
5959          /**
5960           * <code>required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;</code>
5961           */
5962          public boolean hasConstructor() {
5963            return ((bitField0_ & 0x00000001) == 0x00000001);
5964          }
5965          /**
5966           * <code>required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;</code>
5967           */
5968          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor getConstructor() {
5969            return constructor_;
5970          }
5971          /**
5972           * <code>required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;</code>
5973           */
5974          public Builder setConstructor(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor value) {
5975            if (value == null) {
5976              throw new NullPointerException();
5977            }
5978            constructor_ = value;
5979    
5980            bitField0_ |= 0x00000001;
5981            return this;
5982          }
5983          /**
5984           * <code>required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;</code>
5985           */
5986          public Builder setConstructor(
5987              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Builder builderForValue) {
5988            constructor_ = builderForValue.build();
5989    
5990            bitField0_ |= 0x00000001;
5991            return this;
5992          }
5993          /**
5994           * <code>required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;</code>
5995           */
5996          public Builder mergeConstructor(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor value) {
5997            if (((bitField0_ & 0x00000001) == 0x00000001) &&
5998                constructor_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.getDefaultInstance()) {
5999              constructor_ =
6000                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.newBuilder(constructor_).mergeFrom(value).buildPartial();
6001            } else {
6002              constructor_ = value;
6003            }
6004    
6005            bitField0_ |= 0x00000001;
6006            return this;
6007          }
6008          /**
6009           * <code>required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;</code>
6010           */
6011          public Builder clearConstructor() {
6012            constructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
6013    
6014            bitField0_ = (bitField0_ & ~0x00000001);
6015            return this;
6016          }
6017    
6018          // repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;
6019          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument> argument_ =
6020            java.util.Collections.emptyList();
6021          private void ensureArgumentIsMutable() {
6022            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
6023              argument_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument>(argument_);
6024              bitField0_ |= 0x00000002;
6025             }
6026          }
6027    
6028          /**
6029           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
6030           */
6031          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument> getArgumentList() {
6032            return java.util.Collections.unmodifiableList(argument_);
6033          }
6034          /**
6035           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
6036           */
6037          public int getArgumentCount() {
6038            return argument_.size();
6039          }
6040          /**
6041           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
6042           */
6043          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument getArgument(int index) {
6044            return argument_.get(index);
6045          }
6046          /**
6047           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
6048           */
6049          public Builder setArgument(
6050              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument value) {
6051            if (value == null) {
6052              throw new NullPointerException();
6053            }
6054            ensureArgumentIsMutable();
6055            argument_.set(index, value);
6056    
6057            return this;
6058          }
6059          /**
6060           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
6061           */
6062          public Builder setArgument(
6063              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
6064            ensureArgumentIsMutable();
6065            argument_.set(index, builderForValue.build());
6066    
6067            return this;
6068          }
6069          /**
6070           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
6071           */
6072          public Builder addArgument(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument value) {
6073            if (value == null) {
6074              throw new NullPointerException();
6075            }
6076            ensureArgumentIsMutable();
6077            argument_.add(value);
6078    
6079            return this;
6080          }
6081          /**
6082           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
6083           */
6084          public Builder addArgument(
6085              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument value) {
6086            if (value == null) {
6087              throw new NullPointerException();
6088            }
6089            ensureArgumentIsMutable();
6090            argument_.add(index, value);
6091    
6092            return this;
6093          }
6094          /**
6095           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
6096           */
6097          public Builder addArgument(
6098              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
6099            ensureArgumentIsMutable();
6100            argument_.add(builderForValue.build());
6101    
6102            return this;
6103          }
6104          /**
6105           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
6106           */
6107          public Builder addArgument(
6108              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
6109            ensureArgumentIsMutable();
6110            argument_.add(index, builderForValue.build());
6111    
6112            return this;
6113          }
6114          /**
6115           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
6116           */
6117          public Builder addAllArgument(
6118              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument> values) {
6119            ensureArgumentIsMutable();
6120            super.addAll(values, argument_);
6121    
6122            return this;
6123          }
6124          /**
6125           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
6126           */
6127          public Builder clearArgument() {
6128            argument_ = java.util.Collections.emptyList();
6129            bitField0_ = (bitField0_ & ~0x00000002);
6130    
6131            return this;
6132          }
6133          /**
6134           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;</code>
6135           */
6136          public Builder removeArgument(int index) {
6137            ensureArgumentIsMutable();
6138            argument_.remove(index);
6139    
6140            return this;
6141          }
6142    
6143          // optional bool nullable = 3 [default = false];
6144          private boolean nullable_ ;
6145          /**
6146           * <code>optional bool nullable = 3 [default = false];</code>
6147           */
6148          public boolean hasNullable() {
6149            return ((bitField0_ & 0x00000004) == 0x00000004);
6150          }
6151          /**
6152           * <code>optional bool nullable = 3 [default = false];</code>
6153           */
6154          public boolean getNullable() {
6155            return nullable_;
6156          }
6157          /**
6158           * <code>optional bool nullable = 3 [default = false];</code>
6159           */
6160          public Builder setNullable(boolean value) {
6161            bitField0_ |= 0x00000004;
6162            nullable_ = value;
6163            
6164            return this;
6165          }
6166          /**
6167           * <code>optional bool nullable = 3 [default = false];</code>
6168           */
6169          public Builder clearNullable() {
6170            bitField0_ = (bitField0_ & ~0x00000004);
6171            nullable_ = false;
6172            
6173            return this;
6174          }
6175    
6176          // optional int32 flexible_type_capabilities_id = 4;
6177          private int flexibleTypeCapabilitiesId_ ;
6178          /**
6179           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6180           *
6181           * <pre>
6182           * Id in the StringTable
6183           * If this field is set, the type is flexible.
6184           * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6185           * </pre>
6186           */
6187          public boolean hasFlexibleTypeCapabilitiesId() {
6188            return ((bitField0_ & 0x00000008) == 0x00000008);
6189          }
6190          /**
6191           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6192           *
6193           * <pre>
6194           * Id in the StringTable
6195           * If this field is set, the type is flexible.
6196           * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6197           * </pre>
6198           */
6199          public int getFlexibleTypeCapabilitiesId() {
6200            return flexibleTypeCapabilitiesId_;
6201          }
6202          /**
6203           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6204           *
6205           * <pre>
6206           * Id in the StringTable
6207           * If this field is set, the type is flexible.
6208           * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6209           * </pre>
6210           */
6211          public Builder setFlexibleTypeCapabilitiesId(int value) {
6212            bitField0_ |= 0x00000008;
6213            flexibleTypeCapabilitiesId_ = value;
6214            
6215            return this;
6216          }
6217          /**
6218           * <code>optional int32 flexible_type_capabilities_id = 4;</code>
6219           *
6220           * <pre>
6221           * Id in the StringTable
6222           * If this field is set, the type is flexible.
6223           * All the fields above represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
6224           * </pre>
6225           */
6226          public Builder clearFlexibleTypeCapabilitiesId() {
6227            bitField0_ = (bitField0_ & ~0x00000008);
6228            flexibleTypeCapabilitiesId_ = 0;
6229            
6230            return this;
6231          }
6232    
6233          // optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;
6234          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type flexibleUpperBound_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
6235          /**
6236           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;</code>
6237           *
6238           * <pre>
6239           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6240           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6241           * to represent flexible types is too many wasted bytes.
6242           * </pre>
6243           */
6244          public boolean hasFlexibleUpperBound() {
6245            return ((bitField0_ & 0x00000010) == 0x00000010);
6246          }
6247          /**
6248           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;</code>
6249           *
6250           * <pre>
6251           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6252           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6253           * to represent flexible types is too many wasted bytes.
6254           * </pre>
6255           */
6256          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getFlexibleUpperBound() {
6257            return flexibleUpperBound_;
6258          }
6259          /**
6260           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;</code>
6261           *
6262           * <pre>
6263           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6264           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6265           * to represent flexible types is too many wasted bytes.
6266           * </pre>
6267           */
6268          public Builder setFlexibleUpperBound(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
6269            if (value == null) {
6270              throw new NullPointerException();
6271            }
6272            flexibleUpperBound_ = value;
6273    
6274            bitField0_ |= 0x00000010;
6275            return this;
6276          }
6277          /**
6278           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;</code>
6279           *
6280           * <pre>
6281           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6282           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6283           * to represent flexible types is too many wasted bytes.
6284           * </pre>
6285           */
6286          public Builder setFlexibleUpperBound(
6287              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
6288            flexibleUpperBound_ = builderForValue.build();
6289    
6290            bitField0_ |= 0x00000010;
6291            return this;
6292          }
6293          /**
6294           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;</code>
6295           *
6296           * <pre>
6297           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6298           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6299           * to represent flexible types is too many wasted bytes.
6300           * </pre>
6301           */
6302          public Builder mergeFlexibleUpperBound(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
6303            if (((bitField0_ & 0x00000010) == 0x00000010) &&
6304                flexibleUpperBound_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) {
6305              flexibleUpperBound_ =
6306                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder(flexibleUpperBound_).mergeFrom(value).buildPartial();
6307            } else {
6308              flexibleUpperBound_ = value;
6309            }
6310    
6311            bitField0_ |= 0x00000010;
6312            return this;
6313          }
6314          /**
6315           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type flexible_upper_bound = 5;</code>
6316           *
6317           * <pre>
6318           * While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
6319           * we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
6320           * to represent flexible types is too many wasted bytes.
6321           * </pre>
6322           */
6323          public Builder clearFlexibleUpperBound() {
6324            flexibleUpperBound_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
6325    
6326            bitField0_ = (bitField0_ & ~0x00000010);
6327            return this;
6328          }
6329    
6330          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Type)
6331        }
6332    
6333        static {
6334          defaultInstance = new Type(true);
6335          defaultInstance.initFields();
6336        }
6337    
6338        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Type)
6339      }
6340    
6341      public interface TypeParameterOrBuilder
6342          extends com.google.protobuf.MessageLiteOrBuilder {
6343    
6344        // required int32 id = 1;
6345        /**
6346         * <code>required int32 id = 1;</code>
6347         */
6348        boolean hasId();
6349        /**
6350         * <code>required int32 id = 1;</code>
6351         */
6352        int getId();
6353    
6354        // required int32 name = 2;
6355        /**
6356         * <code>required int32 name = 2;</code>
6357         *
6358         * <pre>
6359         * Id in the StringTable
6360         * </pre>
6361         */
6362        boolean hasName();
6363        /**
6364         * <code>required int32 name = 2;</code>
6365         *
6366         * <pre>
6367         * Id in the StringTable
6368         * </pre>
6369         */
6370        int getName();
6371    
6372        // optional bool reified = 3 [default = false];
6373        /**
6374         * <code>optional bool reified = 3 [default = false];</code>
6375         */
6376        boolean hasReified();
6377        /**
6378         * <code>optional bool reified = 3 [default = false];</code>
6379         */
6380        boolean getReified();
6381    
6382        // optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];
6383        /**
6384         * <code>optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6385         */
6386        boolean hasVariance();
6387        /**
6388         * <code>optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6389         */
6390        org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance getVariance();
6391    
6392        // repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;
6393        /**
6394         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
6395         */
6396        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> 
6397            getUpperBoundList();
6398        /**
6399         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
6400         */
6401        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getUpperBound(int index);
6402        /**
6403         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
6404         */
6405        int getUpperBoundCount();
6406      }
6407      /**
6408       * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.TypeParameter}
6409       */
6410      public static final class TypeParameter extends
6411          com.google.protobuf.GeneratedMessageLite
6412          implements TypeParameterOrBuilder {
6413        // Use TypeParameter.newBuilder() to construct.
6414        private TypeParameter(com.google.protobuf.GeneratedMessageLite.Builder builder) {
6415          super(builder);
6416    
6417        }
6418        private TypeParameter(boolean noInit) {}
6419    
6420        private static final TypeParameter defaultInstance;
6421        public static TypeParameter getDefaultInstance() {
6422          return defaultInstance;
6423        }
6424    
6425        public TypeParameter getDefaultInstanceForType() {
6426          return defaultInstance;
6427        }
6428    
6429        private TypeParameter(
6430            com.google.protobuf.CodedInputStream input,
6431            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6432            throws com.google.protobuf.InvalidProtocolBufferException {
6433          initFields();
6434          int mutable_bitField0_ = 0;
6435          try {
6436            boolean done = false;
6437            while (!done) {
6438              int tag = input.readTag();
6439              switch (tag) {
6440                case 0:
6441                  done = true;
6442                  break;
6443                default: {
6444                  if (!parseUnknownField(input,
6445                                         extensionRegistry, tag)) {
6446                    done = true;
6447                  }
6448                  break;
6449                }
6450                case 8: {
6451                  bitField0_ |= 0x00000001;
6452                  id_ = input.readInt32();
6453                  break;
6454                }
6455                case 16: {
6456                  bitField0_ |= 0x00000002;
6457                  name_ = input.readInt32();
6458                  break;
6459                }
6460                case 24: {
6461                  bitField0_ |= 0x00000004;
6462                  reified_ = input.readBool();
6463                  break;
6464                }
6465                case 32: {
6466                  int rawValue = input.readEnum();
6467                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance value = org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance.valueOf(rawValue);
6468                  if (value != null) {
6469                    bitField0_ |= 0x00000008;
6470                    variance_ = value;
6471                  }
6472                  break;
6473                }
6474                case 42: {
6475                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
6476                    upperBound_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type>();
6477                    mutable_bitField0_ |= 0x00000010;
6478                  }
6479                  upperBound_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
6480                  break;
6481                }
6482              }
6483            }
6484          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6485            throw e.setUnfinishedMessage(this);
6486          } catch (java.io.IOException e) {
6487            throw new com.google.protobuf.InvalidProtocolBufferException(
6488                e.getMessage()).setUnfinishedMessage(this);
6489          } finally {
6490            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
6491              upperBound_ = java.util.Collections.unmodifiableList(upperBound_);
6492            }
6493            makeExtensionsImmutable();
6494          }
6495        }
6496        public static com.google.protobuf.Parser<TypeParameter> PARSER =
6497            new com.google.protobuf.AbstractParser<TypeParameter>() {
6498          public TypeParameter parsePartialFrom(
6499              com.google.protobuf.CodedInputStream input,
6500              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6501              throws com.google.protobuf.InvalidProtocolBufferException {
6502            return new TypeParameter(input, extensionRegistry);
6503          }
6504        };
6505    
6506        @java.lang.Override
6507        public com.google.protobuf.Parser<TypeParameter> getParserForType() {
6508          return PARSER;
6509        }
6510    
6511        /**
6512         * Protobuf enum {@code org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance}
6513         */
6514        public enum Variance
6515            implements com.google.protobuf.Internal.EnumLite {
6516          /**
6517           * <code>IN = 0;</code>
6518           */
6519          IN(0, 0),
6520          /**
6521           * <code>OUT = 1;</code>
6522           */
6523          OUT(1, 1),
6524          /**
6525           * <code>INV = 2;</code>
6526           */
6527          INV(2, 2),
6528          ;
6529    
6530          /**
6531           * <code>IN = 0;</code>
6532           */
6533          public static final int IN_VALUE = 0;
6534          /**
6535           * <code>OUT = 1;</code>
6536           */
6537          public static final int OUT_VALUE = 1;
6538          /**
6539           * <code>INV = 2;</code>
6540           */
6541          public static final int INV_VALUE = 2;
6542    
6543    
6544          public final int getNumber() { return value; }
6545    
6546          public static Variance valueOf(int value) {
6547            switch (value) {
6548              case 0: return IN;
6549              case 1: return OUT;
6550              case 2: return INV;
6551              default: return null;
6552            }
6553          }
6554    
6555          public static com.google.protobuf.Internal.EnumLiteMap<Variance>
6556              internalGetValueMap() {
6557            return internalValueMap;
6558          }
6559          private static com.google.protobuf.Internal.EnumLiteMap<Variance>
6560              internalValueMap =
6561                new com.google.protobuf.Internal.EnumLiteMap<Variance>() {
6562                  public Variance findValueByNumber(int number) {
6563                    return Variance.valueOf(number);
6564                  }
6565                };
6566    
6567          private final int value;
6568    
6569          private Variance(int index, int value) {
6570            this.value = value;
6571          }
6572    
6573          // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance)
6574        }
6575    
6576        private int bitField0_;
6577        // required int32 id = 1;
6578        public static final int ID_FIELD_NUMBER = 1;
6579        private int id_;
6580        /**
6581         * <code>required int32 id = 1;</code>
6582         */
6583        public boolean hasId() {
6584          return ((bitField0_ & 0x00000001) == 0x00000001);
6585        }
6586        /**
6587         * <code>required int32 id = 1;</code>
6588         */
6589        public int getId() {
6590          return id_;
6591        }
6592    
6593        // required int32 name = 2;
6594        public static final int NAME_FIELD_NUMBER = 2;
6595        private int name_;
6596        /**
6597         * <code>required int32 name = 2;</code>
6598         *
6599         * <pre>
6600         * Id in the StringTable
6601         * </pre>
6602         */
6603        public boolean hasName() {
6604          return ((bitField0_ & 0x00000002) == 0x00000002);
6605        }
6606        /**
6607         * <code>required int32 name = 2;</code>
6608         *
6609         * <pre>
6610         * Id in the StringTable
6611         * </pre>
6612         */
6613        public int getName() {
6614          return name_;
6615        }
6616    
6617        // optional bool reified = 3 [default = false];
6618        public static final int REIFIED_FIELD_NUMBER = 3;
6619        private boolean reified_;
6620        /**
6621         * <code>optional bool reified = 3 [default = false];</code>
6622         */
6623        public boolean hasReified() {
6624          return ((bitField0_ & 0x00000004) == 0x00000004);
6625        }
6626        /**
6627         * <code>optional bool reified = 3 [default = false];</code>
6628         */
6629        public boolean getReified() {
6630          return reified_;
6631        }
6632    
6633        // optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];
6634        public static final int VARIANCE_FIELD_NUMBER = 4;
6635        private org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance variance_;
6636        /**
6637         * <code>optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6638         */
6639        public boolean hasVariance() {
6640          return ((bitField0_ & 0x00000008) == 0x00000008);
6641        }
6642        /**
6643         * <code>optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
6644         */
6645        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
6646          return variance_;
6647        }
6648    
6649        // repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;
6650        public static final int UPPER_BOUND_FIELD_NUMBER = 5;
6651        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> upperBound_;
6652        /**
6653         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
6654         */
6655        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> getUpperBoundList() {
6656          return upperBound_;
6657        }
6658        /**
6659         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
6660         */
6661        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeOrBuilder> 
6662            getUpperBoundOrBuilderList() {
6663          return upperBound_;
6664        }
6665        /**
6666         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
6667         */
6668        public int getUpperBoundCount() {
6669          return upperBound_.size();
6670        }
6671        /**
6672         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
6673         */
6674        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getUpperBound(int index) {
6675          return upperBound_.get(index);
6676        }
6677        /**
6678         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
6679         */
6680        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeOrBuilder getUpperBoundOrBuilder(
6681            int index) {
6682          return upperBound_.get(index);
6683        }
6684    
6685        private void initFields() {
6686          id_ = 0;
6687          name_ = 0;
6688          reified_ = false;
6689          variance_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance.INV;
6690          upperBound_ = java.util.Collections.emptyList();
6691        }
6692        private byte memoizedIsInitialized = -1;
6693        public final boolean isInitialized() {
6694          byte isInitialized = memoizedIsInitialized;
6695          if (isInitialized != -1) return isInitialized == 1;
6696    
6697          if (!hasId()) {
6698            memoizedIsInitialized = 0;
6699            return false;
6700          }
6701          if (!hasName()) {
6702            memoizedIsInitialized = 0;
6703            return false;
6704          }
6705          for (int i = 0; i < getUpperBoundCount(); i++) {
6706            if (!getUpperBound(i).isInitialized()) {
6707              memoizedIsInitialized = 0;
6708              return false;
6709            }
6710          }
6711          memoizedIsInitialized = 1;
6712          return true;
6713        }
6714    
6715        public void writeTo(com.google.protobuf.CodedOutputStream output)
6716                            throws java.io.IOException {
6717          getSerializedSize();
6718          if (((bitField0_ & 0x00000001) == 0x00000001)) {
6719            output.writeInt32(1, id_);
6720          }
6721          if (((bitField0_ & 0x00000002) == 0x00000002)) {
6722            output.writeInt32(2, name_);
6723          }
6724          if (((bitField0_ & 0x00000004) == 0x00000004)) {
6725            output.writeBool(3, reified_);
6726          }
6727          if (((bitField0_ & 0x00000008) == 0x00000008)) {
6728            output.writeEnum(4, variance_.getNumber());
6729          }
6730          for (int i = 0; i < upperBound_.size(); i++) {
6731            output.writeMessage(5, upperBound_.get(i));
6732          }
6733        }
6734    
6735        private int memoizedSerializedSize = -1;
6736        public int getSerializedSize() {
6737          int size = memoizedSerializedSize;
6738          if (size != -1) return size;
6739    
6740          size = 0;
6741          if (((bitField0_ & 0x00000001) == 0x00000001)) {
6742            size += com.google.protobuf.CodedOutputStream
6743              .computeInt32Size(1, id_);
6744          }
6745          if (((bitField0_ & 0x00000002) == 0x00000002)) {
6746            size += com.google.protobuf.CodedOutputStream
6747              .computeInt32Size(2, name_);
6748          }
6749          if (((bitField0_ & 0x00000004) == 0x00000004)) {
6750            size += com.google.protobuf.CodedOutputStream
6751              .computeBoolSize(3, reified_);
6752          }
6753          if (((bitField0_ & 0x00000008) == 0x00000008)) {
6754            size += com.google.protobuf.CodedOutputStream
6755              .computeEnumSize(4, variance_.getNumber());
6756          }
6757          for (int i = 0; i < upperBound_.size(); i++) {
6758            size += com.google.protobuf.CodedOutputStream
6759              .computeMessageSize(5, upperBound_.get(i));
6760          }
6761          memoizedSerializedSize = size;
6762          return size;
6763        }
6764    
6765        private static final long serialVersionUID = 0L;
6766        @java.lang.Override
6767        protected java.lang.Object writeReplace()
6768            throws java.io.ObjectStreamException {
6769          return super.writeReplace();
6770        }
6771    
6772        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(
6773            com.google.protobuf.ByteString data)
6774            throws com.google.protobuf.InvalidProtocolBufferException {
6775          return PARSER.parseFrom(data);
6776        }
6777        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(
6778            com.google.protobuf.ByteString data,
6779            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6780            throws com.google.protobuf.InvalidProtocolBufferException {
6781          return PARSER.parseFrom(data, extensionRegistry);
6782        }
6783        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(byte[] data)
6784            throws com.google.protobuf.InvalidProtocolBufferException {
6785          return PARSER.parseFrom(data);
6786        }
6787        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(
6788            byte[] data,
6789            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6790            throws com.google.protobuf.InvalidProtocolBufferException {
6791          return PARSER.parseFrom(data, extensionRegistry);
6792        }
6793        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(java.io.InputStream input)
6794            throws java.io.IOException {
6795          return PARSER.parseFrom(input);
6796        }
6797        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(
6798            java.io.InputStream input,
6799            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6800            throws java.io.IOException {
6801          return PARSER.parseFrom(input, extensionRegistry);
6802        }
6803        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(java.io.InputStream input)
6804            throws java.io.IOException {
6805          return PARSER.parseDelimitedFrom(input);
6806        }
6807        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(
6808            java.io.InputStream input,
6809            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6810            throws java.io.IOException {
6811          return PARSER.parseDelimitedFrom(input, extensionRegistry);
6812        }
6813        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(
6814            com.google.protobuf.CodedInputStream input)
6815            throws java.io.IOException {
6816          return PARSER.parseFrom(input);
6817        }
6818        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(
6819            com.google.protobuf.CodedInputStream input,
6820            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6821            throws java.io.IOException {
6822          return PARSER.parseFrom(input, extensionRegistry);
6823        }
6824    
6825        public static Builder newBuilder() { return Builder.create(); }
6826        public Builder newBuilderForType() { return newBuilder(); }
6827        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter prototype) {
6828          return newBuilder().mergeFrom(prototype);
6829        }
6830        public Builder toBuilder() { return newBuilder(this); }
6831    
6832        /**
6833         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.TypeParameter}
6834         */
6835        public static final class Builder extends
6836            com.google.protobuf.GeneratedMessageLite.Builder<
6837              org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter, Builder>
6838            implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameterOrBuilder {
6839          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.newBuilder()
6840          private Builder() {
6841            maybeForceBuilderInitialization();
6842          }
6843    
6844          private void maybeForceBuilderInitialization() {
6845          }
6846          private static Builder create() {
6847            return new Builder();
6848          }
6849    
6850          public Builder clear() {
6851            super.clear();
6852            id_ = 0;
6853            bitField0_ = (bitField0_ & ~0x00000001);
6854            name_ = 0;
6855            bitField0_ = (bitField0_ & ~0x00000002);
6856            reified_ = false;
6857            bitField0_ = (bitField0_ & ~0x00000004);
6858            variance_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance.INV;
6859            bitField0_ = (bitField0_ & ~0x00000008);
6860            upperBound_ = java.util.Collections.emptyList();
6861            bitField0_ = (bitField0_ & ~0x00000010);
6862            return this;
6863          }
6864    
6865          public Builder clone() {
6866            return create().mergeFrom(buildPartial());
6867          }
6868    
6869          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getDefaultInstanceForType() {
6870            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.getDefaultInstance();
6871          }
6872    
6873          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter build() {
6874            org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter result = buildPartial();
6875            if (!result.isInitialized()) {
6876              throw newUninitializedMessageException(result);
6877            }
6878            return result;
6879          }
6880    
6881          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter buildPartial() {
6882            org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter(this);
6883            int from_bitField0_ = bitField0_;
6884            int to_bitField0_ = 0;
6885            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
6886              to_bitField0_ |= 0x00000001;
6887            }
6888            result.id_ = id_;
6889            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
6890              to_bitField0_ |= 0x00000002;
6891            }
6892            result.name_ = name_;
6893            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
6894              to_bitField0_ |= 0x00000004;
6895            }
6896            result.reified_ = reified_;
6897            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
6898              to_bitField0_ |= 0x00000008;
6899            }
6900            result.variance_ = variance_;
6901            if (((bitField0_ & 0x00000010) == 0x00000010)) {
6902              upperBound_ = java.util.Collections.unmodifiableList(upperBound_);
6903              bitField0_ = (bitField0_ & ~0x00000010);
6904            }
6905            result.upperBound_ = upperBound_;
6906            result.bitField0_ = to_bitField0_;
6907            return result;
6908          }
6909    
6910          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter other) {
6911            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.getDefaultInstance()) return this;
6912            if (other.hasId()) {
6913              setId(other.getId());
6914            }
6915            if (other.hasName()) {
6916              setName(other.getName());
6917            }
6918            if (other.hasReified()) {
6919              setReified(other.getReified());
6920            }
6921            if (other.hasVariance()) {
6922              setVariance(other.getVariance());
6923            }
6924            if (!other.upperBound_.isEmpty()) {
6925              if (upperBound_.isEmpty()) {
6926                upperBound_ = other.upperBound_;
6927                bitField0_ = (bitField0_ & ~0x00000010);
6928              } else {
6929                ensureUpperBoundIsMutable();
6930                upperBound_.addAll(other.upperBound_);
6931              }
6932              
6933            }
6934            return this;
6935          }
6936    
6937          public final boolean isInitialized() {
6938            if (!hasId()) {
6939              
6940              return false;
6941            }
6942            if (!hasName()) {
6943              
6944              return false;
6945            }
6946            for (int i = 0; i < getUpperBoundCount(); i++) {
6947              if (!getUpperBound(i).isInitialized()) {
6948                
6949                return false;
6950              }
6951            }
6952            return true;
6953          }
6954    
6955          public Builder mergeFrom(
6956              com.google.protobuf.CodedInputStream input,
6957              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6958              throws java.io.IOException {
6959            org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parsedMessage = null;
6960            try {
6961              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
6962            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6963              parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter) e.getUnfinishedMessage();
6964              throw e;
6965            } finally {
6966              if (parsedMessage != null) {
6967                mergeFrom(parsedMessage);
6968              }
6969            }
6970            return this;
6971          }
6972          private int bitField0_;
6973    
6974          // required int32 id = 1;
6975          private int id_ ;
6976          /**
6977           * <code>required int32 id = 1;</code>
6978           */
6979          public boolean hasId() {
6980            return ((bitField0_ & 0x00000001) == 0x00000001);
6981          }
6982          /**
6983           * <code>required int32 id = 1;</code>
6984           */
6985          public int getId() {
6986            return id_;
6987          }
6988          /**
6989           * <code>required int32 id = 1;</code>
6990           */
6991          public Builder setId(int value) {
6992            bitField0_ |= 0x00000001;
6993            id_ = value;
6994            
6995            return this;
6996          }
6997          /**
6998           * <code>required int32 id = 1;</code>
6999           */
7000          public Builder clearId() {
7001            bitField0_ = (bitField0_ & ~0x00000001);
7002            id_ = 0;
7003            
7004            return this;
7005          }
7006    
7007          // required int32 name = 2;
7008          private int name_ ;
7009          /**
7010           * <code>required int32 name = 2;</code>
7011           *
7012           * <pre>
7013           * Id in the StringTable
7014           * </pre>
7015           */
7016          public boolean hasName() {
7017            return ((bitField0_ & 0x00000002) == 0x00000002);
7018          }
7019          /**
7020           * <code>required int32 name = 2;</code>
7021           *
7022           * <pre>
7023           * Id in the StringTable
7024           * </pre>
7025           */
7026          public int getName() {
7027            return name_;
7028          }
7029          /**
7030           * <code>required int32 name = 2;</code>
7031           *
7032           * <pre>
7033           * Id in the StringTable
7034           * </pre>
7035           */
7036          public Builder setName(int value) {
7037            bitField0_ |= 0x00000002;
7038            name_ = value;
7039            
7040            return this;
7041          }
7042          /**
7043           * <code>required int32 name = 2;</code>
7044           *
7045           * <pre>
7046           * Id in the StringTable
7047           * </pre>
7048           */
7049          public Builder clearName() {
7050            bitField0_ = (bitField0_ & ~0x00000002);
7051            name_ = 0;
7052            
7053            return this;
7054          }
7055    
7056          // optional bool reified = 3 [default = false];
7057          private boolean reified_ ;
7058          /**
7059           * <code>optional bool reified = 3 [default = false];</code>
7060           */
7061          public boolean hasReified() {
7062            return ((bitField0_ & 0x00000004) == 0x00000004);
7063          }
7064          /**
7065           * <code>optional bool reified = 3 [default = false];</code>
7066           */
7067          public boolean getReified() {
7068            return reified_;
7069          }
7070          /**
7071           * <code>optional bool reified = 3 [default = false];</code>
7072           */
7073          public Builder setReified(boolean value) {
7074            bitField0_ |= 0x00000004;
7075            reified_ = value;
7076            
7077            return this;
7078          }
7079          /**
7080           * <code>optional bool reified = 3 [default = false];</code>
7081           */
7082          public Builder clearReified() {
7083            bitField0_ = (bitField0_ & ~0x00000004);
7084            reified_ = false;
7085            
7086            return this;
7087          }
7088    
7089          // optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];
7090          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance variance_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance.INV;
7091          /**
7092           * <code>optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7093           */
7094          public boolean hasVariance() {
7095            return ((bitField0_ & 0x00000008) == 0x00000008);
7096          }
7097          /**
7098           * <code>optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7099           */
7100          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
7101            return variance_;
7102          }
7103          /**
7104           * <code>optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7105           */
7106          public Builder setVariance(org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance value) {
7107            if (value == null) {
7108              throw new NullPointerException();
7109            }
7110            bitField0_ |= 0x00000008;
7111            variance_ = value;
7112            
7113            return this;
7114          }
7115          /**
7116           * <code>optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];</code>
7117           */
7118          public Builder clearVariance() {
7119            bitField0_ = (bitField0_ & ~0x00000008);
7120            variance_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance.INV;
7121            
7122            return this;
7123          }
7124    
7125          // repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;
7126          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> upperBound_ =
7127            java.util.Collections.emptyList();
7128          private void ensureUpperBoundIsMutable() {
7129            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
7130              upperBound_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type>(upperBound_);
7131              bitField0_ |= 0x00000010;
7132             }
7133          }
7134    
7135          /**
7136           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
7137           */
7138          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> getUpperBoundList() {
7139            return java.util.Collections.unmodifiableList(upperBound_);
7140          }
7141          /**
7142           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
7143           */
7144          public int getUpperBoundCount() {
7145            return upperBound_.size();
7146          }
7147          /**
7148           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
7149           */
7150          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getUpperBound(int index) {
7151            return upperBound_.get(index);
7152          }
7153          /**
7154           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
7155           */
7156          public Builder setUpperBound(
7157              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
7158            if (value == null) {
7159              throw new NullPointerException();
7160            }
7161            ensureUpperBoundIsMutable();
7162            upperBound_.set(index, value);
7163    
7164            return this;
7165          }
7166          /**
7167           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
7168           */
7169          public Builder setUpperBound(
7170              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
7171            ensureUpperBoundIsMutable();
7172            upperBound_.set(index, builderForValue.build());
7173    
7174            return this;
7175          }
7176          /**
7177           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
7178           */
7179          public Builder addUpperBound(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
7180            if (value == null) {
7181              throw new NullPointerException();
7182            }
7183            ensureUpperBoundIsMutable();
7184            upperBound_.add(value);
7185    
7186            return this;
7187          }
7188          /**
7189           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
7190           */
7191          public Builder addUpperBound(
7192              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
7193            if (value == null) {
7194              throw new NullPointerException();
7195            }
7196            ensureUpperBoundIsMutable();
7197            upperBound_.add(index, value);
7198    
7199            return this;
7200          }
7201          /**
7202           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
7203           */
7204          public Builder addUpperBound(
7205              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
7206            ensureUpperBoundIsMutable();
7207            upperBound_.add(builderForValue.build());
7208    
7209            return this;
7210          }
7211          /**
7212           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
7213           */
7214          public Builder addUpperBound(
7215              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
7216            ensureUpperBoundIsMutable();
7217            upperBound_.add(index, builderForValue.build());
7218    
7219            return this;
7220          }
7221          /**
7222           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
7223           */
7224          public Builder addAllUpperBound(
7225              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> values) {
7226            ensureUpperBoundIsMutable();
7227            super.addAll(values, upperBound_);
7228    
7229            return this;
7230          }
7231          /**
7232           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
7233           */
7234          public Builder clearUpperBound() {
7235            upperBound_ = java.util.Collections.emptyList();
7236            bitField0_ = (bitField0_ & ~0x00000010);
7237    
7238            return this;
7239          }
7240          /**
7241           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;</code>
7242           */
7243          public Builder removeUpperBound(int index) {
7244            ensureUpperBoundIsMutable();
7245            upperBound_.remove(index);
7246    
7247            return this;
7248          }
7249    
7250          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.TypeParameter)
7251        }
7252    
7253        static {
7254          defaultInstance = new TypeParameter(true);
7255          defaultInstance.initFields();
7256        }
7257    
7258        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.TypeParameter)
7259      }
7260    
7261      public interface ClassOrBuilder extends 
7262           com.google.protobuf.GeneratedMessageLite.
7263                ExtendableMessageOrBuilder<Class> {
7264    
7265        // optional int32 flags = 1 [default = 0];
7266        /**
7267         * <code>optional int32 flags = 1 [default = 0];</code>
7268         *
7269         * <pre>
7270         *
7271         *Visibility
7272         *Modality
7273         *has_annotation
7274         *ClassKind
7275         *is_inner
7276         * </pre>
7277         */
7278        boolean hasFlags();
7279        /**
7280         * <code>optional int32 flags = 1 [default = 0];</code>
7281         *
7282         * <pre>
7283         *
7284         *Visibility
7285         *Modality
7286         *has_annotation
7287         *ClassKind
7288         *is_inner
7289         * </pre>
7290         */
7291        int getFlags();
7292    
7293        // optional string extra_visibility = 2;
7294        /**
7295         * <code>optional string extra_visibility = 2;</code>
7296         *
7297         * <pre>
7298         * for things like java-specific visibilities
7299         * </pre>
7300         */
7301        boolean hasExtraVisibility();
7302        /**
7303         * <code>optional string extra_visibility = 2;</code>
7304         *
7305         * <pre>
7306         * for things like java-specific visibilities
7307         * </pre>
7308         */
7309        java.lang.String getExtraVisibility();
7310        /**
7311         * <code>optional string extra_visibility = 2;</code>
7312         *
7313         * <pre>
7314         * for things like java-specific visibilities
7315         * </pre>
7316         */
7317        com.google.protobuf.ByteString
7318            getExtraVisibilityBytes();
7319    
7320        // required int32 fq_name = 3;
7321        /**
7322         * <code>required int32 fq_name = 3;</code>
7323         */
7324        boolean hasFqName();
7325        /**
7326         * <code>required int32 fq_name = 3;</code>
7327         */
7328        int getFqName();
7329    
7330        // optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;
7331        /**
7332         * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;</code>
7333         *
7334         * <pre>
7335         * 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
7336         * </pre>
7337         */
7338        boolean hasClassObject();
7339        /**
7340         * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;</code>
7341         *
7342         * <pre>
7343         * 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
7344         * </pre>
7345         */
7346        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject getClassObject();
7347    
7348        // repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;
7349        /**
7350         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
7351         */
7352        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> 
7353            getTypeParameterList();
7354        /**
7355         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
7356         */
7357        org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
7358        /**
7359         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
7360         */
7361        int getTypeParameterCount();
7362    
7363        // repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;
7364        /**
7365         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
7366         */
7367        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> 
7368            getSupertypeList();
7369        /**
7370         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
7371         */
7372        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getSupertype(int index);
7373        /**
7374         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
7375         */
7376        int getSupertypeCount();
7377    
7378        // repeated int32 nested_class_name = 7;
7379        /**
7380         * <code>repeated int32 nested_class_name = 7;</code>
7381         *
7382         * <pre>
7383         * we store only names, because the actual information must reside in the corresponding .class files,
7384         * to be obtainable through reflection at runtime
7385         * </pre>
7386         */
7387        java.util.List<java.lang.Integer> getNestedClassNameList();
7388        /**
7389         * <code>repeated int32 nested_class_name = 7;</code>
7390         *
7391         * <pre>
7392         * we store only names, because the actual information must reside in the corresponding .class files,
7393         * to be obtainable through reflection at runtime
7394         * </pre>
7395         */
7396        int getNestedClassNameCount();
7397        /**
7398         * <code>repeated int32 nested_class_name = 7;</code>
7399         *
7400         * <pre>
7401         * we store only names, because the actual information must reside in the corresponding .class files,
7402         * to be obtainable through reflection at runtime
7403         * </pre>
7404         */
7405        int getNestedClassName(int index);
7406    
7407        // repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;
7408        /**
7409         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
7410         */
7411        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> 
7412            getMemberList();
7413        /**
7414         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
7415         */
7416        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getMember(int index);
7417        /**
7418         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
7419         */
7420        int getMemberCount();
7421    
7422        // repeated int32 enum_entry = 12;
7423        /**
7424         * <code>repeated int32 enum_entry = 12;</code>
7425         */
7426        java.util.List<java.lang.Integer> getEnumEntryList();
7427        /**
7428         * <code>repeated int32 enum_entry = 12;</code>
7429         */
7430        int getEnumEntryCount();
7431        /**
7432         * <code>repeated int32 enum_entry = 12;</code>
7433         */
7434        int getEnumEntry(int index);
7435    
7436        // optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;
7437        /**
7438         * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
7439         *
7440         * <pre>
7441         * This field is present if and only if the class has a primary constructor
7442         * </pre>
7443         */
7444        boolean hasPrimaryConstructor();
7445        /**
7446         * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
7447         *
7448         * <pre>
7449         * This field is present if and only if the class has a primary constructor
7450         * </pre>
7451         */
7452        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor getPrimaryConstructor();
7453      }
7454      /**
7455       * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Class}
7456       */
7457      public static final class Class extends
7458          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
7459            Class> implements ClassOrBuilder {
7460        // Use Class.newBuilder() to construct.
7461        private Class(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class, ?> builder) {
7462          super(builder);
7463    
7464        }
7465        private Class(boolean noInit) {}
7466    
7467        private static final Class defaultInstance;
7468        public static Class getDefaultInstance() {
7469          return defaultInstance;
7470        }
7471    
7472        public Class getDefaultInstanceForType() {
7473          return defaultInstance;
7474        }
7475    
7476        private Class(
7477            com.google.protobuf.CodedInputStream input,
7478            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7479            throws com.google.protobuf.InvalidProtocolBufferException {
7480          initFields();
7481          int mutable_bitField0_ = 0;
7482          try {
7483            boolean done = false;
7484            while (!done) {
7485              int tag = input.readTag();
7486              switch (tag) {
7487                case 0:
7488                  done = true;
7489                  break;
7490                default: {
7491                  if (!parseUnknownField(input,
7492                                         extensionRegistry, tag)) {
7493                    done = true;
7494                  }
7495                  break;
7496                }
7497                case 8: {
7498                  bitField0_ |= 0x00000001;
7499                  flags_ = input.readInt32();
7500                  break;
7501                }
7502                case 18: {
7503                  bitField0_ |= 0x00000002;
7504                  extraVisibility_ = input.readBytes();
7505                  break;
7506                }
7507                case 24: {
7508                  bitField0_ |= 0x00000004;
7509                  fqName_ = input.readInt32();
7510                  break;
7511                }
7512                case 34: {
7513                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.Builder subBuilder = null;
7514                  if (((bitField0_ & 0x00000008) == 0x00000008)) {
7515                    subBuilder = classObject_.toBuilder();
7516                  }
7517                  classObject_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.PARSER, extensionRegistry);
7518                  if (subBuilder != null) {
7519                    subBuilder.mergeFrom(classObject_);
7520                    classObject_ = subBuilder.buildPartial();
7521                  }
7522                  bitField0_ |= 0x00000008;
7523                  break;
7524                }
7525                case 42: {
7526                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7527                    typeParameter_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter>();
7528                    mutable_bitField0_ |= 0x00000010;
7529                  }
7530                  typeParameter_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
7531                  break;
7532                }
7533                case 50: {
7534                  if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
7535                    supertype_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type>();
7536                    mutable_bitField0_ |= 0x00000020;
7537                  }
7538                  supertype_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.PARSER, extensionRegistry));
7539                  break;
7540                }
7541                case 56: {
7542                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
7543                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
7544                    mutable_bitField0_ |= 0x00000040;
7545                  }
7546                  nestedClassName_.add(input.readInt32());
7547                  break;
7548                }
7549                case 58: {
7550                  int length = input.readRawVarint32();
7551                  int limit = input.pushLimit(length);
7552                  if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) {
7553                    nestedClassName_ = new java.util.ArrayList<java.lang.Integer>();
7554                    mutable_bitField0_ |= 0x00000040;
7555                  }
7556                  while (input.getBytesUntilLimit() > 0) {
7557                    nestedClassName_.add(input.readInt32());
7558                  }
7559                  input.popLimit(limit);
7560                  break;
7561                }
7562                case 90: {
7563                  if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
7564                    member_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable>();
7565                    mutable_bitField0_ |= 0x00000080;
7566                  }
7567                  member_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.PARSER, extensionRegistry));
7568                  break;
7569                }
7570                case 96: {
7571                  if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
7572                    enumEntry_ = new java.util.ArrayList<java.lang.Integer>();
7573                    mutable_bitField0_ |= 0x00000100;
7574                  }
7575                  enumEntry_.add(input.readInt32());
7576                  break;
7577                }
7578                case 98: {
7579                  int length = input.readRawVarint32();
7580                  int limit = input.pushLimit(length);
7581                  if (!((mutable_bitField0_ & 0x00000100) == 0x00000100) && input.getBytesUntilLimit() > 0) {
7582                    enumEntry_ = new java.util.ArrayList<java.lang.Integer>();
7583                    mutable_bitField0_ |= 0x00000100;
7584                  }
7585                  while (input.getBytesUntilLimit() > 0) {
7586                    enumEntry_.add(input.readInt32());
7587                  }
7588                  input.popLimit(limit);
7589                  break;
7590                }
7591                case 106: {
7592                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.Builder subBuilder = null;
7593                  if (((bitField0_ & 0x00000010) == 0x00000010)) {
7594                    subBuilder = primaryConstructor_.toBuilder();
7595                  }
7596                  primaryConstructor_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.PARSER, extensionRegistry);
7597                  if (subBuilder != null) {
7598                    subBuilder.mergeFrom(primaryConstructor_);
7599                    primaryConstructor_ = subBuilder.buildPartial();
7600                  }
7601                  bitField0_ |= 0x00000010;
7602                  break;
7603                }
7604              }
7605            }
7606          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7607            throw e.setUnfinishedMessage(this);
7608          } catch (java.io.IOException e) {
7609            throw new com.google.protobuf.InvalidProtocolBufferException(
7610                e.getMessage()).setUnfinishedMessage(this);
7611          } finally {
7612            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7613              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
7614            }
7615            if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
7616              supertype_ = java.util.Collections.unmodifiableList(supertype_);
7617            }
7618            if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
7619              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
7620            }
7621            if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
7622              member_ = java.util.Collections.unmodifiableList(member_);
7623            }
7624            if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
7625              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
7626            }
7627            makeExtensionsImmutable();
7628          }
7629        }
7630        public static com.google.protobuf.Parser<Class> PARSER =
7631            new com.google.protobuf.AbstractParser<Class>() {
7632          public Class parsePartialFrom(
7633              com.google.protobuf.CodedInputStream input,
7634              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7635              throws com.google.protobuf.InvalidProtocolBufferException {
7636            return new Class(input, extensionRegistry);
7637          }
7638        };
7639    
7640        @java.lang.Override
7641        public com.google.protobuf.Parser<Class> getParserForType() {
7642          return PARSER;
7643        }
7644    
7645        /**
7646         * Protobuf enum {@code org.jetbrains.jet.descriptors.serialization.Class.Kind}
7647         */
7648        public enum Kind
7649            implements com.google.protobuf.Internal.EnumLite {
7650          /**
7651           * <code>CLASS = 0;</code>
7652           *
7653           * <pre>
7654           * 3 bits
7655           * </pre>
7656           */
7657          CLASS(0, 0),
7658          /**
7659           * <code>TRAIT = 1;</code>
7660           */
7661          TRAIT(1, 1),
7662          /**
7663           * <code>ENUM_CLASS = 2;</code>
7664           */
7665          ENUM_CLASS(2, 2),
7666          /**
7667           * <code>ENUM_ENTRY = 3;</code>
7668           */
7669          ENUM_ENTRY(3, 3),
7670          /**
7671           * <code>ANNOTATION_CLASS = 4;</code>
7672           */
7673          ANNOTATION_CLASS(4, 4),
7674          /**
7675           * <code>OBJECT = 5;</code>
7676           */
7677          OBJECT(5, 5),
7678          /**
7679           * <code>CLASS_OBJECT = 6;</code>
7680           */
7681          CLASS_OBJECT(6, 6),
7682          ;
7683    
7684          /**
7685           * <code>CLASS = 0;</code>
7686           *
7687           * <pre>
7688           * 3 bits
7689           * </pre>
7690           */
7691          public static final int CLASS_VALUE = 0;
7692          /**
7693           * <code>TRAIT = 1;</code>
7694           */
7695          public static final int TRAIT_VALUE = 1;
7696          /**
7697           * <code>ENUM_CLASS = 2;</code>
7698           */
7699          public static final int ENUM_CLASS_VALUE = 2;
7700          /**
7701           * <code>ENUM_ENTRY = 3;</code>
7702           */
7703          public static final int ENUM_ENTRY_VALUE = 3;
7704          /**
7705           * <code>ANNOTATION_CLASS = 4;</code>
7706           */
7707          public static final int ANNOTATION_CLASS_VALUE = 4;
7708          /**
7709           * <code>OBJECT = 5;</code>
7710           */
7711          public static final int OBJECT_VALUE = 5;
7712          /**
7713           * <code>CLASS_OBJECT = 6;</code>
7714           */
7715          public static final int CLASS_OBJECT_VALUE = 6;
7716    
7717    
7718          public final int getNumber() { return value; }
7719    
7720          public static Kind valueOf(int value) {
7721            switch (value) {
7722              case 0: return CLASS;
7723              case 1: return TRAIT;
7724              case 2: return ENUM_CLASS;
7725              case 3: return ENUM_ENTRY;
7726              case 4: return ANNOTATION_CLASS;
7727              case 5: return OBJECT;
7728              case 6: return CLASS_OBJECT;
7729              default: return null;
7730            }
7731          }
7732    
7733          public static com.google.protobuf.Internal.EnumLiteMap<Kind>
7734              internalGetValueMap() {
7735            return internalValueMap;
7736          }
7737          private static com.google.protobuf.Internal.EnumLiteMap<Kind>
7738              internalValueMap =
7739                new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
7740                  public Kind findValueByNumber(int number) {
7741                    return Kind.valueOf(number);
7742                  }
7743                };
7744    
7745          private final int value;
7746    
7747          private Kind(int index, int value) {
7748            this.value = value;
7749          }
7750    
7751          // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Class.Kind)
7752        }
7753    
7754        public interface ClassObjectOrBuilder
7755            extends com.google.protobuf.MessageLiteOrBuilder {
7756    
7757          // optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;
7758          /**
7759           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;</code>
7760           *
7761           * <pre>
7762           * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
7763           * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
7764           * </pre>
7765           */
7766          boolean hasData();
7767          /**
7768           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;</code>
7769           *
7770           * <pre>
7771           * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
7772           * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
7773           * </pre>
7774           */
7775          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class getData();
7776        }
7777        /**
7778         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Class.ClassObject}
7779         */
7780        public static final class ClassObject extends
7781            com.google.protobuf.GeneratedMessageLite
7782            implements ClassObjectOrBuilder {
7783          // Use ClassObject.newBuilder() to construct.
7784          private ClassObject(com.google.protobuf.GeneratedMessageLite.Builder builder) {
7785            super(builder);
7786    
7787          }
7788          private ClassObject(boolean noInit) {}
7789    
7790          private static final ClassObject defaultInstance;
7791          public static ClassObject getDefaultInstance() {
7792            return defaultInstance;
7793          }
7794    
7795          public ClassObject getDefaultInstanceForType() {
7796            return defaultInstance;
7797          }
7798    
7799          private ClassObject(
7800              com.google.protobuf.CodedInputStream input,
7801              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7802              throws com.google.protobuf.InvalidProtocolBufferException {
7803            initFields();
7804            int mutable_bitField0_ = 0;
7805            try {
7806              boolean done = false;
7807              while (!done) {
7808                int tag = input.readTag();
7809                switch (tag) {
7810                  case 0:
7811                    done = true;
7812                    break;
7813                  default: {
7814                    if (!parseUnknownField(input,
7815                                           extensionRegistry, tag)) {
7816                      done = true;
7817                    }
7818                    break;
7819                  }
7820                  case 10: {
7821                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.Builder subBuilder = null;
7822                    if (((bitField0_ & 0x00000001) == 0x00000001)) {
7823                      subBuilder = data_.toBuilder();
7824                    }
7825                    data_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PARSER, extensionRegistry);
7826                    if (subBuilder != null) {
7827                      subBuilder.mergeFrom(data_);
7828                      data_ = subBuilder.buildPartial();
7829                    }
7830                    bitField0_ |= 0x00000001;
7831                    break;
7832                  }
7833                }
7834              }
7835            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7836              throw e.setUnfinishedMessage(this);
7837            } catch (java.io.IOException e) {
7838              throw new com.google.protobuf.InvalidProtocolBufferException(
7839                  e.getMessage()).setUnfinishedMessage(this);
7840            } finally {
7841              makeExtensionsImmutable();
7842            }
7843          }
7844          public static com.google.protobuf.Parser<ClassObject> PARSER =
7845              new com.google.protobuf.AbstractParser<ClassObject>() {
7846            public ClassObject parsePartialFrom(
7847                com.google.protobuf.CodedInputStream input,
7848                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7849                throws com.google.protobuf.InvalidProtocolBufferException {
7850              return new ClassObject(input, extensionRegistry);
7851            }
7852          };
7853    
7854          @java.lang.Override
7855          public com.google.protobuf.Parser<ClassObject> getParserForType() {
7856            return PARSER;
7857          }
7858    
7859          private int bitField0_;
7860          // optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;
7861          public static final int DATA_FIELD_NUMBER = 1;
7862          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class data_;
7863          /**
7864           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;</code>
7865           *
7866           * <pre>
7867           * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
7868           * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
7869           * </pre>
7870           */
7871          public boolean hasData() {
7872            return ((bitField0_ & 0x00000001) == 0x00000001);
7873          }
7874          /**
7875           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;</code>
7876           *
7877           * <pre>
7878           * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
7879           * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
7880           * </pre>
7881           */
7882          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class getData() {
7883            return data_;
7884          }
7885    
7886          private void initFields() {
7887            data_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.getDefaultInstance();
7888          }
7889          private byte memoizedIsInitialized = -1;
7890          public final boolean isInitialized() {
7891            byte isInitialized = memoizedIsInitialized;
7892            if (isInitialized != -1) return isInitialized == 1;
7893    
7894            if (hasData()) {
7895              if (!getData().isInitialized()) {
7896                memoizedIsInitialized = 0;
7897                return false;
7898              }
7899            }
7900            memoizedIsInitialized = 1;
7901            return true;
7902          }
7903    
7904          public void writeTo(com.google.protobuf.CodedOutputStream output)
7905                              throws java.io.IOException {
7906            getSerializedSize();
7907            if (((bitField0_ & 0x00000001) == 0x00000001)) {
7908              output.writeMessage(1, data_);
7909            }
7910          }
7911    
7912          private int memoizedSerializedSize = -1;
7913          public int getSerializedSize() {
7914            int size = memoizedSerializedSize;
7915            if (size != -1) return size;
7916    
7917            size = 0;
7918            if (((bitField0_ & 0x00000001) == 0x00000001)) {
7919              size += com.google.protobuf.CodedOutputStream
7920                .computeMessageSize(1, data_);
7921            }
7922            memoizedSerializedSize = size;
7923            return size;
7924          }
7925    
7926          private static final long serialVersionUID = 0L;
7927          @java.lang.Override
7928          protected java.lang.Object writeReplace()
7929              throws java.io.ObjectStreamException {
7930            return super.writeReplace();
7931          }
7932    
7933          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parseFrom(
7934              com.google.protobuf.ByteString data)
7935              throws com.google.protobuf.InvalidProtocolBufferException {
7936            return PARSER.parseFrom(data);
7937          }
7938          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parseFrom(
7939              com.google.protobuf.ByteString data,
7940              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7941              throws com.google.protobuf.InvalidProtocolBufferException {
7942            return PARSER.parseFrom(data, extensionRegistry);
7943          }
7944          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parseFrom(byte[] data)
7945              throws com.google.protobuf.InvalidProtocolBufferException {
7946            return PARSER.parseFrom(data);
7947          }
7948          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parseFrom(
7949              byte[] data,
7950              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7951              throws com.google.protobuf.InvalidProtocolBufferException {
7952            return PARSER.parseFrom(data, extensionRegistry);
7953          }
7954          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parseFrom(java.io.InputStream input)
7955              throws java.io.IOException {
7956            return PARSER.parseFrom(input);
7957          }
7958          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parseFrom(
7959              java.io.InputStream input,
7960              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7961              throws java.io.IOException {
7962            return PARSER.parseFrom(input, extensionRegistry);
7963          }
7964          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parseDelimitedFrom(java.io.InputStream input)
7965              throws java.io.IOException {
7966            return PARSER.parseDelimitedFrom(input);
7967          }
7968          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parseDelimitedFrom(
7969              java.io.InputStream input,
7970              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7971              throws java.io.IOException {
7972            return PARSER.parseDelimitedFrom(input, extensionRegistry);
7973          }
7974          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parseFrom(
7975              com.google.protobuf.CodedInputStream input)
7976              throws java.io.IOException {
7977            return PARSER.parseFrom(input);
7978          }
7979          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parseFrom(
7980              com.google.protobuf.CodedInputStream input,
7981              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7982              throws java.io.IOException {
7983            return PARSER.parseFrom(input, extensionRegistry);
7984          }
7985    
7986          public static Builder newBuilder() { return Builder.create(); }
7987          public Builder newBuilderForType() { return newBuilder(); }
7988          public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject prototype) {
7989            return newBuilder().mergeFrom(prototype);
7990          }
7991          public Builder toBuilder() { return newBuilder(this); }
7992    
7993          /**
7994           * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Class.ClassObject}
7995           */
7996          public static final class Builder extends
7997              com.google.protobuf.GeneratedMessageLite.Builder<
7998                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject, Builder>
7999              implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObjectOrBuilder {
8000            // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.newBuilder()
8001            private Builder() {
8002              maybeForceBuilderInitialization();
8003            }
8004    
8005            private void maybeForceBuilderInitialization() {
8006            }
8007            private static Builder create() {
8008              return new Builder();
8009            }
8010    
8011            public Builder clear() {
8012              super.clear();
8013              data_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.getDefaultInstance();
8014              bitField0_ = (bitField0_ & ~0x00000001);
8015              return this;
8016            }
8017    
8018            public Builder clone() {
8019              return create().mergeFrom(buildPartial());
8020            }
8021    
8022            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject getDefaultInstanceForType() {
8023              return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.getDefaultInstance();
8024            }
8025    
8026            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject build() {
8027              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject result = buildPartial();
8028              if (!result.isInitialized()) {
8029                throw newUninitializedMessageException(result);
8030              }
8031              return result;
8032            }
8033    
8034            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject buildPartial() {
8035              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject(this);
8036              int from_bitField0_ = bitField0_;
8037              int to_bitField0_ = 0;
8038              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
8039                to_bitField0_ |= 0x00000001;
8040              }
8041              result.data_ = data_;
8042              result.bitField0_ = to_bitField0_;
8043              return result;
8044            }
8045    
8046            public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject other) {
8047              if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.getDefaultInstance()) return this;
8048              if (other.hasData()) {
8049                mergeData(other.getData());
8050              }
8051              return this;
8052            }
8053    
8054            public final boolean isInitialized() {
8055              if (hasData()) {
8056                if (!getData().isInitialized()) {
8057                  
8058                  return false;
8059                }
8060              }
8061              return true;
8062            }
8063    
8064            public Builder mergeFrom(
8065                com.google.protobuf.CodedInputStream input,
8066                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8067                throws java.io.IOException {
8068              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject parsedMessage = null;
8069              try {
8070                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
8071              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8072                parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject) e.getUnfinishedMessage();
8073                throw e;
8074              } finally {
8075                if (parsedMessage != null) {
8076                  mergeFrom(parsedMessage);
8077                }
8078              }
8079              return this;
8080            }
8081            private int bitField0_;
8082    
8083            // optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;
8084            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class data_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.getDefaultInstance();
8085            /**
8086             * <code>optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;</code>
8087             *
8088             * <pre>
8089             * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
8090             * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
8091             * </pre>
8092             */
8093            public boolean hasData() {
8094              return ((bitField0_ & 0x00000001) == 0x00000001);
8095            }
8096            /**
8097             * <code>optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;</code>
8098             *
8099             * <pre>
8100             * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
8101             * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
8102             * </pre>
8103             */
8104            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class getData() {
8105              return data_;
8106            }
8107            /**
8108             * <code>optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;</code>
8109             *
8110             * <pre>
8111             * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
8112             * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
8113             * </pre>
8114             */
8115            public Builder setData(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class value) {
8116              if (value == null) {
8117                throw new NullPointerException();
8118              }
8119              data_ = value;
8120    
8121              bitField0_ |= 0x00000001;
8122              return this;
8123            }
8124            /**
8125             * <code>optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;</code>
8126             *
8127             * <pre>
8128             * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
8129             * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
8130             * </pre>
8131             */
8132            public Builder setData(
8133                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.Builder builderForValue) {
8134              data_ = builderForValue.build();
8135    
8136              bitField0_ |= 0x00000001;
8137              return this;
8138            }
8139            /**
8140             * <code>optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;</code>
8141             *
8142             * <pre>
8143             * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
8144             * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
8145             * </pre>
8146             */
8147            public Builder mergeData(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class value) {
8148              if (((bitField0_ & 0x00000001) == 0x00000001) &&
8149                  data_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.getDefaultInstance()) {
8150                data_ =
8151                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.newBuilder(data_).mergeFrom(value).buildPartial();
8152              } else {
8153                data_ = value;
8154              }
8155    
8156              bitField0_ |= 0x00000001;
8157              return this;
8158            }
8159            /**
8160             * <code>optional .org.jetbrains.jet.descriptors.serialization.Class data = 1;</code>
8161             *
8162             * <pre>
8163             * If this field is present, it contains serialized data for a synthetic class object, for which there's no class file.
8164             * Otherwise class object was compiled to a separate class file and serialized data can be found in the annotation on that class
8165             * </pre>
8166             */
8167            public Builder clearData() {
8168              data_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.getDefaultInstance();
8169    
8170              bitField0_ = (bitField0_ & ~0x00000001);
8171              return this;
8172            }
8173    
8174            // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Class.ClassObject)
8175          }
8176    
8177          static {
8178            defaultInstance = new ClassObject(true);
8179            defaultInstance.initFields();
8180          }
8181    
8182          // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Class.ClassObject)
8183        }
8184    
8185        public interface PrimaryConstructorOrBuilder
8186            extends com.google.protobuf.MessageLiteOrBuilder {
8187    
8188          // optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;
8189          /**
8190           * <code>optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;</code>
8191           *
8192           * <pre>
8193           * If this field is present, it contains serialized data for the primary constructor.
8194           * Otherwise it's default and can be created manually upon deserialization
8195           * </pre>
8196           */
8197          boolean hasData();
8198          /**
8199           * <code>optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;</code>
8200           *
8201           * <pre>
8202           * If this field is present, it contains serialized data for the primary constructor.
8203           * Otherwise it's default and can be created manually upon deserialization
8204           * </pre>
8205           */
8206          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getData();
8207        }
8208        /**
8209         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor}
8210         */
8211        public static final class PrimaryConstructor extends
8212            com.google.protobuf.GeneratedMessageLite
8213            implements PrimaryConstructorOrBuilder {
8214          // Use PrimaryConstructor.newBuilder() to construct.
8215          private PrimaryConstructor(com.google.protobuf.GeneratedMessageLite.Builder builder) {
8216            super(builder);
8217    
8218          }
8219          private PrimaryConstructor(boolean noInit) {}
8220    
8221          private static final PrimaryConstructor defaultInstance;
8222          public static PrimaryConstructor getDefaultInstance() {
8223            return defaultInstance;
8224          }
8225    
8226          public PrimaryConstructor getDefaultInstanceForType() {
8227            return defaultInstance;
8228          }
8229    
8230          private PrimaryConstructor(
8231              com.google.protobuf.CodedInputStream input,
8232              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8233              throws com.google.protobuf.InvalidProtocolBufferException {
8234            initFields();
8235            int mutable_bitField0_ = 0;
8236            try {
8237              boolean done = false;
8238              while (!done) {
8239                int tag = input.readTag();
8240                switch (tag) {
8241                  case 0:
8242                    done = true;
8243                    break;
8244                  default: {
8245                    if (!parseUnknownField(input,
8246                                           extensionRegistry, tag)) {
8247                      done = true;
8248                    }
8249                    break;
8250                  }
8251                  case 10: {
8252                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder subBuilder = null;
8253                    if (((bitField0_ & 0x00000001) == 0x00000001)) {
8254                      subBuilder = data_.toBuilder();
8255                    }
8256                    data_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.PARSER, extensionRegistry);
8257                    if (subBuilder != null) {
8258                      subBuilder.mergeFrom(data_);
8259                      data_ = subBuilder.buildPartial();
8260                    }
8261                    bitField0_ |= 0x00000001;
8262                    break;
8263                  }
8264                }
8265              }
8266            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8267              throw e.setUnfinishedMessage(this);
8268            } catch (java.io.IOException e) {
8269              throw new com.google.protobuf.InvalidProtocolBufferException(
8270                  e.getMessage()).setUnfinishedMessage(this);
8271            } finally {
8272              makeExtensionsImmutable();
8273            }
8274          }
8275          public static com.google.protobuf.Parser<PrimaryConstructor> PARSER =
8276              new com.google.protobuf.AbstractParser<PrimaryConstructor>() {
8277            public PrimaryConstructor parsePartialFrom(
8278                com.google.protobuf.CodedInputStream input,
8279                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8280                throws com.google.protobuf.InvalidProtocolBufferException {
8281              return new PrimaryConstructor(input, extensionRegistry);
8282            }
8283          };
8284    
8285          @java.lang.Override
8286          public com.google.protobuf.Parser<PrimaryConstructor> getParserForType() {
8287            return PARSER;
8288          }
8289    
8290          private int bitField0_;
8291          // optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;
8292          public static final int DATA_FIELD_NUMBER = 1;
8293          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable data_;
8294          /**
8295           * <code>optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;</code>
8296           *
8297           * <pre>
8298           * If this field is present, it contains serialized data for the primary constructor.
8299           * Otherwise it's default and can be created manually upon deserialization
8300           * </pre>
8301           */
8302          public boolean hasData() {
8303            return ((bitField0_ & 0x00000001) == 0x00000001);
8304          }
8305          /**
8306           * <code>optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;</code>
8307           *
8308           * <pre>
8309           * If this field is present, it contains serialized data for the primary constructor.
8310           * Otherwise it's default and can be created manually upon deserialization
8311           * </pre>
8312           */
8313          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getData() {
8314            return data_;
8315          }
8316    
8317          private void initFields() {
8318            data_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance();
8319          }
8320          private byte memoizedIsInitialized = -1;
8321          public final boolean isInitialized() {
8322            byte isInitialized = memoizedIsInitialized;
8323            if (isInitialized != -1) return isInitialized == 1;
8324    
8325            if (hasData()) {
8326              if (!getData().isInitialized()) {
8327                memoizedIsInitialized = 0;
8328                return false;
8329              }
8330            }
8331            memoizedIsInitialized = 1;
8332            return true;
8333          }
8334    
8335          public void writeTo(com.google.protobuf.CodedOutputStream output)
8336                              throws java.io.IOException {
8337            getSerializedSize();
8338            if (((bitField0_ & 0x00000001) == 0x00000001)) {
8339              output.writeMessage(1, data_);
8340            }
8341          }
8342    
8343          private int memoizedSerializedSize = -1;
8344          public int getSerializedSize() {
8345            int size = memoizedSerializedSize;
8346            if (size != -1) return size;
8347    
8348            size = 0;
8349            if (((bitField0_ & 0x00000001) == 0x00000001)) {
8350              size += com.google.protobuf.CodedOutputStream
8351                .computeMessageSize(1, data_);
8352            }
8353            memoizedSerializedSize = size;
8354            return size;
8355          }
8356    
8357          private static final long serialVersionUID = 0L;
8358          @java.lang.Override
8359          protected java.lang.Object writeReplace()
8360              throws java.io.ObjectStreamException {
8361            return super.writeReplace();
8362          }
8363    
8364          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
8365              com.google.protobuf.ByteString data)
8366              throws com.google.protobuf.InvalidProtocolBufferException {
8367            return PARSER.parseFrom(data);
8368          }
8369          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
8370              com.google.protobuf.ByteString data,
8371              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8372              throws com.google.protobuf.InvalidProtocolBufferException {
8373            return PARSER.parseFrom(data, extensionRegistry);
8374          }
8375          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(byte[] data)
8376              throws com.google.protobuf.InvalidProtocolBufferException {
8377            return PARSER.parseFrom(data);
8378          }
8379          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
8380              byte[] data,
8381              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8382              throws com.google.protobuf.InvalidProtocolBufferException {
8383            return PARSER.parseFrom(data, extensionRegistry);
8384          }
8385          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(java.io.InputStream input)
8386              throws java.io.IOException {
8387            return PARSER.parseFrom(input);
8388          }
8389          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
8390              java.io.InputStream input,
8391              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8392              throws java.io.IOException {
8393            return PARSER.parseFrom(input, extensionRegistry);
8394          }
8395          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parseDelimitedFrom(java.io.InputStream input)
8396              throws java.io.IOException {
8397            return PARSER.parseDelimitedFrom(input);
8398          }
8399          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parseDelimitedFrom(
8400              java.io.InputStream input,
8401              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8402              throws java.io.IOException {
8403            return PARSER.parseDelimitedFrom(input, extensionRegistry);
8404          }
8405          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
8406              com.google.protobuf.CodedInputStream input)
8407              throws java.io.IOException {
8408            return PARSER.parseFrom(input);
8409          }
8410          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parseFrom(
8411              com.google.protobuf.CodedInputStream input,
8412              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8413              throws java.io.IOException {
8414            return PARSER.parseFrom(input, extensionRegistry);
8415          }
8416    
8417          public static Builder newBuilder() { return Builder.create(); }
8418          public Builder newBuilderForType() { return newBuilder(); }
8419          public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor prototype) {
8420            return newBuilder().mergeFrom(prototype);
8421          }
8422          public Builder toBuilder() { return newBuilder(this); }
8423    
8424          /**
8425           * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor}
8426           */
8427          public static final class Builder extends
8428              com.google.protobuf.GeneratedMessageLite.Builder<
8429                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor, Builder>
8430              implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructorOrBuilder {
8431            // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.newBuilder()
8432            private Builder() {
8433              maybeForceBuilderInitialization();
8434            }
8435    
8436            private void maybeForceBuilderInitialization() {
8437            }
8438            private static Builder create() {
8439              return new Builder();
8440            }
8441    
8442            public Builder clear() {
8443              super.clear();
8444              data_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance();
8445              bitField0_ = (bitField0_ & ~0x00000001);
8446              return this;
8447            }
8448    
8449            public Builder clone() {
8450              return create().mergeFrom(buildPartial());
8451            }
8452    
8453            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor getDefaultInstanceForType() {
8454              return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
8455            }
8456    
8457            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor build() {
8458              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor result = buildPartial();
8459              if (!result.isInitialized()) {
8460                throw newUninitializedMessageException(result);
8461              }
8462              return result;
8463            }
8464    
8465            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor buildPartial() {
8466              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor(this);
8467              int from_bitField0_ = bitField0_;
8468              int to_bitField0_ = 0;
8469              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
8470                to_bitField0_ |= 0x00000001;
8471              }
8472              result.data_ = data_;
8473              result.bitField0_ = to_bitField0_;
8474              return result;
8475            }
8476    
8477            public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor other) {
8478              if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance()) return this;
8479              if (other.hasData()) {
8480                mergeData(other.getData());
8481              }
8482              return this;
8483            }
8484    
8485            public final boolean isInitialized() {
8486              if (hasData()) {
8487                if (!getData().isInitialized()) {
8488                  
8489                  return false;
8490                }
8491              }
8492              return true;
8493            }
8494    
8495            public Builder mergeFrom(
8496                com.google.protobuf.CodedInputStream input,
8497                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8498                throws java.io.IOException {
8499              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor parsedMessage = null;
8500              try {
8501                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
8502              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8503                parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor) e.getUnfinishedMessage();
8504                throw e;
8505              } finally {
8506                if (parsedMessage != null) {
8507                  mergeFrom(parsedMessage);
8508                }
8509              }
8510              return this;
8511            }
8512            private int bitField0_;
8513    
8514            // optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;
8515            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable data_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance();
8516            /**
8517             * <code>optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;</code>
8518             *
8519             * <pre>
8520             * If this field is present, it contains serialized data for the primary constructor.
8521             * Otherwise it's default and can be created manually upon deserialization
8522             * </pre>
8523             */
8524            public boolean hasData() {
8525              return ((bitField0_ & 0x00000001) == 0x00000001);
8526            }
8527            /**
8528             * <code>optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;</code>
8529             *
8530             * <pre>
8531             * If this field is present, it contains serialized data for the primary constructor.
8532             * Otherwise it's default and can be created manually upon deserialization
8533             * </pre>
8534             */
8535            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getData() {
8536              return data_;
8537            }
8538            /**
8539             * <code>optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;</code>
8540             *
8541             * <pre>
8542             * If this field is present, it contains serialized data for the primary constructor.
8543             * Otherwise it's default and can be created manually upon deserialization
8544             * </pre>
8545             */
8546            public Builder setData(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
8547              if (value == null) {
8548                throw new NullPointerException();
8549              }
8550              data_ = value;
8551    
8552              bitField0_ |= 0x00000001;
8553              return this;
8554            }
8555            /**
8556             * <code>optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;</code>
8557             *
8558             * <pre>
8559             * If this field is present, it contains serialized data for the primary constructor.
8560             * Otherwise it's default and can be created manually upon deserialization
8561             * </pre>
8562             */
8563            public Builder setData(
8564                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder builderForValue) {
8565              data_ = builderForValue.build();
8566    
8567              bitField0_ |= 0x00000001;
8568              return this;
8569            }
8570            /**
8571             * <code>optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;</code>
8572             *
8573             * <pre>
8574             * If this field is present, it contains serialized data for the primary constructor.
8575             * Otherwise it's default and can be created manually upon deserialization
8576             * </pre>
8577             */
8578            public Builder mergeData(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
8579              if (((bitField0_ & 0x00000001) == 0x00000001) &&
8580                  data_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance()) {
8581                data_ =
8582                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.newBuilder(data_).mergeFrom(value).buildPartial();
8583              } else {
8584                data_ = value;
8585              }
8586    
8587              bitField0_ |= 0x00000001;
8588              return this;
8589            }
8590            /**
8591             * <code>optional .org.jetbrains.jet.descriptors.serialization.Callable data = 1;</code>
8592             *
8593             * <pre>
8594             * If this field is present, it contains serialized data for the primary constructor.
8595             * Otherwise it's default and can be created manually upon deserialization
8596             * </pre>
8597             */
8598            public Builder clearData() {
8599              data_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance();
8600    
8601              bitField0_ = (bitField0_ & ~0x00000001);
8602              return this;
8603            }
8604    
8605            // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor)
8606          }
8607    
8608          static {
8609            defaultInstance = new PrimaryConstructor(true);
8610            defaultInstance.initFields();
8611          }
8612    
8613          // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor)
8614        }
8615    
8616        private int bitField0_;
8617        // optional int32 flags = 1 [default = 0];
8618        public static final int FLAGS_FIELD_NUMBER = 1;
8619        private int flags_;
8620        /**
8621         * <code>optional int32 flags = 1 [default = 0];</code>
8622         *
8623         * <pre>
8624         *
8625         *Visibility
8626         *Modality
8627         *has_annotation
8628         *ClassKind
8629         *is_inner
8630         * </pre>
8631         */
8632        public boolean hasFlags() {
8633          return ((bitField0_ & 0x00000001) == 0x00000001);
8634        }
8635        /**
8636         * <code>optional int32 flags = 1 [default = 0];</code>
8637         *
8638         * <pre>
8639         *
8640         *Visibility
8641         *Modality
8642         *has_annotation
8643         *ClassKind
8644         *is_inner
8645         * </pre>
8646         */
8647        public int getFlags() {
8648          return flags_;
8649        }
8650    
8651        // optional string extra_visibility = 2;
8652        public static final int EXTRA_VISIBILITY_FIELD_NUMBER = 2;
8653        private java.lang.Object extraVisibility_;
8654        /**
8655         * <code>optional string extra_visibility = 2;</code>
8656         *
8657         * <pre>
8658         * for things like java-specific visibilities
8659         * </pre>
8660         */
8661        public boolean hasExtraVisibility() {
8662          return ((bitField0_ & 0x00000002) == 0x00000002);
8663        }
8664        /**
8665         * <code>optional string extra_visibility = 2;</code>
8666         *
8667         * <pre>
8668         * for things like java-specific visibilities
8669         * </pre>
8670         */
8671        public java.lang.String getExtraVisibility() {
8672          java.lang.Object ref = extraVisibility_;
8673          if (ref instanceof java.lang.String) {
8674            return (java.lang.String) ref;
8675          } else {
8676            com.google.protobuf.ByteString bs = 
8677                (com.google.protobuf.ByteString) ref;
8678            java.lang.String s = bs.toStringUtf8();
8679            if (bs.isValidUtf8()) {
8680              extraVisibility_ = s;
8681            }
8682            return s;
8683          }
8684        }
8685        /**
8686         * <code>optional string extra_visibility = 2;</code>
8687         *
8688         * <pre>
8689         * for things like java-specific visibilities
8690         * </pre>
8691         */
8692        public com.google.protobuf.ByteString
8693            getExtraVisibilityBytes() {
8694          java.lang.Object ref = extraVisibility_;
8695          if (ref instanceof java.lang.String) {
8696            com.google.protobuf.ByteString b = 
8697                com.google.protobuf.ByteString.copyFromUtf8(
8698                    (java.lang.String) ref);
8699            extraVisibility_ = b;
8700            return b;
8701          } else {
8702            return (com.google.protobuf.ByteString) ref;
8703          }
8704        }
8705    
8706        // required int32 fq_name = 3;
8707        public static final int FQ_NAME_FIELD_NUMBER = 3;
8708        private int fqName_;
8709        /**
8710         * <code>required int32 fq_name = 3;</code>
8711         */
8712        public boolean hasFqName() {
8713          return ((bitField0_ & 0x00000004) == 0x00000004);
8714        }
8715        /**
8716         * <code>required int32 fq_name = 3;</code>
8717         */
8718        public int getFqName() {
8719          return fqName_;
8720        }
8721    
8722        // optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;
8723        public static final int CLASS_OBJECT_FIELD_NUMBER = 4;
8724        private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject classObject_;
8725        /**
8726         * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;</code>
8727         *
8728         * <pre>
8729         * 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
8730         * </pre>
8731         */
8732        public boolean hasClassObject() {
8733          return ((bitField0_ & 0x00000008) == 0x00000008);
8734        }
8735        /**
8736         * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;</code>
8737         *
8738         * <pre>
8739         * 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
8740         * </pre>
8741         */
8742        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject getClassObject() {
8743          return classObject_;
8744        }
8745    
8746        // repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;
8747        public static final int TYPE_PARAMETER_FIELD_NUMBER = 5;
8748        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> typeParameter_;
8749        /**
8750         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
8751         */
8752        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
8753          return typeParameter_;
8754        }
8755        /**
8756         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
8757         */
8758        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameterOrBuilder> 
8759            getTypeParameterOrBuilderList() {
8760          return typeParameter_;
8761        }
8762        /**
8763         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
8764         */
8765        public int getTypeParameterCount() {
8766          return typeParameter_.size();
8767        }
8768        /**
8769         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
8770         */
8771        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
8772          return typeParameter_.get(index);
8773        }
8774        /**
8775         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
8776         */
8777        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
8778            int index) {
8779          return typeParameter_.get(index);
8780        }
8781    
8782        // repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;
8783        public static final int SUPERTYPE_FIELD_NUMBER = 6;
8784        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> supertype_;
8785        /**
8786         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
8787         */
8788        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> getSupertypeList() {
8789          return supertype_;
8790        }
8791        /**
8792         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
8793         */
8794        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeOrBuilder> 
8795            getSupertypeOrBuilderList() {
8796          return supertype_;
8797        }
8798        /**
8799         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
8800         */
8801        public int getSupertypeCount() {
8802          return supertype_.size();
8803        }
8804        /**
8805         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
8806         */
8807        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getSupertype(int index) {
8808          return supertype_.get(index);
8809        }
8810        /**
8811         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
8812         */
8813        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeOrBuilder getSupertypeOrBuilder(
8814            int index) {
8815          return supertype_.get(index);
8816        }
8817    
8818        // repeated int32 nested_class_name = 7;
8819        public static final int NESTED_CLASS_NAME_FIELD_NUMBER = 7;
8820        private java.util.List<java.lang.Integer> nestedClassName_;
8821        /**
8822         * <code>repeated int32 nested_class_name = 7;</code>
8823         *
8824         * <pre>
8825         * we store only names, because the actual information must reside in the corresponding .class files,
8826         * to be obtainable through reflection at runtime
8827         * </pre>
8828         */
8829        public java.util.List<java.lang.Integer>
8830            getNestedClassNameList() {
8831          return nestedClassName_;
8832        }
8833        /**
8834         * <code>repeated int32 nested_class_name = 7;</code>
8835         *
8836         * <pre>
8837         * we store only names, because the actual information must reside in the corresponding .class files,
8838         * to be obtainable through reflection at runtime
8839         * </pre>
8840         */
8841        public int getNestedClassNameCount() {
8842          return nestedClassName_.size();
8843        }
8844        /**
8845         * <code>repeated int32 nested_class_name = 7;</code>
8846         *
8847         * <pre>
8848         * we store only names, because the actual information must reside in the corresponding .class files,
8849         * to be obtainable through reflection at runtime
8850         * </pre>
8851         */
8852        public int getNestedClassName(int index) {
8853          return nestedClassName_.get(index);
8854        }
8855    
8856        // repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;
8857        public static final int MEMBER_FIELD_NUMBER = 11;
8858        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> member_;
8859        /**
8860         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
8861         */
8862        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> getMemberList() {
8863          return member_;
8864        }
8865        /**
8866         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
8867         */
8868        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.CallableOrBuilder> 
8869            getMemberOrBuilderList() {
8870          return member_;
8871        }
8872        /**
8873         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
8874         */
8875        public int getMemberCount() {
8876          return member_.size();
8877        }
8878        /**
8879         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
8880         */
8881        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getMember(int index) {
8882          return member_.get(index);
8883        }
8884        /**
8885         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
8886         */
8887        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.CallableOrBuilder getMemberOrBuilder(
8888            int index) {
8889          return member_.get(index);
8890        }
8891    
8892        // repeated int32 enum_entry = 12;
8893        public static final int ENUM_ENTRY_FIELD_NUMBER = 12;
8894        private java.util.List<java.lang.Integer> enumEntry_;
8895        /**
8896         * <code>repeated int32 enum_entry = 12;</code>
8897         */
8898        public java.util.List<java.lang.Integer>
8899            getEnumEntryList() {
8900          return enumEntry_;
8901        }
8902        /**
8903         * <code>repeated int32 enum_entry = 12;</code>
8904         */
8905        public int getEnumEntryCount() {
8906          return enumEntry_.size();
8907        }
8908        /**
8909         * <code>repeated int32 enum_entry = 12;</code>
8910         */
8911        public int getEnumEntry(int index) {
8912          return enumEntry_.get(index);
8913        }
8914    
8915        // optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;
8916        public static final int PRIMARY_CONSTRUCTOR_FIELD_NUMBER = 13;
8917        private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor primaryConstructor_;
8918        /**
8919         * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
8920         *
8921         * <pre>
8922         * This field is present if and only if the class has a primary constructor
8923         * </pre>
8924         */
8925        public boolean hasPrimaryConstructor() {
8926          return ((bitField0_ & 0x00000010) == 0x00000010);
8927        }
8928        /**
8929         * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
8930         *
8931         * <pre>
8932         * This field is present if and only if the class has a primary constructor
8933         * </pre>
8934         */
8935        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor getPrimaryConstructor() {
8936          return primaryConstructor_;
8937        }
8938    
8939        private void initFields() {
8940          flags_ = 0;
8941          extraVisibility_ = "";
8942          fqName_ = 0;
8943          classObject_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.getDefaultInstance();
8944          typeParameter_ = java.util.Collections.emptyList();
8945          supertype_ = java.util.Collections.emptyList();
8946          nestedClassName_ = java.util.Collections.emptyList();
8947          member_ = java.util.Collections.emptyList();
8948          enumEntry_ = java.util.Collections.emptyList();
8949          primaryConstructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
8950        }
8951        private byte memoizedIsInitialized = -1;
8952        public final boolean isInitialized() {
8953          byte isInitialized = memoizedIsInitialized;
8954          if (isInitialized != -1) return isInitialized == 1;
8955    
8956          if (!hasFqName()) {
8957            memoizedIsInitialized = 0;
8958            return false;
8959          }
8960          if (hasClassObject()) {
8961            if (!getClassObject().isInitialized()) {
8962              memoizedIsInitialized = 0;
8963              return false;
8964            }
8965          }
8966          for (int i = 0; i < getTypeParameterCount(); i++) {
8967            if (!getTypeParameter(i).isInitialized()) {
8968              memoizedIsInitialized = 0;
8969              return false;
8970            }
8971          }
8972          for (int i = 0; i < getSupertypeCount(); i++) {
8973            if (!getSupertype(i).isInitialized()) {
8974              memoizedIsInitialized = 0;
8975              return false;
8976            }
8977          }
8978          for (int i = 0; i < getMemberCount(); i++) {
8979            if (!getMember(i).isInitialized()) {
8980              memoizedIsInitialized = 0;
8981              return false;
8982            }
8983          }
8984          if (hasPrimaryConstructor()) {
8985            if (!getPrimaryConstructor().isInitialized()) {
8986              memoizedIsInitialized = 0;
8987              return false;
8988            }
8989          }
8990          if (!extensionsAreInitialized()) {
8991            memoizedIsInitialized = 0;
8992            return false;
8993          }
8994          memoizedIsInitialized = 1;
8995          return true;
8996        }
8997    
8998        public void writeTo(com.google.protobuf.CodedOutputStream output)
8999                            throws java.io.IOException {
9000          getSerializedSize();
9001          com.google.protobuf.GeneratedMessageLite
9002            .ExtendableMessage<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class>.ExtensionWriter extensionWriter =
9003              newExtensionWriter();
9004          if (((bitField0_ & 0x00000001) == 0x00000001)) {
9005            output.writeInt32(1, flags_);
9006          }
9007          if (((bitField0_ & 0x00000002) == 0x00000002)) {
9008            output.writeBytes(2, getExtraVisibilityBytes());
9009          }
9010          if (((bitField0_ & 0x00000004) == 0x00000004)) {
9011            output.writeInt32(3, fqName_);
9012          }
9013          if (((bitField0_ & 0x00000008) == 0x00000008)) {
9014            output.writeMessage(4, classObject_);
9015          }
9016          for (int i = 0; i < typeParameter_.size(); i++) {
9017            output.writeMessage(5, typeParameter_.get(i));
9018          }
9019          for (int i = 0; i < supertype_.size(); i++) {
9020            output.writeMessage(6, supertype_.get(i));
9021          }
9022          for (int i = 0; i < nestedClassName_.size(); i++) {
9023            output.writeInt32(7, nestedClassName_.get(i));
9024          }
9025          for (int i = 0; i < member_.size(); i++) {
9026            output.writeMessage(11, member_.get(i));
9027          }
9028          for (int i = 0; i < enumEntry_.size(); i++) {
9029            output.writeInt32(12, enumEntry_.get(i));
9030          }
9031          if (((bitField0_ & 0x00000010) == 0x00000010)) {
9032            output.writeMessage(13, primaryConstructor_);
9033          }
9034          extensionWriter.writeUntil(200, output);
9035        }
9036    
9037        private int memoizedSerializedSize = -1;
9038        public int getSerializedSize() {
9039          int size = memoizedSerializedSize;
9040          if (size != -1) return size;
9041    
9042          size = 0;
9043          if (((bitField0_ & 0x00000001) == 0x00000001)) {
9044            size += com.google.protobuf.CodedOutputStream
9045              .computeInt32Size(1, flags_);
9046          }
9047          if (((bitField0_ & 0x00000002) == 0x00000002)) {
9048            size += com.google.protobuf.CodedOutputStream
9049              .computeBytesSize(2, getExtraVisibilityBytes());
9050          }
9051          if (((bitField0_ & 0x00000004) == 0x00000004)) {
9052            size += com.google.protobuf.CodedOutputStream
9053              .computeInt32Size(3, fqName_);
9054          }
9055          if (((bitField0_ & 0x00000008) == 0x00000008)) {
9056            size += com.google.protobuf.CodedOutputStream
9057              .computeMessageSize(4, classObject_);
9058          }
9059          for (int i = 0; i < typeParameter_.size(); i++) {
9060            size += com.google.protobuf.CodedOutputStream
9061              .computeMessageSize(5, typeParameter_.get(i));
9062          }
9063          for (int i = 0; i < supertype_.size(); i++) {
9064            size += com.google.protobuf.CodedOutputStream
9065              .computeMessageSize(6, supertype_.get(i));
9066          }
9067          {
9068            int dataSize = 0;
9069            for (int i = 0; i < nestedClassName_.size(); i++) {
9070              dataSize += com.google.protobuf.CodedOutputStream
9071                .computeInt32SizeNoTag(nestedClassName_.get(i));
9072            }
9073            size += dataSize;
9074            size += 1 * getNestedClassNameList().size();
9075          }
9076          for (int i = 0; i < member_.size(); i++) {
9077            size += com.google.protobuf.CodedOutputStream
9078              .computeMessageSize(11, member_.get(i));
9079          }
9080          {
9081            int dataSize = 0;
9082            for (int i = 0; i < enumEntry_.size(); i++) {
9083              dataSize += com.google.protobuf.CodedOutputStream
9084                .computeInt32SizeNoTag(enumEntry_.get(i));
9085            }
9086            size += dataSize;
9087            size += 1 * getEnumEntryList().size();
9088          }
9089          if (((bitField0_ & 0x00000010) == 0x00000010)) {
9090            size += com.google.protobuf.CodedOutputStream
9091              .computeMessageSize(13, primaryConstructor_);
9092          }
9093          size += extensionsSerializedSize();
9094          memoizedSerializedSize = size;
9095          return size;
9096        }
9097    
9098        private static final long serialVersionUID = 0L;
9099        @java.lang.Override
9100        protected java.lang.Object writeReplace()
9101            throws java.io.ObjectStreamException {
9102          return super.writeReplace();
9103        }
9104    
9105        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(
9106            com.google.protobuf.ByteString data)
9107            throws com.google.protobuf.InvalidProtocolBufferException {
9108          return PARSER.parseFrom(data);
9109        }
9110        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(
9111            com.google.protobuf.ByteString data,
9112            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9113            throws com.google.protobuf.InvalidProtocolBufferException {
9114          return PARSER.parseFrom(data, extensionRegistry);
9115        }
9116        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(byte[] data)
9117            throws com.google.protobuf.InvalidProtocolBufferException {
9118          return PARSER.parseFrom(data);
9119        }
9120        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(
9121            byte[] data,
9122            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9123            throws com.google.protobuf.InvalidProtocolBufferException {
9124          return PARSER.parseFrom(data, extensionRegistry);
9125        }
9126        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(java.io.InputStream input)
9127            throws java.io.IOException {
9128          return PARSER.parseFrom(input);
9129        }
9130        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(
9131            java.io.InputStream input,
9132            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9133            throws java.io.IOException {
9134          return PARSER.parseFrom(input, extensionRegistry);
9135        }
9136        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseDelimitedFrom(java.io.InputStream input)
9137            throws java.io.IOException {
9138          return PARSER.parseDelimitedFrom(input);
9139        }
9140        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseDelimitedFrom(
9141            java.io.InputStream input,
9142            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9143            throws java.io.IOException {
9144          return PARSER.parseDelimitedFrom(input, extensionRegistry);
9145        }
9146        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(
9147            com.google.protobuf.CodedInputStream input)
9148            throws java.io.IOException {
9149          return PARSER.parseFrom(input);
9150        }
9151        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(
9152            com.google.protobuf.CodedInputStream input,
9153            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9154            throws java.io.IOException {
9155          return PARSER.parseFrom(input, extensionRegistry);
9156        }
9157    
9158        public static Builder newBuilder() { return Builder.create(); }
9159        public Builder newBuilderForType() { return newBuilder(); }
9160        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class prototype) {
9161          return newBuilder().mergeFrom(prototype);
9162        }
9163        public Builder toBuilder() { return newBuilder(this); }
9164    
9165        /**
9166         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Class}
9167         */
9168        public static final class Builder extends
9169            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
9170              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class, Builder> implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.ClassOrBuilder {
9171          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.newBuilder()
9172          private Builder() {
9173            maybeForceBuilderInitialization();
9174          }
9175    
9176          private void maybeForceBuilderInitialization() {
9177          }
9178          private static Builder create() {
9179            return new Builder();
9180          }
9181    
9182          public Builder clear() {
9183            super.clear();
9184            flags_ = 0;
9185            bitField0_ = (bitField0_ & ~0x00000001);
9186            extraVisibility_ = "";
9187            bitField0_ = (bitField0_ & ~0x00000002);
9188            fqName_ = 0;
9189            bitField0_ = (bitField0_ & ~0x00000004);
9190            classObject_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.getDefaultInstance();
9191            bitField0_ = (bitField0_ & ~0x00000008);
9192            typeParameter_ = java.util.Collections.emptyList();
9193            bitField0_ = (bitField0_ & ~0x00000010);
9194            supertype_ = java.util.Collections.emptyList();
9195            bitField0_ = (bitField0_ & ~0x00000020);
9196            nestedClassName_ = java.util.Collections.emptyList();
9197            bitField0_ = (bitField0_ & ~0x00000040);
9198            member_ = java.util.Collections.emptyList();
9199            bitField0_ = (bitField0_ & ~0x00000080);
9200            enumEntry_ = java.util.Collections.emptyList();
9201            bitField0_ = (bitField0_ & ~0x00000100);
9202            primaryConstructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
9203            bitField0_ = (bitField0_ & ~0x00000200);
9204            return this;
9205          }
9206    
9207          public Builder clone() {
9208            return create().mergeFrom(buildPartial());
9209          }
9210    
9211          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class getDefaultInstanceForType() {
9212            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.getDefaultInstance();
9213          }
9214    
9215          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class build() {
9216            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class result = buildPartial();
9217            if (!result.isInitialized()) {
9218              throw newUninitializedMessageException(result);
9219            }
9220            return result;
9221          }
9222    
9223          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class buildPartial() {
9224            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class(this);
9225            int from_bitField0_ = bitField0_;
9226            int to_bitField0_ = 0;
9227            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
9228              to_bitField0_ |= 0x00000001;
9229            }
9230            result.flags_ = flags_;
9231            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
9232              to_bitField0_ |= 0x00000002;
9233            }
9234            result.extraVisibility_ = extraVisibility_;
9235            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
9236              to_bitField0_ |= 0x00000004;
9237            }
9238            result.fqName_ = fqName_;
9239            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
9240              to_bitField0_ |= 0x00000008;
9241            }
9242            result.classObject_ = classObject_;
9243            if (((bitField0_ & 0x00000010) == 0x00000010)) {
9244              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
9245              bitField0_ = (bitField0_ & ~0x00000010);
9246            }
9247            result.typeParameter_ = typeParameter_;
9248            if (((bitField0_ & 0x00000020) == 0x00000020)) {
9249              supertype_ = java.util.Collections.unmodifiableList(supertype_);
9250              bitField0_ = (bitField0_ & ~0x00000020);
9251            }
9252            result.supertype_ = supertype_;
9253            if (((bitField0_ & 0x00000040) == 0x00000040)) {
9254              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
9255              bitField0_ = (bitField0_ & ~0x00000040);
9256            }
9257            result.nestedClassName_ = nestedClassName_;
9258            if (((bitField0_ & 0x00000080) == 0x00000080)) {
9259              member_ = java.util.Collections.unmodifiableList(member_);
9260              bitField0_ = (bitField0_ & ~0x00000080);
9261            }
9262            result.member_ = member_;
9263            if (((bitField0_ & 0x00000100) == 0x00000100)) {
9264              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
9265              bitField0_ = (bitField0_ & ~0x00000100);
9266            }
9267            result.enumEntry_ = enumEntry_;
9268            if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
9269              to_bitField0_ |= 0x00000010;
9270            }
9271            result.primaryConstructor_ = primaryConstructor_;
9272            result.bitField0_ = to_bitField0_;
9273            return result;
9274          }
9275    
9276          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class other) {
9277            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.getDefaultInstance()) return this;
9278            if (other.hasFlags()) {
9279              setFlags(other.getFlags());
9280            }
9281            if (other.hasExtraVisibility()) {
9282              bitField0_ |= 0x00000002;
9283              extraVisibility_ = other.extraVisibility_;
9284              
9285            }
9286            if (other.hasFqName()) {
9287              setFqName(other.getFqName());
9288            }
9289            if (other.hasClassObject()) {
9290              mergeClassObject(other.getClassObject());
9291            }
9292            if (!other.typeParameter_.isEmpty()) {
9293              if (typeParameter_.isEmpty()) {
9294                typeParameter_ = other.typeParameter_;
9295                bitField0_ = (bitField0_ & ~0x00000010);
9296              } else {
9297                ensureTypeParameterIsMutable();
9298                typeParameter_.addAll(other.typeParameter_);
9299              }
9300              
9301            }
9302            if (!other.supertype_.isEmpty()) {
9303              if (supertype_.isEmpty()) {
9304                supertype_ = other.supertype_;
9305                bitField0_ = (bitField0_ & ~0x00000020);
9306              } else {
9307                ensureSupertypeIsMutable();
9308                supertype_.addAll(other.supertype_);
9309              }
9310              
9311            }
9312            if (!other.nestedClassName_.isEmpty()) {
9313              if (nestedClassName_.isEmpty()) {
9314                nestedClassName_ = other.nestedClassName_;
9315                bitField0_ = (bitField0_ & ~0x00000040);
9316              } else {
9317                ensureNestedClassNameIsMutable();
9318                nestedClassName_.addAll(other.nestedClassName_);
9319              }
9320              
9321            }
9322            if (!other.member_.isEmpty()) {
9323              if (member_.isEmpty()) {
9324                member_ = other.member_;
9325                bitField0_ = (bitField0_ & ~0x00000080);
9326              } else {
9327                ensureMemberIsMutable();
9328                member_.addAll(other.member_);
9329              }
9330              
9331            }
9332            if (!other.enumEntry_.isEmpty()) {
9333              if (enumEntry_.isEmpty()) {
9334                enumEntry_ = other.enumEntry_;
9335                bitField0_ = (bitField0_ & ~0x00000100);
9336              } else {
9337                ensureEnumEntryIsMutable();
9338                enumEntry_.addAll(other.enumEntry_);
9339              }
9340              
9341            }
9342            if (other.hasPrimaryConstructor()) {
9343              mergePrimaryConstructor(other.getPrimaryConstructor());
9344            }
9345            this.mergeExtensionFields(other);
9346            return this;
9347          }
9348    
9349          public final boolean isInitialized() {
9350            if (!hasFqName()) {
9351              
9352              return false;
9353            }
9354            if (hasClassObject()) {
9355              if (!getClassObject().isInitialized()) {
9356                
9357                return false;
9358              }
9359            }
9360            for (int i = 0; i < getTypeParameterCount(); i++) {
9361              if (!getTypeParameter(i).isInitialized()) {
9362                
9363                return false;
9364              }
9365            }
9366            for (int i = 0; i < getSupertypeCount(); i++) {
9367              if (!getSupertype(i).isInitialized()) {
9368                
9369                return false;
9370              }
9371            }
9372            for (int i = 0; i < getMemberCount(); i++) {
9373              if (!getMember(i).isInitialized()) {
9374                
9375                return false;
9376              }
9377            }
9378            if (hasPrimaryConstructor()) {
9379              if (!getPrimaryConstructor().isInitialized()) {
9380                
9381                return false;
9382              }
9383            }
9384            if (!extensionsAreInitialized()) {
9385              
9386              return false;
9387            }
9388            return true;
9389          }
9390    
9391          public Builder mergeFrom(
9392              com.google.protobuf.CodedInputStream input,
9393              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9394              throws java.io.IOException {
9395            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parsedMessage = null;
9396            try {
9397              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
9398            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
9399              parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class) e.getUnfinishedMessage();
9400              throw e;
9401            } finally {
9402              if (parsedMessage != null) {
9403                mergeFrom(parsedMessage);
9404              }
9405            }
9406            return this;
9407          }
9408          private int bitField0_;
9409    
9410          // optional int32 flags = 1 [default = 0];
9411          private int flags_ ;
9412          /**
9413           * <code>optional int32 flags = 1 [default = 0];</code>
9414           *
9415           * <pre>
9416           *
9417           *Visibility
9418           *Modality
9419           *has_annotation
9420           *ClassKind
9421           *is_inner
9422           * </pre>
9423           */
9424          public boolean hasFlags() {
9425            return ((bitField0_ & 0x00000001) == 0x00000001);
9426          }
9427          /**
9428           * <code>optional int32 flags = 1 [default = 0];</code>
9429           *
9430           * <pre>
9431           *
9432           *Visibility
9433           *Modality
9434           *has_annotation
9435           *ClassKind
9436           *is_inner
9437           * </pre>
9438           */
9439          public int getFlags() {
9440            return flags_;
9441          }
9442          /**
9443           * <code>optional int32 flags = 1 [default = 0];</code>
9444           *
9445           * <pre>
9446           *
9447           *Visibility
9448           *Modality
9449           *has_annotation
9450           *ClassKind
9451           *is_inner
9452           * </pre>
9453           */
9454          public Builder setFlags(int value) {
9455            bitField0_ |= 0x00000001;
9456            flags_ = value;
9457            
9458            return this;
9459          }
9460          /**
9461           * <code>optional int32 flags = 1 [default = 0];</code>
9462           *
9463           * <pre>
9464           *
9465           *Visibility
9466           *Modality
9467           *has_annotation
9468           *ClassKind
9469           *is_inner
9470           * </pre>
9471           */
9472          public Builder clearFlags() {
9473            bitField0_ = (bitField0_ & ~0x00000001);
9474            flags_ = 0;
9475            
9476            return this;
9477          }
9478    
9479          // optional string extra_visibility = 2;
9480          private java.lang.Object extraVisibility_ = "";
9481          /**
9482           * <code>optional string extra_visibility = 2;</code>
9483           *
9484           * <pre>
9485           * for things like java-specific visibilities
9486           * </pre>
9487           */
9488          public boolean hasExtraVisibility() {
9489            return ((bitField0_ & 0x00000002) == 0x00000002);
9490          }
9491          /**
9492           * <code>optional string extra_visibility = 2;</code>
9493           *
9494           * <pre>
9495           * for things like java-specific visibilities
9496           * </pre>
9497           */
9498          public java.lang.String getExtraVisibility() {
9499            java.lang.Object ref = extraVisibility_;
9500            if (!(ref instanceof java.lang.String)) {
9501              java.lang.String s = ((com.google.protobuf.ByteString) ref)
9502                  .toStringUtf8();
9503              extraVisibility_ = s;
9504              return s;
9505            } else {
9506              return (java.lang.String) ref;
9507            }
9508          }
9509          /**
9510           * <code>optional string extra_visibility = 2;</code>
9511           *
9512           * <pre>
9513           * for things like java-specific visibilities
9514           * </pre>
9515           */
9516          public com.google.protobuf.ByteString
9517              getExtraVisibilityBytes() {
9518            java.lang.Object ref = extraVisibility_;
9519            if (ref instanceof String) {
9520              com.google.protobuf.ByteString b = 
9521                  com.google.protobuf.ByteString.copyFromUtf8(
9522                      (java.lang.String) ref);
9523              extraVisibility_ = b;
9524              return b;
9525            } else {
9526              return (com.google.protobuf.ByteString) ref;
9527            }
9528          }
9529          /**
9530           * <code>optional string extra_visibility = 2;</code>
9531           *
9532           * <pre>
9533           * for things like java-specific visibilities
9534           * </pre>
9535           */
9536          public Builder setExtraVisibility(
9537              java.lang.String value) {
9538            if (value == null) {
9539        throw new NullPointerException();
9540      }
9541      bitField0_ |= 0x00000002;
9542            extraVisibility_ = value;
9543            
9544            return this;
9545          }
9546          /**
9547           * <code>optional string extra_visibility = 2;</code>
9548           *
9549           * <pre>
9550           * for things like java-specific visibilities
9551           * </pre>
9552           */
9553          public Builder clearExtraVisibility() {
9554            bitField0_ = (bitField0_ & ~0x00000002);
9555            extraVisibility_ = getDefaultInstance().getExtraVisibility();
9556            
9557            return this;
9558          }
9559          /**
9560           * <code>optional string extra_visibility = 2;</code>
9561           *
9562           * <pre>
9563           * for things like java-specific visibilities
9564           * </pre>
9565           */
9566          public Builder setExtraVisibilityBytes(
9567              com.google.protobuf.ByteString value) {
9568            if (value == null) {
9569        throw new NullPointerException();
9570      }
9571      bitField0_ |= 0x00000002;
9572            extraVisibility_ = value;
9573            
9574            return this;
9575          }
9576    
9577          // required int32 fq_name = 3;
9578          private int fqName_ ;
9579          /**
9580           * <code>required int32 fq_name = 3;</code>
9581           */
9582          public boolean hasFqName() {
9583            return ((bitField0_ & 0x00000004) == 0x00000004);
9584          }
9585          /**
9586           * <code>required int32 fq_name = 3;</code>
9587           */
9588          public int getFqName() {
9589            return fqName_;
9590          }
9591          /**
9592           * <code>required int32 fq_name = 3;</code>
9593           */
9594          public Builder setFqName(int value) {
9595            bitField0_ |= 0x00000004;
9596            fqName_ = value;
9597            
9598            return this;
9599          }
9600          /**
9601           * <code>required int32 fq_name = 3;</code>
9602           */
9603          public Builder clearFqName() {
9604            bitField0_ = (bitField0_ & ~0x00000004);
9605            fqName_ = 0;
9606            
9607            return this;
9608          }
9609    
9610          // optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;
9611          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject classObject_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.getDefaultInstance();
9612          /**
9613           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;</code>
9614           *
9615           * <pre>
9616           * 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
9617           * </pre>
9618           */
9619          public boolean hasClassObject() {
9620            return ((bitField0_ & 0x00000008) == 0x00000008);
9621          }
9622          /**
9623           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;</code>
9624           *
9625           * <pre>
9626           * 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
9627           * </pre>
9628           */
9629          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject getClassObject() {
9630            return classObject_;
9631          }
9632          /**
9633           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;</code>
9634           *
9635           * <pre>
9636           * 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
9637           * </pre>
9638           */
9639          public Builder setClassObject(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject value) {
9640            if (value == null) {
9641              throw new NullPointerException();
9642            }
9643            classObject_ = value;
9644    
9645            bitField0_ |= 0x00000008;
9646            return this;
9647          }
9648          /**
9649           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;</code>
9650           *
9651           * <pre>
9652           * 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
9653           * </pre>
9654           */
9655          public Builder setClassObject(
9656              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.Builder builderForValue) {
9657            classObject_ = builderForValue.build();
9658    
9659            bitField0_ |= 0x00000008;
9660            return this;
9661          }
9662          /**
9663           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;</code>
9664           *
9665           * <pre>
9666           * 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
9667           * </pre>
9668           */
9669          public Builder mergeClassObject(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject value) {
9670            if (((bitField0_ & 0x00000008) == 0x00000008) &&
9671                classObject_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.getDefaultInstance()) {
9672              classObject_ =
9673                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.newBuilder(classObject_).mergeFrom(value).buildPartial();
9674            } else {
9675              classObject_ = value;
9676            }
9677    
9678            bitField0_ |= 0x00000008;
9679            return this;
9680          }
9681          /**
9682           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.ClassObject class_object = 4;</code>
9683           *
9684           * <pre>
9685           * 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
9686           * </pre>
9687           */
9688          public Builder clearClassObject() {
9689            classObject_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.ClassObject.getDefaultInstance();
9690    
9691            bitField0_ = (bitField0_ & ~0x00000008);
9692            return this;
9693          }
9694    
9695          // repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;
9696          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> typeParameter_ =
9697            java.util.Collections.emptyList();
9698          private void ensureTypeParameterIsMutable() {
9699            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
9700              typeParameter_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter>(typeParameter_);
9701              bitField0_ |= 0x00000010;
9702             }
9703          }
9704    
9705          /**
9706           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
9707           */
9708          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
9709            return java.util.Collections.unmodifiableList(typeParameter_);
9710          }
9711          /**
9712           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
9713           */
9714          public int getTypeParameterCount() {
9715            return typeParameter_.size();
9716          }
9717          /**
9718           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
9719           */
9720          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
9721            return typeParameter_.get(index);
9722          }
9723          /**
9724           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
9725           */
9726          public Builder setTypeParameter(
9727              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter value) {
9728            if (value == null) {
9729              throw new NullPointerException();
9730            }
9731            ensureTypeParameterIsMutable();
9732            typeParameter_.set(index, value);
9733    
9734            return this;
9735          }
9736          /**
9737           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
9738           */
9739          public Builder setTypeParameter(
9740              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9741            ensureTypeParameterIsMutable();
9742            typeParameter_.set(index, builderForValue.build());
9743    
9744            return this;
9745          }
9746          /**
9747           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
9748           */
9749          public Builder addTypeParameter(org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter value) {
9750            if (value == null) {
9751              throw new NullPointerException();
9752            }
9753            ensureTypeParameterIsMutable();
9754            typeParameter_.add(value);
9755    
9756            return this;
9757          }
9758          /**
9759           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
9760           */
9761          public Builder addTypeParameter(
9762              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter value) {
9763            if (value == null) {
9764              throw new NullPointerException();
9765            }
9766            ensureTypeParameterIsMutable();
9767            typeParameter_.add(index, value);
9768    
9769            return this;
9770          }
9771          /**
9772           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
9773           */
9774          public Builder addTypeParameter(
9775              org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9776            ensureTypeParameterIsMutable();
9777            typeParameter_.add(builderForValue.build());
9778    
9779            return this;
9780          }
9781          /**
9782           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
9783           */
9784          public Builder addTypeParameter(
9785              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9786            ensureTypeParameterIsMutable();
9787            typeParameter_.add(index, builderForValue.build());
9788    
9789            return this;
9790          }
9791          /**
9792           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
9793           */
9794          public Builder addAllTypeParameter(
9795              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> values) {
9796            ensureTypeParameterIsMutable();
9797            super.addAll(values, typeParameter_);
9798    
9799            return this;
9800          }
9801          /**
9802           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
9803           */
9804          public Builder clearTypeParameter() {
9805            typeParameter_ = java.util.Collections.emptyList();
9806            bitField0_ = (bitField0_ & ~0x00000010);
9807    
9808            return this;
9809          }
9810          /**
9811           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;</code>
9812           */
9813          public Builder removeTypeParameter(int index) {
9814            ensureTypeParameterIsMutable();
9815            typeParameter_.remove(index);
9816    
9817            return this;
9818          }
9819    
9820          // repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;
9821          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> supertype_ =
9822            java.util.Collections.emptyList();
9823          private void ensureSupertypeIsMutable() {
9824            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
9825              supertype_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type>(supertype_);
9826              bitField0_ |= 0x00000020;
9827             }
9828          }
9829    
9830          /**
9831           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
9832           */
9833          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> getSupertypeList() {
9834            return java.util.Collections.unmodifiableList(supertype_);
9835          }
9836          /**
9837           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
9838           */
9839          public int getSupertypeCount() {
9840            return supertype_.size();
9841          }
9842          /**
9843           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
9844           */
9845          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getSupertype(int index) {
9846            return supertype_.get(index);
9847          }
9848          /**
9849           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
9850           */
9851          public Builder setSupertype(
9852              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
9853            if (value == null) {
9854              throw new NullPointerException();
9855            }
9856            ensureSupertypeIsMutable();
9857            supertype_.set(index, value);
9858    
9859            return this;
9860          }
9861          /**
9862           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
9863           */
9864          public Builder setSupertype(
9865              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
9866            ensureSupertypeIsMutable();
9867            supertype_.set(index, builderForValue.build());
9868    
9869            return this;
9870          }
9871          /**
9872           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
9873           */
9874          public Builder addSupertype(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
9875            if (value == null) {
9876              throw new NullPointerException();
9877            }
9878            ensureSupertypeIsMutable();
9879            supertype_.add(value);
9880    
9881            return this;
9882          }
9883          /**
9884           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
9885           */
9886          public Builder addSupertype(
9887              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
9888            if (value == null) {
9889              throw new NullPointerException();
9890            }
9891            ensureSupertypeIsMutable();
9892            supertype_.add(index, value);
9893    
9894            return this;
9895          }
9896          /**
9897           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
9898           */
9899          public Builder addSupertype(
9900              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
9901            ensureSupertypeIsMutable();
9902            supertype_.add(builderForValue.build());
9903    
9904            return this;
9905          }
9906          /**
9907           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
9908           */
9909          public Builder addSupertype(
9910              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
9911            ensureSupertypeIsMutable();
9912            supertype_.add(index, builderForValue.build());
9913    
9914            return this;
9915          }
9916          /**
9917           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
9918           */
9919          public Builder addAllSupertype(
9920              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> values) {
9921            ensureSupertypeIsMutable();
9922            super.addAll(values, supertype_);
9923    
9924            return this;
9925          }
9926          /**
9927           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
9928           */
9929          public Builder clearSupertype() {
9930            supertype_ = java.util.Collections.emptyList();
9931            bitField0_ = (bitField0_ & ~0x00000020);
9932    
9933            return this;
9934          }
9935          /**
9936           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;</code>
9937           */
9938          public Builder removeSupertype(int index) {
9939            ensureSupertypeIsMutable();
9940            supertype_.remove(index);
9941    
9942            return this;
9943          }
9944    
9945          // repeated int32 nested_class_name = 7;
9946          private java.util.List<java.lang.Integer> nestedClassName_ = java.util.Collections.emptyList();
9947          private void ensureNestedClassNameIsMutable() {
9948            if (!((bitField0_ & 0x00000040) == 0x00000040)) {
9949              nestedClassName_ = new java.util.ArrayList<java.lang.Integer>(nestedClassName_);
9950              bitField0_ |= 0x00000040;
9951             }
9952          }
9953          /**
9954           * <code>repeated int32 nested_class_name = 7;</code>
9955           *
9956           * <pre>
9957           * we store only names, because the actual information must reside in the corresponding .class files,
9958           * to be obtainable through reflection at runtime
9959           * </pre>
9960           */
9961          public java.util.List<java.lang.Integer>
9962              getNestedClassNameList() {
9963            return java.util.Collections.unmodifiableList(nestedClassName_);
9964          }
9965          /**
9966           * <code>repeated int32 nested_class_name = 7;</code>
9967           *
9968           * <pre>
9969           * we store only names, because the actual information must reside in the corresponding .class files,
9970           * to be obtainable through reflection at runtime
9971           * </pre>
9972           */
9973          public int getNestedClassNameCount() {
9974            return nestedClassName_.size();
9975          }
9976          /**
9977           * <code>repeated int32 nested_class_name = 7;</code>
9978           *
9979           * <pre>
9980           * we store only names, because the actual information must reside in the corresponding .class files,
9981           * to be obtainable through reflection at runtime
9982           * </pre>
9983           */
9984          public int getNestedClassName(int index) {
9985            return nestedClassName_.get(index);
9986          }
9987          /**
9988           * <code>repeated int32 nested_class_name = 7;</code>
9989           *
9990           * <pre>
9991           * we store only names, because the actual information must reside in the corresponding .class files,
9992           * to be obtainable through reflection at runtime
9993           * </pre>
9994           */
9995          public Builder setNestedClassName(
9996              int index, int value) {
9997            ensureNestedClassNameIsMutable();
9998            nestedClassName_.set(index, value);
9999            
10000            return this;
10001          }
10002          /**
10003           * <code>repeated int32 nested_class_name = 7;</code>
10004           *
10005           * <pre>
10006           * we store only names, because the actual information must reside in the corresponding .class files,
10007           * to be obtainable through reflection at runtime
10008           * </pre>
10009           */
10010          public Builder addNestedClassName(int value) {
10011            ensureNestedClassNameIsMutable();
10012            nestedClassName_.add(value);
10013            
10014            return this;
10015          }
10016          /**
10017           * <code>repeated int32 nested_class_name = 7;</code>
10018           *
10019           * <pre>
10020           * we store only names, because the actual information must reside in the corresponding .class files,
10021           * to be obtainable through reflection at runtime
10022           * </pre>
10023           */
10024          public Builder addAllNestedClassName(
10025              java.lang.Iterable<? extends java.lang.Integer> values) {
10026            ensureNestedClassNameIsMutable();
10027            super.addAll(values, nestedClassName_);
10028            
10029            return this;
10030          }
10031          /**
10032           * <code>repeated int32 nested_class_name = 7;</code>
10033           *
10034           * <pre>
10035           * we store only names, because the actual information must reside in the corresponding .class files,
10036           * to be obtainable through reflection at runtime
10037           * </pre>
10038           */
10039          public Builder clearNestedClassName() {
10040            nestedClassName_ = java.util.Collections.emptyList();
10041            bitField0_ = (bitField0_ & ~0x00000040);
10042            
10043            return this;
10044          }
10045    
10046          // repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;
10047          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> member_ =
10048            java.util.Collections.emptyList();
10049          private void ensureMemberIsMutable() {
10050            if (!((bitField0_ & 0x00000080) == 0x00000080)) {
10051              member_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable>(member_);
10052              bitField0_ |= 0x00000080;
10053             }
10054          }
10055    
10056          /**
10057           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
10058           */
10059          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> getMemberList() {
10060            return java.util.Collections.unmodifiableList(member_);
10061          }
10062          /**
10063           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
10064           */
10065          public int getMemberCount() {
10066            return member_.size();
10067          }
10068          /**
10069           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
10070           */
10071          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getMember(int index) {
10072            return member_.get(index);
10073          }
10074          /**
10075           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
10076           */
10077          public Builder setMember(
10078              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
10079            if (value == null) {
10080              throw new NullPointerException();
10081            }
10082            ensureMemberIsMutable();
10083            member_.set(index, value);
10084    
10085            return this;
10086          }
10087          /**
10088           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
10089           */
10090          public Builder setMember(
10091              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder builderForValue) {
10092            ensureMemberIsMutable();
10093            member_.set(index, builderForValue.build());
10094    
10095            return this;
10096          }
10097          /**
10098           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
10099           */
10100          public Builder addMember(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
10101            if (value == null) {
10102              throw new NullPointerException();
10103            }
10104            ensureMemberIsMutable();
10105            member_.add(value);
10106    
10107            return this;
10108          }
10109          /**
10110           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
10111           */
10112          public Builder addMember(
10113              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
10114            if (value == null) {
10115              throw new NullPointerException();
10116            }
10117            ensureMemberIsMutable();
10118            member_.add(index, value);
10119    
10120            return this;
10121          }
10122          /**
10123           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
10124           */
10125          public Builder addMember(
10126              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder builderForValue) {
10127            ensureMemberIsMutable();
10128            member_.add(builderForValue.build());
10129    
10130            return this;
10131          }
10132          /**
10133           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
10134           */
10135          public Builder addMember(
10136              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder builderForValue) {
10137            ensureMemberIsMutable();
10138            member_.add(index, builderForValue.build());
10139    
10140            return this;
10141          }
10142          /**
10143           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
10144           */
10145          public Builder addAllMember(
10146              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> values) {
10147            ensureMemberIsMutable();
10148            super.addAll(values, member_);
10149    
10150            return this;
10151          }
10152          /**
10153           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
10154           */
10155          public Builder clearMember() {
10156            member_ = java.util.Collections.emptyList();
10157            bitField0_ = (bitField0_ & ~0x00000080);
10158    
10159            return this;
10160          }
10161          /**
10162           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;</code>
10163           */
10164          public Builder removeMember(int index) {
10165            ensureMemberIsMutable();
10166            member_.remove(index);
10167    
10168            return this;
10169          }
10170    
10171          // repeated int32 enum_entry = 12;
10172          private java.util.List<java.lang.Integer> enumEntry_ = java.util.Collections.emptyList();
10173          private void ensureEnumEntryIsMutable() {
10174            if (!((bitField0_ & 0x00000100) == 0x00000100)) {
10175              enumEntry_ = new java.util.ArrayList<java.lang.Integer>(enumEntry_);
10176              bitField0_ |= 0x00000100;
10177             }
10178          }
10179          /**
10180           * <code>repeated int32 enum_entry = 12;</code>
10181           */
10182          public java.util.List<java.lang.Integer>
10183              getEnumEntryList() {
10184            return java.util.Collections.unmodifiableList(enumEntry_);
10185          }
10186          /**
10187           * <code>repeated int32 enum_entry = 12;</code>
10188           */
10189          public int getEnumEntryCount() {
10190            return enumEntry_.size();
10191          }
10192          /**
10193           * <code>repeated int32 enum_entry = 12;</code>
10194           */
10195          public int getEnumEntry(int index) {
10196            return enumEntry_.get(index);
10197          }
10198          /**
10199           * <code>repeated int32 enum_entry = 12;</code>
10200           */
10201          public Builder setEnumEntry(
10202              int index, int value) {
10203            ensureEnumEntryIsMutable();
10204            enumEntry_.set(index, value);
10205            
10206            return this;
10207          }
10208          /**
10209           * <code>repeated int32 enum_entry = 12;</code>
10210           */
10211          public Builder addEnumEntry(int value) {
10212            ensureEnumEntryIsMutable();
10213            enumEntry_.add(value);
10214            
10215            return this;
10216          }
10217          /**
10218           * <code>repeated int32 enum_entry = 12;</code>
10219           */
10220          public Builder addAllEnumEntry(
10221              java.lang.Iterable<? extends java.lang.Integer> values) {
10222            ensureEnumEntryIsMutable();
10223            super.addAll(values, enumEntry_);
10224            
10225            return this;
10226          }
10227          /**
10228           * <code>repeated int32 enum_entry = 12;</code>
10229           */
10230          public Builder clearEnumEntry() {
10231            enumEntry_ = java.util.Collections.emptyList();
10232            bitField0_ = (bitField0_ & ~0x00000100);
10233            
10234            return this;
10235          }
10236    
10237          // optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;
10238          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor primaryConstructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
10239          /**
10240           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
10241           *
10242           * <pre>
10243           * This field is present if and only if the class has a primary constructor
10244           * </pre>
10245           */
10246          public boolean hasPrimaryConstructor() {
10247            return ((bitField0_ & 0x00000200) == 0x00000200);
10248          }
10249          /**
10250           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
10251           *
10252           * <pre>
10253           * This field is present if and only if the class has a primary constructor
10254           * </pre>
10255           */
10256          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor getPrimaryConstructor() {
10257            return primaryConstructor_;
10258          }
10259          /**
10260           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
10261           *
10262           * <pre>
10263           * This field is present if and only if the class has a primary constructor
10264           * </pre>
10265           */
10266          public Builder setPrimaryConstructor(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor value) {
10267            if (value == null) {
10268              throw new NullPointerException();
10269            }
10270            primaryConstructor_ = value;
10271    
10272            bitField0_ |= 0x00000200;
10273            return this;
10274          }
10275          /**
10276           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
10277           *
10278           * <pre>
10279           * This field is present if and only if the class has a primary constructor
10280           * </pre>
10281           */
10282          public Builder setPrimaryConstructor(
10283              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.Builder builderForValue) {
10284            primaryConstructor_ = builderForValue.build();
10285    
10286            bitField0_ |= 0x00000200;
10287            return this;
10288          }
10289          /**
10290           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
10291           *
10292           * <pre>
10293           * This field is present if and only if the class has a primary constructor
10294           * </pre>
10295           */
10296          public Builder mergePrimaryConstructor(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor value) {
10297            if (((bitField0_ & 0x00000200) == 0x00000200) &&
10298                primaryConstructor_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance()) {
10299              primaryConstructor_ =
10300                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.newBuilder(primaryConstructor_).mergeFrom(value).buildPartial();
10301            } else {
10302              primaryConstructor_ = value;
10303            }
10304    
10305            bitField0_ |= 0x00000200;
10306            return this;
10307          }
10308          /**
10309           * <code>optional .org.jetbrains.jet.descriptors.serialization.Class.PrimaryConstructor primary_constructor = 13;</code>
10310           *
10311           * <pre>
10312           * This field is present if and only if the class has a primary constructor
10313           * </pre>
10314           */
10315          public Builder clearPrimaryConstructor() {
10316            primaryConstructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.PrimaryConstructor.getDefaultInstance();
10317    
10318            bitField0_ = (bitField0_ & ~0x00000200);
10319            return this;
10320          }
10321    
10322          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Class)
10323        }
10324    
10325        static {
10326          defaultInstance = new Class(true);
10327          defaultInstance.initFields();
10328        }
10329    
10330        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Class)
10331      }
10332    
10333      public interface PackageOrBuilder extends 
10334           com.google.protobuf.GeneratedMessageLite.
10335                ExtendableMessageOrBuilder<Package> {
10336    
10337        // repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;
10338        /**
10339         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
10340         */
10341        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> 
10342            getMemberList();
10343        /**
10344         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
10345         */
10346        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getMember(int index);
10347        /**
10348         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
10349         */
10350        int getMemberCount();
10351      }
10352      /**
10353       * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Package}
10354       */
10355      public static final class Package extends
10356          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
10357            Package> implements PackageOrBuilder {
10358        // Use Package.newBuilder() to construct.
10359        private Package(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package, ?> builder) {
10360          super(builder);
10361    
10362        }
10363        private Package(boolean noInit) {}
10364    
10365        private static final Package defaultInstance;
10366        public static Package getDefaultInstance() {
10367          return defaultInstance;
10368        }
10369    
10370        public Package getDefaultInstanceForType() {
10371          return defaultInstance;
10372        }
10373    
10374        private Package(
10375            com.google.protobuf.CodedInputStream input,
10376            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10377            throws com.google.protobuf.InvalidProtocolBufferException {
10378          initFields();
10379          int mutable_bitField0_ = 0;
10380          try {
10381            boolean done = false;
10382            while (!done) {
10383              int tag = input.readTag();
10384              switch (tag) {
10385                case 0:
10386                  done = true;
10387                  break;
10388                default: {
10389                  if (!parseUnknownField(input,
10390                                         extensionRegistry, tag)) {
10391                    done = true;
10392                  }
10393                  break;
10394                }
10395                case 10: {
10396                  if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
10397                    member_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable>();
10398                    mutable_bitField0_ |= 0x00000001;
10399                  }
10400                  member_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.PARSER, extensionRegistry));
10401                  break;
10402                }
10403              }
10404            }
10405          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10406            throw e.setUnfinishedMessage(this);
10407          } catch (java.io.IOException e) {
10408            throw new com.google.protobuf.InvalidProtocolBufferException(
10409                e.getMessage()).setUnfinishedMessage(this);
10410          } finally {
10411            if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
10412              member_ = java.util.Collections.unmodifiableList(member_);
10413            }
10414            makeExtensionsImmutable();
10415          }
10416        }
10417        public static com.google.protobuf.Parser<Package> PARSER =
10418            new com.google.protobuf.AbstractParser<Package>() {
10419          public Package parsePartialFrom(
10420              com.google.protobuf.CodedInputStream input,
10421              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10422              throws com.google.protobuf.InvalidProtocolBufferException {
10423            return new Package(input, extensionRegistry);
10424          }
10425        };
10426    
10427        @java.lang.Override
10428        public com.google.protobuf.Parser<Package> getParserForType() {
10429          return PARSER;
10430        }
10431    
10432        // repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;
10433        public static final int MEMBER_FIELD_NUMBER = 1;
10434        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> member_;
10435        /**
10436         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
10437         */
10438        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> getMemberList() {
10439          return member_;
10440        }
10441        /**
10442         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
10443         */
10444        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.CallableOrBuilder> 
10445            getMemberOrBuilderList() {
10446          return member_;
10447        }
10448        /**
10449         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
10450         */
10451        public int getMemberCount() {
10452          return member_.size();
10453        }
10454        /**
10455         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
10456         */
10457        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getMember(int index) {
10458          return member_.get(index);
10459        }
10460        /**
10461         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
10462         */
10463        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.CallableOrBuilder getMemberOrBuilder(
10464            int index) {
10465          return member_.get(index);
10466        }
10467    
10468        private void initFields() {
10469          member_ = java.util.Collections.emptyList();
10470        }
10471        private byte memoizedIsInitialized = -1;
10472        public final boolean isInitialized() {
10473          byte isInitialized = memoizedIsInitialized;
10474          if (isInitialized != -1) return isInitialized == 1;
10475    
10476          for (int i = 0; i < getMemberCount(); i++) {
10477            if (!getMember(i).isInitialized()) {
10478              memoizedIsInitialized = 0;
10479              return false;
10480            }
10481          }
10482          if (!extensionsAreInitialized()) {
10483            memoizedIsInitialized = 0;
10484            return false;
10485          }
10486          memoizedIsInitialized = 1;
10487          return true;
10488        }
10489    
10490        public void writeTo(com.google.protobuf.CodedOutputStream output)
10491                            throws java.io.IOException {
10492          getSerializedSize();
10493          com.google.protobuf.GeneratedMessageLite
10494            .ExtendableMessage<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package>.ExtensionWriter extensionWriter =
10495              newExtensionWriter();
10496          for (int i = 0; i < member_.size(); i++) {
10497            output.writeMessage(1, member_.get(i));
10498          }
10499          extensionWriter.writeUntil(200, output);
10500        }
10501    
10502        private int memoizedSerializedSize = -1;
10503        public int getSerializedSize() {
10504          int size = memoizedSerializedSize;
10505          if (size != -1) return size;
10506    
10507          size = 0;
10508          for (int i = 0; i < member_.size(); i++) {
10509            size += com.google.protobuf.CodedOutputStream
10510              .computeMessageSize(1, member_.get(i));
10511          }
10512          size += extensionsSerializedSize();
10513          memoizedSerializedSize = size;
10514          return size;
10515        }
10516    
10517        private static final long serialVersionUID = 0L;
10518        @java.lang.Override
10519        protected java.lang.Object writeReplace()
10520            throws java.io.ObjectStreamException {
10521          return super.writeReplace();
10522        }
10523    
10524        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(
10525            com.google.protobuf.ByteString data)
10526            throws com.google.protobuf.InvalidProtocolBufferException {
10527          return PARSER.parseFrom(data);
10528        }
10529        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(
10530            com.google.protobuf.ByteString data,
10531            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10532            throws com.google.protobuf.InvalidProtocolBufferException {
10533          return PARSER.parseFrom(data, extensionRegistry);
10534        }
10535        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(byte[] data)
10536            throws com.google.protobuf.InvalidProtocolBufferException {
10537          return PARSER.parseFrom(data);
10538        }
10539        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(
10540            byte[] data,
10541            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10542            throws com.google.protobuf.InvalidProtocolBufferException {
10543          return PARSER.parseFrom(data, extensionRegistry);
10544        }
10545        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(java.io.InputStream input)
10546            throws java.io.IOException {
10547          return PARSER.parseFrom(input);
10548        }
10549        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(
10550            java.io.InputStream input,
10551            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10552            throws java.io.IOException {
10553          return PARSER.parseFrom(input, extensionRegistry);
10554        }
10555        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseDelimitedFrom(java.io.InputStream input)
10556            throws java.io.IOException {
10557          return PARSER.parseDelimitedFrom(input);
10558        }
10559        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseDelimitedFrom(
10560            java.io.InputStream input,
10561            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10562            throws java.io.IOException {
10563          return PARSER.parseDelimitedFrom(input, extensionRegistry);
10564        }
10565        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(
10566            com.google.protobuf.CodedInputStream input)
10567            throws java.io.IOException {
10568          return PARSER.parseFrom(input);
10569        }
10570        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(
10571            com.google.protobuf.CodedInputStream input,
10572            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10573            throws java.io.IOException {
10574          return PARSER.parseFrom(input, extensionRegistry);
10575        }
10576    
10577        public static Builder newBuilder() { return Builder.create(); }
10578        public Builder newBuilderForType() { return newBuilder(); }
10579        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package prototype) {
10580          return newBuilder().mergeFrom(prototype);
10581        }
10582        public Builder toBuilder() { return newBuilder(this); }
10583    
10584        /**
10585         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Package}
10586         */
10587        public static final class Builder extends
10588            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
10589              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package, Builder> implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.PackageOrBuilder {
10590          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package.newBuilder()
10591          private Builder() {
10592            maybeForceBuilderInitialization();
10593          }
10594    
10595          private void maybeForceBuilderInitialization() {
10596          }
10597          private static Builder create() {
10598            return new Builder();
10599          }
10600    
10601          public Builder clear() {
10602            super.clear();
10603            member_ = java.util.Collections.emptyList();
10604            bitField0_ = (bitField0_ & ~0x00000001);
10605            return this;
10606          }
10607    
10608          public Builder clone() {
10609            return create().mergeFrom(buildPartial());
10610          }
10611    
10612          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package getDefaultInstanceForType() {
10613            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package.getDefaultInstance();
10614          }
10615    
10616          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package build() {
10617            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package result = buildPartial();
10618            if (!result.isInitialized()) {
10619              throw newUninitializedMessageException(result);
10620            }
10621            return result;
10622          }
10623    
10624          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package buildPartial() {
10625            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package(this);
10626            int from_bitField0_ = bitField0_;
10627            if (((bitField0_ & 0x00000001) == 0x00000001)) {
10628              member_ = java.util.Collections.unmodifiableList(member_);
10629              bitField0_ = (bitField0_ & ~0x00000001);
10630            }
10631            result.member_ = member_;
10632            return result;
10633          }
10634    
10635          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package other) {
10636            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package.getDefaultInstance()) return this;
10637            if (!other.member_.isEmpty()) {
10638              if (member_.isEmpty()) {
10639                member_ = other.member_;
10640                bitField0_ = (bitField0_ & ~0x00000001);
10641              } else {
10642                ensureMemberIsMutable();
10643                member_.addAll(other.member_);
10644              }
10645              
10646            }
10647            this.mergeExtensionFields(other);
10648            return this;
10649          }
10650    
10651          public final boolean isInitialized() {
10652            for (int i = 0; i < getMemberCount(); i++) {
10653              if (!getMember(i).isInitialized()) {
10654                
10655                return false;
10656              }
10657            }
10658            if (!extensionsAreInitialized()) {
10659              
10660              return false;
10661            }
10662            return true;
10663          }
10664    
10665          public Builder mergeFrom(
10666              com.google.protobuf.CodedInputStream input,
10667              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10668              throws java.io.IOException {
10669            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parsedMessage = null;
10670            try {
10671              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
10672            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10673              parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package) e.getUnfinishedMessage();
10674              throw e;
10675            } finally {
10676              if (parsedMessage != null) {
10677                mergeFrom(parsedMessage);
10678              }
10679            }
10680            return this;
10681          }
10682          private int bitField0_;
10683    
10684          // repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;
10685          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> member_ =
10686            java.util.Collections.emptyList();
10687          private void ensureMemberIsMutable() {
10688            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
10689              member_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable>(member_);
10690              bitField0_ |= 0x00000001;
10691             }
10692          }
10693    
10694          /**
10695           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
10696           */
10697          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> getMemberList() {
10698            return java.util.Collections.unmodifiableList(member_);
10699          }
10700          /**
10701           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
10702           */
10703          public int getMemberCount() {
10704            return member_.size();
10705          }
10706          /**
10707           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
10708           */
10709          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getMember(int index) {
10710            return member_.get(index);
10711          }
10712          /**
10713           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
10714           */
10715          public Builder setMember(
10716              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
10717            if (value == null) {
10718              throw new NullPointerException();
10719            }
10720            ensureMemberIsMutable();
10721            member_.set(index, value);
10722    
10723            return this;
10724          }
10725          /**
10726           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
10727           */
10728          public Builder setMember(
10729              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder builderForValue) {
10730            ensureMemberIsMutable();
10731            member_.set(index, builderForValue.build());
10732    
10733            return this;
10734          }
10735          /**
10736           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
10737           */
10738          public Builder addMember(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
10739            if (value == null) {
10740              throw new NullPointerException();
10741            }
10742            ensureMemberIsMutable();
10743            member_.add(value);
10744    
10745            return this;
10746          }
10747          /**
10748           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
10749           */
10750          public Builder addMember(
10751              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
10752            if (value == null) {
10753              throw new NullPointerException();
10754            }
10755            ensureMemberIsMutable();
10756            member_.add(index, value);
10757    
10758            return this;
10759          }
10760          /**
10761           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
10762           */
10763          public Builder addMember(
10764              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder builderForValue) {
10765            ensureMemberIsMutable();
10766            member_.add(builderForValue.build());
10767    
10768            return this;
10769          }
10770          /**
10771           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
10772           */
10773          public Builder addMember(
10774              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder builderForValue) {
10775            ensureMemberIsMutable();
10776            member_.add(index, builderForValue.build());
10777    
10778            return this;
10779          }
10780          /**
10781           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
10782           */
10783          public Builder addAllMember(
10784              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> values) {
10785            ensureMemberIsMutable();
10786            super.addAll(values, member_);
10787    
10788            return this;
10789          }
10790          /**
10791           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
10792           */
10793          public Builder clearMember() {
10794            member_ = java.util.Collections.emptyList();
10795            bitField0_ = (bitField0_ & ~0x00000001);
10796    
10797            return this;
10798          }
10799          /**
10800           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;</code>
10801           */
10802          public Builder removeMember(int index) {
10803            ensureMemberIsMutable();
10804            member_.remove(index);
10805    
10806            return this;
10807          }
10808    
10809          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Package)
10810        }
10811    
10812        static {
10813          defaultInstance = new Package(true);
10814          defaultInstance.initFields();
10815        }
10816    
10817        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Package)
10818      }
10819    
10820      public interface CallableOrBuilder extends 
10821           com.google.protobuf.GeneratedMessageLite.
10822                ExtendableMessageOrBuilder<Callable> {
10823    
10824        // optional int32 flags = 1;
10825        /**
10826         * <code>optional int32 flags = 1;</code>
10827         *
10828         * <pre>
10829         *
10830         *Visibility
10831         *Modality
10832         *has_annotations
10833         *CallableKind
10834         *MemberKind
10835         *hasGetter
10836         *hasSetter
10837         *hasConstant
10838         * </pre>
10839         */
10840        boolean hasFlags();
10841        /**
10842         * <code>optional int32 flags = 1;</code>
10843         *
10844         * <pre>
10845         *
10846         *Visibility
10847         *Modality
10848         *has_annotations
10849         *CallableKind
10850         *MemberKind
10851         *hasGetter
10852         *hasSetter
10853         *hasConstant
10854         * </pre>
10855         */
10856        int getFlags();
10857    
10858        // optional string extra_visibility = 2;
10859        /**
10860         * <code>optional string extra_visibility = 2;</code>
10861         *
10862         * <pre>
10863         * for things like java-specific visibilities
10864         * </pre>
10865         */
10866        boolean hasExtraVisibility();
10867        /**
10868         * <code>optional string extra_visibility = 2;</code>
10869         *
10870         * <pre>
10871         * for things like java-specific visibilities
10872         * </pre>
10873         */
10874        java.lang.String getExtraVisibility();
10875        /**
10876         * <code>optional string extra_visibility = 2;</code>
10877         *
10878         * <pre>
10879         * for things like java-specific visibilities
10880         * </pre>
10881         */
10882        com.google.protobuf.ByteString
10883            getExtraVisibilityBytes();
10884    
10885        // optional int32 getter_flags = 9;
10886        /**
10887         * <code>optional int32 getter_flags = 9;</code>
10888         *
10889         * <pre>
10890         *
10891         *isNotDefault
10892         *Visibility
10893         *Modality
10894         *has_annotations
10895         * </pre>
10896         */
10897        boolean hasGetterFlags();
10898        /**
10899         * <code>optional int32 getter_flags = 9;</code>
10900         *
10901         * <pre>
10902         *
10903         *isNotDefault
10904         *Visibility
10905         *Modality
10906         *has_annotations
10907         * </pre>
10908         */
10909        int getGetterFlags();
10910    
10911        // optional int32 setter_flags = 10;
10912        /**
10913         * <code>optional int32 setter_flags = 10;</code>
10914         */
10915        boolean hasSetterFlags();
10916        /**
10917         * <code>optional int32 setter_flags = 10;</code>
10918         */
10919        int getSetterFlags();
10920    
10921        // repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;
10922        /**
10923         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
10924         */
10925        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> 
10926            getTypeParameterList();
10927        /**
10928         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
10929         */
10930        org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
10931        /**
10932         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
10933         */
10934        int getTypeParameterCount();
10935    
10936        // optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;
10937        /**
10938         * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
10939         */
10940        boolean hasReceiverType();
10941        /**
10942         * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
10943         */
10944        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReceiverType();
10945    
10946        // required int32 name = 6;
10947        /**
10948         * <code>required int32 name = 6;</code>
10949         *
10950         * <pre>
10951         * Id in the StringTable
10952         * </pre>
10953         */
10954        boolean hasName();
10955        /**
10956         * <code>required int32 name = 6;</code>
10957         *
10958         * <pre>
10959         * Id in the StringTable
10960         * </pre>
10961         */
10962        int getName();
10963    
10964        // repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;
10965        /**
10966         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
10967         *
10968         * <pre>
10969         * Value parameters for functions and constructors, or setter value parameter for properties
10970         * </pre>
10971         */
10972        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> 
10973            getValueParameterList();
10974        /**
10975         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
10976         *
10977         * <pre>
10978         * Value parameters for functions and constructors, or setter value parameter for properties
10979         * </pre>
10980         */
10981        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index);
10982        /**
10983         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
10984         *
10985         * <pre>
10986         * Value parameters for functions and constructors, or setter value parameter for properties
10987         * </pre>
10988         */
10989        int getValueParameterCount();
10990    
10991        // required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;
10992        /**
10993         * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
10994         */
10995        boolean hasReturnType();
10996        /**
10997         * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
10998         */
10999        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReturnType();
11000      }
11001      /**
11002       * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Callable}
11003       */
11004      public static final class Callable extends
11005          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
11006            Callable> implements CallableOrBuilder {
11007        // Use Callable.newBuilder() to construct.
11008        private Callable(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable, ?> builder) {
11009          super(builder);
11010    
11011        }
11012        private Callable(boolean noInit) {}
11013    
11014        private static final Callable defaultInstance;
11015        public static Callable getDefaultInstance() {
11016          return defaultInstance;
11017        }
11018    
11019        public Callable getDefaultInstanceForType() {
11020          return defaultInstance;
11021        }
11022    
11023        private Callable(
11024            com.google.protobuf.CodedInputStream input,
11025            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11026            throws com.google.protobuf.InvalidProtocolBufferException {
11027          initFields();
11028          int mutable_bitField0_ = 0;
11029          try {
11030            boolean done = false;
11031            while (!done) {
11032              int tag = input.readTag();
11033              switch (tag) {
11034                case 0:
11035                  done = true;
11036                  break;
11037                default: {
11038                  if (!parseUnknownField(input,
11039                                         extensionRegistry, tag)) {
11040                    done = true;
11041                  }
11042                  break;
11043                }
11044                case 8: {
11045                  bitField0_ |= 0x00000001;
11046                  flags_ = input.readInt32();
11047                  break;
11048                }
11049                case 18: {
11050                  bitField0_ |= 0x00000002;
11051                  extraVisibility_ = input.readBytes();
11052                  break;
11053                }
11054                case 34: {
11055                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
11056                    typeParameter_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter>();
11057                    mutable_bitField0_ |= 0x00000010;
11058                  }
11059                  typeParameter_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
11060                  break;
11061                }
11062                case 42: {
11063                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = null;
11064                  if (((bitField0_ & 0x00000010) == 0x00000010)) {
11065                    subBuilder = receiverType_.toBuilder();
11066                  }
11067                  receiverType_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
11068                  if (subBuilder != null) {
11069                    subBuilder.mergeFrom(receiverType_);
11070                    receiverType_ = subBuilder.buildPartial();
11071                  }
11072                  bitField0_ |= 0x00000010;
11073                  break;
11074                }
11075                case 48: {
11076                  bitField0_ |= 0x00000020;
11077                  name_ = input.readInt32();
11078                  break;
11079                }
11080                case 58: {
11081                  if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
11082                    valueParameter_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter>();
11083                    mutable_bitField0_ |= 0x00000080;
11084                  }
11085                  valueParameter_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.PARSER, extensionRegistry));
11086                  break;
11087                }
11088                case 66: {
11089                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = null;
11090                  if (((bitField0_ & 0x00000040) == 0x00000040)) {
11091                    subBuilder = returnType_.toBuilder();
11092                  }
11093                  returnType_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
11094                  if (subBuilder != null) {
11095                    subBuilder.mergeFrom(returnType_);
11096                    returnType_ = subBuilder.buildPartial();
11097                  }
11098                  bitField0_ |= 0x00000040;
11099                  break;
11100                }
11101                case 72: {
11102                  bitField0_ |= 0x00000004;
11103                  getterFlags_ = input.readInt32();
11104                  break;
11105                }
11106                case 80: {
11107                  bitField0_ |= 0x00000008;
11108                  setterFlags_ = input.readInt32();
11109                  break;
11110                }
11111              }
11112            }
11113          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11114            throw e.setUnfinishedMessage(this);
11115          } catch (java.io.IOException e) {
11116            throw new com.google.protobuf.InvalidProtocolBufferException(
11117                e.getMessage()).setUnfinishedMessage(this);
11118          } finally {
11119            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
11120              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
11121            }
11122            if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
11123              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
11124            }
11125            makeExtensionsImmutable();
11126          }
11127        }
11128        public static com.google.protobuf.Parser<Callable> PARSER =
11129            new com.google.protobuf.AbstractParser<Callable>() {
11130          public Callable parsePartialFrom(
11131              com.google.protobuf.CodedInputStream input,
11132              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11133              throws com.google.protobuf.InvalidProtocolBufferException {
11134            return new Callable(input, extensionRegistry);
11135          }
11136        };
11137    
11138        @java.lang.Override
11139        public com.google.protobuf.Parser<Callable> getParserForType() {
11140          return PARSER;
11141        }
11142    
11143        /**
11144         * Protobuf enum {@code org.jetbrains.jet.descriptors.serialization.Callable.MemberKind}
11145         */
11146        public enum MemberKind
11147            implements com.google.protobuf.Internal.EnumLite {
11148          /**
11149           * <code>DECLARATION = 0;</code>
11150           *
11151           * <pre>
11152           * 2 bits
11153           * </pre>
11154           */
11155          DECLARATION(0, 0),
11156          /**
11157           * <code>FAKE_OVERRIDE = 1;</code>
11158           */
11159          FAKE_OVERRIDE(1, 1),
11160          /**
11161           * <code>DELEGATION = 2;</code>
11162           */
11163          DELEGATION(2, 2),
11164          /**
11165           * <code>SYNTHESIZED = 3;</code>
11166           */
11167          SYNTHESIZED(3, 3),
11168          ;
11169    
11170          /**
11171           * <code>DECLARATION = 0;</code>
11172           *
11173           * <pre>
11174           * 2 bits
11175           * </pre>
11176           */
11177          public static final int DECLARATION_VALUE = 0;
11178          /**
11179           * <code>FAKE_OVERRIDE = 1;</code>
11180           */
11181          public static final int FAKE_OVERRIDE_VALUE = 1;
11182          /**
11183           * <code>DELEGATION = 2;</code>
11184           */
11185          public static final int DELEGATION_VALUE = 2;
11186          /**
11187           * <code>SYNTHESIZED = 3;</code>
11188           */
11189          public static final int SYNTHESIZED_VALUE = 3;
11190    
11191    
11192          public final int getNumber() { return value; }
11193    
11194          public static MemberKind valueOf(int value) {
11195            switch (value) {
11196              case 0: return DECLARATION;
11197              case 1: return FAKE_OVERRIDE;
11198              case 2: return DELEGATION;
11199              case 3: return SYNTHESIZED;
11200              default: return null;
11201            }
11202          }
11203    
11204          public static com.google.protobuf.Internal.EnumLiteMap<MemberKind>
11205              internalGetValueMap() {
11206            return internalValueMap;
11207          }
11208          private static com.google.protobuf.Internal.EnumLiteMap<MemberKind>
11209              internalValueMap =
11210                new com.google.protobuf.Internal.EnumLiteMap<MemberKind>() {
11211                  public MemberKind findValueByNumber(int number) {
11212                    return MemberKind.valueOf(number);
11213                  }
11214                };
11215    
11216          private final int value;
11217    
11218          private MemberKind(int index, int value) {
11219            this.value = value;
11220          }
11221    
11222          // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Callable.MemberKind)
11223        }
11224    
11225        /**
11226         * Protobuf enum {@code org.jetbrains.jet.descriptors.serialization.Callable.CallableKind}
11227         */
11228        public enum CallableKind
11229            implements com.google.protobuf.Internal.EnumLite {
11230          /**
11231           * <code>FUN = 0;</code>
11232           *
11233           * <pre>
11234           * 2 bits
11235           * </pre>
11236           */
11237          FUN(0, 0),
11238          /**
11239           * <code>VAL = 1;</code>
11240           */
11241          VAL(1, 1),
11242          /**
11243           * <code>VAR = 2;</code>
11244           */
11245          VAR(2, 2),
11246          /**
11247           * <code>CONSTRUCTOR = 3;</code>
11248           */
11249          CONSTRUCTOR(3, 3),
11250          ;
11251    
11252          /**
11253           * <code>FUN = 0;</code>
11254           *
11255           * <pre>
11256           * 2 bits
11257           * </pre>
11258           */
11259          public static final int FUN_VALUE = 0;
11260          /**
11261           * <code>VAL = 1;</code>
11262           */
11263          public static final int VAL_VALUE = 1;
11264          /**
11265           * <code>VAR = 2;</code>
11266           */
11267          public static final int VAR_VALUE = 2;
11268          /**
11269           * <code>CONSTRUCTOR = 3;</code>
11270           */
11271          public static final int CONSTRUCTOR_VALUE = 3;
11272    
11273    
11274          public final int getNumber() { return value; }
11275    
11276          public static CallableKind valueOf(int value) {
11277            switch (value) {
11278              case 0: return FUN;
11279              case 1: return VAL;
11280              case 2: return VAR;
11281              case 3: return CONSTRUCTOR;
11282              default: return null;
11283            }
11284          }
11285    
11286          public static com.google.protobuf.Internal.EnumLiteMap<CallableKind>
11287              internalGetValueMap() {
11288            return internalValueMap;
11289          }
11290          private static com.google.protobuf.Internal.EnumLiteMap<CallableKind>
11291              internalValueMap =
11292                new com.google.protobuf.Internal.EnumLiteMap<CallableKind>() {
11293                  public CallableKind findValueByNumber(int number) {
11294                    return CallableKind.valueOf(number);
11295                  }
11296                };
11297    
11298          private final int value;
11299    
11300          private CallableKind(int index, int value) {
11301            this.value = value;
11302          }
11303    
11304          // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Callable.CallableKind)
11305        }
11306    
11307        public interface ValueParameterOrBuilder extends 
11308             com.google.protobuf.GeneratedMessageLite.
11309                  ExtendableMessageOrBuilder<ValueParameter> {
11310    
11311          // optional int32 flags = 1;
11312          /**
11313           * <code>optional int32 flags = 1;</code>
11314           *
11315           * <pre>
11316           *
11317           *declaresDefault
11318           *has_annotations
11319           * </pre>
11320           */
11321          boolean hasFlags();
11322          /**
11323           * <code>optional int32 flags = 1;</code>
11324           *
11325           * <pre>
11326           *
11327           *declaresDefault
11328           *has_annotations
11329           * </pre>
11330           */
11331          int getFlags();
11332    
11333          // required int32 name = 2;
11334          /**
11335           * <code>required int32 name = 2;</code>
11336           *
11337           * <pre>
11338           * Id in the StringTable
11339           * </pre>
11340           */
11341          boolean hasName();
11342          /**
11343           * <code>required int32 name = 2;</code>
11344           *
11345           * <pre>
11346           * Id in the StringTable
11347           * </pre>
11348           */
11349          int getName();
11350    
11351          // required .org.jetbrains.jet.descriptors.serialization.Type type = 3;
11352          /**
11353           * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
11354           */
11355          boolean hasType();
11356          /**
11357           * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
11358           */
11359          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getType();
11360    
11361          // optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;
11362          /**
11363           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
11364           */
11365          boolean hasVarargElementType();
11366          /**
11367           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
11368           */
11369          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getVarargElementType();
11370        }
11371        /**
11372         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter}
11373         */
11374        public static final class ValueParameter extends
11375            com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
11376              ValueParameter> implements ValueParameterOrBuilder {
11377          // Use ValueParameter.newBuilder() to construct.
11378          private ValueParameter(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter, ?> builder) {
11379            super(builder);
11380    
11381          }
11382          private ValueParameter(boolean noInit) {}
11383    
11384          private static final ValueParameter defaultInstance;
11385          public static ValueParameter getDefaultInstance() {
11386            return defaultInstance;
11387          }
11388    
11389          public ValueParameter getDefaultInstanceForType() {
11390            return defaultInstance;
11391          }
11392    
11393          private ValueParameter(
11394              com.google.protobuf.CodedInputStream input,
11395              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11396              throws com.google.protobuf.InvalidProtocolBufferException {
11397            initFields();
11398            int mutable_bitField0_ = 0;
11399            try {
11400              boolean done = false;
11401              while (!done) {
11402                int tag = input.readTag();
11403                switch (tag) {
11404                  case 0:
11405                    done = true;
11406                    break;
11407                  default: {
11408                    if (!parseUnknownField(input,
11409                                           extensionRegistry, tag)) {
11410                      done = true;
11411                    }
11412                    break;
11413                  }
11414                  case 8: {
11415                    bitField0_ |= 0x00000001;
11416                    flags_ = input.readInt32();
11417                    break;
11418                  }
11419                  case 16: {
11420                    bitField0_ |= 0x00000002;
11421                    name_ = input.readInt32();
11422                    break;
11423                  }
11424                  case 26: {
11425                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = null;
11426                    if (((bitField0_ & 0x00000004) == 0x00000004)) {
11427                      subBuilder = type_.toBuilder();
11428                    }
11429                    type_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
11430                    if (subBuilder != null) {
11431                      subBuilder.mergeFrom(type_);
11432                      type_ = subBuilder.buildPartial();
11433                    }
11434                    bitField0_ |= 0x00000004;
11435                    break;
11436                  }
11437                  case 34: {
11438                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = null;
11439                    if (((bitField0_ & 0x00000008) == 0x00000008)) {
11440                      subBuilder = varargElementType_.toBuilder();
11441                    }
11442                    varargElementType_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
11443                    if (subBuilder != null) {
11444                      subBuilder.mergeFrom(varargElementType_);
11445                      varargElementType_ = subBuilder.buildPartial();
11446                    }
11447                    bitField0_ |= 0x00000008;
11448                    break;
11449                  }
11450                }
11451              }
11452            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11453              throw e.setUnfinishedMessage(this);
11454            } catch (java.io.IOException e) {
11455              throw new com.google.protobuf.InvalidProtocolBufferException(
11456                  e.getMessage()).setUnfinishedMessage(this);
11457            } finally {
11458              makeExtensionsImmutable();
11459            }
11460          }
11461          public static com.google.protobuf.Parser<ValueParameter> PARSER =
11462              new com.google.protobuf.AbstractParser<ValueParameter>() {
11463            public ValueParameter parsePartialFrom(
11464                com.google.protobuf.CodedInputStream input,
11465                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11466                throws com.google.protobuf.InvalidProtocolBufferException {
11467              return new ValueParameter(input, extensionRegistry);
11468            }
11469          };
11470    
11471          @java.lang.Override
11472          public com.google.protobuf.Parser<ValueParameter> getParserForType() {
11473            return PARSER;
11474          }
11475    
11476          private int bitField0_;
11477          // optional int32 flags = 1;
11478          public static final int FLAGS_FIELD_NUMBER = 1;
11479          private int flags_;
11480          /**
11481           * <code>optional int32 flags = 1;</code>
11482           *
11483           * <pre>
11484           *
11485           *declaresDefault
11486           *has_annotations
11487           * </pre>
11488           */
11489          public boolean hasFlags() {
11490            return ((bitField0_ & 0x00000001) == 0x00000001);
11491          }
11492          /**
11493           * <code>optional int32 flags = 1;</code>
11494           *
11495           * <pre>
11496           *
11497           *declaresDefault
11498           *has_annotations
11499           * </pre>
11500           */
11501          public int getFlags() {
11502            return flags_;
11503          }
11504    
11505          // required int32 name = 2;
11506          public static final int NAME_FIELD_NUMBER = 2;
11507          private int name_;
11508          /**
11509           * <code>required int32 name = 2;</code>
11510           *
11511           * <pre>
11512           * Id in the StringTable
11513           * </pre>
11514           */
11515          public boolean hasName() {
11516            return ((bitField0_ & 0x00000002) == 0x00000002);
11517          }
11518          /**
11519           * <code>required int32 name = 2;</code>
11520           *
11521           * <pre>
11522           * Id in the StringTable
11523           * </pre>
11524           */
11525          public int getName() {
11526            return name_;
11527          }
11528    
11529          // required .org.jetbrains.jet.descriptors.serialization.Type type = 3;
11530          public static final int TYPE_FIELD_NUMBER = 3;
11531          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type type_;
11532          /**
11533           * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
11534           */
11535          public boolean hasType() {
11536            return ((bitField0_ & 0x00000004) == 0x00000004);
11537          }
11538          /**
11539           * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
11540           */
11541          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getType() {
11542            return type_;
11543          }
11544    
11545          // optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;
11546          public static final int VARARG_ELEMENT_TYPE_FIELD_NUMBER = 4;
11547          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type varargElementType_;
11548          /**
11549           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
11550           */
11551          public boolean hasVarargElementType() {
11552            return ((bitField0_ & 0x00000008) == 0x00000008);
11553          }
11554          /**
11555           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
11556           */
11557          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getVarargElementType() {
11558            return varargElementType_;
11559          }
11560    
11561          private void initFields() {
11562            flags_ = 0;
11563            name_ = 0;
11564            type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
11565            varargElementType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
11566          }
11567          private byte memoizedIsInitialized = -1;
11568          public final boolean isInitialized() {
11569            byte isInitialized = memoizedIsInitialized;
11570            if (isInitialized != -1) return isInitialized == 1;
11571    
11572            if (!hasName()) {
11573              memoizedIsInitialized = 0;
11574              return false;
11575            }
11576            if (!hasType()) {
11577              memoizedIsInitialized = 0;
11578              return false;
11579            }
11580            if (!getType().isInitialized()) {
11581              memoizedIsInitialized = 0;
11582              return false;
11583            }
11584            if (hasVarargElementType()) {
11585              if (!getVarargElementType().isInitialized()) {
11586                memoizedIsInitialized = 0;
11587                return false;
11588              }
11589            }
11590            if (!extensionsAreInitialized()) {
11591              memoizedIsInitialized = 0;
11592              return false;
11593            }
11594            memoizedIsInitialized = 1;
11595            return true;
11596          }
11597    
11598          public void writeTo(com.google.protobuf.CodedOutputStream output)
11599                              throws java.io.IOException {
11600            getSerializedSize();
11601            com.google.protobuf.GeneratedMessageLite
11602              .ExtendableMessage<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter>.ExtensionWriter extensionWriter =
11603                newExtensionWriter();
11604            if (((bitField0_ & 0x00000001) == 0x00000001)) {
11605              output.writeInt32(1, flags_);
11606            }
11607            if (((bitField0_ & 0x00000002) == 0x00000002)) {
11608              output.writeInt32(2, name_);
11609            }
11610            if (((bitField0_ & 0x00000004) == 0x00000004)) {
11611              output.writeMessage(3, type_);
11612            }
11613            if (((bitField0_ & 0x00000008) == 0x00000008)) {
11614              output.writeMessage(4, varargElementType_);
11615            }
11616            extensionWriter.writeUntil(200, output);
11617          }
11618    
11619          private int memoizedSerializedSize = -1;
11620          public int getSerializedSize() {
11621            int size = memoizedSerializedSize;
11622            if (size != -1) return size;
11623    
11624            size = 0;
11625            if (((bitField0_ & 0x00000001) == 0x00000001)) {
11626              size += com.google.protobuf.CodedOutputStream
11627                .computeInt32Size(1, flags_);
11628            }
11629            if (((bitField0_ & 0x00000002) == 0x00000002)) {
11630              size += com.google.protobuf.CodedOutputStream
11631                .computeInt32Size(2, name_);
11632            }
11633            if (((bitField0_ & 0x00000004) == 0x00000004)) {
11634              size += com.google.protobuf.CodedOutputStream
11635                .computeMessageSize(3, type_);
11636            }
11637            if (((bitField0_ & 0x00000008) == 0x00000008)) {
11638              size += com.google.protobuf.CodedOutputStream
11639                .computeMessageSize(4, varargElementType_);
11640            }
11641            size += extensionsSerializedSize();
11642            memoizedSerializedSize = size;
11643            return size;
11644          }
11645    
11646          private static final long serialVersionUID = 0L;
11647          @java.lang.Override
11648          protected java.lang.Object writeReplace()
11649              throws java.io.ObjectStreamException {
11650            return super.writeReplace();
11651          }
11652    
11653          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11654              com.google.protobuf.ByteString data)
11655              throws com.google.protobuf.InvalidProtocolBufferException {
11656            return PARSER.parseFrom(data);
11657          }
11658          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11659              com.google.protobuf.ByteString data,
11660              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11661              throws com.google.protobuf.InvalidProtocolBufferException {
11662            return PARSER.parseFrom(data, extensionRegistry);
11663          }
11664          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(byte[] data)
11665              throws com.google.protobuf.InvalidProtocolBufferException {
11666            return PARSER.parseFrom(data);
11667          }
11668          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11669              byte[] data,
11670              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11671              throws com.google.protobuf.InvalidProtocolBufferException {
11672            return PARSER.parseFrom(data, extensionRegistry);
11673          }
11674          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(java.io.InputStream input)
11675              throws java.io.IOException {
11676            return PARSER.parseFrom(input);
11677          }
11678          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11679              java.io.InputStream input,
11680              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11681              throws java.io.IOException {
11682            return PARSER.parseFrom(input, extensionRegistry);
11683          }
11684          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseDelimitedFrom(java.io.InputStream input)
11685              throws java.io.IOException {
11686            return PARSER.parseDelimitedFrom(input);
11687          }
11688          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseDelimitedFrom(
11689              java.io.InputStream input,
11690              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11691              throws java.io.IOException {
11692            return PARSER.parseDelimitedFrom(input, extensionRegistry);
11693          }
11694          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11695              com.google.protobuf.CodedInputStream input)
11696              throws java.io.IOException {
11697            return PARSER.parseFrom(input);
11698          }
11699          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
11700              com.google.protobuf.CodedInputStream input,
11701              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11702              throws java.io.IOException {
11703            return PARSER.parseFrom(input, extensionRegistry);
11704          }
11705    
11706          public static Builder newBuilder() { return Builder.create(); }
11707          public Builder newBuilderForType() { return newBuilder(); }
11708          public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter prototype) {
11709            return newBuilder().mergeFrom(prototype);
11710          }
11711          public Builder toBuilder() { return newBuilder(this); }
11712    
11713          /**
11714           * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter}
11715           */
11716          public static final class Builder extends
11717              com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
11718                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter, Builder> implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameterOrBuilder {
11719            // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.newBuilder()
11720            private Builder() {
11721              maybeForceBuilderInitialization();
11722            }
11723    
11724            private void maybeForceBuilderInitialization() {
11725            }
11726            private static Builder create() {
11727              return new Builder();
11728            }
11729    
11730            public Builder clear() {
11731              super.clear();
11732              flags_ = 0;
11733              bitField0_ = (bitField0_ & ~0x00000001);
11734              name_ = 0;
11735              bitField0_ = (bitField0_ & ~0x00000002);
11736              type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
11737              bitField0_ = (bitField0_ & ~0x00000004);
11738              varargElementType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
11739              bitField0_ = (bitField0_ & ~0x00000008);
11740              return this;
11741            }
11742    
11743            public Builder clone() {
11744              return create().mergeFrom(buildPartial());
11745            }
11746    
11747            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter getDefaultInstanceForType() {
11748              return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.getDefaultInstance();
11749            }
11750    
11751            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter build() {
11752              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter result = buildPartial();
11753              if (!result.isInitialized()) {
11754                throw newUninitializedMessageException(result);
11755              }
11756              return result;
11757            }
11758    
11759            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter buildPartial() {
11760              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter(this);
11761              int from_bitField0_ = bitField0_;
11762              int to_bitField0_ = 0;
11763              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
11764                to_bitField0_ |= 0x00000001;
11765              }
11766              result.flags_ = flags_;
11767              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
11768                to_bitField0_ |= 0x00000002;
11769              }
11770              result.name_ = name_;
11771              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
11772                to_bitField0_ |= 0x00000004;
11773              }
11774              result.type_ = type_;
11775              if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
11776                to_bitField0_ |= 0x00000008;
11777              }
11778              result.varargElementType_ = varargElementType_;
11779              result.bitField0_ = to_bitField0_;
11780              return result;
11781            }
11782    
11783            public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter other) {
11784              if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.getDefaultInstance()) return this;
11785              if (other.hasFlags()) {
11786                setFlags(other.getFlags());
11787              }
11788              if (other.hasName()) {
11789                setName(other.getName());
11790              }
11791              if (other.hasType()) {
11792                mergeType(other.getType());
11793              }
11794              if (other.hasVarargElementType()) {
11795                mergeVarargElementType(other.getVarargElementType());
11796              }
11797              this.mergeExtensionFields(other);
11798              return this;
11799            }
11800    
11801            public final boolean isInitialized() {
11802              if (!hasName()) {
11803                
11804                return false;
11805              }
11806              if (!hasType()) {
11807                
11808                return false;
11809              }
11810              if (!getType().isInitialized()) {
11811                
11812                return false;
11813              }
11814              if (hasVarargElementType()) {
11815                if (!getVarargElementType().isInitialized()) {
11816                  
11817                  return false;
11818                }
11819              }
11820              if (!extensionsAreInitialized()) {
11821                
11822                return false;
11823              }
11824              return true;
11825            }
11826    
11827            public Builder mergeFrom(
11828                com.google.protobuf.CodedInputStream input,
11829                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11830                throws java.io.IOException {
11831              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parsedMessage = null;
11832              try {
11833                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
11834              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11835                parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter) e.getUnfinishedMessage();
11836                throw e;
11837              } finally {
11838                if (parsedMessage != null) {
11839                  mergeFrom(parsedMessage);
11840                }
11841              }
11842              return this;
11843            }
11844            private int bitField0_;
11845    
11846            // optional int32 flags = 1;
11847            private int flags_ ;
11848            /**
11849             * <code>optional int32 flags = 1;</code>
11850             *
11851             * <pre>
11852             *
11853             *declaresDefault
11854             *has_annotations
11855             * </pre>
11856             */
11857            public boolean hasFlags() {
11858              return ((bitField0_ & 0x00000001) == 0x00000001);
11859            }
11860            /**
11861             * <code>optional int32 flags = 1;</code>
11862             *
11863             * <pre>
11864             *
11865             *declaresDefault
11866             *has_annotations
11867             * </pre>
11868             */
11869            public int getFlags() {
11870              return flags_;
11871            }
11872            /**
11873             * <code>optional int32 flags = 1;</code>
11874             *
11875             * <pre>
11876             *
11877             *declaresDefault
11878             *has_annotations
11879             * </pre>
11880             */
11881            public Builder setFlags(int value) {
11882              bitField0_ |= 0x00000001;
11883              flags_ = value;
11884              
11885              return this;
11886            }
11887            /**
11888             * <code>optional int32 flags = 1;</code>
11889             *
11890             * <pre>
11891             *
11892             *declaresDefault
11893             *has_annotations
11894             * </pre>
11895             */
11896            public Builder clearFlags() {
11897              bitField0_ = (bitField0_ & ~0x00000001);
11898              flags_ = 0;
11899              
11900              return this;
11901            }
11902    
11903            // required int32 name = 2;
11904            private int name_ ;
11905            /**
11906             * <code>required int32 name = 2;</code>
11907             *
11908             * <pre>
11909             * Id in the StringTable
11910             * </pre>
11911             */
11912            public boolean hasName() {
11913              return ((bitField0_ & 0x00000002) == 0x00000002);
11914            }
11915            /**
11916             * <code>required int32 name = 2;</code>
11917             *
11918             * <pre>
11919             * Id in the StringTable
11920             * </pre>
11921             */
11922            public int getName() {
11923              return name_;
11924            }
11925            /**
11926             * <code>required int32 name = 2;</code>
11927             *
11928             * <pre>
11929             * Id in the StringTable
11930             * </pre>
11931             */
11932            public Builder setName(int value) {
11933              bitField0_ |= 0x00000002;
11934              name_ = value;
11935              
11936              return this;
11937            }
11938            /**
11939             * <code>required int32 name = 2;</code>
11940             *
11941             * <pre>
11942             * Id in the StringTable
11943             * </pre>
11944             */
11945            public Builder clearName() {
11946              bitField0_ = (bitField0_ & ~0x00000002);
11947              name_ = 0;
11948              
11949              return this;
11950            }
11951    
11952            // required .org.jetbrains.jet.descriptors.serialization.Type type = 3;
11953            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
11954            /**
11955             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
11956             */
11957            public boolean hasType() {
11958              return ((bitField0_ & 0x00000004) == 0x00000004);
11959            }
11960            /**
11961             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
11962             */
11963            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getType() {
11964              return type_;
11965            }
11966            /**
11967             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
11968             */
11969            public Builder setType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
11970              if (value == null) {
11971                throw new NullPointerException();
11972              }
11973              type_ = value;
11974    
11975              bitField0_ |= 0x00000004;
11976              return this;
11977            }
11978            /**
11979             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
11980             */
11981            public Builder setType(
11982                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
11983              type_ = builderForValue.build();
11984    
11985              bitField0_ |= 0x00000004;
11986              return this;
11987            }
11988            /**
11989             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
11990             */
11991            public Builder mergeType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
11992              if (((bitField0_ & 0x00000004) == 0x00000004) &&
11993                  type_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) {
11994                type_ =
11995                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
11996              } else {
11997                type_ = value;
11998              }
11999    
12000              bitField0_ |= 0x00000004;
12001              return this;
12002            }
12003            /**
12004             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
12005             */
12006            public Builder clearType() {
12007              type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
12008    
12009              bitField0_ = (bitField0_ & ~0x00000004);
12010              return this;
12011            }
12012    
12013            // optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;
12014            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type varargElementType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
12015            /**
12016             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
12017             */
12018            public boolean hasVarargElementType() {
12019              return ((bitField0_ & 0x00000008) == 0x00000008);
12020            }
12021            /**
12022             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
12023             */
12024            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getVarargElementType() {
12025              return varargElementType_;
12026            }
12027            /**
12028             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
12029             */
12030            public Builder setVarargElementType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
12031              if (value == null) {
12032                throw new NullPointerException();
12033              }
12034              varargElementType_ = value;
12035    
12036              bitField0_ |= 0x00000008;
12037              return this;
12038            }
12039            /**
12040             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
12041             */
12042            public Builder setVarargElementType(
12043                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
12044              varargElementType_ = builderForValue.build();
12045    
12046              bitField0_ |= 0x00000008;
12047              return this;
12048            }
12049            /**
12050             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
12051             */
12052            public Builder mergeVarargElementType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
12053              if (((bitField0_ & 0x00000008) == 0x00000008) &&
12054                  varargElementType_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) {
12055                varargElementType_ =
12056                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder(varargElementType_).mergeFrom(value).buildPartial();
12057              } else {
12058                varargElementType_ = value;
12059              }
12060    
12061              bitField0_ |= 0x00000008;
12062              return this;
12063            }
12064            /**
12065             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
12066             */
12067            public Builder clearVarargElementType() {
12068              varargElementType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
12069    
12070              bitField0_ = (bitField0_ & ~0x00000008);
12071              return this;
12072            }
12073    
12074            // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter)
12075          }
12076    
12077          static {
12078            defaultInstance = new ValueParameter(true);
12079            defaultInstance.initFields();
12080          }
12081    
12082          // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter)
12083        }
12084    
12085        private int bitField0_;
12086        // optional int32 flags = 1;
12087        public static final int FLAGS_FIELD_NUMBER = 1;
12088        private int flags_;
12089        /**
12090         * <code>optional int32 flags = 1;</code>
12091         *
12092         * <pre>
12093         *
12094         *Visibility
12095         *Modality
12096         *has_annotations
12097         *CallableKind
12098         *MemberKind
12099         *hasGetter
12100         *hasSetter
12101         *hasConstant
12102         * </pre>
12103         */
12104        public boolean hasFlags() {
12105          return ((bitField0_ & 0x00000001) == 0x00000001);
12106        }
12107        /**
12108         * <code>optional int32 flags = 1;</code>
12109         *
12110         * <pre>
12111         *
12112         *Visibility
12113         *Modality
12114         *has_annotations
12115         *CallableKind
12116         *MemberKind
12117         *hasGetter
12118         *hasSetter
12119         *hasConstant
12120         * </pre>
12121         */
12122        public int getFlags() {
12123          return flags_;
12124        }
12125    
12126        // optional string extra_visibility = 2;
12127        public static final int EXTRA_VISIBILITY_FIELD_NUMBER = 2;
12128        private java.lang.Object extraVisibility_;
12129        /**
12130         * <code>optional string extra_visibility = 2;</code>
12131         *
12132         * <pre>
12133         * for things like java-specific visibilities
12134         * </pre>
12135         */
12136        public boolean hasExtraVisibility() {
12137          return ((bitField0_ & 0x00000002) == 0x00000002);
12138        }
12139        /**
12140         * <code>optional string extra_visibility = 2;</code>
12141         *
12142         * <pre>
12143         * for things like java-specific visibilities
12144         * </pre>
12145         */
12146        public java.lang.String getExtraVisibility() {
12147          java.lang.Object ref = extraVisibility_;
12148          if (ref instanceof java.lang.String) {
12149            return (java.lang.String) ref;
12150          } else {
12151            com.google.protobuf.ByteString bs = 
12152                (com.google.protobuf.ByteString) ref;
12153            java.lang.String s = bs.toStringUtf8();
12154            if (bs.isValidUtf8()) {
12155              extraVisibility_ = s;
12156            }
12157            return s;
12158          }
12159        }
12160        /**
12161         * <code>optional string extra_visibility = 2;</code>
12162         *
12163         * <pre>
12164         * for things like java-specific visibilities
12165         * </pre>
12166         */
12167        public com.google.protobuf.ByteString
12168            getExtraVisibilityBytes() {
12169          java.lang.Object ref = extraVisibility_;
12170          if (ref instanceof java.lang.String) {
12171            com.google.protobuf.ByteString b = 
12172                com.google.protobuf.ByteString.copyFromUtf8(
12173                    (java.lang.String) ref);
12174            extraVisibility_ = b;
12175            return b;
12176          } else {
12177            return (com.google.protobuf.ByteString) ref;
12178          }
12179        }
12180    
12181        // optional int32 getter_flags = 9;
12182        public static final int GETTER_FLAGS_FIELD_NUMBER = 9;
12183        private int getterFlags_;
12184        /**
12185         * <code>optional int32 getter_flags = 9;</code>
12186         *
12187         * <pre>
12188         *
12189         *isNotDefault
12190         *Visibility
12191         *Modality
12192         *has_annotations
12193         * </pre>
12194         */
12195        public boolean hasGetterFlags() {
12196          return ((bitField0_ & 0x00000004) == 0x00000004);
12197        }
12198        /**
12199         * <code>optional int32 getter_flags = 9;</code>
12200         *
12201         * <pre>
12202         *
12203         *isNotDefault
12204         *Visibility
12205         *Modality
12206         *has_annotations
12207         * </pre>
12208         */
12209        public int getGetterFlags() {
12210          return getterFlags_;
12211        }
12212    
12213        // optional int32 setter_flags = 10;
12214        public static final int SETTER_FLAGS_FIELD_NUMBER = 10;
12215        private int setterFlags_;
12216        /**
12217         * <code>optional int32 setter_flags = 10;</code>
12218         */
12219        public boolean hasSetterFlags() {
12220          return ((bitField0_ & 0x00000008) == 0x00000008);
12221        }
12222        /**
12223         * <code>optional int32 setter_flags = 10;</code>
12224         */
12225        public int getSetterFlags() {
12226          return setterFlags_;
12227        }
12228    
12229        // repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;
12230        public static final int TYPE_PARAMETER_FIELD_NUMBER = 4;
12231        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> typeParameter_;
12232        /**
12233         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
12234         */
12235        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
12236          return typeParameter_;
12237        }
12238        /**
12239         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
12240         */
12241        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameterOrBuilder> 
12242            getTypeParameterOrBuilderList() {
12243          return typeParameter_;
12244        }
12245        /**
12246         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
12247         */
12248        public int getTypeParameterCount() {
12249          return typeParameter_.size();
12250        }
12251        /**
12252         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
12253         */
12254        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
12255          return typeParameter_.get(index);
12256        }
12257        /**
12258         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
12259         */
12260        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
12261            int index) {
12262          return typeParameter_.get(index);
12263        }
12264    
12265        // optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;
12266        public static final int RECEIVER_TYPE_FIELD_NUMBER = 5;
12267        private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type receiverType_;
12268        /**
12269         * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
12270         */
12271        public boolean hasReceiverType() {
12272          return ((bitField0_ & 0x00000010) == 0x00000010);
12273        }
12274        /**
12275         * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
12276         */
12277        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReceiverType() {
12278          return receiverType_;
12279        }
12280    
12281        // required int32 name = 6;
12282        public static final int NAME_FIELD_NUMBER = 6;
12283        private int name_;
12284        /**
12285         * <code>required int32 name = 6;</code>
12286         *
12287         * <pre>
12288         * Id in the StringTable
12289         * </pre>
12290         */
12291        public boolean hasName() {
12292          return ((bitField0_ & 0x00000020) == 0x00000020);
12293        }
12294        /**
12295         * <code>required int32 name = 6;</code>
12296         *
12297         * <pre>
12298         * Id in the StringTable
12299         * </pre>
12300         */
12301        public int getName() {
12302          return name_;
12303        }
12304    
12305        // repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;
12306        public static final int VALUE_PARAMETER_FIELD_NUMBER = 7;
12307        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> valueParameter_;
12308        /**
12309         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
12310         *
12311         * <pre>
12312         * Value parameters for functions and constructors, or setter value parameter for properties
12313         * </pre>
12314         */
12315        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> getValueParameterList() {
12316          return valueParameter_;
12317        }
12318        /**
12319         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
12320         *
12321         * <pre>
12322         * Value parameters for functions and constructors, or setter value parameter for properties
12323         * </pre>
12324         */
12325        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameterOrBuilder> 
12326            getValueParameterOrBuilderList() {
12327          return valueParameter_;
12328        }
12329        /**
12330         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
12331         *
12332         * <pre>
12333         * Value parameters for functions and constructors, or setter value parameter for properties
12334         * </pre>
12335         */
12336        public int getValueParameterCount() {
12337          return valueParameter_.size();
12338        }
12339        /**
12340         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
12341         *
12342         * <pre>
12343         * Value parameters for functions and constructors, or setter value parameter for properties
12344         * </pre>
12345         */
12346        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index) {
12347          return valueParameter_.get(index);
12348        }
12349        /**
12350         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
12351         *
12352         * <pre>
12353         * Value parameters for functions and constructors, or setter value parameter for properties
12354         * </pre>
12355         */
12356        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameterOrBuilder getValueParameterOrBuilder(
12357            int index) {
12358          return valueParameter_.get(index);
12359        }
12360    
12361        // required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;
12362        public static final int RETURN_TYPE_FIELD_NUMBER = 8;
12363        private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type returnType_;
12364        /**
12365         * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
12366         */
12367        public boolean hasReturnType() {
12368          return ((bitField0_ & 0x00000040) == 0x00000040);
12369        }
12370        /**
12371         * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
12372         */
12373        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReturnType() {
12374          return returnType_;
12375        }
12376    
12377        private void initFields() {
12378          flags_ = 0;
12379          extraVisibility_ = "";
12380          getterFlags_ = 0;
12381          setterFlags_ = 0;
12382          typeParameter_ = java.util.Collections.emptyList();
12383          receiverType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
12384          name_ = 0;
12385          valueParameter_ = java.util.Collections.emptyList();
12386          returnType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
12387        }
12388        private byte memoizedIsInitialized = -1;
12389        public final boolean isInitialized() {
12390          byte isInitialized = memoizedIsInitialized;
12391          if (isInitialized != -1) return isInitialized == 1;
12392    
12393          if (!hasName()) {
12394            memoizedIsInitialized = 0;
12395            return false;
12396          }
12397          if (!hasReturnType()) {
12398            memoizedIsInitialized = 0;
12399            return false;
12400          }
12401          for (int i = 0; i < getTypeParameterCount(); i++) {
12402            if (!getTypeParameter(i).isInitialized()) {
12403              memoizedIsInitialized = 0;
12404              return false;
12405            }
12406          }
12407          if (hasReceiverType()) {
12408            if (!getReceiverType().isInitialized()) {
12409              memoizedIsInitialized = 0;
12410              return false;
12411            }
12412          }
12413          for (int i = 0; i < getValueParameterCount(); i++) {
12414            if (!getValueParameter(i).isInitialized()) {
12415              memoizedIsInitialized = 0;
12416              return false;
12417            }
12418          }
12419          if (!getReturnType().isInitialized()) {
12420            memoizedIsInitialized = 0;
12421            return false;
12422          }
12423          if (!extensionsAreInitialized()) {
12424            memoizedIsInitialized = 0;
12425            return false;
12426          }
12427          memoizedIsInitialized = 1;
12428          return true;
12429        }
12430    
12431        public void writeTo(com.google.protobuf.CodedOutputStream output)
12432                            throws java.io.IOException {
12433          getSerializedSize();
12434          com.google.protobuf.GeneratedMessageLite
12435            .ExtendableMessage<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable>.ExtensionWriter extensionWriter =
12436              newExtensionWriter();
12437          if (((bitField0_ & 0x00000001) == 0x00000001)) {
12438            output.writeInt32(1, flags_);
12439          }
12440          if (((bitField0_ & 0x00000002) == 0x00000002)) {
12441            output.writeBytes(2, getExtraVisibilityBytes());
12442          }
12443          for (int i = 0; i < typeParameter_.size(); i++) {
12444            output.writeMessage(4, typeParameter_.get(i));
12445          }
12446          if (((bitField0_ & 0x00000010) == 0x00000010)) {
12447            output.writeMessage(5, receiverType_);
12448          }
12449          if (((bitField0_ & 0x00000020) == 0x00000020)) {
12450            output.writeInt32(6, name_);
12451          }
12452          for (int i = 0; i < valueParameter_.size(); i++) {
12453            output.writeMessage(7, valueParameter_.get(i));
12454          }
12455          if (((bitField0_ & 0x00000040) == 0x00000040)) {
12456            output.writeMessage(8, returnType_);
12457          }
12458          if (((bitField0_ & 0x00000004) == 0x00000004)) {
12459            output.writeInt32(9, getterFlags_);
12460          }
12461          if (((bitField0_ & 0x00000008) == 0x00000008)) {
12462            output.writeInt32(10, setterFlags_);
12463          }
12464          extensionWriter.writeUntil(200, output);
12465        }
12466    
12467        private int memoizedSerializedSize = -1;
12468        public int getSerializedSize() {
12469          int size = memoizedSerializedSize;
12470          if (size != -1) return size;
12471    
12472          size = 0;
12473          if (((bitField0_ & 0x00000001) == 0x00000001)) {
12474            size += com.google.protobuf.CodedOutputStream
12475              .computeInt32Size(1, flags_);
12476          }
12477          if (((bitField0_ & 0x00000002) == 0x00000002)) {
12478            size += com.google.protobuf.CodedOutputStream
12479              .computeBytesSize(2, getExtraVisibilityBytes());
12480          }
12481          for (int i = 0; i < typeParameter_.size(); i++) {
12482            size += com.google.protobuf.CodedOutputStream
12483              .computeMessageSize(4, typeParameter_.get(i));
12484          }
12485          if (((bitField0_ & 0x00000010) == 0x00000010)) {
12486            size += com.google.protobuf.CodedOutputStream
12487              .computeMessageSize(5, receiverType_);
12488          }
12489          if (((bitField0_ & 0x00000020) == 0x00000020)) {
12490            size += com.google.protobuf.CodedOutputStream
12491              .computeInt32Size(6, name_);
12492          }
12493          for (int i = 0; i < valueParameter_.size(); i++) {
12494            size += com.google.protobuf.CodedOutputStream
12495              .computeMessageSize(7, valueParameter_.get(i));
12496          }
12497          if (((bitField0_ & 0x00000040) == 0x00000040)) {
12498            size += com.google.protobuf.CodedOutputStream
12499              .computeMessageSize(8, returnType_);
12500          }
12501          if (((bitField0_ & 0x00000004) == 0x00000004)) {
12502            size += com.google.protobuf.CodedOutputStream
12503              .computeInt32Size(9, getterFlags_);
12504          }
12505          if (((bitField0_ & 0x00000008) == 0x00000008)) {
12506            size += com.google.protobuf.CodedOutputStream
12507              .computeInt32Size(10, setterFlags_);
12508          }
12509          size += extensionsSerializedSize();
12510          memoizedSerializedSize = size;
12511          return size;
12512        }
12513    
12514        private static final long serialVersionUID = 0L;
12515        @java.lang.Override
12516        protected java.lang.Object writeReplace()
12517            throws java.io.ObjectStreamException {
12518          return super.writeReplace();
12519        }
12520    
12521        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
12522            com.google.protobuf.ByteString data)
12523            throws com.google.protobuf.InvalidProtocolBufferException {
12524          return PARSER.parseFrom(data);
12525        }
12526        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
12527            com.google.protobuf.ByteString data,
12528            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12529            throws com.google.protobuf.InvalidProtocolBufferException {
12530          return PARSER.parseFrom(data, extensionRegistry);
12531        }
12532        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(byte[] data)
12533            throws com.google.protobuf.InvalidProtocolBufferException {
12534          return PARSER.parseFrom(data);
12535        }
12536        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
12537            byte[] data,
12538            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12539            throws com.google.protobuf.InvalidProtocolBufferException {
12540          return PARSER.parseFrom(data, extensionRegistry);
12541        }
12542        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(java.io.InputStream input)
12543            throws java.io.IOException {
12544          return PARSER.parseFrom(input);
12545        }
12546        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
12547            java.io.InputStream input,
12548            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12549            throws java.io.IOException {
12550          return PARSER.parseFrom(input, extensionRegistry);
12551        }
12552        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseDelimitedFrom(java.io.InputStream input)
12553            throws java.io.IOException {
12554          return PARSER.parseDelimitedFrom(input);
12555        }
12556        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseDelimitedFrom(
12557            java.io.InputStream input,
12558            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12559            throws java.io.IOException {
12560          return PARSER.parseDelimitedFrom(input, extensionRegistry);
12561        }
12562        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
12563            com.google.protobuf.CodedInputStream input)
12564            throws java.io.IOException {
12565          return PARSER.parseFrom(input);
12566        }
12567        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
12568            com.google.protobuf.CodedInputStream input,
12569            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12570            throws java.io.IOException {
12571          return PARSER.parseFrom(input, extensionRegistry);
12572        }
12573    
12574        public static Builder newBuilder() { return Builder.create(); }
12575        public Builder newBuilderForType() { return newBuilder(); }
12576        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable prototype) {
12577          return newBuilder().mergeFrom(prototype);
12578        }
12579        public Builder toBuilder() { return newBuilder(this); }
12580    
12581        /**
12582         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Callable}
12583         */
12584        public static final class Builder extends
12585            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
12586              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable, Builder> implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.CallableOrBuilder {
12587          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.newBuilder()
12588          private Builder() {
12589            maybeForceBuilderInitialization();
12590          }
12591    
12592          private void maybeForceBuilderInitialization() {
12593          }
12594          private static Builder create() {
12595            return new Builder();
12596          }
12597    
12598          public Builder clear() {
12599            super.clear();
12600            flags_ = 0;
12601            bitField0_ = (bitField0_ & ~0x00000001);
12602            extraVisibility_ = "";
12603            bitField0_ = (bitField0_ & ~0x00000002);
12604            getterFlags_ = 0;
12605            bitField0_ = (bitField0_ & ~0x00000004);
12606            setterFlags_ = 0;
12607            bitField0_ = (bitField0_ & ~0x00000008);
12608            typeParameter_ = java.util.Collections.emptyList();
12609            bitField0_ = (bitField0_ & ~0x00000010);
12610            receiverType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
12611            bitField0_ = (bitField0_ & ~0x00000020);
12612            name_ = 0;
12613            bitField0_ = (bitField0_ & ~0x00000040);
12614            valueParameter_ = java.util.Collections.emptyList();
12615            bitField0_ = (bitField0_ & ~0x00000080);
12616            returnType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
12617            bitField0_ = (bitField0_ & ~0x00000100);
12618            return this;
12619          }
12620    
12621          public Builder clone() {
12622            return create().mergeFrom(buildPartial());
12623          }
12624    
12625          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getDefaultInstanceForType() {
12626            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance();
12627          }
12628    
12629          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable build() {
12630            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable result = buildPartial();
12631            if (!result.isInitialized()) {
12632              throw newUninitializedMessageException(result);
12633            }
12634            return result;
12635          }
12636    
12637          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable buildPartial() {
12638            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable(this);
12639            int from_bitField0_ = bitField0_;
12640            int to_bitField0_ = 0;
12641            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
12642              to_bitField0_ |= 0x00000001;
12643            }
12644            result.flags_ = flags_;
12645            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
12646              to_bitField0_ |= 0x00000002;
12647            }
12648            result.extraVisibility_ = extraVisibility_;
12649            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
12650              to_bitField0_ |= 0x00000004;
12651            }
12652            result.getterFlags_ = getterFlags_;
12653            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
12654              to_bitField0_ |= 0x00000008;
12655            }
12656            result.setterFlags_ = setterFlags_;
12657            if (((bitField0_ & 0x00000010) == 0x00000010)) {
12658              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
12659              bitField0_ = (bitField0_ & ~0x00000010);
12660            }
12661            result.typeParameter_ = typeParameter_;
12662            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
12663              to_bitField0_ |= 0x00000010;
12664            }
12665            result.receiverType_ = receiverType_;
12666            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
12667              to_bitField0_ |= 0x00000020;
12668            }
12669            result.name_ = name_;
12670            if (((bitField0_ & 0x00000080) == 0x00000080)) {
12671              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
12672              bitField0_ = (bitField0_ & ~0x00000080);
12673            }
12674            result.valueParameter_ = valueParameter_;
12675            if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
12676              to_bitField0_ |= 0x00000040;
12677            }
12678            result.returnType_ = returnType_;
12679            result.bitField0_ = to_bitField0_;
12680            return result;
12681          }
12682    
12683          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable other) {
12684            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance()) return this;
12685            if (other.hasFlags()) {
12686              setFlags(other.getFlags());
12687            }
12688            if (other.hasExtraVisibility()) {
12689              bitField0_ |= 0x00000002;
12690              extraVisibility_ = other.extraVisibility_;
12691              
12692            }
12693            if (other.hasGetterFlags()) {
12694              setGetterFlags(other.getGetterFlags());
12695            }
12696            if (other.hasSetterFlags()) {
12697              setSetterFlags(other.getSetterFlags());
12698            }
12699            if (!other.typeParameter_.isEmpty()) {
12700              if (typeParameter_.isEmpty()) {
12701                typeParameter_ = other.typeParameter_;
12702                bitField0_ = (bitField0_ & ~0x00000010);
12703              } else {
12704                ensureTypeParameterIsMutable();
12705                typeParameter_.addAll(other.typeParameter_);
12706              }
12707              
12708            }
12709            if (other.hasReceiverType()) {
12710              mergeReceiverType(other.getReceiverType());
12711            }
12712            if (other.hasName()) {
12713              setName(other.getName());
12714            }
12715            if (!other.valueParameter_.isEmpty()) {
12716              if (valueParameter_.isEmpty()) {
12717                valueParameter_ = other.valueParameter_;
12718                bitField0_ = (bitField0_ & ~0x00000080);
12719              } else {
12720                ensureValueParameterIsMutable();
12721                valueParameter_.addAll(other.valueParameter_);
12722              }
12723              
12724            }
12725            if (other.hasReturnType()) {
12726              mergeReturnType(other.getReturnType());
12727            }
12728            this.mergeExtensionFields(other);
12729            return this;
12730          }
12731    
12732          public final boolean isInitialized() {
12733            if (!hasName()) {
12734              
12735              return false;
12736            }
12737            if (!hasReturnType()) {
12738              
12739              return false;
12740            }
12741            for (int i = 0; i < getTypeParameterCount(); i++) {
12742              if (!getTypeParameter(i).isInitialized()) {
12743                
12744                return false;
12745              }
12746            }
12747            if (hasReceiverType()) {
12748              if (!getReceiverType().isInitialized()) {
12749                
12750                return false;
12751              }
12752            }
12753            for (int i = 0; i < getValueParameterCount(); i++) {
12754              if (!getValueParameter(i).isInitialized()) {
12755                
12756                return false;
12757              }
12758            }
12759            if (!getReturnType().isInitialized()) {
12760              
12761              return false;
12762            }
12763            if (!extensionsAreInitialized()) {
12764              
12765              return false;
12766            }
12767            return true;
12768          }
12769    
12770          public Builder mergeFrom(
12771              com.google.protobuf.CodedInputStream input,
12772              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12773              throws java.io.IOException {
12774            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parsedMessage = null;
12775            try {
12776              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
12777            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
12778              parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable) e.getUnfinishedMessage();
12779              throw e;
12780            } finally {
12781              if (parsedMessage != null) {
12782                mergeFrom(parsedMessage);
12783              }
12784            }
12785            return this;
12786          }
12787          private int bitField0_;
12788    
12789          // optional int32 flags = 1;
12790          private int flags_ ;
12791          /**
12792           * <code>optional int32 flags = 1;</code>
12793           *
12794           * <pre>
12795           *
12796           *Visibility
12797           *Modality
12798           *has_annotations
12799           *CallableKind
12800           *MemberKind
12801           *hasGetter
12802           *hasSetter
12803           *hasConstant
12804           * </pre>
12805           */
12806          public boolean hasFlags() {
12807            return ((bitField0_ & 0x00000001) == 0x00000001);
12808          }
12809          /**
12810           * <code>optional int32 flags = 1;</code>
12811           *
12812           * <pre>
12813           *
12814           *Visibility
12815           *Modality
12816           *has_annotations
12817           *CallableKind
12818           *MemberKind
12819           *hasGetter
12820           *hasSetter
12821           *hasConstant
12822           * </pre>
12823           */
12824          public int getFlags() {
12825            return flags_;
12826          }
12827          /**
12828           * <code>optional int32 flags = 1;</code>
12829           *
12830           * <pre>
12831           *
12832           *Visibility
12833           *Modality
12834           *has_annotations
12835           *CallableKind
12836           *MemberKind
12837           *hasGetter
12838           *hasSetter
12839           *hasConstant
12840           * </pre>
12841           */
12842          public Builder setFlags(int value) {
12843            bitField0_ |= 0x00000001;
12844            flags_ = value;
12845            
12846            return this;
12847          }
12848          /**
12849           * <code>optional int32 flags = 1;</code>
12850           *
12851           * <pre>
12852           *
12853           *Visibility
12854           *Modality
12855           *has_annotations
12856           *CallableKind
12857           *MemberKind
12858           *hasGetter
12859           *hasSetter
12860           *hasConstant
12861           * </pre>
12862           */
12863          public Builder clearFlags() {
12864            bitField0_ = (bitField0_ & ~0x00000001);
12865            flags_ = 0;
12866            
12867            return this;
12868          }
12869    
12870          // optional string extra_visibility = 2;
12871          private java.lang.Object extraVisibility_ = "";
12872          /**
12873           * <code>optional string extra_visibility = 2;</code>
12874           *
12875           * <pre>
12876           * for things like java-specific visibilities
12877           * </pre>
12878           */
12879          public boolean hasExtraVisibility() {
12880            return ((bitField0_ & 0x00000002) == 0x00000002);
12881          }
12882          /**
12883           * <code>optional string extra_visibility = 2;</code>
12884           *
12885           * <pre>
12886           * for things like java-specific visibilities
12887           * </pre>
12888           */
12889          public java.lang.String getExtraVisibility() {
12890            java.lang.Object ref = extraVisibility_;
12891            if (!(ref instanceof java.lang.String)) {
12892              java.lang.String s = ((com.google.protobuf.ByteString) ref)
12893                  .toStringUtf8();
12894              extraVisibility_ = s;
12895              return s;
12896            } else {
12897              return (java.lang.String) ref;
12898            }
12899          }
12900          /**
12901           * <code>optional string extra_visibility = 2;</code>
12902           *
12903           * <pre>
12904           * for things like java-specific visibilities
12905           * </pre>
12906           */
12907          public com.google.protobuf.ByteString
12908              getExtraVisibilityBytes() {
12909            java.lang.Object ref = extraVisibility_;
12910            if (ref instanceof String) {
12911              com.google.protobuf.ByteString b = 
12912                  com.google.protobuf.ByteString.copyFromUtf8(
12913                      (java.lang.String) ref);
12914              extraVisibility_ = b;
12915              return b;
12916            } else {
12917              return (com.google.protobuf.ByteString) ref;
12918            }
12919          }
12920          /**
12921           * <code>optional string extra_visibility = 2;</code>
12922           *
12923           * <pre>
12924           * for things like java-specific visibilities
12925           * </pre>
12926           */
12927          public Builder setExtraVisibility(
12928              java.lang.String value) {
12929            if (value == null) {
12930        throw new NullPointerException();
12931      }
12932      bitField0_ |= 0x00000002;
12933            extraVisibility_ = value;
12934            
12935            return this;
12936          }
12937          /**
12938           * <code>optional string extra_visibility = 2;</code>
12939           *
12940           * <pre>
12941           * for things like java-specific visibilities
12942           * </pre>
12943           */
12944          public Builder clearExtraVisibility() {
12945            bitField0_ = (bitField0_ & ~0x00000002);
12946            extraVisibility_ = getDefaultInstance().getExtraVisibility();
12947            
12948            return this;
12949          }
12950          /**
12951           * <code>optional string extra_visibility = 2;</code>
12952           *
12953           * <pre>
12954           * for things like java-specific visibilities
12955           * </pre>
12956           */
12957          public Builder setExtraVisibilityBytes(
12958              com.google.protobuf.ByteString value) {
12959            if (value == null) {
12960        throw new NullPointerException();
12961      }
12962      bitField0_ |= 0x00000002;
12963            extraVisibility_ = value;
12964            
12965            return this;
12966          }
12967    
12968          // optional int32 getter_flags = 9;
12969          private int getterFlags_ ;
12970          /**
12971           * <code>optional int32 getter_flags = 9;</code>
12972           *
12973           * <pre>
12974           *
12975           *isNotDefault
12976           *Visibility
12977           *Modality
12978           *has_annotations
12979           * </pre>
12980           */
12981          public boolean hasGetterFlags() {
12982            return ((bitField0_ & 0x00000004) == 0x00000004);
12983          }
12984          /**
12985           * <code>optional int32 getter_flags = 9;</code>
12986           *
12987           * <pre>
12988           *
12989           *isNotDefault
12990           *Visibility
12991           *Modality
12992           *has_annotations
12993           * </pre>
12994           */
12995          public int getGetterFlags() {
12996            return getterFlags_;
12997          }
12998          /**
12999           * <code>optional int32 getter_flags = 9;</code>
13000           *
13001           * <pre>
13002           *
13003           *isNotDefault
13004           *Visibility
13005           *Modality
13006           *has_annotations
13007           * </pre>
13008           */
13009          public Builder setGetterFlags(int value) {
13010            bitField0_ |= 0x00000004;
13011            getterFlags_ = value;
13012            
13013            return this;
13014          }
13015          /**
13016           * <code>optional int32 getter_flags = 9;</code>
13017           *
13018           * <pre>
13019           *
13020           *isNotDefault
13021           *Visibility
13022           *Modality
13023           *has_annotations
13024           * </pre>
13025           */
13026          public Builder clearGetterFlags() {
13027            bitField0_ = (bitField0_ & ~0x00000004);
13028            getterFlags_ = 0;
13029            
13030            return this;
13031          }
13032    
13033          // optional int32 setter_flags = 10;
13034          private int setterFlags_ ;
13035          /**
13036           * <code>optional int32 setter_flags = 10;</code>
13037           */
13038          public boolean hasSetterFlags() {
13039            return ((bitField0_ & 0x00000008) == 0x00000008);
13040          }
13041          /**
13042           * <code>optional int32 setter_flags = 10;</code>
13043           */
13044          public int getSetterFlags() {
13045            return setterFlags_;
13046          }
13047          /**
13048           * <code>optional int32 setter_flags = 10;</code>
13049           */
13050          public Builder setSetterFlags(int value) {
13051            bitField0_ |= 0x00000008;
13052            setterFlags_ = value;
13053            
13054            return this;
13055          }
13056          /**
13057           * <code>optional int32 setter_flags = 10;</code>
13058           */
13059          public Builder clearSetterFlags() {
13060            bitField0_ = (bitField0_ & ~0x00000008);
13061            setterFlags_ = 0;
13062            
13063            return this;
13064          }
13065    
13066          // repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;
13067          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> typeParameter_ =
13068            java.util.Collections.emptyList();
13069          private void ensureTypeParameterIsMutable() {
13070            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
13071              typeParameter_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter>(typeParameter_);
13072              bitField0_ |= 0x00000010;
13073             }
13074          }
13075    
13076          /**
13077           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
13078           */
13079          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
13080            return java.util.Collections.unmodifiableList(typeParameter_);
13081          }
13082          /**
13083           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
13084           */
13085          public int getTypeParameterCount() {
13086            return typeParameter_.size();
13087          }
13088          /**
13089           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
13090           */
13091          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
13092            return typeParameter_.get(index);
13093          }
13094          /**
13095           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
13096           */
13097          public Builder setTypeParameter(
13098              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter value) {
13099            if (value == null) {
13100              throw new NullPointerException();
13101            }
13102            ensureTypeParameterIsMutable();
13103            typeParameter_.set(index, value);
13104    
13105            return this;
13106          }
13107          /**
13108           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
13109           */
13110          public Builder setTypeParameter(
13111              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
13112            ensureTypeParameterIsMutable();
13113            typeParameter_.set(index, builderForValue.build());
13114    
13115            return this;
13116          }
13117          /**
13118           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
13119           */
13120          public Builder addTypeParameter(org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter value) {
13121            if (value == null) {
13122              throw new NullPointerException();
13123            }
13124            ensureTypeParameterIsMutable();
13125            typeParameter_.add(value);
13126    
13127            return this;
13128          }
13129          /**
13130           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
13131           */
13132          public Builder addTypeParameter(
13133              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter value) {
13134            if (value == null) {
13135              throw new NullPointerException();
13136            }
13137            ensureTypeParameterIsMutable();
13138            typeParameter_.add(index, value);
13139    
13140            return this;
13141          }
13142          /**
13143           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
13144           */
13145          public Builder addTypeParameter(
13146              org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
13147            ensureTypeParameterIsMutable();
13148            typeParameter_.add(builderForValue.build());
13149    
13150            return this;
13151          }
13152          /**
13153           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
13154           */
13155          public Builder addTypeParameter(
13156              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
13157            ensureTypeParameterIsMutable();
13158            typeParameter_.add(index, builderForValue.build());
13159    
13160            return this;
13161          }
13162          /**
13163           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
13164           */
13165          public Builder addAllTypeParameter(
13166              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> values) {
13167            ensureTypeParameterIsMutable();
13168            super.addAll(values, typeParameter_);
13169    
13170            return this;
13171          }
13172          /**
13173           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
13174           */
13175          public Builder clearTypeParameter() {
13176            typeParameter_ = java.util.Collections.emptyList();
13177            bitField0_ = (bitField0_ & ~0x00000010);
13178    
13179            return this;
13180          }
13181          /**
13182           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
13183           */
13184          public Builder removeTypeParameter(int index) {
13185            ensureTypeParameterIsMutable();
13186            typeParameter_.remove(index);
13187    
13188            return this;
13189          }
13190    
13191          // optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;
13192          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type receiverType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
13193          /**
13194           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
13195           */
13196          public boolean hasReceiverType() {
13197            return ((bitField0_ & 0x00000020) == 0x00000020);
13198          }
13199          /**
13200           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
13201           */
13202          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReceiverType() {
13203            return receiverType_;
13204          }
13205          /**
13206           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
13207           */
13208          public Builder setReceiverType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
13209            if (value == null) {
13210              throw new NullPointerException();
13211            }
13212            receiverType_ = value;
13213    
13214            bitField0_ |= 0x00000020;
13215            return this;
13216          }
13217          /**
13218           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
13219           */
13220          public Builder setReceiverType(
13221              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
13222            receiverType_ = builderForValue.build();
13223    
13224            bitField0_ |= 0x00000020;
13225            return this;
13226          }
13227          /**
13228           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
13229           */
13230          public Builder mergeReceiverType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
13231            if (((bitField0_ & 0x00000020) == 0x00000020) &&
13232                receiverType_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) {
13233              receiverType_ =
13234                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder(receiverType_).mergeFrom(value).buildPartial();
13235            } else {
13236              receiverType_ = value;
13237            }
13238    
13239            bitField0_ |= 0x00000020;
13240            return this;
13241          }
13242          /**
13243           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
13244           */
13245          public Builder clearReceiverType() {
13246            receiverType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
13247    
13248            bitField0_ = (bitField0_ & ~0x00000020);
13249            return this;
13250          }
13251    
13252          // required int32 name = 6;
13253          private int name_ ;
13254          /**
13255           * <code>required int32 name = 6;</code>
13256           *
13257           * <pre>
13258           * Id in the StringTable
13259           * </pre>
13260           */
13261          public boolean hasName() {
13262            return ((bitField0_ & 0x00000040) == 0x00000040);
13263          }
13264          /**
13265           * <code>required int32 name = 6;</code>
13266           *
13267           * <pre>
13268           * Id in the StringTable
13269           * </pre>
13270           */
13271          public int getName() {
13272            return name_;
13273          }
13274          /**
13275           * <code>required int32 name = 6;</code>
13276           *
13277           * <pre>
13278           * Id in the StringTable
13279           * </pre>
13280           */
13281          public Builder setName(int value) {
13282            bitField0_ |= 0x00000040;
13283            name_ = value;
13284            
13285            return this;
13286          }
13287          /**
13288           * <code>required int32 name = 6;</code>
13289           *
13290           * <pre>
13291           * Id in the StringTable
13292           * </pre>
13293           */
13294          public Builder clearName() {
13295            bitField0_ = (bitField0_ & ~0x00000040);
13296            name_ = 0;
13297            
13298            return this;
13299          }
13300    
13301          // repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;
13302          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> valueParameter_ =
13303            java.util.Collections.emptyList();
13304          private void ensureValueParameterIsMutable() {
13305            if (!((bitField0_ & 0x00000080) == 0x00000080)) {
13306              valueParameter_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter>(valueParameter_);
13307              bitField0_ |= 0x00000080;
13308             }
13309          }
13310    
13311          /**
13312           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
13313           *
13314           * <pre>
13315           * Value parameters for functions and constructors, or setter value parameter for properties
13316           * </pre>
13317           */
13318          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> getValueParameterList() {
13319            return java.util.Collections.unmodifiableList(valueParameter_);
13320          }
13321          /**
13322           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
13323           *
13324           * <pre>
13325           * Value parameters for functions and constructors, or setter value parameter for properties
13326           * </pre>
13327           */
13328          public int getValueParameterCount() {
13329            return valueParameter_.size();
13330          }
13331          /**
13332           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
13333           *
13334           * <pre>
13335           * Value parameters for functions and constructors, or setter value parameter for properties
13336           * </pre>
13337           */
13338          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index) {
13339            return valueParameter_.get(index);
13340          }
13341          /**
13342           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
13343           *
13344           * <pre>
13345           * Value parameters for functions and constructors, or setter value parameter for properties
13346           * </pre>
13347           */
13348          public Builder setValueParameter(
13349              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter value) {
13350            if (value == null) {
13351              throw new NullPointerException();
13352            }
13353            ensureValueParameterIsMutable();
13354            valueParameter_.set(index, value);
13355    
13356            return this;
13357          }
13358          /**
13359           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
13360           *
13361           * <pre>
13362           * Value parameters for functions and constructors, or setter value parameter for properties
13363           * </pre>
13364           */
13365          public Builder setValueParameter(
13366              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
13367            ensureValueParameterIsMutable();
13368            valueParameter_.set(index, builderForValue.build());
13369    
13370            return this;
13371          }
13372          /**
13373           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
13374           *
13375           * <pre>
13376           * Value parameters for functions and constructors, or setter value parameter for properties
13377           * </pre>
13378           */
13379          public Builder addValueParameter(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter value) {
13380            if (value == null) {
13381              throw new NullPointerException();
13382            }
13383            ensureValueParameterIsMutable();
13384            valueParameter_.add(value);
13385    
13386            return this;
13387          }
13388          /**
13389           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
13390           *
13391           * <pre>
13392           * Value parameters for functions and constructors, or setter value parameter for properties
13393           * </pre>
13394           */
13395          public Builder addValueParameter(
13396              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter value) {
13397            if (value == null) {
13398              throw new NullPointerException();
13399            }
13400            ensureValueParameterIsMutable();
13401            valueParameter_.add(index, value);
13402    
13403            return this;
13404          }
13405          /**
13406           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
13407           *
13408           * <pre>
13409           * Value parameters for functions and constructors, or setter value parameter for properties
13410           * </pre>
13411           */
13412          public Builder addValueParameter(
13413              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
13414            ensureValueParameterIsMutable();
13415            valueParameter_.add(builderForValue.build());
13416    
13417            return this;
13418          }
13419          /**
13420           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
13421           *
13422           * <pre>
13423           * Value parameters for functions and constructors, or setter value parameter for properties
13424           * </pre>
13425           */
13426          public Builder addValueParameter(
13427              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
13428            ensureValueParameterIsMutable();
13429            valueParameter_.add(index, builderForValue.build());
13430    
13431            return this;
13432          }
13433          /**
13434           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
13435           *
13436           * <pre>
13437           * Value parameters for functions and constructors, or setter value parameter for properties
13438           * </pre>
13439           */
13440          public Builder addAllValueParameter(
13441              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> values) {
13442            ensureValueParameterIsMutable();
13443            super.addAll(values, valueParameter_);
13444    
13445            return this;
13446          }
13447          /**
13448           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
13449           *
13450           * <pre>
13451           * Value parameters for functions and constructors, or setter value parameter for properties
13452           * </pre>
13453           */
13454          public Builder clearValueParameter() {
13455            valueParameter_ = java.util.Collections.emptyList();
13456            bitField0_ = (bitField0_ & ~0x00000080);
13457    
13458            return this;
13459          }
13460          /**
13461           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
13462           *
13463           * <pre>
13464           * Value parameters for functions and constructors, or setter value parameter for properties
13465           * </pre>
13466           */
13467          public Builder removeValueParameter(int index) {
13468            ensureValueParameterIsMutable();
13469            valueParameter_.remove(index);
13470    
13471            return this;
13472          }
13473    
13474          // required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;
13475          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type returnType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
13476          /**
13477           * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
13478           */
13479          public boolean hasReturnType() {
13480            return ((bitField0_ & 0x00000100) == 0x00000100);
13481          }
13482          /**
13483           * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
13484           */
13485          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReturnType() {
13486            return returnType_;
13487          }
13488          /**
13489           * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
13490           */
13491          public Builder setReturnType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
13492            if (value == null) {
13493              throw new NullPointerException();
13494            }
13495            returnType_ = value;
13496    
13497            bitField0_ |= 0x00000100;
13498            return this;
13499          }
13500          /**
13501           * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
13502           */
13503          public Builder setReturnType(
13504              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
13505            returnType_ = builderForValue.build();
13506    
13507            bitField0_ |= 0x00000100;
13508            return this;
13509          }
13510          /**
13511           * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
13512           */
13513          public Builder mergeReturnType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
13514            if (((bitField0_ & 0x00000100) == 0x00000100) &&
13515                returnType_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) {
13516              returnType_ =
13517                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder(returnType_).mergeFrom(value).buildPartial();
13518            } else {
13519              returnType_ = value;
13520            }
13521    
13522            bitField0_ |= 0x00000100;
13523            return this;
13524          }
13525          /**
13526           * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
13527           */
13528          public Builder clearReturnType() {
13529            returnType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
13530    
13531            bitField0_ = (bitField0_ & ~0x00000100);
13532            return this;
13533          }
13534    
13535          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Callable)
13536        }
13537    
13538        static {
13539          defaultInstance = new Callable(true);
13540          defaultInstance.initFields();
13541        }
13542    
13543        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Callable)
13544      }
13545    
13546    
13547      static {
13548      }
13549    
13550      // @@protoc_insertion_point(outer_class_scope)
13551    }