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        // repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;
7129        /**
7130         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
7131         */
7132        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> 
7133            getTypeParameterList();
7134        /**
7135         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
7136         */
7137        org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
7138        /**
7139         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
7140         */
7141        int getTypeParameterCount();
7142    
7143        // optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;
7144        /**
7145         * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
7146         */
7147        boolean hasReceiverType();
7148        /**
7149         * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
7150         */
7151        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReceiverType();
7152    
7153        // required int32 name = 6;
7154        /**
7155         * <code>required int32 name = 6;</code>
7156         */
7157        boolean hasName();
7158        /**
7159         * <code>required int32 name = 6;</code>
7160         */
7161        int getName();
7162    
7163        // repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;
7164        /**
7165         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
7166         *
7167         * <pre>
7168         * Value parameters for functions and constructors, or setter value parameter for properties
7169         * </pre>
7170         */
7171        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> 
7172            getValueParameterList();
7173        /**
7174         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
7175         *
7176         * <pre>
7177         * Value parameters for functions and constructors, or setter value parameter for properties
7178         * </pre>
7179         */
7180        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index);
7181        /**
7182         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
7183         *
7184         * <pre>
7185         * Value parameters for functions and constructors, or setter value parameter for properties
7186         * </pre>
7187         */
7188        int getValueParameterCount();
7189    
7190        // required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;
7191        /**
7192         * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
7193         */
7194        boolean hasReturnType();
7195        /**
7196         * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
7197         */
7198        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReturnType();
7199      }
7200      /**
7201       * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Callable}
7202       */
7203      public static final class Callable extends
7204          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
7205            Callable> implements CallableOrBuilder {
7206        // Use Callable.newBuilder() to construct.
7207        private Callable(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable, ?> builder) {
7208          super(builder);
7209    
7210        }
7211        private Callable(boolean noInit) {}
7212    
7213        private static final Callable defaultInstance;
7214        public static Callable getDefaultInstance() {
7215          return defaultInstance;
7216        }
7217    
7218        public Callable getDefaultInstanceForType() {
7219          return defaultInstance;
7220        }
7221    
7222        private Callable(
7223            com.google.protobuf.CodedInputStream input,
7224            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7225            throws com.google.protobuf.InvalidProtocolBufferException {
7226          initFields();
7227          int mutable_bitField0_ = 0;
7228          try {
7229            boolean done = false;
7230            while (!done) {
7231              int tag = input.readTag();
7232              switch (tag) {
7233                case 0:
7234                  done = true;
7235                  break;
7236                default: {
7237                  if (!parseUnknownField(input,
7238                                         extensionRegistry, tag)) {
7239                    done = true;
7240                  }
7241                  break;
7242                }
7243                case 8: {
7244                  bitField0_ |= 0x00000001;
7245                  flags_ = input.readInt32();
7246                  break;
7247                }
7248                case 18: {
7249                  bitField0_ |= 0x00000002;
7250                  extraVisibility_ = input.readBytes();
7251                  break;
7252                }
7253                case 34: {
7254                  if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7255                    typeParameter_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter>();
7256                    mutable_bitField0_ |= 0x00000010;
7257                  }
7258                  typeParameter_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.PARSER, extensionRegistry));
7259                  break;
7260                }
7261                case 42: {
7262                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = null;
7263                  if (((bitField0_ & 0x00000010) == 0x00000010)) {
7264                    subBuilder = receiverType_.toBuilder();
7265                  }
7266                  receiverType_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
7267                  if (subBuilder != null) {
7268                    subBuilder.mergeFrom(receiverType_);
7269                    receiverType_ = subBuilder.buildPartial();
7270                  }
7271                  bitField0_ |= 0x00000010;
7272                  break;
7273                }
7274                case 48: {
7275                  bitField0_ |= 0x00000020;
7276                  name_ = input.readInt32();
7277                  break;
7278                }
7279                case 58: {
7280                  if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
7281                    valueParameter_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter>();
7282                    mutable_bitField0_ |= 0x00000080;
7283                  }
7284                  valueParameter_.add(input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.PARSER, extensionRegistry));
7285                  break;
7286                }
7287                case 66: {
7288                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = null;
7289                  if (((bitField0_ & 0x00000040) == 0x00000040)) {
7290                    subBuilder = returnType_.toBuilder();
7291                  }
7292                  returnType_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
7293                  if (subBuilder != null) {
7294                    subBuilder.mergeFrom(returnType_);
7295                    returnType_ = subBuilder.buildPartial();
7296                  }
7297                  bitField0_ |= 0x00000040;
7298                  break;
7299                }
7300                case 72: {
7301                  bitField0_ |= 0x00000004;
7302                  getterFlags_ = input.readInt32();
7303                  break;
7304                }
7305                case 80: {
7306                  bitField0_ |= 0x00000008;
7307                  setterFlags_ = input.readInt32();
7308                  break;
7309                }
7310              }
7311            }
7312          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7313            throw e.setUnfinishedMessage(this);
7314          } catch (java.io.IOException e) {
7315            throw new com.google.protobuf.InvalidProtocolBufferException(
7316                e.getMessage()).setUnfinishedMessage(this);
7317          } finally {
7318            if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
7319              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
7320            }
7321            if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
7322              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
7323            }
7324            makeExtensionsImmutable();
7325          }
7326        }
7327        public static com.google.protobuf.Parser<Callable> PARSER =
7328            new com.google.protobuf.AbstractParser<Callable>() {
7329          public Callable parsePartialFrom(
7330              com.google.protobuf.CodedInputStream input,
7331              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7332              throws com.google.protobuf.InvalidProtocolBufferException {
7333            return new Callable(input, extensionRegistry);
7334          }
7335        };
7336    
7337        @java.lang.Override
7338        public com.google.protobuf.Parser<Callable> getParserForType() {
7339          return PARSER;
7340        }
7341    
7342        /**
7343         * Protobuf enum {@code org.jetbrains.jet.descriptors.serialization.Callable.MemberKind}
7344         */
7345        public enum MemberKind
7346            implements com.google.protobuf.Internal.EnumLite {
7347          /**
7348           * <code>DECLARATION = 0;</code>
7349           *
7350           * <pre>
7351           * 2 bits
7352           * </pre>
7353           */
7354          DECLARATION(0, 0),
7355          /**
7356           * <code>FAKE_OVERRIDE = 1;</code>
7357           */
7358          FAKE_OVERRIDE(1, 1),
7359          /**
7360           * <code>DELEGATION = 2;</code>
7361           */
7362          DELEGATION(2, 2),
7363          /**
7364           * <code>SYNTHESIZED = 3;</code>
7365           */
7366          SYNTHESIZED(3, 3),
7367          ;
7368    
7369          /**
7370           * <code>DECLARATION = 0;</code>
7371           *
7372           * <pre>
7373           * 2 bits
7374           * </pre>
7375           */
7376          public static final int DECLARATION_VALUE = 0;
7377          /**
7378           * <code>FAKE_OVERRIDE = 1;</code>
7379           */
7380          public static final int FAKE_OVERRIDE_VALUE = 1;
7381          /**
7382           * <code>DELEGATION = 2;</code>
7383           */
7384          public static final int DELEGATION_VALUE = 2;
7385          /**
7386           * <code>SYNTHESIZED = 3;</code>
7387           */
7388          public static final int SYNTHESIZED_VALUE = 3;
7389    
7390    
7391          public final int getNumber() { return value; }
7392    
7393          public static MemberKind valueOf(int value) {
7394            switch (value) {
7395              case 0: return DECLARATION;
7396              case 1: return FAKE_OVERRIDE;
7397              case 2: return DELEGATION;
7398              case 3: return SYNTHESIZED;
7399              default: return null;
7400            }
7401          }
7402    
7403          public static com.google.protobuf.Internal.EnumLiteMap<MemberKind>
7404              internalGetValueMap() {
7405            return internalValueMap;
7406          }
7407          private static com.google.protobuf.Internal.EnumLiteMap<MemberKind>
7408              internalValueMap =
7409                new com.google.protobuf.Internal.EnumLiteMap<MemberKind>() {
7410                  public MemberKind findValueByNumber(int number) {
7411                    return MemberKind.valueOf(number);
7412                  }
7413                };
7414    
7415          private final int value;
7416    
7417          private MemberKind(int index, int value) {
7418            this.value = value;
7419          }
7420    
7421          // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Callable.MemberKind)
7422        }
7423    
7424        /**
7425         * Protobuf enum {@code org.jetbrains.jet.descriptors.serialization.Callable.CallableKind}
7426         */
7427        public enum CallableKind
7428            implements com.google.protobuf.Internal.EnumLite {
7429          /**
7430           * <code>FUN = 0;</code>
7431           *
7432           * <pre>
7433           * 3 bits
7434           * </pre>
7435           */
7436          FUN(0, 0),
7437          /**
7438           * <code>VAL = 1;</code>
7439           */
7440          VAL(1, 1),
7441          /**
7442           * <code>VAR = 2;</code>
7443           */
7444          VAR(2, 2),
7445          /**
7446           * <code>CONSTRUCTOR = 3;</code>
7447           */
7448          CONSTRUCTOR(3, 3),
7449          /**
7450           * <code>OBJECT_PROPERTY = 4;</code>
7451           */
7452          OBJECT_PROPERTY(4, 4),
7453          ;
7454    
7455          /**
7456           * <code>FUN = 0;</code>
7457           *
7458           * <pre>
7459           * 3 bits
7460           * </pre>
7461           */
7462          public static final int FUN_VALUE = 0;
7463          /**
7464           * <code>VAL = 1;</code>
7465           */
7466          public static final int VAL_VALUE = 1;
7467          /**
7468           * <code>VAR = 2;</code>
7469           */
7470          public static final int VAR_VALUE = 2;
7471          /**
7472           * <code>CONSTRUCTOR = 3;</code>
7473           */
7474          public static final int CONSTRUCTOR_VALUE = 3;
7475          /**
7476           * <code>OBJECT_PROPERTY = 4;</code>
7477           */
7478          public static final int OBJECT_PROPERTY_VALUE = 4;
7479    
7480    
7481          public final int getNumber() { return value; }
7482    
7483          public static CallableKind valueOf(int value) {
7484            switch (value) {
7485              case 0: return FUN;
7486              case 1: return VAL;
7487              case 2: return VAR;
7488              case 3: return CONSTRUCTOR;
7489              case 4: return OBJECT_PROPERTY;
7490              default: return null;
7491            }
7492          }
7493    
7494          public static com.google.protobuf.Internal.EnumLiteMap<CallableKind>
7495              internalGetValueMap() {
7496            return internalValueMap;
7497          }
7498          private static com.google.protobuf.Internal.EnumLiteMap<CallableKind>
7499              internalValueMap =
7500                new com.google.protobuf.Internal.EnumLiteMap<CallableKind>() {
7501                  public CallableKind findValueByNumber(int number) {
7502                    return CallableKind.valueOf(number);
7503                  }
7504                };
7505    
7506          private final int value;
7507    
7508          private CallableKind(int index, int value) {
7509            this.value = value;
7510          }
7511    
7512          // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Callable.CallableKind)
7513        }
7514    
7515        public interface ValueParameterOrBuilder extends 
7516             com.google.protobuf.GeneratedMessageLite.
7517                  ExtendableMessageOrBuilder<ValueParameter> {
7518    
7519          // optional int32 flags = 1;
7520          /**
7521           * <code>optional int32 flags = 1;</code>
7522           *
7523           * <pre>
7524           *
7525           *declaresDefault
7526           *has_annotations
7527           * </pre>
7528           */
7529          boolean hasFlags();
7530          /**
7531           * <code>optional int32 flags = 1;</code>
7532           *
7533           * <pre>
7534           *
7535           *declaresDefault
7536           *has_annotations
7537           * </pre>
7538           */
7539          int getFlags();
7540    
7541          // required int32 name = 2;
7542          /**
7543           * <code>required int32 name = 2;</code>
7544           */
7545          boolean hasName();
7546          /**
7547           * <code>required int32 name = 2;</code>
7548           */
7549          int getName();
7550    
7551          // required .org.jetbrains.jet.descriptors.serialization.Type type = 3;
7552          /**
7553           * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
7554           */
7555          boolean hasType();
7556          /**
7557           * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
7558           */
7559          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getType();
7560    
7561          // optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;
7562          /**
7563           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
7564           */
7565          boolean hasVarargElementType();
7566          /**
7567           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
7568           */
7569          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getVarargElementType();
7570        }
7571        /**
7572         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter}
7573         */
7574        public static final class ValueParameter extends
7575            com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
7576              ValueParameter> implements ValueParameterOrBuilder {
7577          // Use ValueParameter.newBuilder() to construct.
7578          private ValueParameter(com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter, ?> builder) {
7579            super(builder);
7580    
7581          }
7582          private ValueParameter(boolean noInit) {}
7583    
7584          private static final ValueParameter defaultInstance;
7585          public static ValueParameter getDefaultInstance() {
7586            return defaultInstance;
7587          }
7588    
7589          public ValueParameter getDefaultInstanceForType() {
7590            return defaultInstance;
7591          }
7592    
7593          private ValueParameter(
7594              com.google.protobuf.CodedInputStream input,
7595              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7596              throws com.google.protobuf.InvalidProtocolBufferException {
7597            initFields();
7598            int mutable_bitField0_ = 0;
7599            try {
7600              boolean done = false;
7601              while (!done) {
7602                int tag = input.readTag();
7603                switch (tag) {
7604                  case 0:
7605                    done = true;
7606                    break;
7607                  default: {
7608                    if (!parseUnknownField(input,
7609                                           extensionRegistry, tag)) {
7610                      done = true;
7611                    }
7612                    break;
7613                  }
7614                  case 8: {
7615                    bitField0_ |= 0x00000001;
7616                    flags_ = input.readInt32();
7617                    break;
7618                  }
7619                  case 16: {
7620                    bitField0_ |= 0x00000002;
7621                    name_ = input.readInt32();
7622                    break;
7623                  }
7624                  case 26: {
7625                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = null;
7626                    if (((bitField0_ & 0x00000004) == 0x00000004)) {
7627                      subBuilder = type_.toBuilder();
7628                    }
7629                    type_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
7630                    if (subBuilder != null) {
7631                      subBuilder.mergeFrom(type_);
7632                      type_ = subBuilder.buildPartial();
7633                    }
7634                    bitField0_ |= 0x00000004;
7635                    break;
7636                  }
7637                  case 34: {
7638                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = null;
7639                    if (((bitField0_ & 0x00000008) == 0x00000008)) {
7640                      subBuilder = varargElementType_.toBuilder();
7641                    }
7642                    varargElementType_ = input.readMessage(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.PARSER, extensionRegistry);
7643                    if (subBuilder != null) {
7644                      subBuilder.mergeFrom(varargElementType_);
7645                      varargElementType_ = subBuilder.buildPartial();
7646                    }
7647                    bitField0_ |= 0x00000008;
7648                    break;
7649                  }
7650                }
7651              }
7652            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7653              throw e.setUnfinishedMessage(this);
7654            } catch (java.io.IOException e) {
7655              throw new com.google.protobuf.InvalidProtocolBufferException(
7656                  e.getMessage()).setUnfinishedMessage(this);
7657            } finally {
7658              makeExtensionsImmutable();
7659            }
7660          }
7661          public static com.google.protobuf.Parser<ValueParameter> PARSER =
7662              new com.google.protobuf.AbstractParser<ValueParameter>() {
7663            public ValueParameter parsePartialFrom(
7664                com.google.protobuf.CodedInputStream input,
7665                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7666                throws com.google.protobuf.InvalidProtocolBufferException {
7667              return new ValueParameter(input, extensionRegistry);
7668            }
7669          };
7670    
7671          @java.lang.Override
7672          public com.google.protobuf.Parser<ValueParameter> getParserForType() {
7673            return PARSER;
7674          }
7675    
7676          private int bitField0_;
7677          // optional int32 flags = 1;
7678          public static final int FLAGS_FIELD_NUMBER = 1;
7679          private int flags_;
7680          /**
7681           * <code>optional int32 flags = 1;</code>
7682           *
7683           * <pre>
7684           *
7685           *declaresDefault
7686           *has_annotations
7687           * </pre>
7688           */
7689          public boolean hasFlags() {
7690            return ((bitField0_ & 0x00000001) == 0x00000001);
7691          }
7692          /**
7693           * <code>optional int32 flags = 1;</code>
7694           *
7695           * <pre>
7696           *
7697           *declaresDefault
7698           *has_annotations
7699           * </pre>
7700           */
7701          public int getFlags() {
7702            return flags_;
7703          }
7704    
7705          // required int32 name = 2;
7706          public static final int NAME_FIELD_NUMBER = 2;
7707          private int name_;
7708          /**
7709           * <code>required int32 name = 2;</code>
7710           */
7711          public boolean hasName() {
7712            return ((bitField0_ & 0x00000002) == 0x00000002);
7713          }
7714          /**
7715           * <code>required int32 name = 2;</code>
7716           */
7717          public int getName() {
7718            return name_;
7719          }
7720    
7721          // required .org.jetbrains.jet.descriptors.serialization.Type type = 3;
7722          public static final int TYPE_FIELD_NUMBER = 3;
7723          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type type_;
7724          /**
7725           * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
7726           */
7727          public boolean hasType() {
7728            return ((bitField0_ & 0x00000004) == 0x00000004);
7729          }
7730          /**
7731           * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
7732           */
7733          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getType() {
7734            return type_;
7735          }
7736    
7737          // optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;
7738          public static final int VARARG_ELEMENT_TYPE_FIELD_NUMBER = 4;
7739          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type varargElementType_;
7740          /**
7741           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
7742           */
7743          public boolean hasVarargElementType() {
7744            return ((bitField0_ & 0x00000008) == 0x00000008);
7745          }
7746          /**
7747           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
7748           */
7749          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getVarargElementType() {
7750            return varargElementType_;
7751          }
7752    
7753          private void initFields() {
7754            flags_ = 0;
7755            name_ = 0;
7756            type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
7757            varargElementType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
7758          }
7759          private byte memoizedIsInitialized = -1;
7760          public final boolean isInitialized() {
7761            byte isInitialized = memoizedIsInitialized;
7762            if (isInitialized != -1) return isInitialized == 1;
7763    
7764            if (!hasName()) {
7765              memoizedIsInitialized = 0;
7766              return false;
7767            }
7768            if (!hasType()) {
7769              memoizedIsInitialized = 0;
7770              return false;
7771            }
7772            if (!getType().isInitialized()) {
7773              memoizedIsInitialized = 0;
7774              return false;
7775            }
7776            if (hasVarargElementType()) {
7777              if (!getVarargElementType().isInitialized()) {
7778                memoizedIsInitialized = 0;
7779                return false;
7780              }
7781            }
7782            if (!extensionsAreInitialized()) {
7783              memoizedIsInitialized = 0;
7784              return false;
7785            }
7786            memoizedIsInitialized = 1;
7787            return true;
7788          }
7789    
7790          public void writeTo(com.google.protobuf.CodedOutputStream output)
7791                              throws java.io.IOException {
7792            getSerializedSize();
7793            com.google.protobuf.GeneratedMessageLite
7794              .ExtendableMessage<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter>.ExtensionWriter extensionWriter =
7795                newExtensionWriter();
7796            if (((bitField0_ & 0x00000001) == 0x00000001)) {
7797              output.writeInt32(1, flags_);
7798            }
7799            if (((bitField0_ & 0x00000002) == 0x00000002)) {
7800              output.writeInt32(2, name_);
7801            }
7802            if (((bitField0_ & 0x00000004) == 0x00000004)) {
7803              output.writeMessage(3, type_);
7804            }
7805            if (((bitField0_ & 0x00000008) == 0x00000008)) {
7806              output.writeMessage(4, varargElementType_);
7807            }
7808            extensionWriter.writeUntil(200, output);
7809          }
7810    
7811          private int memoizedSerializedSize = -1;
7812          public int getSerializedSize() {
7813            int size = memoizedSerializedSize;
7814            if (size != -1) return size;
7815    
7816            size = 0;
7817            if (((bitField0_ & 0x00000001) == 0x00000001)) {
7818              size += com.google.protobuf.CodedOutputStream
7819                .computeInt32Size(1, flags_);
7820            }
7821            if (((bitField0_ & 0x00000002) == 0x00000002)) {
7822              size += com.google.protobuf.CodedOutputStream
7823                .computeInt32Size(2, name_);
7824            }
7825            if (((bitField0_ & 0x00000004) == 0x00000004)) {
7826              size += com.google.protobuf.CodedOutputStream
7827                .computeMessageSize(3, type_);
7828            }
7829            if (((bitField0_ & 0x00000008) == 0x00000008)) {
7830              size += com.google.protobuf.CodedOutputStream
7831                .computeMessageSize(4, varargElementType_);
7832            }
7833            size += extensionsSerializedSize();
7834            memoizedSerializedSize = size;
7835            return size;
7836          }
7837    
7838          private static final long serialVersionUID = 0L;
7839          @java.lang.Override
7840          protected java.lang.Object writeReplace()
7841              throws java.io.ObjectStreamException {
7842            return super.writeReplace();
7843          }
7844    
7845          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
7846              com.google.protobuf.ByteString data)
7847              throws com.google.protobuf.InvalidProtocolBufferException {
7848            return PARSER.parseFrom(data);
7849          }
7850          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
7851              com.google.protobuf.ByteString data,
7852              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7853              throws com.google.protobuf.InvalidProtocolBufferException {
7854            return PARSER.parseFrom(data, extensionRegistry);
7855          }
7856          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(byte[] data)
7857              throws com.google.protobuf.InvalidProtocolBufferException {
7858            return PARSER.parseFrom(data);
7859          }
7860          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
7861              byte[] data,
7862              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7863              throws com.google.protobuf.InvalidProtocolBufferException {
7864            return PARSER.parseFrom(data, extensionRegistry);
7865          }
7866          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(java.io.InputStream input)
7867              throws java.io.IOException {
7868            return PARSER.parseFrom(input);
7869          }
7870          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
7871              java.io.InputStream input,
7872              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7873              throws java.io.IOException {
7874            return PARSER.parseFrom(input, extensionRegistry);
7875          }
7876          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseDelimitedFrom(java.io.InputStream input)
7877              throws java.io.IOException {
7878            return PARSER.parseDelimitedFrom(input);
7879          }
7880          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseDelimitedFrom(
7881              java.io.InputStream input,
7882              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7883              throws java.io.IOException {
7884            return PARSER.parseDelimitedFrom(input, extensionRegistry);
7885          }
7886          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
7887              com.google.protobuf.CodedInputStream input)
7888              throws java.io.IOException {
7889            return PARSER.parseFrom(input);
7890          }
7891          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
7892              com.google.protobuf.CodedInputStream input,
7893              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7894              throws java.io.IOException {
7895            return PARSER.parseFrom(input, extensionRegistry);
7896          }
7897    
7898          public static Builder newBuilder() { return Builder.create(); }
7899          public Builder newBuilderForType() { return newBuilder(); }
7900          public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter prototype) {
7901            return newBuilder().mergeFrom(prototype);
7902          }
7903          public Builder toBuilder() { return newBuilder(this); }
7904    
7905          /**
7906           * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter}
7907           */
7908          public static final class Builder extends
7909              com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
7910                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter, Builder> implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameterOrBuilder {
7911            // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.newBuilder()
7912            private Builder() {
7913              maybeForceBuilderInitialization();
7914            }
7915    
7916            private void maybeForceBuilderInitialization() {
7917            }
7918            private static Builder create() {
7919              return new Builder();
7920            }
7921    
7922            public Builder clear() {
7923              super.clear();
7924              flags_ = 0;
7925              bitField0_ = (bitField0_ & ~0x00000001);
7926              name_ = 0;
7927              bitField0_ = (bitField0_ & ~0x00000002);
7928              type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
7929              bitField0_ = (bitField0_ & ~0x00000004);
7930              varargElementType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
7931              bitField0_ = (bitField0_ & ~0x00000008);
7932              return this;
7933            }
7934    
7935            public Builder clone() {
7936              return create().mergeFrom(buildPartial());
7937            }
7938    
7939            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter getDefaultInstanceForType() {
7940              return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.getDefaultInstance();
7941            }
7942    
7943            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter build() {
7944              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter result = buildPartial();
7945              if (!result.isInitialized()) {
7946                throw newUninitializedMessageException(result);
7947              }
7948              return result;
7949            }
7950    
7951            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter buildPartial() {
7952              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter(this);
7953              int from_bitField0_ = bitField0_;
7954              int to_bitField0_ = 0;
7955              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
7956                to_bitField0_ |= 0x00000001;
7957              }
7958              result.flags_ = flags_;
7959              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
7960                to_bitField0_ |= 0x00000002;
7961              }
7962              result.name_ = name_;
7963              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
7964                to_bitField0_ |= 0x00000004;
7965              }
7966              result.type_ = type_;
7967              if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
7968                to_bitField0_ |= 0x00000008;
7969              }
7970              result.varargElementType_ = varargElementType_;
7971              result.bitField0_ = to_bitField0_;
7972              return result;
7973            }
7974    
7975            public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter other) {
7976              if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.getDefaultInstance()) return this;
7977              if (other.hasFlags()) {
7978                setFlags(other.getFlags());
7979              }
7980              if (other.hasName()) {
7981                setName(other.getName());
7982              }
7983              if (other.hasType()) {
7984                mergeType(other.getType());
7985              }
7986              if (other.hasVarargElementType()) {
7987                mergeVarargElementType(other.getVarargElementType());
7988              }
7989              this.mergeExtensionFields(other);
7990              return this;
7991            }
7992    
7993            public final boolean isInitialized() {
7994              if (!hasName()) {
7995                
7996                return false;
7997              }
7998              if (!hasType()) {
7999                
8000                return false;
8001              }
8002              if (!getType().isInitialized()) {
8003                
8004                return false;
8005              }
8006              if (hasVarargElementType()) {
8007                if (!getVarargElementType().isInitialized()) {
8008                  
8009                  return false;
8010                }
8011              }
8012              if (!extensionsAreInitialized()) {
8013                
8014                return false;
8015              }
8016              return true;
8017            }
8018    
8019            public Builder mergeFrom(
8020                com.google.protobuf.CodedInputStream input,
8021                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8022                throws java.io.IOException {
8023              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parsedMessage = null;
8024              try {
8025                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
8026              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8027                parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter) e.getUnfinishedMessage();
8028                throw e;
8029              } finally {
8030                if (parsedMessage != null) {
8031                  mergeFrom(parsedMessage);
8032                }
8033              }
8034              return this;
8035            }
8036            private int bitField0_;
8037    
8038            // optional int32 flags = 1;
8039            private int flags_ ;
8040            /**
8041             * <code>optional int32 flags = 1;</code>
8042             *
8043             * <pre>
8044             *
8045             *declaresDefault
8046             *has_annotations
8047             * </pre>
8048             */
8049            public boolean hasFlags() {
8050              return ((bitField0_ & 0x00000001) == 0x00000001);
8051            }
8052            /**
8053             * <code>optional int32 flags = 1;</code>
8054             *
8055             * <pre>
8056             *
8057             *declaresDefault
8058             *has_annotations
8059             * </pre>
8060             */
8061            public int getFlags() {
8062              return flags_;
8063            }
8064            /**
8065             * <code>optional int32 flags = 1;</code>
8066             *
8067             * <pre>
8068             *
8069             *declaresDefault
8070             *has_annotations
8071             * </pre>
8072             */
8073            public Builder setFlags(int value) {
8074              bitField0_ |= 0x00000001;
8075              flags_ = value;
8076              
8077              return this;
8078            }
8079            /**
8080             * <code>optional int32 flags = 1;</code>
8081             *
8082             * <pre>
8083             *
8084             *declaresDefault
8085             *has_annotations
8086             * </pre>
8087             */
8088            public Builder clearFlags() {
8089              bitField0_ = (bitField0_ & ~0x00000001);
8090              flags_ = 0;
8091              
8092              return this;
8093            }
8094    
8095            // required int32 name = 2;
8096            private int name_ ;
8097            /**
8098             * <code>required int32 name = 2;</code>
8099             */
8100            public boolean hasName() {
8101              return ((bitField0_ & 0x00000002) == 0x00000002);
8102            }
8103            /**
8104             * <code>required int32 name = 2;</code>
8105             */
8106            public int getName() {
8107              return name_;
8108            }
8109            /**
8110             * <code>required int32 name = 2;</code>
8111             */
8112            public Builder setName(int value) {
8113              bitField0_ |= 0x00000002;
8114              name_ = value;
8115              
8116              return this;
8117            }
8118            /**
8119             * <code>required int32 name = 2;</code>
8120             */
8121            public Builder clearName() {
8122              bitField0_ = (bitField0_ & ~0x00000002);
8123              name_ = 0;
8124              
8125              return this;
8126            }
8127    
8128            // required .org.jetbrains.jet.descriptors.serialization.Type type = 3;
8129            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
8130            /**
8131             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
8132             */
8133            public boolean hasType() {
8134              return ((bitField0_ & 0x00000004) == 0x00000004);
8135            }
8136            /**
8137             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
8138             */
8139            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getType() {
8140              return type_;
8141            }
8142            /**
8143             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
8144             */
8145            public Builder setType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
8146              if (value == null) {
8147                throw new NullPointerException();
8148              }
8149              type_ = value;
8150    
8151              bitField0_ |= 0x00000004;
8152              return this;
8153            }
8154            /**
8155             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
8156             */
8157            public Builder setType(
8158                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
8159              type_ = builderForValue.build();
8160    
8161              bitField0_ |= 0x00000004;
8162              return this;
8163            }
8164            /**
8165             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
8166             */
8167            public Builder mergeType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
8168              if (((bitField0_ & 0x00000004) == 0x00000004) &&
8169                  type_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) {
8170                type_ =
8171                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
8172              } else {
8173                type_ = value;
8174              }
8175    
8176              bitField0_ |= 0x00000004;
8177              return this;
8178            }
8179            /**
8180             * <code>required .org.jetbrains.jet.descriptors.serialization.Type type = 3;</code>
8181             */
8182            public Builder clearType() {
8183              type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
8184    
8185              bitField0_ = (bitField0_ & ~0x00000004);
8186              return this;
8187            }
8188    
8189            // optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;
8190            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type varargElementType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
8191            /**
8192             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
8193             */
8194            public boolean hasVarargElementType() {
8195              return ((bitField0_ & 0x00000008) == 0x00000008);
8196            }
8197            /**
8198             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
8199             */
8200            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getVarargElementType() {
8201              return varargElementType_;
8202            }
8203            /**
8204             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
8205             */
8206            public Builder setVarargElementType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
8207              if (value == null) {
8208                throw new NullPointerException();
8209              }
8210              varargElementType_ = value;
8211    
8212              bitField0_ |= 0x00000008;
8213              return this;
8214            }
8215            /**
8216             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
8217             */
8218            public Builder setVarargElementType(
8219                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
8220              varargElementType_ = builderForValue.build();
8221    
8222              bitField0_ |= 0x00000008;
8223              return this;
8224            }
8225            /**
8226             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
8227             */
8228            public Builder mergeVarargElementType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
8229              if (((bitField0_ & 0x00000008) == 0x00000008) &&
8230                  varargElementType_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) {
8231                varargElementType_ =
8232                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder(varargElementType_).mergeFrom(value).buildPartial();
8233              } else {
8234                varargElementType_ = value;
8235              }
8236    
8237              bitField0_ |= 0x00000008;
8238              return this;
8239            }
8240            /**
8241             * <code>optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;</code>
8242             */
8243            public Builder clearVarargElementType() {
8244              varargElementType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
8245    
8246              bitField0_ = (bitField0_ & ~0x00000008);
8247              return this;
8248            }
8249    
8250            // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter)
8251          }
8252    
8253          static {
8254            defaultInstance = new ValueParameter(true);
8255            defaultInstance.initFields();
8256          }
8257    
8258          // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter)
8259        }
8260    
8261        private int bitField0_;
8262        // optional int32 flags = 1;
8263        public static final int FLAGS_FIELD_NUMBER = 1;
8264        private int flags_;
8265        /**
8266         * <code>optional int32 flags = 1;</code>
8267         *
8268         * <pre>
8269         *
8270         *Visibility
8271         *Modality
8272         *has_annotations
8273         *CallableKind
8274         *MemberKind
8275         *inline
8276         *hasGetter
8277         *hasSetter
8278         * </pre>
8279         */
8280        public boolean hasFlags() {
8281          return ((bitField0_ & 0x00000001) == 0x00000001);
8282        }
8283        /**
8284         * <code>optional int32 flags = 1;</code>
8285         *
8286         * <pre>
8287         *
8288         *Visibility
8289         *Modality
8290         *has_annotations
8291         *CallableKind
8292         *MemberKind
8293         *inline
8294         *hasGetter
8295         *hasSetter
8296         * </pre>
8297         */
8298        public int getFlags() {
8299          return flags_;
8300        }
8301    
8302        // optional string extra_visibility = 2;
8303        public static final int EXTRA_VISIBILITY_FIELD_NUMBER = 2;
8304        private java.lang.Object extraVisibility_;
8305        /**
8306         * <code>optional string extra_visibility = 2;</code>
8307         *
8308         * <pre>
8309         * for things like java-specific visibilities
8310         * </pre>
8311         */
8312        public boolean hasExtraVisibility() {
8313          return ((bitField0_ & 0x00000002) == 0x00000002);
8314        }
8315        /**
8316         * <code>optional string extra_visibility = 2;</code>
8317         *
8318         * <pre>
8319         * for things like java-specific visibilities
8320         * </pre>
8321         */
8322        public java.lang.String getExtraVisibility() {
8323          java.lang.Object ref = extraVisibility_;
8324          if (ref instanceof java.lang.String) {
8325            return (java.lang.String) ref;
8326          } else {
8327            com.google.protobuf.ByteString bs = 
8328                (com.google.protobuf.ByteString) ref;
8329            java.lang.String s = bs.toStringUtf8();
8330            if (bs.isValidUtf8()) {
8331              extraVisibility_ = s;
8332            }
8333            return s;
8334          }
8335        }
8336        /**
8337         * <code>optional string extra_visibility = 2;</code>
8338         *
8339         * <pre>
8340         * for things like java-specific visibilities
8341         * </pre>
8342         */
8343        public com.google.protobuf.ByteString
8344            getExtraVisibilityBytes() {
8345          java.lang.Object ref = extraVisibility_;
8346          if (ref instanceof java.lang.String) {
8347            com.google.protobuf.ByteString b = 
8348                com.google.protobuf.ByteString.copyFromUtf8(
8349                    (java.lang.String) ref);
8350            extraVisibility_ = b;
8351            return b;
8352          } else {
8353            return (com.google.protobuf.ByteString) ref;
8354          }
8355        }
8356    
8357        // optional int32 getter_flags = 9;
8358        public static final int GETTER_FLAGS_FIELD_NUMBER = 9;
8359        private int getterFlags_;
8360        /**
8361         * <code>optional int32 getter_flags = 9;</code>
8362         *
8363         * <pre>
8364         *
8365         *isNotDefault
8366         *Visibility
8367         *Modality
8368         *has_annotations
8369         * </pre>
8370         */
8371        public boolean hasGetterFlags() {
8372          return ((bitField0_ & 0x00000004) == 0x00000004);
8373        }
8374        /**
8375         * <code>optional int32 getter_flags = 9;</code>
8376         *
8377         * <pre>
8378         *
8379         *isNotDefault
8380         *Visibility
8381         *Modality
8382         *has_annotations
8383         * </pre>
8384         */
8385        public int getGetterFlags() {
8386          return getterFlags_;
8387        }
8388    
8389        // optional int32 setter_flags = 10;
8390        public static final int SETTER_FLAGS_FIELD_NUMBER = 10;
8391        private int setterFlags_;
8392        /**
8393         * <code>optional int32 setter_flags = 10;</code>
8394         */
8395        public boolean hasSetterFlags() {
8396          return ((bitField0_ & 0x00000008) == 0x00000008);
8397        }
8398        /**
8399         * <code>optional int32 setter_flags = 10;</code>
8400         */
8401        public int getSetterFlags() {
8402          return setterFlags_;
8403        }
8404    
8405        // repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;
8406        public static final int TYPE_PARAMETER_FIELD_NUMBER = 4;
8407        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> typeParameter_;
8408        /**
8409         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
8410         */
8411        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
8412          return typeParameter_;
8413        }
8414        /**
8415         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
8416         */
8417        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameterOrBuilder> 
8418            getTypeParameterOrBuilderList() {
8419          return typeParameter_;
8420        }
8421        /**
8422         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
8423         */
8424        public int getTypeParameterCount() {
8425          return typeParameter_.size();
8426        }
8427        /**
8428         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
8429         */
8430        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
8431          return typeParameter_.get(index);
8432        }
8433        /**
8434         * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
8435         */
8436        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
8437            int index) {
8438          return typeParameter_.get(index);
8439        }
8440    
8441        // optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;
8442        public static final int RECEIVER_TYPE_FIELD_NUMBER = 5;
8443        private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type receiverType_;
8444        /**
8445         * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
8446         */
8447        public boolean hasReceiverType() {
8448          return ((bitField0_ & 0x00000010) == 0x00000010);
8449        }
8450        /**
8451         * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
8452         */
8453        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReceiverType() {
8454          return receiverType_;
8455        }
8456    
8457        // required int32 name = 6;
8458        public static final int NAME_FIELD_NUMBER = 6;
8459        private int name_;
8460        /**
8461         * <code>required int32 name = 6;</code>
8462         */
8463        public boolean hasName() {
8464          return ((bitField0_ & 0x00000020) == 0x00000020);
8465        }
8466        /**
8467         * <code>required int32 name = 6;</code>
8468         */
8469        public int getName() {
8470          return name_;
8471        }
8472    
8473        // repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;
8474        public static final int VALUE_PARAMETER_FIELD_NUMBER = 7;
8475        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> valueParameter_;
8476        /**
8477         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
8478         *
8479         * <pre>
8480         * Value parameters for functions and constructors, or setter value parameter for properties
8481         * </pre>
8482         */
8483        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> getValueParameterList() {
8484          return valueParameter_;
8485        }
8486        /**
8487         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
8488         *
8489         * <pre>
8490         * Value parameters for functions and constructors, or setter value parameter for properties
8491         * </pre>
8492         */
8493        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameterOrBuilder> 
8494            getValueParameterOrBuilderList() {
8495          return valueParameter_;
8496        }
8497        /**
8498         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
8499         *
8500         * <pre>
8501         * Value parameters for functions and constructors, or setter value parameter for properties
8502         * </pre>
8503         */
8504        public int getValueParameterCount() {
8505          return valueParameter_.size();
8506        }
8507        /**
8508         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
8509         *
8510         * <pre>
8511         * Value parameters for functions and constructors, or setter value parameter for properties
8512         * </pre>
8513         */
8514        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index) {
8515          return valueParameter_.get(index);
8516        }
8517        /**
8518         * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
8519         *
8520         * <pre>
8521         * Value parameters for functions and constructors, or setter value parameter for properties
8522         * </pre>
8523         */
8524        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameterOrBuilder getValueParameterOrBuilder(
8525            int index) {
8526          return valueParameter_.get(index);
8527        }
8528    
8529        // required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;
8530        public static final int RETURN_TYPE_FIELD_NUMBER = 8;
8531        private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type returnType_;
8532        /**
8533         * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
8534         */
8535        public boolean hasReturnType() {
8536          return ((bitField0_ & 0x00000040) == 0x00000040);
8537        }
8538        /**
8539         * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
8540         */
8541        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReturnType() {
8542          return returnType_;
8543        }
8544    
8545        private void initFields() {
8546          flags_ = 0;
8547          extraVisibility_ = "";
8548          getterFlags_ = 0;
8549          setterFlags_ = 0;
8550          typeParameter_ = java.util.Collections.emptyList();
8551          receiverType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
8552          name_ = 0;
8553          valueParameter_ = java.util.Collections.emptyList();
8554          returnType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
8555        }
8556        private byte memoizedIsInitialized = -1;
8557        public final boolean isInitialized() {
8558          byte isInitialized = memoizedIsInitialized;
8559          if (isInitialized != -1) return isInitialized == 1;
8560    
8561          if (!hasName()) {
8562            memoizedIsInitialized = 0;
8563            return false;
8564          }
8565          if (!hasReturnType()) {
8566            memoizedIsInitialized = 0;
8567            return false;
8568          }
8569          for (int i = 0; i < getTypeParameterCount(); i++) {
8570            if (!getTypeParameter(i).isInitialized()) {
8571              memoizedIsInitialized = 0;
8572              return false;
8573            }
8574          }
8575          if (hasReceiverType()) {
8576            if (!getReceiverType().isInitialized()) {
8577              memoizedIsInitialized = 0;
8578              return false;
8579            }
8580          }
8581          for (int i = 0; i < getValueParameterCount(); i++) {
8582            if (!getValueParameter(i).isInitialized()) {
8583              memoizedIsInitialized = 0;
8584              return false;
8585            }
8586          }
8587          if (!getReturnType().isInitialized()) {
8588            memoizedIsInitialized = 0;
8589            return false;
8590          }
8591          if (!extensionsAreInitialized()) {
8592            memoizedIsInitialized = 0;
8593            return false;
8594          }
8595          memoizedIsInitialized = 1;
8596          return true;
8597        }
8598    
8599        public void writeTo(com.google.protobuf.CodedOutputStream output)
8600                            throws java.io.IOException {
8601          getSerializedSize();
8602          com.google.protobuf.GeneratedMessageLite
8603            .ExtendableMessage<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable>.ExtensionWriter extensionWriter =
8604              newExtensionWriter();
8605          if (((bitField0_ & 0x00000001) == 0x00000001)) {
8606            output.writeInt32(1, flags_);
8607          }
8608          if (((bitField0_ & 0x00000002) == 0x00000002)) {
8609            output.writeBytes(2, getExtraVisibilityBytes());
8610          }
8611          for (int i = 0; i < typeParameter_.size(); i++) {
8612            output.writeMessage(4, typeParameter_.get(i));
8613          }
8614          if (((bitField0_ & 0x00000010) == 0x00000010)) {
8615            output.writeMessage(5, receiverType_);
8616          }
8617          if (((bitField0_ & 0x00000020) == 0x00000020)) {
8618            output.writeInt32(6, name_);
8619          }
8620          for (int i = 0; i < valueParameter_.size(); i++) {
8621            output.writeMessage(7, valueParameter_.get(i));
8622          }
8623          if (((bitField0_ & 0x00000040) == 0x00000040)) {
8624            output.writeMessage(8, returnType_);
8625          }
8626          if (((bitField0_ & 0x00000004) == 0x00000004)) {
8627            output.writeInt32(9, getterFlags_);
8628          }
8629          if (((bitField0_ & 0x00000008) == 0x00000008)) {
8630            output.writeInt32(10, setterFlags_);
8631          }
8632          extensionWriter.writeUntil(200, output);
8633        }
8634    
8635        private int memoizedSerializedSize = -1;
8636        public int getSerializedSize() {
8637          int size = memoizedSerializedSize;
8638          if (size != -1) return size;
8639    
8640          size = 0;
8641          if (((bitField0_ & 0x00000001) == 0x00000001)) {
8642            size += com.google.protobuf.CodedOutputStream
8643              .computeInt32Size(1, flags_);
8644          }
8645          if (((bitField0_ & 0x00000002) == 0x00000002)) {
8646            size += com.google.protobuf.CodedOutputStream
8647              .computeBytesSize(2, getExtraVisibilityBytes());
8648          }
8649          for (int i = 0; i < typeParameter_.size(); i++) {
8650            size += com.google.protobuf.CodedOutputStream
8651              .computeMessageSize(4, typeParameter_.get(i));
8652          }
8653          if (((bitField0_ & 0x00000010) == 0x00000010)) {
8654            size += com.google.protobuf.CodedOutputStream
8655              .computeMessageSize(5, receiverType_);
8656          }
8657          if (((bitField0_ & 0x00000020) == 0x00000020)) {
8658            size += com.google.protobuf.CodedOutputStream
8659              .computeInt32Size(6, name_);
8660          }
8661          for (int i = 0; i < valueParameter_.size(); i++) {
8662            size += com.google.protobuf.CodedOutputStream
8663              .computeMessageSize(7, valueParameter_.get(i));
8664          }
8665          if (((bitField0_ & 0x00000040) == 0x00000040)) {
8666            size += com.google.protobuf.CodedOutputStream
8667              .computeMessageSize(8, returnType_);
8668          }
8669          if (((bitField0_ & 0x00000004) == 0x00000004)) {
8670            size += com.google.protobuf.CodedOutputStream
8671              .computeInt32Size(9, getterFlags_);
8672          }
8673          if (((bitField0_ & 0x00000008) == 0x00000008)) {
8674            size += com.google.protobuf.CodedOutputStream
8675              .computeInt32Size(10, setterFlags_);
8676          }
8677          size += extensionsSerializedSize();
8678          memoizedSerializedSize = size;
8679          return size;
8680        }
8681    
8682        private static final long serialVersionUID = 0L;
8683        @java.lang.Override
8684        protected java.lang.Object writeReplace()
8685            throws java.io.ObjectStreamException {
8686          return super.writeReplace();
8687        }
8688    
8689        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
8690            com.google.protobuf.ByteString data)
8691            throws com.google.protobuf.InvalidProtocolBufferException {
8692          return PARSER.parseFrom(data);
8693        }
8694        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
8695            com.google.protobuf.ByteString data,
8696            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8697            throws com.google.protobuf.InvalidProtocolBufferException {
8698          return PARSER.parseFrom(data, extensionRegistry);
8699        }
8700        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(byte[] data)
8701            throws com.google.protobuf.InvalidProtocolBufferException {
8702          return PARSER.parseFrom(data);
8703        }
8704        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
8705            byte[] data,
8706            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8707            throws com.google.protobuf.InvalidProtocolBufferException {
8708          return PARSER.parseFrom(data, extensionRegistry);
8709        }
8710        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(java.io.InputStream input)
8711            throws java.io.IOException {
8712          return PARSER.parseFrom(input);
8713        }
8714        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
8715            java.io.InputStream input,
8716            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8717            throws java.io.IOException {
8718          return PARSER.parseFrom(input, extensionRegistry);
8719        }
8720        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseDelimitedFrom(java.io.InputStream input)
8721            throws java.io.IOException {
8722          return PARSER.parseDelimitedFrom(input);
8723        }
8724        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseDelimitedFrom(
8725            java.io.InputStream input,
8726            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8727            throws java.io.IOException {
8728          return PARSER.parseDelimitedFrom(input, extensionRegistry);
8729        }
8730        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
8731            com.google.protobuf.CodedInputStream input)
8732            throws java.io.IOException {
8733          return PARSER.parseFrom(input);
8734        }
8735        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
8736            com.google.protobuf.CodedInputStream input,
8737            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8738            throws java.io.IOException {
8739          return PARSER.parseFrom(input, extensionRegistry);
8740        }
8741    
8742        public static Builder newBuilder() { return Builder.create(); }
8743        public Builder newBuilderForType() { return newBuilder(); }
8744        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable prototype) {
8745          return newBuilder().mergeFrom(prototype);
8746        }
8747        public Builder toBuilder() { return newBuilder(this); }
8748    
8749        /**
8750         * Protobuf type {@code org.jetbrains.jet.descriptors.serialization.Callable}
8751         */
8752        public static final class Builder extends
8753            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
8754              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable, Builder> implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.CallableOrBuilder {
8755          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.newBuilder()
8756          private Builder() {
8757            maybeForceBuilderInitialization();
8758          }
8759    
8760          private void maybeForceBuilderInitialization() {
8761          }
8762          private static Builder create() {
8763            return new Builder();
8764          }
8765    
8766          public Builder clear() {
8767            super.clear();
8768            flags_ = 0;
8769            bitField0_ = (bitField0_ & ~0x00000001);
8770            extraVisibility_ = "";
8771            bitField0_ = (bitField0_ & ~0x00000002);
8772            getterFlags_ = 0;
8773            bitField0_ = (bitField0_ & ~0x00000004);
8774            setterFlags_ = 0;
8775            bitField0_ = (bitField0_ & ~0x00000008);
8776            typeParameter_ = java.util.Collections.emptyList();
8777            bitField0_ = (bitField0_ & ~0x00000010);
8778            receiverType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
8779            bitField0_ = (bitField0_ & ~0x00000020);
8780            name_ = 0;
8781            bitField0_ = (bitField0_ & ~0x00000040);
8782            valueParameter_ = java.util.Collections.emptyList();
8783            bitField0_ = (bitField0_ & ~0x00000080);
8784            returnType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
8785            bitField0_ = (bitField0_ & ~0x00000100);
8786            return this;
8787          }
8788    
8789          public Builder clone() {
8790            return create().mergeFrom(buildPartial());
8791          }
8792    
8793          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getDefaultInstanceForType() {
8794            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance();
8795          }
8796    
8797          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable build() {
8798            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable result = buildPartial();
8799            if (!result.isInitialized()) {
8800              throw newUninitializedMessageException(result);
8801            }
8802            return result;
8803          }
8804    
8805          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable buildPartial() {
8806            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable(this);
8807            int from_bitField0_ = bitField0_;
8808            int to_bitField0_ = 0;
8809            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
8810              to_bitField0_ |= 0x00000001;
8811            }
8812            result.flags_ = flags_;
8813            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
8814              to_bitField0_ |= 0x00000002;
8815            }
8816            result.extraVisibility_ = extraVisibility_;
8817            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
8818              to_bitField0_ |= 0x00000004;
8819            }
8820            result.getterFlags_ = getterFlags_;
8821            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
8822              to_bitField0_ |= 0x00000008;
8823            }
8824            result.setterFlags_ = setterFlags_;
8825            if (((bitField0_ & 0x00000010) == 0x00000010)) {
8826              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
8827              bitField0_ = (bitField0_ & ~0x00000010);
8828            }
8829            result.typeParameter_ = typeParameter_;
8830            if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
8831              to_bitField0_ |= 0x00000010;
8832            }
8833            result.receiverType_ = receiverType_;
8834            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
8835              to_bitField0_ |= 0x00000020;
8836            }
8837            result.name_ = name_;
8838            if (((bitField0_ & 0x00000080) == 0x00000080)) {
8839              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
8840              bitField0_ = (bitField0_ & ~0x00000080);
8841            }
8842            result.valueParameter_ = valueParameter_;
8843            if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
8844              to_bitField0_ |= 0x00000040;
8845            }
8846            result.returnType_ = returnType_;
8847            result.bitField0_ = to_bitField0_;
8848            return result;
8849          }
8850    
8851          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable other) {
8852            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance()) return this;
8853            if (other.hasFlags()) {
8854              setFlags(other.getFlags());
8855            }
8856            if (other.hasExtraVisibility()) {
8857              bitField0_ |= 0x00000002;
8858              extraVisibility_ = other.extraVisibility_;
8859              
8860            }
8861            if (other.hasGetterFlags()) {
8862              setGetterFlags(other.getGetterFlags());
8863            }
8864            if (other.hasSetterFlags()) {
8865              setSetterFlags(other.getSetterFlags());
8866            }
8867            if (!other.typeParameter_.isEmpty()) {
8868              if (typeParameter_.isEmpty()) {
8869                typeParameter_ = other.typeParameter_;
8870                bitField0_ = (bitField0_ & ~0x00000010);
8871              } else {
8872                ensureTypeParameterIsMutable();
8873                typeParameter_.addAll(other.typeParameter_);
8874              }
8875              
8876            }
8877            if (other.hasReceiverType()) {
8878              mergeReceiverType(other.getReceiverType());
8879            }
8880            if (other.hasName()) {
8881              setName(other.getName());
8882            }
8883            if (!other.valueParameter_.isEmpty()) {
8884              if (valueParameter_.isEmpty()) {
8885                valueParameter_ = other.valueParameter_;
8886                bitField0_ = (bitField0_ & ~0x00000080);
8887              } else {
8888                ensureValueParameterIsMutable();
8889                valueParameter_.addAll(other.valueParameter_);
8890              }
8891              
8892            }
8893            if (other.hasReturnType()) {
8894              mergeReturnType(other.getReturnType());
8895            }
8896            this.mergeExtensionFields(other);
8897            return this;
8898          }
8899    
8900          public final boolean isInitialized() {
8901            if (!hasName()) {
8902              
8903              return false;
8904            }
8905            if (!hasReturnType()) {
8906              
8907              return false;
8908            }
8909            for (int i = 0; i < getTypeParameterCount(); i++) {
8910              if (!getTypeParameter(i).isInitialized()) {
8911                
8912                return false;
8913              }
8914            }
8915            if (hasReceiverType()) {
8916              if (!getReceiverType().isInitialized()) {
8917                
8918                return false;
8919              }
8920            }
8921            for (int i = 0; i < getValueParameterCount(); i++) {
8922              if (!getValueParameter(i).isInitialized()) {
8923                
8924                return false;
8925              }
8926            }
8927            if (!getReturnType().isInitialized()) {
8928              
8929              return false;
8930            }
8931            if (!extensionsAreInitialized()) {
8932              
8933              return false;
8934            }
8935            return true;
8936          }
8937    
8938          public Builder mergeFrom(
8939              com.google.protobuf.CodedInputStream input,
8940              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8941              throws java.io.IOException {
8942            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parsedMessage = null;
8943            try {
8944              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
8945            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8946              parsedMessage = (org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable) e.getUnfinishedMessage();
8947              throw e;
8948            } finally {
8949              if (parsedMessage != null) {
8950                mergeFrom(parsedMessage);
8951              }
8952            }
8953            return this;
8954          }
8955          private int bitField0_;
8956    
8957          // optional int32 flags = 1;
8958          private int flags_ ;
8959          /**
8960           * <code>optional int32 flags = 1;</code>
8961           *
8962           * <pre>
8963           *
8964           *Visibility
8965           *Modality
8966           *has_annotations
8967           *CallableKind
8968           *MemberKind
8969           *inline
8970           *hasGetter
8971           *hasSetter
8972           * </pre>
8973           */
8974          public boolean hasFlags() {
8975            return ((bitField0_ & 0x00000001) == 0x00000001);
8976          }
8977          /**
8978           * <code>optional int32 flags = 1;</code>
8979           *
8980           * <pre>
8981           *
8982           *Visibility
8983           *Modality
8984           *has_annotations
8985           *CallableKind
8986           *MemberKind
8987           *inline
8988           *hasGetter
8989           *hasSetter
8990           * </pre>
8991           */
8992          public int getFlags() {
8993            return flags_;
8994          }
8995          /**
8996           * <code>optional int32 flags = 1;</code>
8997           *
8998           * <pre>
8999           *
9000           *Visibility
9001           *Modality
9002           *has_annotations
9003           *CallableKind
9004           *MemberKind
9005           *inline
9006           *hasGetter
9007           *hasSetter
9008           * </pre>
9009           */
9010          public Builder setFlags(int value) {
9011            bitField0_ |= 0x00000001;
9012            flags_ = value;
9013            
9014            return this;
9015          }
9016          /**
9017           * <code>optional int32 flags = 1;</code>
9018           *
9019           * <pre>
9020           *
9021           *Visibility
9022           *Modality
9023           *has_annotations
9024           *CallableKind
9025           *MemberKind
9026           *inline
9027           *hasGetter
9028           *hasSetter
9029           * </pre>
9030           */
9031          public Builder clearFlags() {
9032            bitField0_ = (bitField0_ & ~0x00000001);
9033            flags_ = 0;
9034            
9035            return this;
9036          }
9037    
9038          // optional string extra_visibility = 2;
9039          private java.lang.Object extraVisibility_ = "";
9040          /**
9041           * <code>optional string extra_visibility = 2;</code>
9042           *
9043           * <pre>
9044           * for things like java-specific visibilities
9045           * </pre>
9046           */
9047          public boolean hasExtraVisibility() {
9048            return ((bitField0_ & 0x00000002) == 0x00000002);
9049          }
9050          /**
9051           * <code>optional string extra_visibility = 2;</code>
9052           *
9053           * <pre>
9054           * for things like java-specific visibilities
9055           * </pre>
9056           */
9057          public java.lang.String getExtraVisibility() {
9058            java.lang.Object ref = extraVisibility_;
9059            if (!(ref instanceof java.lang.String)) {
9060              java.lang.String s = ((com.google.protobuf.ByteString) ref)
9061                  .toStringUtf8();
9062              extraVisibility_ = s;
9063              return s;
9064            } else {
9065              return (java.lang.String) ref;
9066            }
9067          }
9068          /**
9069           * <code>optional string extra_visibility = 2;</code>
9070           *
9071           * <pre>
9072           * for things like java-specific visibilities
9073           * </pre>
9074           */
9075          public com.google.protobuf.ByteString
9076              getExtraVisibilityBytes() {
9077            java.lang.Object ref = extraVisibility_;
9078            if (ref instanceof String) {
9079              com.google.protobuf.ByteString b = 
9080                  com.google.protobuf.ByteString.copyFromUtf8(
9081                      (java.lang.String) ref);
9082              extraVisibility_ = b;
9083              return b;
9084            } else {
9085              return (com.google.protobuf.ByteString) ref;
9086            }
9087          }
9088          /**
9089           * <code>optional string extra_visibility = 2;</code>
9090           *
9091           * <pre>
9092           * for things like java-specific visibilities
9093           * </pre>
9094           */
9095          public Builder setExtraVisibility(
9096              java.lang.String value) {
9097            if (value == null) {
9098        throw new NullPointerException();
9099      }
9100      bitField0_ |= 0x00000002;
9101            extraVisibility_ = value;
9102            
9103            return this;
9104          }
9105          /**
9106           * <code>optional string extra_visibility = 2;</code>
9107           *
9108           * <pre>
9109           * for things like java-specific visibilities
9110           * </pre>
9111           */
9112          public Builder clearExtraVisibility() {
9113            bitField0_ = (bitField0_ & ~0x00000002);
9114            extraVisibility_ = getDefaultInstance().getExtraVisibility();
9115            
9116            return this;
9117          }
9118          /**
9119           * <code>optional string extra_visibility = 2;</code>
9120           *
9121           * <pre>
9122           * for things like java-specific visibilities
9123           * </pre>
9124           */
9125          public Builder setExtraVisibilityBytes(
9126              com.google.protobuf.ByteString value) {
9127            if (value == null) {
9128        throw new NullPointerException();
9129      }
9130      bitField0_ |= 0x00000002;
9131            extraVisibility_ = value;
9132            
9133            return this;
9134          }
9135    
9136          // optional int32 getter_flags = 9;
9137          private int getterFlags_ ;
9138          /**
9139           * <code>optional int32 getter_flags = 9;</code>
9140           *
9141           * <pre>
9142           *
9143           *isNotDefault
9144           *Visibility
9145           *Modality
9146           *has_annotations
9147           * </pre>
9148           */
9149          public boolean hasGetterFlags() {
9150            return ((bitField0_ & 0x00000004) == 0x00000004);
9151          }
9152          /**
9153           * <code>optional int32 getter_flags = 9;</code>
9154           *
9155           * <pre>
9156           *
9157           *isNotDefault
9158           *Visibility
9159           *Modality
9160           *has_annotations
9161           * </pre>
9162           */
9163          public int getGetterFlags() {
9164            return getterFlags_;
9165          }
9166          /**
9167           * <code>optional int32 getter_flags = 9;</code>
9168           *
9169           * <pre>
9170           *
9171           *isNotDefault
9172           *Visibility
9173           *Modality
9174           *has_annotations
9175           * </pre>
9176           */
9177          public Builder setGetterFlags(int value) {
9178            bitField0_ |= 0x00000004;
9179            getterFlags_ = value;
9180            
9181            return this;
9182          }
9183          /**
9184           * <code>optional int32 getter_flags = 9;</code>
9185           *
9186           * <pre>
9187           *
9188           *isNotDefault
9189           *Visibility
9190           *Modality
9191           *has_annotations
9192           * </pre>
9193           */
9194          public Builder clearGetterFlags() {
9195            bitField0_ = (bitField0_ & ~0x00000004);
9196            getterFlags_ = 0;
9197            
9198            return this;
9199          }
9200    
9201          // optional int32 setter_flags = 10;
9202          private int setterFlags_ ;
9203          /**
9204           * <code>optional int32 setter_flags = 10;</code>
9205           */
9206          public boolean hasSetterFlags() {
9207            return ((bitField0_ & 0x00000008) == 0x00000008);
9208          }
9209          /**
9210           * <code>optional int32 setter_flags = 10;</code>
9211           */
9212          public int getSetterFlags() {
9213            return setterFlags_;
9214          }
9215          /**
9216           * <code>optional int32 setter_flags = 10;</code>
9217           */
9218          public Builder setSetterFlags(int value) {
9219            bitField0_ |= 0x00000008;
9220            setterFlags_ = value;
9221            
9222            return this;
9223          }
9224          /**
9225           * <code>optional int32 setter_flags = 10;</code>
9226           */
9227          public Builder clearSetterFlags() {
9228            bitField0_ = (bitField0_ & ~0x00000008);
9229            setterFlags_ = 0;
9230            
9231            return this;
9232          }
9233    
9234          // repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;
9235          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> typeParameter_ =
9236            java.util.Collections.emptyList();
9237          private void ensureTypeParameterIsMutable() {
9238            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
9239              typeParameter_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter>(typeParameter_);
9240              bitField0_ |= 0x00000010;
9241             }
9242          }
9243    
9244          /**
9245           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
9246           */
9247          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
9248            return java.util.Collections.unmodifiableList(typeParameter_);
9249          }
9250          /**
9251           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
9252           */
9253          public int getTypeParameterCount() {
9254            return typeParameter_.size();
9255          }
9256          /**
9257           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
9258           */
9259          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
9260            return typeParameter_.get(index);
9261          }
9262          /**
9263           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
9264           */
9265          public Builder setTypeParameter(
9266              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter value) {
9267            if (value == null) {
9268              throw new NullPointerException();
9269            }
9270            ensureTypeParameterIsMutable();
9271            typeParameter_.set(index, value);
9272    
9273            return this;
9274          }
9275          /**
9276           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
9277           */
9278          public Builder setTypeParameter(
9279              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9280            ensureTypeParameterIsMutable();
9281            typeParameter_.set(index, builderForValue.build());
9282    
9283            return this;
9284          }
9285          /**
9286           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
9287           */
9288          public Builder addTypeParameter(org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter value) {
9289            if (value == null) {
9290              throw new NullPointerException();
9291            }
9292            ensureTypeParameterIsMutable();
9293            typeParameter_.add(value);
9294    
9295            return this;
9296          }
9297          /**
9298           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
9299           */
9300          public Builder addTypeParameter(
9301              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter value) {
9302            if (value == null) {
9303              throw new NullPointerException();
9304            }
9305            ensureTypeParameterIsMutable();
9306            typeParameter_.add(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 addTypeParameter(
9314              org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9315            ensureTypeParameterIsMutable();
9316            typeParameter_.add(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(
9324              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
9325            ensureTypeParameterIsMutable();
9326            typeParameter_.add(index, builderForValue.build());
9327    
9328            return this;
9329          }
9330          /**
9331           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
9332           */
9333          public Builder addAllTypeParameter(
9334              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> values) {
9335            ensureTypeParameterIsMutable();
9336            super.addAll(values, typeParameter_);
9337    
9338            return this;
9339          }
9340          /**
9341           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
9342           */
9343          public Builder clearTypeParameter() {
9344            typeParameter_ = java.util.Collections.emptyList();
9345            bitField0_ = (bitField0_ & ~0x00000010);
9346    
9347            return this;
9348          }
9349          /**
9350           * <code>repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;</code>
9351           */
9352          public Builder removeTypeParameter(int index) {
9353            ensureTypeParameterIsMutable();
9354            typeParameter_.remove(index);
9355    
9356            return this;
9357          }
9358    
9359          // optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;
9360          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type receiverType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
9361          /**
9362           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
9363           */
9364          public boolean hasReceiverType() {
9365            return ((bitField0_ & 0x00000020) == 0x00000020);
9366          }
9367          /**
9368           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
9369           */
9370          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReceiverType() {
9371            return receiverType_;
9372          }
9373          /**
9374           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
9375           */
9376          public Builder setReceiverType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
9377            if (value == null) {
9378              throw new NullPointerException();
9379            }
9380            receiverType_ = value;
9381    
9382            bitField0_ |= 0x00000020;
9383            return this;
9384          }
9385          /**
9386           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
9387           */
9388          public Builder setReceiverType(
9389              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
9390            receiverType_ = builderForValue.build();
9391    
9392            bitField0_ |= 0x00000020;
9393            return this;
9394          }
9395          /**
9396           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
9397           */
9398          public Builder mergeReceiverType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
9399            if (((bitField0_ & 0x00000020) == 0x00000020) &&
9400                receiverType_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) {
9401              receiverType_ =
9402                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder(receiverType_).mergeFrom(value).buildPartial();
9403            } else {
9404              receiverType_ = value;
9405            }
9406    
9407            bitField0_ |= 0x00000020;
9408            return this;
9409          }
9410          /**
9411           * <code>optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;</code>
9412           */
9413          public Builder clearReceiverType() {
9414            receiverType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
9415    
9416            bitField0_ = (bitField0_ & ~0x00000020);
9417            return this;
9418          }
9419    
9420          // required int32 name = 6;
9421          private int name_ ;
9422          /**
9423           * <code>required int32 name = 6;</code>
9424           */
9425          public boolean hasName() {
9426            return ((bitField0_ & 0x00000040) == 0x00000040);
9427          }
9428          /**
9429           * <code>required int32 name = 6;</code>
9430           */
9431          public int getName() {
9432            return name_;
9433          }
9434          /**
9435           * <code>required int32 name = 6;</code>
9436           */
9437          public Builder setName(int value) {
9438            bitField0_ |= 0x00000040;
9439            name_ = value;
9440            
9441            return this;
9442          }
9443          /**
9444           * <code>required int32 name = 6;</code>
9445           */
9446          public Builder clearName() {
9447            bitField0_ = (bitField0_ & ~0x00000040);
9448            name_ = 0;
9449            
9450            return this;
9451          }
9452    
9453          // repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;
9454          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> valueParameter_ =
9455            java.util.Collections.emptyList();
9456          private void ensureValueParameterIsMutable() {
9457            if (!((bitField0_ & 0x00000080) == 0x00000080)) {
9458              valueParameter_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter>(valueParameter_);
9459              bitField0_ |= 0x00000080;
9460             }
9461          }
9462    
9463          /**
9464           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
9465           *
9466           * <pre>
9467           * Value parameters for functions and constructors, or setter value parameter for properties
9468           * </pre>
9469           */
9470          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> getValueParameterList() {
9471            return java.util.Collections.unmodifiableList(valueParameter_);
9472          }
9473          /**
9474           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
9475           *
9476           * <pre>
9477           * Value parameters for functions and constructors, or setter value parameter for properties
9478           * </pre>
9479           */
9480          public int getValueParameterCount() {
9481            return valueParameter_.size();
9482          }
9483          /**
9484           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
9485           *
9486           * <pre>
9487           * Value parameters for functions and constructors, or setter value parameter for properties
9488           * </pre>
9489           */
9490          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index) {
9491            return valueParameter_.get(index);
9492          }
9493          /**
9494           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
9495           *
9496           * <pre>
9497           * Value parameters for functions and constructors, or setter value parameter for properties
9498           * </pre>
9499           */
9500          public Builder setValueParameter(
9501              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter value) {
9502            if (value == null) {
9503              throw new NullPointerException();
9504            }
9505            ensureValueParameterIsMutable();
9506            valueParameter_.set(index, value);
9507    
9508            return this;
9509          }
9510          /**
9511           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
9512           *
9513           * <pre>
9514           * Value parameters for functions and constructors, or setter value parameter for properties
9515           * </pre>
9516           */
9517          public Builder setValueParameter(
9518              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
9519            ensureValueParameterIsMutable();
9520            valueParameter_.set(index, builderForValue.build());
9521    
9522            return this;
9523          }
9524          /**
9525           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
9526           *
9527           * <pre>
9528           * Value parameters for functions and constructors, or setter value parameter for properties
9529           * </pre>
9530           */
9531          public Builder addValueParameter(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter value) {
9532            if (value == null) {
9533              throw new NullPointerException();
9534            }
9535            ensureValueParameterIsMutable();
9536            valueParameter_.add(value);
9537    
9538            return this;
9539          }
9540          /**
9541           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
9542           *
9543           * <pre>
9544           * Value parameters for functions and constructors, or setter value parameter for properties
9545           * </pre>
9546           */
9547          public Builder addValueParameter(
9548              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter value) {
9549            if (value == null) {
9550              throw new NullPointerException();
9551            }
9552            ensureValueParameterIsMutable();
9553            valueParameter_.add(index, value);
9554    
9555            return this;
9556          }
9557          /**
9558           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
9559           *
9560           * <pre>
9561           * Value parameters for functions and constructors, or setter value parameter for properties
9562           * </pre>
9563           */
9564          public Builder addValueParameter(
9565              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
9566            ensureValueParameterIsMutable();
9567            valueParameter_.add(builderForValue.build());
9568    
9569            return this;
9570          }
9571          /**
9572           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
9573           *
9574           * <pre>
9575           * Value parameters for functions and constructors, or setter value parameter for properties
9576           * </pre>
9577           */
9578          public Builder addValueParameter(
9579              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
9580            ensureValueParameterIsMutable();
9581            valueParameter_.add(index, builderForValue.build());
9582    
9583            return this;
9584          }
9585          /**
9586           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
9587           *
9588           * <pre>
9589           * Value parameters for functions and constructors, or setter value parameter for properties
9590           * </pre>
9591           */
9592          public Builder addAllValueParameter(
9593              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> values) {
9594            ensureValueParameterIsMutable();
9595            super.addAll(values, valueParameter_);
9596    
9597            return this;
9598          }
9599          /**
9600           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
9601           *
9602           * <pre>
9603           * Value parameters for functions and constructors, or setter value parameter for properties
9604           * </pre>
9605           */
9606          public Builder clearValueParameter() {
9607            valueParameter_ = java.util.Collections.emptyList();
9608            bitField0_ = (bitField0_ & ~0x00000080);
9609    
9610            return this;
9611          }
9612          /**
9613           * <code>repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;</code>
9614           *
9615           * <pre>
9616           * Value parameters for functions and constructors, or setter value parameter for properties
9617           * </pre>
9618           */
9619          public Builder removeValueParameter(int index) {
9620            ensureValueParameterIsMutable();
9621            valueParameter_.remove(index);
9622    
9623            return this;
9624          }
9625    
9626          // required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;
9627          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type returnType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
9628          /**
9629           * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
9630           */
9631          public boolean hasReturnType() {
9632            return ((bitField0_ & 0x00000100) == 0x00000100);
9633          }
9634          /**
9635           * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
9636           */
9637          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReturnType() {
9638            return returnType_;
9639          }
9640          /**
9641           * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
9642           */
9643          public Builder setReturnType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
9644            if (value == null) {
9645              throw new NullPointerException();
9646            }
9647            returnType_ = value;
9648    
9649            bitField0_ |= 0x00000100;
9650            return this;
9651          }
9652          /**
9653           * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
9654           */
9655          public Builder setReturnType(
9656              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
9657            returnType_ = builderForValue.build();
9658    
9659            bitField0_ |= 0x00000100;
9660            return this;
9661          }
9662          /**
9663           * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
9664           */
9665          public Builder mergeReturnType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
9666            if (((bitField0_ & 0x00000100) == 0x00000100) &&
9667                returnType_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) {
9668              returnType_ =
9669                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder(returnType_).mergeFrom(value).buildPartial();
9670            } else {
9671              returnType_ = value;
9672            }
9673    
9674            bitField0_ |= 0x00000100;
9675            return this;
9676          }
9677          /**
9678           * <code>required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;</code>
9679           */
9680          public Builder clearReturnType() {
9681            returnType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
9682    
9683            bitField0_ = (bitField0_ & ~0x00000100);
9684            return this;
9685          }
9686    
9687          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Callable)
9688        }
9689    
9690        static {
9691          defaultInstance = new Callable(true);
9692          defaultInstance.initFields();
9693        }
9694    
9695        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Callable)
9696      }
9697    
9698    
9699      static {
9700      }
9701    
9702      // @@protoc_insertion_point(outer_class_scope)
9703    }