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