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      public enum Modality
012          implements com.google.protobuf.Internal.EnumLite {
013        FINAL(0, 0),
014        OPEN(1, 1),
015        ABSTRACT(2, 2),
016        ;
017        
018        public static final int FINAL_VALUE = 0;
019        public static final int OPEN_VALUE = 1;
020        public static final int ABSTRACT_VALUE = 2;
021        
022        
023        public final int getNumber() { return value; }
024        
025        public static Modality valueOf(int value) {
026          switch (value) {
027            case 0: return FINAL;
028            case 1: return OPEN;
029            case 2: return ABSTRACT;
030            default: return null;
031          }
032        }
033        
034        public static com.google.protobuf.Internal.EnumLiteMap<Modality>
035            internalGetValueMap() {
036          return internalValueMap;
037        }
038        private static com.google.protobuf.Internal.EnumLiteMap<Modality>
039            internalValueMap =
040              new com.google.protobuf.Internal.EnumLiteMap<Modality>() {
041                public Modality findValueByNumber(int number) {
042                  return Modality.valueOf(number);
043                }
044              };
045        
046        private final int value;
047        
048        private Modality(int index, int value) {
049          this.value = value;
050        }
051        
052        // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Modality)
053      }
054      
055      public enum Visibility
056          implements com.google.protobuf.Internal.EnumLite {
057        INTERNAL(0, 0),
058        PRIVATE(1, 1),
059        PROTECTED(2, 2),
060        PUBLIC(3, 3),
061        EXTRA(4, 4),
062        ;
063        
064        public static final int INTERNAL_VALUE = 0;
065        public static final int PRIVATE_VALUE = 1;
066        public static final int PROTECTED_VALUE = 2;
067        public static final int PUBLIC_VALUE = 3;
068        public static final int EXTRA_VALUE = 4;
069        
070        
071        public final int getNumber() { return value; }
072        
073        public static Visibility valueOf(int value) {
074          switch (value) {
075            case 0: return INTERNAL;
076            case 1: return PRIVATE;
077            case 2: return PROTECTED;
078            case 3: return PUBLIC;
079            case 4: return EXTRA;
080            default: return null;
081          }
082        }
083        
084        public static com.google.protobuf.Internal.EnumLiteMap<Visibility>
085            internalGetValueMap() {
086          return internalValueMap;
087        }
088        private static com.google.protobuf.Internal.EnumLiteMap<Visibility>
089            internalValueMap =
090              new com.google.protobuf.Internal.EnumLiteMap<Visibility>() {
091                public Visibility findValueByNumber(int number) {
092                  return Visibility.valueOf(number);
093                }
094              };
095        
096        private final int value;
097        
098        private Visibility(int index, int value) {
099          this.value = value;
100        }
101        
102        // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Visibility)
103      }
104      
105      public interface SimpleNameTableOrBuilder
106          extends com.google.protobuf.MessageLiteOrBuilder {
107        
108        // repeated string name = 1;
109        java.util.List<String> getNameList();
110        int getNameCount();
111        String getName(int index);
112      }
113      public static final class SimpleNameTable extends
114          com.google.protobuf.GeneratedMessageLite
115          implements SimpleNameTableOrBuilder {
116        // Use SimpleNameTable.newBuilder() to construct.
117        private SimpleNameTable(Builder builder) {
118          super(builder);
119        }
120        private SimpleNameTable(boolean noInit) {}
121        
122        private static final SimpleNameTable defaultInstance;
123        public static SimpleNameTable getDefaultInstance() {
124          return defaultInstance;
125        }
126        
127        public SimpleNameTable getDefaultInstanceForType() {
128          return defaultInstance;
129        }
130        
131        // repeated string name = 1;
132        public static final int NAME_FIELD_NUMBER = 1;
133        private com.google.protobuf.LazyStringList name_;
134        public java.util.List<String>
135            getNameList() {
136          return name_;
137        }
138        public int getNameCount() {
139          return name_.size();
140        }
141        public String getName(int index) {
142          return name_.get(index);
143        }
144        
145        private void initFields() {
146          name_ = com.google.protobuf.LazyStringArrayList.EMPTY;
147        }
148        private byte memoizedIsInitialized = -1;
149        public final boolean isInitialized() {
150          byte isInitialized = memoizedIsInitialized;
151          if (isInitialized != -1) return isInitialized == 1;
152          
153          memoizedIsInitialized = 1;
154          return true;
155        }
156        
157        public void writeTo(com.google.protobuf.CodedOutputStream output)
158                            throws java.io.IOException {
159          getSerializedSize();
160          for (int i = 0; i < name_.size(); i++) {
161            output.writeBytes(1, name_.getByteString(i));
162          }
163        }
164        
165        private int memoizedSerializedSize = -1;
166        public int getSerializedSize() {
167          int size = memoizedSerializedSize;
168          if (size != -1) return size;
169        
170          size = 0;
171          {
172            int dataSize = 0;
173            for (int i = 0; i < name_.size(); i++) {
174              dataSize += com.google.protobuf.CodedOutputStream
175                .computeBytesSizeNoTag(name_.getByteString(i));
176            }
177            size += dataSize;
178            size += 1 * getNameList().size();
179          }
180          memoizedSerializedSize = size;
181          return size;
182        }
183        
184        private static final long serialVersionUID = 0L;
185        @java.lang.Override
186        protected java.lang.Object writeReplace()
187            throws java.io.ObjectStreamException {
188          return super.writeReplace();
189        }
190        
191        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable parseFrom(
192            com.google.protobuf.ByteString data)
193            throws com.google.protobuf.InvalidProtocolBufferException {
194          return newBuilder().mergeFrom(data).buildParsed();
195        }
196        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable parseFrom(
197            com.google.protobuf.ByteString data,
198            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
199            throws com.google.protobuf.InvalidProtocolBufferException {
200          return newBuilder().mergeFrom(data, extensionRegistry)
201                   .buildParsed();
202        }
203        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable parseFrom(byte[] data)
204            throws com.google.protobuf.InvalidProtocolBufferException {
205          return newBuilder().mergeFrom(data).buildParsed();
206        }
207        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable parseFrom(
208            byte[] data,
209            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
210            throws com.google.protobuf.InvalidProtocolBufferException {
211          return newBuilder().mergeFrom(data, extensionRegistry)
212                   .buildParsed();
213        }
214        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable parseFrom(java.io.InputStream input)
215            throws java.io.IOException {
216          return newBuilder().mergeFrom(input).buildParsed();
217        }
218        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable parseFrom(
219            java.io.InputStream input,
220            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
221            throws java.io.IOException {
222          return newBuilder().mergeFrom(input, extensionRegistry)
223                   .buildParsed();
224        }
225        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable parseDelimitedFrom(java.io.InputStream input)
226            throws java.io.IOException {
227          Builder builder = newBuilder();
228          if (builder.mergeDelimitedFrom(input)) {
229            return builder.buildParsed();
230          } else {
231            return null;
232          }
233        }
234        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable parseDelimitedFrom(
235            java.io.InputStream input,
236            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
237            throws java.io.IOException {
238          Builder builder = newBuilder();
239          if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
240            return builder.buildParsed();
241          } else {
242            return null;
243          }
244        }
245        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable parseFrom(
246            com.google.protobuf.CodedInputStream input)
247            throws java.io.IOException {
248          return newBuilder().mergeFrom(input).buildParsed();
249        }
250        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable parseFrom(
251            com.google.protobuf.CodedInputStream input,
252            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
253            throws java.io.IOException {
254          return newBuilder().mergeFrom(input, extensionRegistry)
255                   .buildParsed();
256        }
257        
258        public static Builder newBuilder() { return Builder.create(); }
259        public Builder newBuilderForType() { return newBuilder(); }
260        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable prototype) {
261          return newBuilder().mergeFrom(prototype);
262        }
263        public Builder toBuilder() { return newBuilder(this); }
264        
265        public static final class Builder extends
266            com.google.protobuf.GeneratedMessageLite.Builder<
267              org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable, Builder>
268            implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTableOrBuilder {
269          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable.newBuilder()
270          private Builder() {
271            maybeForceBuilderInitialization();
272          }
273          
274          private void maybeForceBuilderInitialization() {
275          }
276          private static Builder create() {
277            return new Builder();
278          }
279          
280          public Builder clear() {
281            super.clear();
282            name_ = com.google.protobuf.LazyStringArrayList.EMPTY;
283            bitField0_ = (bitField0_ & ~0x00000001);
284            return this;
285          }
286          
287          public Builder clone() {
288            return create().mergeFrom(buildPartial());
289          }
290          
291          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable getDefaultInstanceForType() {
292            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable.getDefaultInstance();
293          }
294          
295          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable build() {
296            org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable result = buildPartial();
297            if (!result.isInitialized()) {
298              throw newUninitializedMessageException(result);
299            }
300            return result;
301          }
302          
303          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable buildParsed()
304              throws com.google.protobuf.InvalidProtocolBufferException {
305            org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable result = buildPartial();
306            if (!result.isInitialized()) {
307              throw newUninitializedMessageException(
308                result).asInvalidProtocolBufferException();
309            }
310            return result;
311          }
312          
313          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable buildPartial() {
314            org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable(this);
315            int from_bitField0_ = bitField0_;
316            if (((bitField0_ & 0x00000001) == 0x00000001)) {
317              name_ = new com.google.protobuf.UnmodifiableLazyStringList(
318                  name_);
319              bitField0_ = (bitField0_ & ~0x00000001);
320            }
321            result.name_ = name_;
322            return result;
323          }
324          
325          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable other) {
326            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.SimpleNameTable.getDefaultInstance()) return this;
327            if (!other.name_.isEmpty()) {
328              if (name_.isEmpty()) {
329                name_ = other.name_;
330                bitField0_ = (bitField0_ & ~0x00000001);
331              } else {
332                ensureNameIsMutable();
333                name_.addAll(other.name_);
334              }
335              
336            }
337            return this;
338          }
339          
340          public final boolean isInitialized() {
341            return true;
342          }
343          
344          public Builder mergeFrom(
345              com.google.protobuf.CodedInputStream input,
346              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
347              throws java.io.IOException {
348            while (true) {
349              int tag = input.readTag();
350              switch (tag) {
351                case 0:
352                  
353                  return this;
354                default: {
355                  if (!parseUnknownField(input, extensionRegistry, tag)) {
356                    
357                    return this;
358                  }
359                  break;
360                }
361                case 10: {
362                  ensureNameIsMutable();
363                  name_.add(input.readBytes());
364                  break;
365                }
366              }
367            }
368          }
369          
370          private int bitField0_;
371          
372          // repeated string name = 1;
373          private com.google.protobuf.LazyStringList name_ = com.google.protobuf.LazyStringArrayList.EMPTY;
374          private void ensureNameIsMutable() {
375            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
376              name_ = new com.google.protobuf.LazyStringArrayList(name_);
377              bitField0_ |= 0x00000001;
378             }
379          }
380          public java.util.List<String>
381              getNameList() {
382            return java.util.Collections.unmodifiableList(name_);
383          }
384          public int getNameCount() {
385            return name_.size();
386          }
387          public String getName(int index) {
388            return name_.get(index);
389          }
390          public Builder setName(
391              int index, String value) {
392            if (value == null) {
393        throw new NullPointerException();
394      }
395      ensureNameIsMutable();
396            name_.set(index, value);
397            
398            return this;
399          }
400          public Builder addName(String value) {
401            if (value == null) {
402        throw new NullPointerException();
403      }
404      ensureNameIsMutable();
405            name_.add(value);
406            
407            return this;
408          }
409          public Builder addAllName(
410              java.lang.Iterable<String> values) {
411            ensureNameIsMutable();
412            super.addAll(values, name_);
413            
414            return this;
415          }
416          public Builder clearName() {
417            name_ = com.google.protobuf.LazyStringArrayList.EMPTY;
418            bitField0_ = (bitField0_ & ~0x00000001);
419            
420            return this;
421          }
422          void addName(com.google.protobuf.ByteString value) {
423            ensureNameIsMutable();
424            name_.add(value);
425            
426          }
427          
428          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.SimpleNameTable)
429        }
430        
431        static {
432          defaultInstance = new SimpleNameTable(true);
433          defaultInstance.initFields();
434        }
435        
436        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.SimpleNameTable)
437      }
438      
439      public interface QualifiedNameTableOrBuilder
440          extends com.google.protobuf.MessageLiteOrBuilder {
441        
442        // repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;
443        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> 
444            getQualifiedNameList();
445        org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index);
446        int getQualifiedNameCount();
447      }
448      public static final class QualifiedNameTable extends
449          com.google.protobuf.GeneratedMessageLite
450          implements QualifiedNameTableOrBuilder {
451        // Use QualifiedNameTable.newBuilder() to construct.
452        private QualifiedNameTable(Builder builder) {
453          super(builder);
454        }
455        private QualifiedNameTable(boolean noInit) {}
456        
457        private static final QualifiedNameTable defaultInstance;
458        public static QualifiedNameTable getDefaultInstance() {
459          return defaultInstance;
460        }
461        
462        public QualifiedNameTable getDefaultInstanceForType() {
463          return defaultInstance;
464        }
465        
466        public interface QualifiedNameOrBuilder
467            extends com.google.protobuf.MessageLiteOrBuilder {
468          
469          // optional int32 parent_qualified_name = 1 [default = -1];
470          boolean hasParentQualifiedName();
471          int getParentQualifiedName();
472          
473          // required int32 short_name = 2;
474          boolean hasShortName();
475          int getShortName();
476          
477          // optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];
478          boolean hasKind();
479          org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind();
480        }
481        public static final class QualifiedName extends
482            com.google.protobuf.GeneratedMessageLite
483            implements QualifiedNameOrBuilder {
484          // Use QualifiedName.newBuilder() to construct.
485          private QualifiedName(Builder builder) {
486            super(builder);
487          }
488          private QualifiedName(boolean noInit) {}
489          
490          private static final QualifiedName defaultInstance;
491          public static QualifiedName getDefaultInstance() {
492            return defaultInstance;
493          }
494          
495          public QualifiedName getDefaultInstanceForType() {
496            return defaultInstance;
497          }
498          
499          public enum Kind
500              implements com.google.protobuf.Internal.EnumLite {
501            CLASS(0, 0),
502            PACKAGE(1, 1),
503            ;
504            
505            public static final int CLASS_VALUE = 0;
506            public static final int PACKAGE_VALUE = 1;
507            
508            
509            public final int getNumber() { return value; }
510            
511            public static Kind valueOf(int value) {
512              switch (value) {
513                case 0: return CLASS;
514                case 1: return PACKAGE;
515                default: return null;
516              }
517            }
518            
519            public static com.google.protobuf.Internal.EnumLiteMap<Kind>
520                internalGetValueMap() {
521              return internalValueMap;
522            }
523            private static com.google.protobuf.Internal.EnumLiteMap<Kind>
524                internalValueMap =
525                  new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
526                    public Kind findValueByNumber(int number) {
527                      return Kind.valueOf(number);
528                    }
529                  };
530            
531            private final int value;
532            
533            private Kind(int index, int value) {
534              this.value = value;
535            }
536            
537            // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind)
538          }
539          
540          private int bitField0_;
541          // optional int32 parent_qualified_name = 1 [default = -1];
542          public static final int PARENT_QUALIFIED_NAME_FIELD_NUMBER = 1;
543          private int parentQualifiedName_;
544          public boolean hasParentQualifiedName() {
545            return ((bitField0_ & 0x00000001) == 0x00000001);
546          }
547          public int getParentQualifiedName() {
548            return parentQualifiedName_;
549          }
550          
551          // required int32 short_name = 2;
552          public static final int SHORT_NAME_FIELD_NUMBER = 2;
553          private int shortName_;
554          public boolean hasShortName() {
555            return ((bitField0_ & 0x00000002) == 0x00000002);
556          }
557          public int getShortName() {
558            return shortName_;
559          }
560          
561          // optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];
562          public static final int KIND_FIELD_NUMBER = 3;
563          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind kind_;
564          public boolean hasKind() {
565            return ((bitField0_ & 0x00000004) == 0x00000004);
566          }
567          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind() {
568            return kind_;
569          }
570          
571          private void initFields() {
572            parentQualifiedName_ = -1;
573            shortName_ = 0;
574            kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
575          }
576          private byte memoizedIsInitialized = -1;
577          public final boolean isInitialized() {
578            byte isInitialized = memoizedIsInitialized;
579            if (isInitialized != -1) return isInitialized == 1;
580            
581            if (!hasShortName()) {
582              memoizedIsInitialized = 0;
583              return false;
584            }
585            memoizedIsInitialized = 1;
586            return true;
587          }
588          
589          public void writeTo(com.google.protobuf.CodedOutputStream output)
590                              throws java.io.IOException {
591            getSerializedSize();
592            if (((bitField0_ & 0x00000001) == 0x00000001)) {
593              output.writeInt32(1, parentQualifiedName_);
594            }
595            if (((bitField0_ & 0x00000002) == 0x00000002)) {
596              output.writeInt32(2, shortName_);
597            }
598            if (((bitField0_ & 0x00000004) == 0x00000004)) {
599              output.writeEnum(3, kind_.getNumber());
600            }
601          }
602          
603          private int memoizedSerializedSize = -1;
604          public int getSerializedSize() {
605            int size = memoizedSerializedSize;
606            if (size != -1) return size;
607          
608            size = 0;
609            if (((bitField0_ & 0x00000001) == 0x00000001)) {
610              size += com.google.protobuf.CodedOutputStream
611                .computeInt32Size(1, parentQualifiedName_);
612            }
613            if (((bitField0_ & 0x00000002) == 0x00000002)) {
614              size += com.google.protobuf.CodedOutputStream
615                .computeInt32Size(2, shortName_);
616            }
617            if (((bitField0_ & 0x00000004) == 0x00000004)) {
618              size += com.google.protobuf.CodedOutputStream
619                .computeEnumSize(3, kind_.getNumber());
620            }
621            memoizedSerializedSize = size;
622            return size;
623          }
624          
625          private static final long serialVersionUID = 0L;
626          @java.lang.Override
627          protected java.lang.Object writeReplace()
628              throws java.io.ObjectStreamException {
629            return super.writeReplace();
630          }
631          
632          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
633              com.google.protobuf.ByteString data)
634              throws com.google.protobuf.InvalidProtocolBufferException {
635            return newBuilder().mergeFrom(data).buildParsed();
636          }
637          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
638              com.google.protobuf.ByteString data,
639              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
640              throws com.google.protobuf.InvalidProtocolBufferException {
641            return newBuilder().mergeFrom(data, extensionRegistry)
642                     .buildParsed();
643          }
644          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(byte[] data)
645              throws com.google.protobuf.InvalidProtocolBufferException {
646            return newBuilder().mergeFrom(data).buildParsed();
647          }
648          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
649              byte[] data,
650              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
651              throws com.google.protobuf.InvalidProtocolBufferException {
652            return newBuilder().mergeFrom(data, extensionRegistry)
653                     .buildParsed();
654          }
655          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(java.io.InputStream input)
656              throws java.io.IOException {
657            return newBuilder().mergeFrom(input).buildParsed();
658          }
659          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
660              java.io.InputStream input,
661              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
662              throws java.io.IOException {
663            return newBuilder().mergeFrom(input, extensionRegistry)
664                     .buildParsed();
665          }
666          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseDelimitedFrom(java.io.InputStream input)
667              throws java.io.IOException {
668            Builder builder = newBuilder();
669            if (builder.mergeDelimitedFrom(input)) {
670              return builder.buildParsed();
671            } else {
672              return null;
673            }
674          }
675          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseDelimitedFrom(
676              java.io.InputStream input,
677              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
678              throws java.io.IOException {
679            Builder builder = newBuilder();
680            if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
681              return builder.buildParsed();
682            } else {
683              return null;
684            }
685          }
686          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
687              com.google.protobuf.CodedInputStream input)
688              throws java.io.IOException {
689            return newBuilder().mergeFrom(input).buildParsed();
690          }
691          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName parseFrom(
692              com.google.protobuf.CodedInputStream input,
693              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
694              throws java.io.IOException {
695            return newBuilder().mergeFrom(input, extensionRegistry)
696                     .buildParsed();
697          }
698          
699          public static Builder newBuilder() { return Builder.create(); }
700          public Builder newBuilderForType() { return newBuilder(); }
701          public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName prototype) {
702            return newBuilder().mergeFrom(prototype);
703          }
704          public Builder toBuilder() { return newBuilder(this); }
705          
706          public static final class Builder extends
707              com.google.protobuf.GeneratedMessageLite.Builder<
708                org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName, Builder>
709              implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder {
710            // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.newBuilder()
711            private Builder() {
712              maybeForceBuilderInitialization();
713            }
714            
715            private void maybeForceBuilderInitialization() {
716            }
717            private static Builder create() {
718              return new Builder();
719            }
720            
721            public Builder clear() {
722              super.clear();
723              parentQualifiedName_ = -1;
724              bitField0_ = (bitField0_ & ~0x00000001);
725              shortName_ = 0;
726              bitField0_ = (bitField0_ & ~0x00000002);
727              kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
728              bitField0_ = (bitField0_ & ~0x00000004);
729              return this;
730            }
731            
732            public Builder clone() {
733              return create().mergeFrom(buildPartial());
734            }
735            
736            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getDefaultInstanceForType() {
737              return org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.getDefaultInstance();
738            }
739            
740            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName build() {
741              org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName result = buildPartial();
742              if (!result.isInitialized()) {
743                throw newUninitializedMessageException(result);
744              }
745              return result;
746            }
747            
748            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName buildParsed()
749                throws com.google.protobuf.InvalidProtocolBufferException {
750              org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName result = buildPartial();
751              if (!result.isInitialized()) {
752                throw newUninitializedMessageException(
753                  result).asInvalidProtocolBufferException();
754              }
755              return result;
756            }
757            
758            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName buildPartial() {
759              org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName(this);
760              int from_bitField0_ = bitField0_;
761              int to_bitField0_ = 0;
762              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
763                to_bitField0_ |= 0x00000001;
764              }
765              result.parentQualifiedName_ = parentQualifiedName_;
766              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
767                to_bitField0_ |= 0x00000002;
768              }
769              result.shortName_ = shortName_;
770              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
771                to_bitField0_ |= 0x00000004;
772              }
773              result.kind_ = kind_;
774              result.bitField0_ = to_bitField0_;
775              return result;
776            }
777            
778            public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName other) {
779              if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.getDefaultInstance()) return this;
780              if (other.hasParentQualifiedName()) {
781                setParentQualifiedName(other.getParentQualifiedName());
782              }
783              if (other.hasShortName()) {
784                setShortName(other.getShortName());
785              }
786              if (other.hasKind()) {
787                setKind(other.getKind());
788              }
789              return this;
790            }
791            
792            public final boolean isInitialized() {
793              if (!hasShortName()) {
794                
795                return false;
796              }
797              return true;
798            }
799            
800            public Builder mergeFrom(
801                com.google.protobuf.CodedInputStream input,
802                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
803                throws java.io.IOException {
804              while (true) {
805                int tag = input.readTag();
806                switch (tag) {
807                  case 0:
808                    
809                    return this;
810                  default: {
811                    if (!parseUnknownField(input, extensionRegistry, tag)) {
812                      
813                      return this;
814                    }
815                    break;
816                  }
817                  case 8: {
818                    bitField0_ |= 0x00000001;
819                    parentQualifiedName_ = input.readInt32();
820                    break;
821                  }
822                  case 16: {
823                    bitField0_ |= 0x00000002;
824                    shortName_ = input.readInt32();
825                    break;
826                  }
827                  case 24: {
828                    int rawValue = input.readEnum();
829                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind value = org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.valueOf(rawValue);
830                    if (value != null) {
831                      bitField0_ |= 0x00000004;
832                      kind_ = value;
833                    }
834                    break;
835                  }
836                }
837              }
838            }
839            
840            private int bitField0_;
841            
842            // optional int32 parent_qualified_name = 1 [default = -1];
843            private int parentQualifiedName_ = -1;
844            public boolean hasParentQualifiedName() {
845              return ((bitField0_ & 0x00000001) == 0x00000001);
846            }
847            public int getParentQualifiedName() {
848              return parentQualifiedName_;
849            }
850            public Builder setParentQualifiedName(int value) {
851              bitField0_ |= 0x00000001;
852              parentQualifiedName_ = value;
853              
854              return this;
855            }
856            public Builder clearParentQualifiedName() {
857              bitField0_ = (bitField0_ & ~0x00000001);
858              parentQualifiedName_ = -1;
859              
860              return this;
861            }
862            
863            // required int32 short_name = 2;
864            private int shortName_ ;
865            public boolean hasShortName() {
866              return ((bitField0_ & 0x00000002) == 0x00000002);
867            }
868            public int getShortName() {
869              return shortName_;
870            }
871            public Builder setShortName(int value) {
872              bitField0_ |= 0x00000002;
873              shortName_ = value;
874              
875              return this;
876            }
877            public Builder clearShortName() {
878              bitField0_ = (bitField0_ & ~0x00000002);
879              shortName_ = 0;
880              
881              return this;
882            }
883            
884            // optional .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName.Kind kind = 3 [default = PACKAGE];
885            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
886            public boolean hasKind() {
887              return ((bitField0_ & 0x00000004) == 0x00000004);
888            }
889            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind getKind() {
890              return kind_;
891            }
892            public Builder setKind(org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind value) {
893              if (value == null) {
894                throw new NullPointerException();
895              }
896              bitField0_ |= 0x00000004;
897              kind_ = value;
898              
899              return this;
900            }
901            public Builder clearKind() {
902              bitField0_ = (bitField0_ & ~0x00000004);
903              kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Kind.PACKAGE;
904              
905              return this;
906            }
907            
908            // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName)
909          }
910          
911          static {
912            defaultInstance = new QualifiedName(true);
913            defaultInstance.initFields();
914          }
915          
916          // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName)
917        }
918        
919        // repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;
920        public static final int QUALIFIED_NAME_FIELD_NUMBER = 1;
921        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> qualifiedName_;
922        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> getQualifiedNameList() {
923          return qualifiedName_;
924        }
925        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder> 
926            getQualifiedNameOrBuilderList() {
927          return qualifiedName_;
928        }
929        public int getQualifiedNameCount() {
930          return qualifiedName_.size();
931        }
932        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index) {
933          return qualifiedName_.get(index);
934        }
935        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedNameOrBuilder getQualifiedNameOrBuilder(
936            int index) {
937          return qualifiedName_.get(index);
938        }
939        
940        private void initFields() {
941          qualifiedName_ = java.util.Collections.emptyList();
942        }
943        private byte memoizedIsInitialized = -1;
944        public final boolean isInitialized() {
945          byte isInitialized = memoizedIsInitialized;
946          if (isInitialized != -1) return isInitialized == 1;
947          
948          for (int i = 0; i < getQualifiedNameCount(); i++) {
949            if (!getQualifiedName(i).isInitialized()) {
950              memoizedIsInitialized = 0;
951              return false;
952            }
953          }
954          memoizedIsInitialized = 1;
955          return true;
956        }
957        
958        public void writeTo(com.google.protobuf.CodedOutputStream output)
959                            throws java.io.IOException {
960          getSerializedSize();
961          for (int i = 0; i < qualifiedName_.size(); i++) {
962            output.writeMessage(1, qualifiedName_.get(i));
963          }
964        }
965        
966        private int memoizedSerializedSize = -1;
967        public int getSerializedSize() {
968          int size = memoizedSerializedSize;
969          if (size != -1) return size;
970        
971          size = 0;
972          for (int i = 0; i < qualifiedName_.size(); i++) {
973            size += com.google.protobuf.CodedOutputStream
974              .computeMessageSize(1, qualifiedName_.get(i));
975          }
976          memoizedSerializedSize = size;
977          return size;
978        }
979        
980        private static final long serialVersionUID = 0L;
981        @java.lang.Override
982        protected java.lang.Object writeReplace()
983            throws java.io.ObjectStreamException {
984          return super.writeReplace();
985        }
986        
987        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(
988            com.google.protobuf.ByteString data)
989            throws com.google.protobuf.InvalidProtocolBufferException {
990          return newBuilder().mergeFrom(data).buildParsed();
991        }
992        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(
993            com.google.protobuf.ByteString data,
994            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
995            throws com.google.protobuf.InvalidProtocolBufferException {
996          return newBuilder().mergeFrom(data, extensionRegistry)
997                   .buildParsed();
998        }
999        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(byte[] data)
1000            throws com.google.protobuf.InvalidProtocolBufferException {
1001          return newBuilder().mergeFrom(data).buildParsed();
1002        }
1003        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1004            byte[] data,
1005            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1006            throws com.google.protobuf.InvalidProtocolBufferException {
1007          return newBuilder().mergeFrom(data, extensionRegistry)
1008                   .buildParsed();
1009        }
1010        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(java.io.InputStream input)
1011            throws java.io.IOException {
1012          return newBuilder().mergeFrom(input).buildParsed();
1013        }
1014        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1015            java.io.InputStream input,
1016            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1017            throws java.io.IOException {
1018          return newBuilder().mergeFrom(input, extensionRegistry)
1019                   .buildParsed();
1020        }
1021        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseDelimitedFrom(java.io.InputStream input)
1022            throws java.io.IOException {
1023          Builder builder = newBuilder();
1024          if (builder.mergeDelimitedFrom(input)) {
1025            return builder.buildParsed();
1026          } else {
1027            return null;
1028          }
1029        }
1030        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseDelimitedFrom(
1031            java.io.InputStream input,
1032            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1033            throws java.io.IOException {
1034          Builder builder = newBuilder();
1035          if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
1036            return builder.buildParsed();
1037          } else {
1038            return null;
1039          }
1040        }
1041        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1042            com.google.protobuf.CodedInputStream input)
1043            throws java.io.IOException {
1044          return newBuilder().mergeFrom(input).buildParsed();
1045        }
1046        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable parseFrom(
1047            com.google.protobuf.CodedInputStream input,
1048            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1049            throws java.io.IOException {
1050          return newBuilder().mergeFrom(input, extensionRegistry)
1051                   .buildParsed();
1052        }
1053        
1054        public static Builder newBuilder() { return Builder.create(); }
1055        public Builder newBuilderForType() { return newBuilder(); }
1056        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable prototype) {
1057          return newBuilder().mergeFrom(prototype);
1058        }
1059        public Builder toBuilder() { return newBuilder(this); }
1060        
1061        public static final class Builder extends
1062            com.google.protobuf.GeneratedMessageLite.Builder<
1063              org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable, Builder>
1064            implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTableOrBuilder {
1065          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.newBuilder()
1066          private Builder() {
1067            maybeForceBuilderInitialization();
1068          }
1069          
1070          private void maybeForceBuilderInitialization() {
1071          }
1072          private static Builder create() {
1073            return new Builder();
1074          }
1075          
1076          public Builder clear() {
1077            super.clear();
1078            qualifiedName_ = java.util.Collections.emptyList();
1079            bitField0_ = (bitField0_ & ~0x00000001);
1080            return this;
1081          }
1082          
1083          public Builder clone() {
1084            return create().mergeFrom(buildPartial());
1085          }
1086          
1087          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable getDefaultInstanceForType() {
1088            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance();
1089          }
1090          
1091          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable build() {
1092            org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable result = buildPartial();
1093            if (!result.isInitialized()) {
1094              throw newUninitializedMessageException(result);
1095            }
1096            return result;
1097          }
1098          
1099          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable buildParsed()
1100              throws com.google.protobuf.InvalidProtocolBufferException {
1101            org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable result = buildPartial();
1102            if (!result.isInitialized()) {
1103              throw newUninitializedMessageException(
1104                result).asInvalidProtocolBufferException();
1105            }
1106            return result;
1107          }
1108          
1109          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable buildPartial() {
1110            org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable(this);
1111            int from_bitField0_ = bitField0_;
1112            if (((bitField0_ & 0x00000001) == 0x00000001)) {
1113              qualifiedName_ = java.util.Collections.unmodifiableList(qualifiedName_);
1114              bitField0_ = (bitField0_ & ~0x00000001);
1115            }
1116            result.qualifiedName_ = qualifiedName_;
1117            return result;
1118          }
1119          
1120          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable other) {
1121            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.getDefaultInstance()) return this;
1122            if (!other.qualifiedName_.isEmpty()) {
1123              if (qualifiedName_.isEmpty()) {
1124                qualifiedName_ = other.qualifiedName_;
1125                bitField0_ = (bitField0_ & ~0x00000001);
1126              } else {
1127                ensureQualifiedNameIsMutable();
1128                qualifiedName_.addAll(other.qualifiedName_);
1129              }
1130              
1131            }
1132            return this;
1133          }
1134          
1135          public final boolean isInitialized() {
1136            for (int i = 0; i < getQualifiedNameCount(); i++) {
1137              if (!getQualifiedName(i).isInitialized()) {
1138                
1139                return false;
1140              }
1141            }
1142            return true;
1143          }
1144          
1145          public Builder mergeFrom(
1146              com.google.protobuf.CodedInputStream input,
1147              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1148              throws java.io.IOException {
1149            while (true) {
1150              int tag = input.readTag();
1151              switch (tag) {
1152                case 0:
1153                  
1154                  return this;
1155                default: {
1156                  if (!parseUnknownField(input, extensionRegistry, tag)) {
1157                    
1158                    return this;
1159                  }
1160                  break;
1161                }
1162                case 10: {
1163                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder subBuilder = org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.newBuilder();
1164                  input.readMessage(subBuilder, extensionRegistry);
1165                  addQualifiedName(subBuilder.buildPartial());
1166                  break;
1167                }
1168              }
1169            }
1170          }
1171          
1172          private int bitField0_;
1173          
1174          // repeated .org.jetbrains.jet.descriptors.serialization.QualifiedNameTable.QualifiedName qualified_name = 1;
1175          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> qualifiedName_ =
1176            java.util.Collections.emptyList();
1177          private void ensureQualifiedNameIsMutable() {
1178            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
1179              qualifiedName_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName>(qualifiedName_);
1180              bitField0_ |= 0x00000001;
1181             }
1182          }
1183          
1184          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> getQualifiedNameList() {
1185            return java.util.Collections.unmodifiableList(qualifiedName_);
1186          }
1187          public int getQualifiedNameCount() {
1188            return qualifiedName_.size();
1189          }
1190          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName getQualifiedName(int index) {
1191            return qualifiedName_.get(index);
1192          }
1193          public Builder setQualifiedName(
1194              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1195            if (value == null) {
1196              throw new NullPointerException();
1197            }
1198            ensureQualifiedNameIsMutable();
1199            qualifiedName_.set(index, value);
1200            
1201            return this;
1202          }
1203          public Builder setQualifiedName(
1204              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1205            ensureQualifiedNameIsMutable();
1206            qualifiedName_.set(index, builderForValue.build());
1207            
1208            return this;
1209          }
1210          public Builder addQualifiedName(org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1211            if (value == null) {
1212              throw new NullPointerException();
1213            }
1214            ensureQualifiedNameIsMutable();
1215            qualifiedName_.add(value);
1216            
1217            return this;
1218          }
1219          public Builder addQualifiedName(
1220              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName value) {
1221            if (value == null) {
1222              throw new NullPointerException();
1223            }
1224            ensureQualifiedNameIsMutable();
1225            qualifiedName_.add(index, value);
1226            
1227            return this;
1228          }
1229          public Builder addQualifiedName(
1230              org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1231            ensureQualifiedNameIsMutable();
1232            qualifiedName_.add(builderForValue.build());
1233            
1234            return this;
1235          }
1236          public Builder addQualifiedName(
1237              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName.Builder builderForValue) {
1238            ensureQualifiedNameIsMutable();
1239            qualifiedName_.add(index, builderForValue.build());
1240            
1241            return this;
1242          }
1243          public Builder addAllQualifiedName(
1244              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.QualifiedNameTable.QualifiedName> values) {
1245            ensureQualifiedNameIsMutable();
1246            super.addAll(values, qualifiedName_);
1247            
1248            return this;
1249          }
1250          public Builder clearQualifiedName() {
1251            qualifiedName_ = java.util.Collections.emptyList();
1252            bitField0_ = (bitField0_ & ~0x00000001);
1253            
1254            return this;
1255          }
1256          public Builder removeQualifiedName(int index) {
1257            ensureQualifiedNameIsMutable();
1258            qualifiedName_.remove(index);
1259            
1260            return this;
1261          }
1262          
1263          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.QualifiedNameTable)
1264        }
1265        
1266        static {
1267          defaultInstance = new QualifiedNameTable(true);
1268          defaultInstance.initFields();
1269        }
1270        
1271        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.QualifiedNameTable)
1272      }
1273      
1274      public interface TypeOrBuilder
1275          extends com.google.protobuf.MessageLiteOrBuilder {
1276        
1277        // required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;
1278        boolean hasConstructor();
1279        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor getConstructor();
1280        
1281        // repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;
1282        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument> 
1283            getArgumentList();
1284        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument getArgument(int index);
1285        int getArgumentCount();
1286        
1287        // optional bool nullable = 3 [default = false];
1288        boolean hasNullable();
1289        boolean getNullable();
1290      }
1291      public static final class Type extends
1292          com.google.protobuf.GeneratedMessageLite
1293          implements TypeOrBuilder {
1294        // Use Type.newBuilder() to construct.
1295        private Type(Builder builder) {
1296          super(builder);
1297        }
1298        private Type(boolean noInit) {}
1299        
1300        private static final Type defaultInstance;
1301        public static Type getDefaultInstance() {
1302          return defaultInstance;
1303        }
1304        
1305        public Type getDefaultInstanceForType() {
1306          return defaultInstance;
1307        }
1308        
1309        public interface ConstructorOrBuilder
1310            extends com.google.protobuf.MessageLiteOrBuilder {
1311          
1312          // optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];
1313          boolean hasKind();
1314          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind getKind();
1315          
1316          // required int32 id = 2;
1317          boolean hasId();
1318          int getId();
1319        }
1320        public static final class Constructor extends
1321            com.google.protobuf.GeneratedMessageLite
1322            implements ConstructorOrBuilder {
1323          // Use Constructor.newBuilder() to construct.
1324          private Constructor(Builder builder) {
1325            super(builder);
1326          }
1327          private Constructor(boolean noInit) {}
1328          
1329          private static final Constructor defaultInstance;
1330          public static Constructor getDefaultInstance() {
1331            return defaultInstance;
1332          }
1333          
1334          public Constructor getDefaultInstanceForType() {
1335            return defaultInstance;
1336          }
1337          
1338          public enum Kind
1339              implements com.google.protobuf.Internal.EnumLite {
1340            CLASS(0, 0),
1341            TYPE_PARAMETER(1, 1),
1342            ;
1343            
1344            public static final int CLASS_VALUE = 0;
1345            public static final int TYPE_PARAMETER_VALUE = 1;
1346            
1347            
1348            public final int getNumber() { return value; }
1349            
1350            public static Kind valueOf(int value) {
1351              switch (value) {
1352                case 0: return CLASS;
1353                case 1: return TYPE_PARAMETER;
1354                default: return null;
1355              }
1356            }
1357            
1358            public static com.google.protobuf.Internal.EnumLiteMap<Kind>
1359                internalGetValueMap() {
1360              return internalValueMap;
1361            }
1362            private static com.google.protobuf.Internal.EnumLiteMap<Kind>
1363                internalValueMap =
1364                  new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
1365                    public Kind findValueByNumber(int number) {
1366                      return Kind.valueOf(number);
1367                    }
1368                  };
1369            
1370            private final int value;
1371            
1372            private Kind(int index, int value) {
1373              this.value = value;
1374            }
1375            
1376            // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind)
1377          }
1378          
1379          private int bitField0_;
1380          // optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];
1381          public static final int KIND_FIELD_NUMBER = 1;
1382          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind kind_;
1383          public boolean hasKind() {
1384            return ((bitField0_ & 0x00000001) == 0x00000001);
1385          }
1386          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind getKind() {
1387            return kind_;
1388          }
1389          
1390          // required int32 id = 2;
1391          public static final int ID_FIELD_NUMBER = 2;
1392          private int id_;
1393          public boolean hasId() {
1394            return ((bitField0_ & 0x00000002) == 0x00000002);
1395          }
1396          public int getId() {
1397            return id_;
1398          }
1399          
1400          private void initFields() {
1401            kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
1402            id_ = 0;
1403          }
1404          private byte memoizedIsInitialized = -1;
1405          public final boolean isInitialized() {
1406            byte isInitialized = memoizedIsInitialized;
1407            if (isInitialized != -1) return isInitialized == 1;
1408            
1409            if (!hasId()) {
1410              memoizedIsInitialized = 0;
1411              return false;
1412            }
1413            memoizedIsInitialized = 1;
1414            return true;
1415          }
1416          
1417          public void writeTo(com.google.protobuf.CodedOutputStream output)
1418                              throws java.io.IOException {
1419            getSerializedSize();
1420            if (((bitField0_ & 0x00000001) == 0x00000001)) {
1421              output.writeEnum(1, kind_.getNumber());
1422            }
1423            if (((bitField0_ & 0x00000002) == 0x00000002)) {
1424              output.writeInt32(2, id_);
1425            }
1426          }
1427          
1428          private int memoizedSerializedSize = -1;
1429          public int getSerializedSize() {
1430            int size = memoizedSerializedSize;
1431            if (size != -1) return size;
1432          
1433            size = 0;
1434            if (((bitField0_ & 0x00000001) == 0x00000001)) {
1435              size += com.google.protobuf.CodedOutputStream
1436                .computeEnumSize(1, kind_.getNumber());
1437            }
1438            if (((bitField0_ & 0x00000002) == 0x00000002)) {
1439              size += com.google.protobuf.CodedOutputStream
1440                .computeInt32Size(2, id_);
1441            }
1442            memoizedSerializedSize = size;
1443            return size;
1444          }
1445          
1446          private static final long serialVersionUID = 0L;
1447          @java.lang.Override
1448          protected java.lang.Object writeReplace()
1449              throws java.io.ObjectStreamException {
1450            return super.writeReplace();
1451          }
1452          
1453          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(
1454              com.google.protobuf.ByteString data)
1455              throws com.google.protobuf.InvalidProtocolBufferException {
1456            return newBuilder().mergeFrom(data).buildParsed();
1457          }
1458          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(
1459              com.google.protobuf.ByteString data,
1460              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1461              throws com.google.protobuf.InvalidProtocolBufferException {
1462            return newBuilder().mergeFrom(data, extensionRegistry)
1463                     .buildParsed();
1464          }
1465          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(byte[] data)
1466              throws com.google.protobuf.InvalidProtocolBufferException {
1467            return newBuilder().mergeFrom(data).buildParsed();
1468          }
1469          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(
1470              byte[] data,
1471              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1472              throws com.google.protobuf.InvalidProtocolBufferException {
1473            return newBuilder().mergeFrom(data, extensionRegistry)
1474                     .buildParsed();
1475          }
1476          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(java.io.InputStream input)
1477              throws java.io.IOException {
1478            return newBuilder().mergeFrom(input).buildParsed();
1479          }
1480          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(
1481              java.io.InputStream input,
1482              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1483              throws java.io.IOException {
1484            return newBuilder().mergeFrom(input, extensionRegistry)
1485                     .buildParsed();
1486          }
1487          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseDelimitedFrom(java.io.InputStream input)
1488              throws java.io.IOException {
1489            Builder builder = newBuilder();
1490            if (builder.mergeDelimitedFrom(input)) {
1491              return builder.buildParsed();
1492            } else {
1493              return null;
1494            }
1495          }
1496          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseDelimitedFrom(
1497              java.io.InputStream input,
1498              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1499              throws java.io.IOException {
1500            Builder builder = newBuilder();
1501            if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
1502              return builder.buildParsed();
1503            } else {
1504              return null;
1505            }
1506          }
1507          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(
1508              com.google.protobuf.CodedInputStream input)
1509              throws java.io.IOException {
1510            return newBuilder().mergeFrom(input).buildParsed();
1511          }
1512          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor parseFrom(
1513              com.google.protobuf.CodedInputStream input,
1514              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1515              throws java.io.IOException {
1516            return newBuilder().mergeFrom(input, extensionRegistry)
1517                     .buildParsed();
1518          }
1519          
1520          public static Builder newBuilder() { return Builder.create(); }
1521          public Builder newBuilderForType() { return newBuilder(); }
1522          public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor prototype) {
1523            return newBuilder().mergeFrom(prototype);
1524          }
1525          public Builder toBuilder() { return newBuilder(this); }
1526          
1527          public static final class Builder extends
1528              com.google.protobuf.GeneratedMessageLite.Builder<
1529                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor, Builder>
1530              implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.ConstructorOrBuilder {
1531            // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.newBuilder()
1532            private Builder() {
1533              maybeForceBuilderInitialization();
1534            }
1535            
1536            private void maybeForceBuilderInitialization() {
1537            }
1538            private static Builder create() {
1539              return new Builder();
1540            }
1541            
1542            public Builder clear() {
1543              super.clear();
1544              kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
1545              bitField0_ = (bitField0_ & ~0x00000001);
1546              id_ = 0;
1547              bitField0_ = (bitField0_ & ~0x00000002);
1548              return this;
1549            }
1550            
1551            public Builder clone() {
1552              return create().mergeFrom(buildPartial());
1553            }
1554            
1555            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor getDefaultInstanceForType() {
1556              return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
1557            }
1558            
1559            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor build() {
1560              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor result = buildPartial();
1561              if (!result.isInitialized()) {
1562                throw newUninitializedMessageException(result);
1563              }
1564              return result;
1565            }
1566            
1567            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor buildParsed()
1568                throws com.google.protobuf.InvalidProtocolBufferException {
1569              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor result = buildPartial();
1570              if (!result.isInitialized()) {
1571                throw newUninitializedMessageException(
1572                  result).asInvalidProtocolBufferException();
1573              }
1574              return result;
1575            }
1576            
1577            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor buildPartial() {
1578              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor(this);
1579              int from_bitField0_ = bitField0_;
1580              int to_bitField0_ = 0;
1581              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
1582                to_bitField0_ |= 0x00000001;
1583              }
1584              result.kind_ = kind_;
1585              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
1586                to_bitField0_ |= 0x00000002;
1587              }
1588              result.id_ = id_;
1589              result.bitField0_ = to_bitField0_;
1590              return result;
1591            }
1592            
1593            public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor other) {
1594              if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.getDefaultInstance()) return this;
1595              if (other.hasKind()) {
1596                setKind(other.getKind());
1597              }
1598              if (other.hasId()) {
1599                setId(other.getId());
1600              }
1601              return this;
1602            }
1603            
1604            public final boolean isInitialized() {
1605              if (!hasId()) {
1606                
1607                return false;
1608              }
1609              return true;
1610            }
1611            
1612            public Builder mergeFrom(
1613                com.google.protobuf.CodedInputStream input,
1614                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1615                throws java.io.IOException {
1616              while (true) {
1617                int tag = input.readTag();
1618                switch (tag) {
1619                  case 0:
1620                    
1621                    return this;
1622                  default: {
1623                    if (!parseUnknownField(input, extensionRegistry, tag)) {
1624                      
1625                      return this;
1626                    }
1627                    break;
1628                  }
1629                  case 8: {
1630                    int rawValue = input.readEnum();
1631                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind value = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind.valueOf(rawValue);
1632                    if (value != null) {
1633                      bitField0_ |= 0x00000001;
1634                      kind_ = value;
1635                    }
1636                    break;
1637                  }
1638                  case 16: {
1639                    bitField0_ |= 0x00000002;
1640                    id_ = input.readInt32();
1641                    break;
1642                  }
1643                }
1644              }
1645            }
1646            
1647            private int bitField0_;
1648            
1649            // optional .org.jetbrains.jet.descriptors.serialization.Type.Constructor.Kind kind = 1 [default = CLASS];
1650            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
1651            public boolean hasKind() {
1652              return ((bitField0_ & 0x00000001) == 0x00000001);
1653            }
1654            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind getKind() {
1655              return kind_;
1656            }
1657            public Builder setKind(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind value) {
1658              if (value == null) {
1659                throw new NullPointerException();
1660              }
1661              bitField0_ |= 0x00000001;
1662              kind_ = value;
1663              
1664              return this;
1665            }
1666            public Builder clearKind() {
1667              bitField0_ = (bitField0_ & ~0x00000001);
1668              kind_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Kind.CLASS;
1669              
1670              return this;
1671            }
1672            
1673            // required int32 id = 2;
1674            private int id_ ;
1675            public boolean hasId() {
1676              return ((bitField0_ & 0x00000002) == 0x00000002);
1677            }
1678            public int getId() {
1679              return id_;
1680            }
1681            public Builder setId(int value) {
1682              bitField0_ |= 0x00000002;
1683              id_ = value;
1684              
1685              return this;
1686            }
1687            public Builder clearId() {
1688              bitField0_ = (bitField0_ & ~0x00000002);
1689              id_ = 0;
1690              
1691              return this;
1692            }
1693            
1694            // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Type.Constructor)
1695          }
1696          
1697          static {
1698            defaultInstance = new Constructor(true);
1699            defaultInstance.initFields();
1700          }
1701          
1702          // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Type.Constructor)
1703        }
1704        
1705        public interface ArgumentOrBuilder
1706            extends com.google.protobuf.MessageLiteOrBuilder {
1707          
1708          // optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];
1709          boolean hasProjection();
1710          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection getProjection();
1711          
1712          // required .org.jetbrains.jet.descriptors.serialization.Type type = 2;
1713          boolean hasType();
1714          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getType();
1715        }
1716        public static final class Argument extends
1717            com.google.protobuf.GeneratedMessageLite
1718            implements ArgumentOrBuilder {
1719          // Use Argument.newBuilder() to construct.
1720          private Argument(Builder builder) {
1721            super(builder);
1722          }
1723          private Argument(boolean noInit) {}
1724          
1725          private static final Argument defaultInstance;
1726          public static Argument getDefaultInstance() {
1727            return defaultInstance;
1728          }
1729          
1730          public Argument getDefaultInstanceForType() {
1731            return defaultInstance;
1732          }
1733          
1734          public enum Projection
1735              implements com.google.protobuf.Internal.EnumLite {
1736            IN(0, 0),
1737            OUT(1, 1),
1738            INV(2, 2),
1739            ;
1740            
1741            public static final int IN_VALUE = 0;
1742            public static final int OUT_VALUE = 1;
1743            public static final int INV_VALUE = 2;
1744            
1745            
1746            public final int getNumber() { return value; }
1747            
1748            public static Projection valueOf(int value) {
1749              switch (value) {
1750                case 0: return IN;
1751                case 1: return OUT;
1752                case 2: return INV;
1753                default: return null;
1754              }
1755            }
1756            
1757            public static com.google.protobuf.Internal.EnumLiteMap<Projection>
1758                internalGetValueMap() {
1759              return internalValueMap;
1760            }
1761            private static com.google.protobuf.Internal.EnumLiteMap<Projection>
1762                internalValueMap =
1763                  new com.google.protobuf.Internal.EnumLiteMap<Projection>() {
1764                    public Projection findValueByNumber(int number) {
1765                      return Projection.valueOf(number);
1766                    }
1767                  };
1768            
1769            private final int value;
1770            
1771            private Projection(int index, int value) {
1772              this.value = value;
1773            }
1774            
1775            // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection)
1776          }
1777          
1778          private int bitField0_;
1779          // optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];
1780          public static final int PROJECTION_FIELD_NUMBER = 1;
1781          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection projection_;
1782          public boolean hasProjection() {
1783            return ((bitField0_ & 0x00000001) == 0x00000001);
1784          }
1785          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
1786            return projection_;
1787          }
1788          
1789          // required .org.jetbrains.jet.descriptors.serialization.Type type = 2;
1790          public static final int TYPE_FIELD_NUMBER = 2;
1791          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type type_;
1792          public boolean hasType() {
1793            return ((bitField0_ & 0x00000002) == 0x00000002);
1794          }
1795          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getType() {
1796            return type_;
1797          }
1798          
1799          private void initFields() {
1800            projection_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection.INV;
1801            type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
1802          }
1803          private byte memoizedIsInitialized = -1;
1804          public final boolean isInitialized() {
1805            byte isInitialized = memoizedIsInitialized;
1806            if (isInitialized != -1) return isInitialized == 1;
1807            
1808            if (!hasType()) {
1809              memoizedIsInitialized = 0;
1810              return false;
1811            }
1812            if (!getType().isInitialized()) {
1813              memoizedIsInitialized = 0;
1814              return false;
1815            }
1816            memoizedIsInitialized = 1;
1817            return true;
1818          }
1819          
1820          public void writeTo(com.google.protobuf.CodedOutputStream output)
1821                              throws java.io.IOException {
1822            getSerializedSize();
1823            if (((bitField0_ & 0x00000001) == 0x00000001)) {
1824              output.writeEnum(1, projection_.getNumber());
1825            }
1826            if (((bitField0_ & 0x00000002) == 0x00000002)) {
1827              output.writeMessage(2, type_);
1828            }
1829          }
1830          
1831          private int memoizedSerializedSize = -1;
1832          public int getSerializedSize() {
1833            int size = memoizedSerializedSize;
1834            if (size != -1) return size;
1835          
1836            size = 0;
1837            if (((bitField0_ & 0x00000001) == 0x00000001)) {
1838              size += com.google.protobuf.CodedOutputStream
1839                .computeEnumSize(1, projection_.getNumber());
1840            }
1841            if (((bitField0_ & 0x00000002) == 0x00000002)) {
1842              size += com.google.protobuf.CodedOutputStream
1843                .computeMessageSize(2, type_);
1844            }
1845            memoizedSerializedSize = size;
1846            return size;
1847          }
1848          
1849          private static final long serialVersionUID = 0L;
1850          @java.lang.Override
1851          protected java.lang.Object writeReplace()
1852              throws java.io.ObjectStreamException {
1853            return super.writeReplace();
1854          }
1855          
1856          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(
1857              com.google.protobuf.ByteString data)
1858              throws com.google.protobuf.InvalidProtocolBufferException {
1859            return newBuilder().mergeFrom(data).buildParsed();
1860          }
1861          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(
1862              com.google.protobuf.ByteString data,
1863              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1864              throws com.google.protobuf.InvalidProtocolBufferException {
1865            return newBuilder().mergeFrom(data, extensionRegistry)
1866                     .buildParsed();
1867          }
1868          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(byte[] data)
1869              throws com.google.protobuf.InvalidProtocolBufferException {
1870            return newBuilder().mergeFrom(data).buildParsed();
1871          }
1872          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(
1873              byte[] data,
1874              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1875              throws com.google.protobuf.InvalidProtocolBufferException {
1876            return newBuilder().mergeFrom(data, extensionRegistry)
1877                     .buildParsed();
1878          }
1879          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(java.io.InputStream input)
1880              throws java.io.IOException {
1881            return newBuilder().mergeFrom(input).buildParsed();
1882          }
1883          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(
1884              java.io.InputStream input,
1885              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1886              throws java.io.IOException {
1887            return newBuilder().mergeFrom(input, extensionRegistry)
1888                     .buildParsed();
1889          }
1890          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(java.io.InputStream input)
1891              throws java.io.IOException {
1892            Builder builder = newBuilder();
1893            if (builder.mergeDelimitedFrom(input)) {
1894              return builder.buildParsed();
1895            } else {
1896              return null;
1897            }
1898          }
1899          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseDelimitedFrom(
1900              java.io.InputStream input,
1901              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1902              throws java.io.IOException {
1903            Builder builder = newBuilder();
1904            if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
1905              return builder.buildParsed();
1906            } else {
1907              return null;
1908            }
1909          }
1910          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(
1911              com.google.protobuf.CodedInputStream input)
1912              throws java.io.IOException {
1913            return newBuilder().mergeFrom(input).buildParsed();
1914          }
1915          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument parseFrom(
1916              com.google.protobuf.CodedInputStream input,
1917              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1918              throws java.io.IOException {
1919            return newBuilder().mergeFrom(input, extensionRegistry)
1920                     .buildParsed();
1921          }
1922          
1923          public static Builder newBuilder() { return Builder.create(); }
1924          public Builder newBuilderForType() { return newBuilder(); }
1925          public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument prototype) {
1926            return newBuilder().mergeFrom(prototype);
1927          }
1928          public Builder toBuilder() { return newBuilder(this); }
1929          
1930          public static final class Builder extends
1931              com.google.protobuf.GeneratedMessageLite.Builder<
1932                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument, Builder>
1933              implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.ArgumentOrBuilder {
1934            // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.newBuilder()
1935            private Builder() {
1936              maybeForceBuilderInitialization();
1937            }
1938            
1939            private void maybeForceBuilderInitialization() {
1940            }
1941            private static Builder create() {
1942              return new Builder();
1943            }
1944            
1945            public Builder clear() {
1946              super.clear();
1947              projection_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection.INV;
1948              bitField0_ = (bitField0_ & ~0x00000001);
1949              type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
1950              bitField0_ = (bitField0_ & ~0x00000002);
1951              return this;
1952            }
1953            
1954            public Builder clone() {
1955              return create().mergeFrom(buildPartial());
1956            }
1957            
1958            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument getDefaultInstanceForType() {
1959              return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.getDefaultInstance();
1960            }
1961            
1962            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument build() {
1963              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument result = buildPartial();
1964              if (!result.isInitialized()) {
1965                throw newUninitializedMessageException(result);
1966              }
1967              return result;
1968            }
1969            
1970            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument buildParsed()
1971                throws com.google.protobuf.InvalidProtocolBufferException {
1972              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument result = buildPartial();
1973              if (!result.isInitialized()) {
1974                throw newUninitializedMessageException(
1975                  result).asInvalidProtocolBufferException();
1976              }
1977              return result;
1978            }
1979            
1980            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument buildPartial() {
1981              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument(this);
1982              int from_bitField0_ = bitField0_;
1983              int to_bitField0_ = 0;
1984              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
1985                to_bitField0_ |= 0x00000001;
1986              }
1987              result.projection_ = projection_;
1988              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
1989                to_bitField0_ |= 0x00000002;
1990              }
1991              result.type_ = type_;
1992              result.bitField0_ = to_bitField0_;
1993              return result;
1994            }
1995            
1996            public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument other) {
1997              if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.getDefaultInstance()) return this;
1998              if (other.hasProjection()) {
1999                setProjection(other.getProjection());
2000              }
2001              if (other.hasType()) {
2002                mergeType(other.getType());
2003              }
2004              return this;
2005            }
2006            
2007            public final boolean isInitialized() {
2008              if (!hasType()) {
2009                
2010                return false;
2011              }
2012              if (!getType().isInitialized()) {
2013                
2014                return false;
2015              }
2016              return true;
2017            }
2018            
2019            public Builder mergeFrom(
2020                com.google.protobuf.CodedInputStream input,
2021                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2022                throws java.io.IOException {
2023              while (true) {
2024                int tag = input.readTag();
2025                switch (tag) {
2026                  case 0:
2027                    
2028                    return this;
2029                  default: {
2030                    if (!parseUnknownField(input, extensionRegistry, tag)) {
2031                      
2032                      return this;
2033                    }
2034                    break;
2035                  }
2036                  case 8: {
2037                    int rawValue = input.readEnum();
2038                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection value = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection.valueOf(rawValue);
2039                    if (value != null) {
2040                      bitField0_ |= 0x00000001;
2041                      projection_ = value;
2042                    }
2043                    break;
2044                  }
2045                  case 18: {
2046                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder();
2047                    if (hasType()) {
2048                      subBuilder.mergeFrom(getType());
2049                    }
2050                    input.readMessage(subBuilder, extensionRegistry);
2051                    setType(subBuilder.buildPartial());
2052                    break;
2053                  }
2054                }
2055              }
2056            }
2057            
2058            private int bitField0_;
2059            
2060            // optional .org.jetbrains.jet.descriptors.serialization.Type.Argument.Projection projection = 1 [default = INV];
2061            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection projection_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection.INV;
2062            public boolean hasProjection() {
2063              return ((bitField0_ & 0x00000001) == 0x00000001);
2064            }
2065            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection getProjection() {
2066              return projection_;
2067            }
2068            public Builder setProjection(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection value) {
2069              if (value == null) {
2070                throw new NullPointerException();
2071              }
2072              bitField0_ |= 0x00000001;
2073              projection_ = value;
2074              
2075              return this;
2076            }
2077            public Builder clearProjection() {
2078              bitField0_ = (bitField0_ & ~0x00000001);
2079              projection_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Projection.INV;
2080              
2081              return this;
2082            }
2083            
2084            // required .org.jetbrains.jet.descriptors.serialization.Type type = 2;
2085            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
2086            public boolean hasType() {
2087              return ((bitField0_ & 0x00000002) == 0x00000002);
2088            }
2089            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getType() {
2090              return type_;
2091            }
2092            public Builder setType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
2093              if (value == null) {
2094                throw new NullPointerException();
2095              }
2096              type_ = value;
2097              
2098              bitField0_ |= 0x00000002;
2099              return this;
2100            }
2101            public Builder setType(
2102                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
2103              type_ = builderForValue.build();
2104              
2105              bitField0_ |= 0x00000002;
2106              return this;
2107            }
2108            public Builder mergeType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
2109              if (((bitField0_ & 0x00000002) == 0x00000002) &&
2110                  type_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) {
2111                type_ =
2112                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
2113              } else {
2114                type_ = value;
2115              }
2116              
2117              bitField0_ |= 0x00000002;
2118              return this;
2119            }
2120            public Builder clearType() {
2121              type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
2122              
2123              bitField0_ = (bitField0_ & ~0x00000002);
2124              return this;
2125            }
2126            
2127            // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Type.Argument)
2128          }
2129          
2130          static {
2131            defaultInstance = new Argument(true);
2132            defaultInstance.initFields();
2133          }
2134          
2135          // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Type.Argument)
2136        }
2137        
2138        private int bitField0_;
2139        // required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;
2140        public static final int CONSTRUCTOR_FIELD_NUMBER = 1;
2141        private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor constructor_;
2142        public boolean hasConstructor() {
2143          return ((bitField0_ & 0x00000001) == 0x00000001);
2144        }
2145        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor getConstructor() {
2146          return constructor_;
2147        }
2148        
2149        // repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;
2150        public static final int ARGUMENT_FIELD_NUMBER = 2;
2151        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument> argument_;
2152        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument> getArgumentList() {
2153          return argument_;
2154        }
2155        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.ArgumentOrBuilder> 
2156            getArgumentOrBuilderList() {
2157          return argument_;
2158        }
2159        public int getArgumentCount() {
2160          return argument_.size();
2161        }
2162        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument getArgument(int index) {
2163          return argument_.get(index);
2164        }
2165        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.ArgumentOrBuilder getArgumentOrBuilder(
2166            int index) {
2167          return argument_.get(index);
2168        }
2169        
2170        // optional bool nullable = 3 [default = false];
2171        public static final int NULLABLE_FIELD_NUMBER = 3;
2172        private boolean nullable_;
2173        public boolean hasNullable() {
2174          return ((bitField0_ & 0x00000002) == 0x00000002);
2175        }
2176        public boolean getNullable() {
2177          return nullable_;
2178        }
2179        
2180        private void initFields() {
2181          constructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
2182          argument_ = java.util.Collections.emptyList();
2183          nullable_ = false;
2184        }
2185        private byte memoizedIsInitialized = -1;
2186        public final boolean isInitialized() {
2187          byte isInitialized = memoizedIsInitialized;
2188          if (isInitialized != -1) return isInitialized == 1;
2189          
2190          if (!hasConstructor()) {
2191            memoizedIsInitialized = 0;
2192            return false;
2193          }
2194          if (!getConstructor().isInitialized()) {
2195            memoizedIsInitialized = 0;
2196            return false;
2197          }
2198          for (int i = 0; i < getArgumentCount(); i++) {
2199            if (!getArgument(i).isInitialized()) {
2200              memoizedIsInitialized = 0;
2201              return false;
2202            }
2203          }
2204          memoizedIsInitialized = 1;
2205          return true;
2206        }
2207        
2208        public void writeTo(com.google.protobuf.CodedOutputStream output)
2209                            throws java.io.IOException {
2210          getSerializedSize();
2211          if (((bitField0_ & 0x00000001) == 0x00000001)) {
2212            output.writeMessage(1, constructor_);
2213          }
2214          for (int i = 0; i < argument_.size(); i++) {
2215            output.writeMessage(2, argument_.get(i));
2216          }
2217          if (((bitField0_ & 0x00000002) == 0x00000002)) {
2218            output.writeBool(3, nullable_);
2219          }
2220        }
2221        
2222        private int memoizedSerializedSize = -1;
2223        public int getSerializedSize() {
2224          int size = memoizedSerializedSize;
2225          if (size != -1) return size;
2226        
2227          size = 0;
2228          if (((bitField0_ & 0x00000001) == 0x00000001)) {
2229            size += com.google.protobuf.CodedOutputStream
2230              .computeMessageSize(1, constructor_);
2231          }
2232          for (int i = 0; i < argument_.size(); i++) {
2233            size += com.google.protobuf.CodedOutputStream
2234              .computeMessageSize(2, argument_.get(i));
2235          }
2236          if (((bitField0_ & 0x00000002) == 0x00000002)) {
2237            size += com.google.protobuf.CodedOutputStream
2238              .computeBoolSize(3, nullable_);
2239          }
2240          memoizedSerializedSize = size;
2241          return size;
2242        }
2243        
2244        private static final long serialVersionUID = 0L;
2245        @java.lang.Override
2246        protected java.lang.Object writeReplace()
2247            throws java.io.ObjectStreamException {
2248          return super.writeReplace();
2249        }
2250        
2251        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(
2252            com.google.protobuf.ByteString data)
2253            throws com.google.protobuf.InvalidProtocolBufferException {
2254          return newBuilder().mergeFrom(data).buildParsed();
2255        }
2256        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(
2257            com.google.protobuf.ByteString data,
2258            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2259            throws com.google.protobuf.InvalidProtocolBufferException {
2260          return newBuilder().mergeFrom(data, extensionRegistry)
2261                   .buildParsed();
2262        }
2263        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(byte[] data)
2264            throws com.google.protobuf.InvalidProtocolBufferException {
2265          return newBuilder().mergeFrom(data).buildParsed();
2266        }
2267        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(
2268            byte[] data,
2269            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2270            throws com.google.protobuf.InvalidProtocolBufferException {
2271          return newBuilder().mergeFrom(data, extensionRegistry)
2272                   .buildParsed();
2273        }
2274        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(java.io.InputStream input)
2275            throws java.io.IOException {
2276          return newBuilder().mergeFrom(input).buildParsed();
2277        }
2278        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(
2279            java.io.InputStream input,
2280            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2281            throws java.io.IOException {
2282          return newBuilder().mergeFrom(input, extensionRegistry)
2283                   .buildParsed();
2284        }
2285        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseDelimitedFrom(java.io.InputStream input)
2286            throws java.io.IOException {
2287          Builder builder = newBuilder();
2288          if (builder.mergeDelimitedFrom(input)) {
2289            return builder.buildParsed();
2290          } else {
2291            return null;
2292          }
2293        }
2294        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseDelimitedFrom(
2295            java.io.InputStream input,
2296            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2297            throws java.io.IOException {
2298          Builder builder = newBuilder();
2299          if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
2300            return builder.buildParsed();
2301          } else {
2302            return null;
2303          }
2304        }
2305        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(
2306            com.google.protobuf.CodedInputStream input)
2307            throws java.io.IOException {
2308          return newBuilder().mergeFrom(input).buildParsed();
2309        }
2310        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type parseFrom(
2311            com.google.protobuf.CodedInputStream input,
2312            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2313            throws java.io.IOException {
2314          return newBuilder().mergeFrom(input, extensionRegistry)
2315                   .buildParsed();
2316        }
2317        
2318        public static Builder newBuilder() { return Builder.create(); }
2319        public Builder newBuilderForType() { return newBuilder(); }
2320        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type prototype) {
2321          return newBuilder().mergeFrom(prototype);
2322        }
2323        public Builder toBuilder() { return newBuilder(this); }
2324        
2325        public static final class Builder extends
2326            com.google.protobuf.GeneratedMessageLite.Builder<
2327              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type, Builder>
2328            implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeOrBuilder {
2329          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder()
2330          private Builder() {
2331            maybeForceBuilderInitialization();
2332          }
2333          
2334          private void maybeForceBuilderInitialization() {
2335          }
2336          private static Builder create() {
2337            return new Builder();
2338          }
2339          
2340          public Builder clear() {
2341            super.clear();
2342            constructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
2343            bitField0_ = (bitField0_ & ~0x00000001);
2344            argument_ = java.util.Collections.emptyList();
2345            bitField0_ = (bitField0_ & ~0x00000002);
2346            nullable_ = false;
2347            bitField0_ = (bitField0_ & ~0x00000004);
2348            return this;
2349          }
2350          
2351          public Builder clone() {
2352            return create().mergeFrom(buildPartial());
2353          }
2354          
2355          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getDefaultInstanceForType() {
2356            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
2357          }
2358          
2359          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type build() {
2360            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type result = buildPartial();
2361            if (!result.isInitialized()) {
2362              throw newUninitializedMessageException(result);
2363            }
2364            return result;
2365          }
2366          
2367          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type buildParsed()
2368              throws com.google.protobuf.InvalidProtocolBufferException {
2369            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type result = buildPartial();
2370            if (!result.isInitialized()) {
2371              throw newUninitializedMessageException(
2372                result).asInvalidProtocolBufferException();
2373            }
2374            return result;
2375          }
2376          
2377          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type buildPartial() {
2378            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type(this);
2379            int from_bitField0_ = bitField0_;
2380            int to_bitField0_ = 0;
2381            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
2382              to_bitField0_ |= 0x00000001;
2383            }
2384            result.constructor_ = constructor_;
2385            if (((bitField0_ & 0x00000002) == 0x00000002)) {
2386              argument_ = java.util.Collections.unmodifiableList(argument_);
2387              bitField0_ = (bitField0_ & ~0x00000002);
2388            }
2389            result.argument_ = argument_;
2390            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
2391              to_bitField0_ |= 0x00000002;
2392            }
2393            result.nullable_ = nullable_;
2394            result.bitField0_ = to_bitField0_;
2395            return result;
2396          }
2397          
2398          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type other) {
2399            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) return this;
2400            if (other.hasConstructor()) {
2401              mergeConstructor(other.getConstructor());
2402            }
2403            if (!other.argument_.isEmpty()) {
2404              if (argument_.isEmpty()) {
2405                argument_ = other.argument_;
2406                bitField0_ = (bitField0_ & ~0x00000002);
2407              } else {
2408                ensureArgumentIsMutable();
2409                argument_.addAll(other.argument_);
2410              }
2411              
2412            }
2413            if (other.hasNullable()) {
2414              setNullable(other.getNullable());
2415            }
2416            return this;
2417          }
2418          
2419          public final boolean isInitialized() {
2420            if (!hasConstructor()) {
2421              
2422              return false;
2423            }
2424            if (!getConstructor().isInitialized()) {
2425              
2426              return false;
2427            }
2428            for (int i = 0; i < getArgumentCount(); i++) {
2429              if (!getArgument(i).isInitialized()) {
2430                
2431                return false;
2432              }
2433            }
2434            return true;
2435          }
2436          
2437          public Builder mergeFrom(
2438              com.google.protobuf.CodedInputStream input,
2439              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2440              throws java.io.IOException {
2441            while (true) {
2442              int tag = input.readTag();
2443              switch (tag) {
2444                case 0:
2445                  
2446                  return this;
2447                default: {
2448                  if (!parseUnknownField(input, extensionRegistry, tag)) {
2449                    
2450                    return this;
2451                  }
2452                  break;
2453                }
2454                case 10: {
2455                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Builder subBuilder = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.newBuilder();
2456                  if (hasConstructor()) {
2457                    subBuilder.mergeFrom(getConstructor());
2458                  }
2459                  input.readMessage(subBuilder, extensionRegistry);
2460                  setConstructor(subBuilder.buildPartial());
2461                  break;
2462                }
2463                case 18: {
2464                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Builder subBuilder = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.newBuilder();
2465                  input.readMessage(subBuilder, extensionRegistry);
2466                  addArgument(subBuilder.buildPartial());
2467                  break;
2468                }
2469                case 24: {
2470                  bitField0_ |= 0x00000004;
2471                  nullable_ = input.readBool();
2472                  break;
2473                }
2474              }
2475            }
2476          }
2477          
2478          private int bitField0_;
2479          
2480          // required .org.jetbrains.jet.descriptors.serialization.Type.Constructor constructor = 1;
2481          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor constructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
2482          public boolean hasConstructor() {
2483            return ((bitField0_ & 0x00000001) == 0x00000001);
2484          }
2485          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor getConstructor() {
2486            return constructor_;
2487          }
2488          public Builder setConstructor(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor value) {
2489            if (value == null) {
2490              throw new NullPointerException();
2491            }
2492            constructor_ = value;
2493            
2494            bitField0_ |= 0x00000001;
2495            return this;
2496          }
2497          public Builder setConstructor(
2498              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.Builder builderForValue) {
2499            constructor_ = builderForValue.build();
2500            
2501            bitField0_ |= 0x00000001;
2502            return this;
2503          }
2504          public Builder mergeConstructor(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor value) {
2505            if (((bitField0_ & 0x00000001) == 0x00000001) &&
2506                constructor_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.getDefaultInstance()) {
2507              constructor_ =
2508                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.newBuilder(constructor_).mergeFrom(value).buildPartial();
2509            } else {
2510              constructor_ = value;
2511            }
2512            
2513            bitField0_ |= 0x00000001;
2514            return this;
2515          }
2516          public Builder clearConstructor() {
2517            constructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Constructor.getDefaultInstance();
2518            
2519            bitField0_ = (bitField0_ & ~0x00000001);
2520            return this;
2521          }
2522          
2523          // repeated .org.jetbrains.jet.descriptors.serialization.Type.Argument argument = 2;
2524          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument> argument_ =
2525            java.util.Collections.emptyList();
2526          private void ensureArgumentIsMutable() {
2527            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
2528              argument_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument>(argument_);
2529              bitField0_ |= 0x00000002;
2530             }
2531          }
2532          
2533          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument> getArgumentList() {
2534            return java.util.Collections.unmodifiableList(argument_);
2535          }
2536          public int getArgumentCount() {
2537            return argument_.size();
2538          }
2539          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument getArgument(int index) {
2540            return argument_.get(index);
2541          }
2542          public Builder setArgument(
2543              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument value) {
2544            if (value == null) {
2545              throw new NullPointerException();
2546            }
2547            ensureArgumentIsMutable();
2548            argument_.set(index, value);
2549            
2550            return this;
2551          }
2552          public Builder setArgument(
2553              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
2554            ensureArgumentIsMutable();
2555            argument_.set(index, builderForValue.build());
2556            
2557            return this;
2558          }
2559          public Builder addArgument(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument value) {
2560            if (value == null) {
2561              throw new NullPointerException();
2562            }
2563            ensureArgumentIsMutable();
2564            argument_.add(value);
2565            
2566            return this;
2567          }
2568          public Builder addArgument(
2569              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument value) {
2570            if (value == null) {
2571              throw new NullPointerException();
2572            }
2573            ensureArgumentIsMutable();
2574            argument_.add(index, value);
2575            
2576            return this;
2577          }
2578          public Builder addArgument(
2579              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
2580            ensureArgumentIsMutable();
2581            argument_.add(builderForValue.build());
2582            
2583            return this;
2584          }
2585          public Builder addArgument(
2586              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument.Builder builderForValue) {
2587            ensureArgumentIsMutable();
2588            argument_.add(index, builderForValue.build());
2589            
2590            return this;
2591          }
2592          public Builder addAllArgument(
2593              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Argument> values) {
2594            ensureArgumentIsMutable();
2595            super.addAll(values, argument_);
2596            
2597            return this;
2598          }
2599          public Builder clearArgument() {
2600            argument_ = java.util.Collections.emptyList();
2601            bitField0_ = (bitField0_ & ~0x00000002);
2602            
2603            return this;
2604          }
2605          public Builder removeArgument(int index) {
2606            ensureArgumentIsMutable();
2607            argument_.remove(index);
2608            
2609            return this;
2610          }
2611          
2612          // optional bool nullable = 3 [default = false];
2613          private boolean nullable_ ;
2614          public boolean hasNullable() {
2615            return ((bitField0_ & 0x00000004) == 0x00000004);
2616          }
2617          public boolean getNullable() {
2618            return nullable_;
2619          }
2620          public Builder setNullable(boolean value) {
2621            bitField0_ |= 0x00000004;
2622            nullable_ = value;
2623            
2624            return this;
2625          }
2626          public Builder clearNullable() {
2627            bitField0_ = (bitField0_ & ~0x00000004);
2628            nullable_ = false;
2629            
2630            return this;
2631          }
2632          
2633          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Type)
2634        }
2635        
2636        static {
2637          defaultInstance = new Type(true);
2638          defaultInstance.initFields();
2639        }
2640        
2641        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Type)
2642      }
2643      
2644      public interface TypeParameterOrBuilder
2645          extends com.google.protobuf.MessageLiteOrBuilder {
2646        
2647        // required int32 id = 1;
2648        boolean hasId();
2649        int getId();
2650        
2651        // required int32 name = 2;
2652        boolean hasName();
2653        int getName();
2654        
2655        // optional bool reified = 3 [default = false];
2656        boolean hasReified();
2657        boolean getReified();
2658        
2659        // optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];
2660        boolean hasVariance();
2661        org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance getVariance();
2662        
2663        // repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;
2664        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> 
2665            getUpperBoundList();
2666        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getUpperBound(int index);
2667        int getUpperBoundCount();
2668      }
2669      public static final class TypeParameter extends
2670          com.google.protobuf.GeneratedMessageLite
2671          implements TypeParameterOrBuilder {
2672        // Use TypeParameter.newBuilder() to construct.
2673        private TypeParameter(Builder builder) {
2674          super(builder);
2675        }
2676        private TypeParameter(boolean noInit) {}
2677        
2678        private static final TypeParameter defaultInstance;
2679        public static TypeParameter getDefaultInstance() {
2680          return defaultInstance;
2681        }
2682        
2683        public TypeParameter getDefaultInstanceForType() {
2684          return defaultInstance;
2685        }
2686        
2687        public enum Variance
2688            implements com.google.protobuf.Internal.EnumLite {
2689          IN(0, 0),
2690          OUT(1, 1),
2691          INV(2, 2),
2692          ;
2693          
2694          public static final int IN_VALUE = 0;
2695          public static final int OUT_VALUE = 1;
2696          public static final int INV_VALUE = 2;
2697          
2698          
2699          public final int getNumber() { return value; }
2700          
2701          public static Variance valueOf(int value) {
2702            switch (value) {
2703              case 0: return IN;
2704              case 1: return OUT;
2705              case 2: return INV;
2706              default: return null;
2707            }
2708          }
2709          
2710          public static com.google.protobuf.Internal.EnumLiteMap<Variance>
2711              internalGetValueMap() {
2712            return internalValueMap;
2713          }
2714          private static com.google.protobuf.Internal.EnumLiteMap<Variance>
2715              internalValueMap =
2716                new com.google.protobuf.Internal.EnumLiteMap<Variance>() {
2717                  public Variance findValueByNumber(int number) {
2718                    return Variance.valueOf(number);
2719                  }
2720                };
2721          
2722          private final int value;
2723          
2724          private Variance(int index, int value) {
2725            this.value = value;
2726          }
2727          
2728          // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance)
2729        }
2730        
2731        private int bitField0_;
2732        // required int32 id = 1;
2733        public static final int ID_FIELD_NUMBER = 1;
2734        private int id_;
2735        public boolean hasId() {
2736          return ((bitField0_ & 0x00000001) == 0x00000001);
2737        }
2738        public int getId() {
2739          return id_;
2740        }
2741        
2742        // required int32 name = 2;
2743        public static final int NAME_FIELD_NUMBER = 2;
2744        private int name_;
2745        public boolean hasName() {
2746          return ((bitField0_ & 0x00000002) == 0x00000002);
2747        }
2748        public int getName() {
2749          return name_;
2750        }
2751        
2752        // optional bool reified = 3 [default = false];
2753        public static final int REIFIED_FIELD_NUMBER = 3;
2754        private boolean reified_;
2755        public boolean hasReified() {
2756          return ((bitField0_ & 0x00000004) == 0x00000004);
2757        }
2758        public boolean getReified() {
2759          return reified_;
2760        }
2761        
2762        // optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];
2763        public static final int VARIANCE_FIELD_NUMBER = 4;
2764        private org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance variance_;
2765        public boolean hasVariance() {
2766          return ((bitField0_ & 0x00000008) == 0x00000008);
2767        }
2768        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
2769          return variance_;
2770        }
2771        
2772        // repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;
2773        public static final int UPPER_BOUND_FIELD_NUMBER = 5;
2774        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> upperBound_;
2775        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> getUpperBoundList() {
2776          return upperBound_;
2777        }
2778        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeOrBuilder> 
2779            getUpperBoundOrBuilderList() {
2780          return upperBound_;
2781        }
2782        public int getUpperBoundCount() {
2783          return upperBound_.size();
2784        }
2785        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getUpperBound(int index) {
2786          return upperBound_.get(index);
2787        }
2788        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeOrBuilder getUpperBoundOrBuilder(
2789            int index) {
2790          return upperBound_.get(index);
2791        }
2792        
2793        private void initFields() {
2794          id_ = 0;
2795          name_ = 0;
2796          reified_ = false;
2797          variance_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance.INV;
2798          upperBound_ = java.util.Collections.emptyList();
2799        }
2800        private byte memoizedIsInitialized = -1;
2801        public final boolean isInitialized() {
2802          byte isInitialized = memoizedIsInitialized;
2803          if (isInitialized != -1) return isInitialized == 1;
2804          
2805          if (!hasId()) {
2806            memoizedIsInitialized = 0;
2807            return false;
2808          }
2809          if (!hasName()) {
2810            memoizedIsInitialized = 0;
2811            return false;
2812          }
2813          for (int i = 0; i < getUpperBoundCount(); i++) {
2814            if (!getUpperBound(i).isInitialized()) {
2815              memoizedIsInitialized = 0;
2816              return false;
2817            }
2818          }
2819          memoizedIsInitialized = 1;
2820          return true;
2821        }
2822        
2823        public void writeTo(com.google.protobuf.CodedOutputStream output)
2824                            throws java.io.IOException {
2825          getSerializedSize();
2826          if (((bitField0_ & 0x00000001) == 0x00000001)) {
2827            output.writeInt32(1, id_);
2828          }
2829          if (((bitField0_ & 0x00000002) == 0x00000002)) {
2830            output.writeInt32(2, name_);
2831          }
2832          if (((bitField0_ & 0x00000004) == 0x00000004)) {
2833            output.writeBool(3, reified_);
2834          }
2835          if (((bitField0_ & 0x00000008) == 0x00000008)) {
2836            output.writeEnum(4, variance_.getNumber());
2837          }
2838          for (int i = 0; i < upperBound_.size(); i++) {
2839            output.writeMessage(5, upperBound_.get(i));
2840          }
2841        }
2842        
2843        private int memoizedSerializedSize = -1;
2844        public int getSerializedSize() {
2845          int size = memoizedSerializedSize;
2846          if (size != -1) return size;
2847        
2848          size = 0;
2849          if (((bitField0_ & 0x00000001) == 0x00000001)) {
2850            size += com.google.protobuf.CodedOutputStream
2851              .computeInt32Size(1, id_);
2852          }
2853          if (((bitField0_ & 0x00000002) == 0x00000002)) {
2854            size += com.google.protobuf.CodedOutputStream
2855              .computeInt32Size(2, name_);
2856          }
2857          if (((bitField0_ & 0x00000004) == 0x00000004)) {
2858            size += com.google.protobuf.CodedOutputStream
2859              .computeBoolSize(3, reified_);
2860          }
2861          if (((bitField0_ & 0x00000008) == 0x00000008)) {
2862            size += com.google.protobuf.CodedOutputStream
2863              .computeEnumSize(4, variance_.getNumber());
2864          }
2865          for (int i = 0; i < upperBound_.size(); i++) {
2866            size += com.google.protobuf.CodedOutputStream
2867              .computeMessageSize(5, upperBound_.get(i));
2868          }
2869          memoizedSerializedSize = size;
2870          return size;
2871        }
2872        
2873        private static final long serialVersionUID = 0L;
2874        @java.lang.Override
2875        protected java.lang.Object writeReplace()
2876            throws java.io.ObjectStreamException {
2877          return super.writeReplace();
2878        }
2879        
2880        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(
2881            com.google.protobuf.ByteString data)
2882            throws com.google.protobuf.InvalidProtocolBufferException {
2883          return newBuilder().mergeFrom(data).buildParsed();
2884        }
2885        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(
2886            com.google.protobuf.ByteString data,
2887            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2888            throws com.google.protobuf.InvalidProtocolBufferException {
2889          return newBuilder().mergeFrom(data, extensionRegistry)
2890                   .buildParsed();
2891        }
2892        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(byte[] data)
2893            throws com.google.protobuf.InvalidProtocolBufferException {
2894          return newBuilder().mergeFrom(data).buildParsed();
2895        }
2896        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(
2897            byte[] data,
2898            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2899            throws com.google.protobuf.InvalidProtocolBufferException {
2900          return newBuilder().mergeFrom(data, extensionRegistry)
2901                   .buildParsed();
2902        }
2903        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(java.io.InputStream input)
2904            throws java.io.IOException {
2905          return newBuilder().mergeFrom(input).buildParsed();
2906        }
2907        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(
2908            java.io.InputStream input,
2909            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2910            throws java.io.IOException {
2911          return newBuilder().mergeFrom(input, extensionRegistry)
2912                   .buildParsed();
2913        }
2914        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(java.io.InputStream input)
2915            throws java.io.IOException {
2916          Builder builder = newBuilder();
2917          if (builder.mergeDelimitedFrom(input)) {
2918            return builder.buildParsed();
2919          } else {
2920            return null;
2921          }
2922        }
2923        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseDelimitedFrom(
2924            java.io.InputStream input,
2925            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2926            throws java.io.IOException {
2927          Builder builder = newBuilder();
2928          if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
2929            return builder.buildParsed();
2930          } else {
2931            return null;
2932          }
2933        }
2934        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(
2935            com.google.protobuf.CodedInputStream input)
2936            throws java.io.IOException {
2937          return newBuilder().mergeFrom(input).buildParsed();
2938        }
2939        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter parseFrom(
2940            com.google.protobuf.CodedInputStream input,
2941            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2942            throws java.io.IOException {
2943          return newBuilder().mergeFrom(input, extensionRegistry)
2944                   .buildParsed();
2945        }
2946        
2947        public static Builder newBuilder() { return Builder.create(); }
2948        public Builder newBuilderForType() { return newBuilder(); }
2949        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter prototype) {
2950          return newBuilder().mergeFrom(prototype);
2951        }
2952        public Builder toBuilder() { return newBuilder(this); }
2953        
2954        public static final class Builder extends
2955            com.google.protobuf.GeneratedMessageLite.Builder<
2956              org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter, Builder>
2957            implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameterOrBuilder {
2958          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.newBuilder()
2959          private Builder() {
2960            maybeForceBuilderInitialization();
2961          }
2962          
2963          private void maybeForceBuilderInitialization() {
2964          }
2965          private static Builder create() {
2966            return new Builder();
2967          }
2968          
2969          public Builder clear() {
2970            super.clear();
2971            id_ = 0;
2972            bitField0_ = (bitField0_ & ~0x00000001);
2973            name_ = 0;
2974            bitField0_ = (bitField0_ & ~0x00000002);
2975            reified_ = false;
2976            bitField0_ = (bitField0_ & ~0x00000004);
2977            variance_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance.INV;
2978            bitField0_ = (bitField0_ & ~0x00000008);
2979            upperBound_ = java.util.Collections.emptyList();
2980            bitField0_ = (bitField0_ & ~0x00000010);
2981            return this;
2982          }
2983          
2984          public Builder clone() {
2985            return create().mergeFrom(buildPartial());
2986          }
2987          
2988          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getDefaultInstanceForType() {
2989            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.getDefaultInstance();
2990          }
2991          
2992          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter build() {
2993            org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter result = buildPartial();
2994            if (!result.isInitialized()) {
2995              throw newUninitializedMessageException(result);
2996            }
2997            return result;
2998          }
2999          
3000          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter buildParsed()
3001              throws com.google.protobuf.InvalidProtocolBufferException {
3002            org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter result = buildPartial();
3003            if (!result.isInitialized()) {
3004              throw newUninitializedMessageException(
3005                result).asInvalidProtocolBufferException();
3006            }
3007            return result;
3008          }
3009          
3010          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter buildPartial() {
3011            org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter(this);
3012            int from_bitField0_ = bitField0_;
3013            int to_bitField0_ = 0;
3014            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
3015              to_bitField0_ |= 0x00000001;
3016            }
3017            result.id_ = id_;
3018            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
3019              to_bitField0_ |= 0x00000002;
3020            }
3021            result.name_ = name_;
3022            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
3023              to_bitField0_ |= 0x00000004;
3024            }
3025            result.reified_ = reified_;
3026            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
3027              to_bitField0_ |= 0x00000008;
3028            }
3029            result.variance_ = variance_;
3030            if (((bitField0_ & 0x00000010) == 0x00000010)) {
3031              upperBound_ = java.util.Collections.unmodifiableList(upperBound_);
3032              bitField0_ = (bitField0_ & ~0x00000010);
3033            }
3034            result.upperBound_ = upperBound_;
3035            result.bitField0_ = to_bitField0_;
3036            return result;
3037          }
3038          
3039          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter other) {
3040            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.getDefaultInstance()) return this;
3041            if (other.hasId()) {
3042              setId(other.getId());
3043            }
3044            if (other.hasName()) {
3045              setName(other.getName());
3046            }
3047            if (other.hasReified()) {
3048              setReified(other.getReified());
3049            }
3050            if (other.hasVariance()) {
3051              setVariance(other.getVariance());
3052            }
3053            if (!other.upperBound_.isEmpty()) {
3054              if (upperBound_.isEmpty()) {
3055                upperBound_ = other.upperBound_;
3056                bitField0_ = (bitField0_ & ~0x00000010);
3057              } else {
3058                ensureUpperBoundIsMutable();
3059                upperBound_.addAll(other.upperBound_);
3060              }
3061              
3062            }
3063            return this;
3064          }
3065          
3066          public final boolean isInitialized() {
3067            if (!hasId()) {
3068              
3069              return false;
3070            }
3071            if (!hasName()) {
3072              
3073              return false;
3074            }
3075            for (int i = 0; i < getUpperBoundCount(); i++) {
3076              if (!getUpperBound(i).isInitialized()) {
3077                
3078                return false;
3079              }
3080            }
3081            return true;
3082          }
3083          
3084          public Builder mergeFrom(
3085              com.google.protobuf.CodedInputStream input,
3086              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3087              throws java.io.IOException {
3088            while (true) {
3089              int tag = input.readTag();
3090              switch (tag) {
3091                case 0:
3092                  
3093                  return this;
3094                default: {
3095                  if (!parseUnknownField(input, extensionRegistry, tag)) {
3096                    
3097                    return this;
3098                  }
3099                  break;
3100                }
3101                case 8: {
3102                  bitField0_ |= 0x00000001;
3103                  id_ = input.readInt32();
3104                  break;
3105                }
3106                case 16: {
3107                  bitField0_ |= 0x00000002;
3108                  name_ = input.readInt32();
3109                  break;
3110                }
3111                case 24: {
3112                  bitField0_ |= 0x00000004;
3113                  reified_ = input.readBool();
3114                  break;
3115                }
3116                case 32: {
3117                  int rawValue = input.readEnum();
3118                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance value = org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance.valueOf(rawValue);
3119                  if (value != null) {
3120                    bitField0_ |= 0x00000008;
3121                    variance_ = value;
3122                  }
3123                  break;
3124                }
3125                case 42: {
3126                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder();
3127                  input.readMessage(subBuilder, extensionRegistry);
3128                  addUpperBound(subBuilder.buildPartial());
3129                  break;
3130                }
3131              }
3132            }
3133          }
3134          
3135          private int bitField0_;
3136          
3137          // required int32 id = 1;
3138          private int id_ ;
3139          public boolean hasId() {
3140            return ((bitField0_ & 0x00000001) == 0x00000001);
3141          }
3142          public int getId() {
3143            return id_;
3144          }
3145          public Builder setId(int value) {
3146            bitField0_ |= 0x00000001;
3147            id_ = value;
3148            
3149            return this;
3150          }
3151          public Builder clearId() {
3152            bitField0_ = (bitField0_ & ~0x00000001);
3153            id_ = 0;
3154            
3155            return this;
3156          }
3157          
3158          // required int32 name = 2;
3159          private int name_ ;
3160          public boolean hasName() {
3161            return ((bitField0_ & 0x00000002) == 0x00000002);
3162          }
3163          public int getName() {
3164            return name_;
3165          }
3166          public Builder setName(int value) {
3167            bitField0_ |= 0x00000002;
3168            name_ = value;
3169            
3170            return this;
3171          }
3172          public Builder clearName() {
3173            bitField0_ = (bitField0_ & ~0x00000002);
3174            name_ = 0;
3175            
3176            return this;
3177          }
3178          
3179          // optional bool reified = 3 [default = false];
3180          private boolean reified_ ;
3181          public boolean hasReified() {
3182            return ((bitField0_ & 0x00000004) == 0x00000004);
3183          }
3184          public boolean getReified() {
3185            return reified_;
3186          }
3187          public Builder setReified(boolean value) {
3188            bitField0_ |= 0x00000004;
3189            reified_ = value;
3190            
3191            return this;
3192          }
3193          public Builder clearReified() {
3194            bitField0_ = (bitField0_ & ~0x00000004);
3195            reified_ = false;
3196            
3197            return this;
3198          }
3199          
3200          // optional .org.jetbrains.jet.descriptors.serialization.TypeParameter.Variance variance = 4 [default = INV];
3201          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance variance_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance.INV;
3202          public boolean hasVariance() {
3203            return ((bitField0_ & 0x00000008) == 0x00000008);
3204          }
3205          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance getVariance() {
3206            return variance_;
3207          }
3208          public Builder setVariance(org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance value) {
3209            if (value == null) {
3210              throw new NullPointerException();
3211            }
3212            bitField0_ |= 0x00000008;
3213            variance_ = value;
3214            
3215            return this;
3216          }
3217          public Builder clearVariance() {
3218            bitField0_ = (bitField0_ & ~0x00000008);
3219            variance_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Variance.INV;
3220            
3221            return this;
3222          }
3223          
3224          // repeated .org.jetbrains.jet.descriptors.serialization.Type upper_bound = 5;
3225          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> upperBound_ =
3226            java.util.Collections.emptyList();
3227          private void ensureUpperBoundIsMutable() {
3228            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
3229              upperBound_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type>(upperBound_);
3230              bitField0_ |= 0x00000010;
3231             }
3232          }
3233          
3234          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> getUpperBoundList() {
3235            return java.util.Collections.unmodifiableList(upperBound_);
3236          }
3237          public int getUpperBoundCount() {
3238            return upperBound_.size();
3239          }
3240          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getUpperBound(int index) {
3241            return upperBound_.get(index);
3242          }
3243          public Builder setUpperBound(
3244              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
3245            if (value == null) {
3246              throw new NullPointerException();
3247            }
3248            ensureUpperBoundIsMutable();
3249            upperBound_.set(index, value);
3250            
3251            return this;
3252          }
3253          public Builder setUpperBound(
3254              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
3255            ensureUpperBoundIsMutable();
3256            upperBound_.set(index, builderForValue.build());
3257            
3258            return this;
3259          }
3260          public Builder addUpperBound(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
3261            if (value == null) {
3262              throw new NullPointerException();
3263            }
3264            ensureUpperBoundIsMutable();
3265            upperBound_.add(value);
3266            
3267            return this;
3268          }
3269          public Builder addUpperBound(
3270              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
3271            if (value == null) {
3272              throw new NullPointerException();
3273            }
3274            ensureUpperBoundIsMutable();
3275            upperBound_.add(index, value);
3276            
3277            return this;
3278          }
3279          public Builder addUpperBound(
3280              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
3281            ensureUpperBoundIsMutable();
3282            upperBound_.add(builderForValue.build());
3283            
3284            return this;
3285          }
3286          public Builder addUpperBound(
3287              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
3288            ensureUpperBoundIsMutable();
3289            upperBound_.add(index, builderForValue.build());
3290            
3291            return this;
3292          }
3293          public Builder addAllUpperBound(
3294              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> values) {
3295            ensureUpperBoundIsMutable();
3296            super.addAll(values, upperBound_);
3297            
3298            return this;
3299          }
3300          public Builder clearUpperBound() {
3301            upperBound_ = java.util.Collections.emptyList();
3302            bitField0_ = (bitField0_ & ~0x00000010);
3303            
3304            return this;
3305          }
3306          public Builder removeUpperBound(int index) {
3307            ensureUpperBoundIsMutable();
3308            upperBound_.remove(index);
3309            
3310            return this;
3311          }
3312          
3313          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.TypeParameter)
3314        }
3315        
3316        static {
3317          defaultInstance = new TypeParameter(true);
3318          defaultInstance.initFields();
3319        }
3320        
3321        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.TypeParameter)
3322      }
3323      
3324      public interface ClassOrBuilder
3325          extends com.google.protobuf.MessageLiteOrBuilder {
3326        
3327        // optional int32 flags = 1 [default = 0];
3328        boolean hasFlags();
3329        int getFlags();
3330        
3331        // optional string extra_visibility = 2;
3332        boolean hasExtraVisibility();
3333        String getExtraVisibility();
3334        
3335        // required int32 name = 4;
3336        boolean hasName();
3337        int getName();
3338        
3339        // repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;
3340        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> 
3341            getTypeParameterList();
3342        org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
3343        int getTypeParameterCount();
3344        
3345        // repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;
3346        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> 
3347            getSupertypeList();
3348        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getSupertype(int index);
3349        int getSupertypeCount();
3350        
3351        // repeated int32 nested_class_name = 7;
3352        java.util.List<java.lang.Integer> getNestedClassNameList();
3353        int getNestedClassNameCount();
3354        int getNestedClassName(int index);
3355        
3356        // repeated int32 nested_object_name = 8;
3357        java.util.List<java.lang.Integer> getNestedObjectNameList();
3358        int getNestedObjectNameCount();
3359        int getNestedObjectName(int index);
3360        
3361        // optional bool class_object_present = 9 [default = false];
3362        boolean hasClassObjectPresent();
3363        boolean getClassObjectPresent();
3364        
3365        // optional .org.jetbrains.jet.descriptors.serialization.Callable primary_constructor = 10;
3366        boolean hasPrimaryConstructor();
3367        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getPrimaryConstructor();
3368        
3369        // repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;
3370        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> 
3371            getMemberList();
3372        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getMember(int index);
3373        int getMemberCount();
3374        
3375        // repeated int32 enum_entry = 12;
3376        java.util.List<java.lang.Integer> getEnumEntryList();
3377        int getEnumEntryCount();
3378        int getEnumEntry(int index);
3379      }
3380      public static final class Class extends
3381          com.google.protobuf.GeneratedMessageLite
3382          implements ClassOrBuilder {
3383        // Use Class.newBuilder() to construct.
3384        private Class(Builder builder) {
3385          super(builder);
3386        }
3387        private Class(boolean noInit) {}
3388        
3389        private static final Class defaultInstance;
3390        public static Class getDefaultInstance() {
3391          return defaultInstance;
3392        }
3393        
3394        public Class getDefaultInstanceForType() {
3395          return defaultInstance;
3396        }
3397        
3398        public enum Kind
3399            implements com.google.protobuf.Internal.EnumLite {
3400          CLASS(0, 0),
3401          TRAIT(1, 1),
3402          ENUM_CLASS(2, 2),
3403          ENUM_ENTRY(3, 3),
3404          ANNOTATION_CLASS(4, 4),
3405          OBJECT(5, 5),
3406          CLASS_OBJECT(6, 6),
3407          ;
3408          
3409          public static final int CLASS_VALUE = 0;
3410          public static final int TRAIT_VALUE = 1;
3411          public static final int ENUM_CLASS_VALUE = 2;
3412          public static final int ENUM_ENTRY_VALUE = 3;
3413          public static final int ANNOTATION_CLASS_VALUE = 4;
3414          public static final int OBJECT_VALUE = 5;
3415          public static final int CLASS_OBJECT_VALUE = 6;
3416          
3417          
3418          public final int getNumber() { return value; }
3419          
3420          public static Kind valueOf(int value) {
3421            switch (value) {
3422              case 0: return CLASS;
3423              case 1: return TRAIT;
3424              case 2: return ENUM_CLASS;
3425              case 3: return ENUM_ENTRY;
3426              case 4: return ANNOTATION_CLASS;
3427              case 5: return OBJECT;
3428              case 6: return CLASS_OBJECT;
3429              default: return null;
3430            }
3431          }
3432          
3433          public static com.google.protobuf.Internal.EnumLiteMap<Kind>
3434              internalGetValueMap() {
3435            return internalValueMap;
3436          }
3437          private static com.google.protobuf.Internal.EnumLiteMap<Kind>
3438              internalValueMap =
3439                new com.google.protobuf.Internal.EnumLiteMap<Kind>() {
3440                  public Kind findValueByNumber(int number) {
3441                    return Kind.valueOf(number);
3442                  }
3443                };
3444          
3445          private final int value;
3446          
3447          private Kind(int index, int value) {
3448            this.value = value;
3449          }
3450          
3451          // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Class.Kind)
3452        }
3453        
3454        private int bitField0_;
3455        // optional int32 flags = 1 [default = 0];
3456        public static final int FLAGS_FIELD_NUMBER = 1;
3457        private int flags_;
3458        public boolean hasFlags() {
3459          return ((bitField0_ & 0x00000001) == 0x00000001);
3460        }
3461        public int getFlags() {
3462          return flags_;
3463        }
3464        
3465        // optional string extra_visibility = 2;
3466        public static final int EXTRA_VISIBILITY_FIELD_NUMBER = 2;
3467        private java.lang.Object extraVisibility_;
3468        public boolean hasExtraVisibility() {
3469          return ((bitField0_ & 0x00000002) == 0x00000002);
3470        }
3471        public String getExtraVisibility() {
3472          java.lang.Object ref = extraVisibility_;
3473          if (ref instanceof String) {
3474            return (String) ref;
3475          } else {
3476            com.google.protobuf.ByteString bs = 
3477                (com.google.protobuf.ByteString) ref;
3478            String s = bs.toStringUtf8();
3479            if (com.google.protobuf.Internal.isValidUtf8(bs)) {
3480              extraVisibility_ = s;
3481            }
3482            return s;
3483          }
3484        }
3485        private com.google.protobuf.ByteString getExtraVisibilityBytes() {
3486          java.lang.Object ref = extraVisibility_;
3487          if (ref instanceof String) {
3488            com.google.protobuf.ByteString b = 
3489                com.google.protobuf.ByteString.copyFromUtf8((String) ref);
3490            extraVisibility_ = b;
3491            return b;
3492          } else {
3493            return (com.google.protobuf.ByteString) ref;
3494          }
3495        }
3496        
3497        // required int32 name = 4;
3498        public static final int NAME_FIELD_NUMBER = 4;
3499        private int name_;
3500        public boolean hasName() {
3501          return ((bitField0_ & 0x00000004) == 0x00000004);
3502        }
3503        public int getName() {
3504          return name_;
3505        }
3506        
3507        // repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;
3508        public static final int TYPE_PARAMETER_FIELD_NUMBER = 5;
3509        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> typeParameter_;
3510        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
3511          return typeParameter_;
3512        }
3513        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameterOrBuilder> 
3514            getTypeParameterOrBuilderList() {
3515          return typeParameter_;
3516        }
3517        public int getTypeParameterCount() {
3518          return typeParameter_.size();
3519        }
3520        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
3521          return typeParameter_.get(index);
3522        }
3523        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
3524            int index) {
3525          return typeParameter_.get(index);
3526        }
3527        
3528        // repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;
3529        public static final int SUPERTYPE_FIELD_NUMBER = 6;
3530        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> supertype_;
3531        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> getSupertypeList() {
3532          return supertype_;
3533        }
3534        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeOrBuilder> 
3535            getSupertypeOrBuilderList() {
3536          return supertype_;
3537        }
3538        public int getSupertypeCount() {
3539          return supertype_.size();
3540        }
3541        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getSupertype(int index) {
3542          return supertype_.get(index);
3543        }
3544        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeOrBuilder getSupertypeOrBuilder(
3545            int index) {
3546          return supertype_.get(index);
3547        }
3548        
3549        // repeated int32 nested_class_name = 7;
3550        public static final int NESTED_CLASS_NAME_FIELD_NUMBER = 7;
3551        private java.util.List<java.lang.Integer> nestedClassName_;
3552        public java.util.List<java.lang.Integer>
3553            getNestedClassNameList() {
3554          return nestedClassName_;
3555        }
3556        public int getNestedClassNameCount() {
3557          return nestedClassName_.size();
3558        }
3559        public int getNestedClassName(int index) {
3560          return nestedClassName_.get(index);
3561        }
3562        
3563        // repeated int32 nested_object_name = 8;
3564        public static final int NESTED_OBJECT_NAME_FIELD_NUMBER = 8;
3565        private java.util.List<java.lang.Integer> nestedObjectName_;
3566        public java.util.List<java.lang.Integer>
3567            getNestedObjectNameList() {
3568          return nestedObjectName_;
3569        }
3570        public int getNestedObjectNameCount() {
3571          return nestedObjectName_.size();
3572        }
3573        public int getNestedObjectName(int index) {
3574          return nestedObjectName_.get(index);
3575        }
3576        
3577        // optional bool class_object_present = 9 [default = false];
3578        public static final int CLASS_OBJECT_PRESENT_FIELD_NUMBER = 9;
3579        private boolean classObjectPresent_;
3580        public boolean hasClassObjectPresent() {
3581          return ((bitField0_ & 0x00000008) == 0x00000008);
3582        }
3583        public boolean getClassObjectPresent() {
3584          return classObjectPresent_;
3585        }
3586        
3587        // optional .org.jetbrains.jet.descriptors.serialization.Callable primary_constructor = 10;
3588        public static final int PRIMARY_CONSTRUCTOR_FIELD_NUMBER = 10;
3589        private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable primaryConstructor_;
3590        public boolean hasPrimaryConstructor() {
3591          return ((bitField0_ & 0x00000010) == 0x00000010);
3592        }
3593        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getPrimaryConstructor() {
3594          return primaryConstructor_;
3595        }
3596        
3597        // repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;
3598        public static final int MEMBER_FIELD_NUMBER = 11;
3599        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> member_;
3600        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> getMemberList() {
3601          return member_;
3602        }
3603        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.CallableOrBuilder> 
3604            getMemberOrBuilderList() {
3605          return member_;
3606        }
3607        public int getMemberCount() {
3608          return member_.size();
3609        }
3610        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getMember(int index) {
3611          return member_.get(index);
3612        }
3613        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.CallableOrBuilder getMemberOrBuilder(
3614            int index) {
3615          return member_.get(index);
3616        }
3617        
3618        // repeated int32 enum_entry = 12;
3619        public static final int ENUM_ENTRY_FIELD_NUMBER = 12;
3620        private java.util.List<java.lang.Integer> enumEntry_;
3621        public java.util.List<java.lang.Integer>
3622            getEnumEntryList() {
3623          return enumEntry_;
3624        }
3625        public int getEnumEntryCount() {
3626          return enumEntry_.size();
3627        }
3628        public int getEnumEntry(int index) {
3629          return enumEntry_.get(index);
3630        }
3631        
3632        private void initFields() {
3633          flags_ = 0;
3634          extraVisibility_ = "";
3635          name_ = 0;
3636          typeParameter_ = java.util.Collections.emptyList();
3637          supertype_ = java.util.Collections.emptyList();
3638          nestedClassName_ = java.util.Collections.emptyList();;
3639          nestedObjectName_ = java.util.Collections.emptyList();;
3640          classObjectPresent_ = false;
3641          primaryConstructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance();
3642          member_ = java.util.Collections.emptyList();
3643          enumEntry_ = java.util.Collections.emptyList();;
3644        }
3645        private byte memoizedIsInitialized = -1;
3646        public final boolean isInitialized() {
3647          byte isInitialized = memoizedIsInitialized;
3648          if (isInitialized != -1) return isInitialized == 1;
3649          
3650          if (!hasName()) {
3651            memoizedIsInitialized = 0;
3652            return false;
3653          }
3654          for (int i = 0; i < getTypeParameterCount(); i++) {
3655            if (!getTypeParameter(i).isInitialized()) {
3656              memoizedIsInitialized = 0;
3657              return false;
3658            }
3659          }
3660          for (int i = 0; i < getSupertypeCount(); i++) {
3661            if (!getSupertype(i).isInitialized()) {
3662              memoizedIsInitialized = 0;
3663              return false;
3664            }
3665          }
3666          if (hasPrimaryConstructor()) {
3667            if (!getPrimaryConstructor().isInitialized()) {
3668              memoizedIsInitialized = 0;
3669              return false;
3670            }
3671          }
3672          for (int i = 0; i < getMemberCount(); i++) {
3673            if (!getMember(i).isInitialized()) {
3674              memoizedIsInitialized = 0;
3675              return false;
3676            }
3677          }
3678          memoizedIsInitialized = 1;
3679          return true;
3680        }
3681        
3682        public void writeTo(com.google.protobuf.CodedOutputStream output)
3683                            throws java.io.IOException {
3684          getSerializedSize();
3685          if (((bitField0_ & 0x00000001) == 0x00000001)) {
3686            output.writeInt32(1, flags_);
3687          }
3688          if (((bitField0_ & 0x00000002) == 0x00000002)) {
3689            output.writeBytes(2, getExtraVisibilityBytes());
3690          }
3691          if (((bitField0_ & 0x00000004) == 0x00000004)) {
3692            output.writeInt32(4, name_);
3693          }
3694          for (int i = 0; i < typeParameter_.size(); i++) {
3695            output.writeMessage(5, typeParameter_.get(i));
3696          }
3697          for (int i = 0; i < supertype_.size(); i++) {
3698            output.writeMessage(6, supertype_.get(i));
3699          }
3700          for (int i = 0; i < nestedClassName_.size(); i++) {
3701            output.writeInt32(7, nestedClassName_.get(i));
3702          }
3703          for (int i = 0; i < nestedObjectName_.size(); i++) {
3704            output.writeInt32(8, nestedObjectName_.get(i));
3705          }
3706          if (((bitField0_ & 0x00000008) == 0x00000008)) {
3707            output.writeBool(9, classObjectPresent_);
3708          }
3709          if (((bitField0_ & 0x00000010) == 0x00000010)) {
3710            output.writeMessage(10, primaryConstructor_);
3711          }
3712          for (int i = 0; i < member_.size(); i++) {
3713            output.writeMessage(11, member_.get(i));
3714          }
3715          for (int i = 0; i < enumEntry_.size(); i++) {
3716            output.writeInt32(12, enumEntry_.get(i));
3717          }
3718        }
3719        
3720        private int memoizedSerializedSize = -1;
3721        public int getSerializedSize() {
3722          int size = memoizedSerializedSize;
3723          if (size != -1) return size;
3724        
3725          size = 0;
3726          if (((bitField0_ & 0x00000001) == 0x00000001)) {
3727            size += com.google.protobuf.CodedOutputStream
3728              .computeInt32Size(1, flags_);
3729          }
3730          if (((bitField0_ & 0x00000002) == 0x00000002)) {
3731            size += com.google.protobuf.CodedOutputStream
3732              .computeBytesSize(2, getExtraVisibilityBytes());
3733          }
3734          if (((bitField0_ & 0x00000004) == 0x00000004)) {
3735            size += com.google.protobuf.CodedOutputStream
3736              .computeInt32Size(4, name_);
3737          }
3738          for (int i = 0; i < typeParameter_.size(); i++) {
3739            size += com.google.protobuf.CodedOutputStream
3740              .computeMessageSize(5, typeParameter_.get(i));
3741          }
3742          for (int i = 0; i < supertype_.size(); i++) {
3743            size += com.google.protobuf.CodedOutputStream
3744              .computeMessageSize(6, supertype_.get(i));
3745          }
3746          {
3747            int dataSize = 0;
3748            for (int i = 0; i < nestedClassName_.size(); i++) {
3749              dataSize += com.google.protobuf.CodedOutputStream
3750                .computeInt32SizeNoTag(nestedClassName_.get(i));
3751            }
3752            size += dataSize;
3753            size += 1 * getNestedClassNameList().size();
3754          }
3755          {
3756            int dataSize = 0;
3757            for (int i = 0; i < nestedObjectName_.size(); i++) {
3758              dataSize += com.google.protobuf.CodedOutputStream
3759                .computeInt32SizeNoTag(nestedObjectName_.get(i));
3760            }
3761            size += dataSize;
3762            size += 1 * getNestedObjectNameList().size();
3763          }
3764          if (((bitField0_ & 0x00000008) == 0x00000008)) {
3765            size += com.google.protobuf.CodedOutputStream
3766              .computeBoolSize(9, classObjectPresent_);
3767          }
3768          if (((bitField0_ & 0x00000010) == 0x00000010)) {
3769            size += com.google.protobuf.CodedOutputStream
3770              .computeMessageSize(10, primaryConstructor_);
3771          }
3772          for (int i = 0; i < member_.size(); i++) {
3773            size += com.google.protobuf.CodedOutputStream
3774              .computeMessageSize(11, member_.get(i));
3775          }
3776          {
3777            int dataSize = 0;
3778            for (int i = 0; i < enumEntry_.size(); i++) {
3779              dataSize += com.google.protobuf.CodedOutputStream
3780                .computeInt32SizeNoTag(enumEntry_.get(i));
3781            }
3782            size += dataSize;
3783            size += 1 * getEnumEntryList().size();
3784          }
3785          memoizedSerializedSize = size;
3786          return size;
3787        }
3788        
3789        private static final long serialVersionUID = 0L;
3790        @java.lang.Override
3791        protected java.lang.Object writeReplace()
3792            throws java.io.ObjectStreamException {
3793          return super.writeReplace();
3794        }
3795        
3796        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(
3797            com.google.protobuf.ByteString data)
3798            throws com.google.protobuf.InvalidProtocolBufferException {
3799          return newBuilder().mergeFrom(data).buildParsed();
3800        }
3801        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(
3802            com.google.protobuf.ByteString data,
3803            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3804            throws com.google.protobuf.InvalidProtocolBufferException {
3805          return newBuilder().mergeFrom(data, extensionRegistry)
3806                   .buildParsed();
3807        }
3808        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(byte[] data)
3809            throws com.google.protobuf.InvalidProtocolBufferException {
3810          return newBuilder().mergeFrom(data).buildParsed();
3811        }
3812        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(
3813            byte[] data,
3814            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3815            throws com.google.protobuf.InvalidProtocolBufferException {
3816          return newBuilder().mergeFrom(data, extensionRegistry)
3817                   .buildParsed();
3818        }
3819        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(java.io.InputStream input)
3820            throws java.io.IOException {
3821          return newBuilder().mergeFrom(input).buildParsed();
3822        }
3823        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(
3824            java.io.InputStream input,
3825            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3826            throws java.io.IOException {
3827          return newBuilder().mergeFrom(input, extensionRegistry)
3828                   .buildParsed();
3829        }
3830        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseDelimitedFrom(java.io.InputStream input)
3831            throws java.io.IOException {
3832          Builder builder = newBuilder();
3833          if (builder.mergeDelimitedFrom(input)) {
3834            return builder.buildParsed();
3835          } else {
3836            return null;
3837          }
3838        }
3839        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseDelimitedFrom(
3840            java.io.InputStream input,
3841            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3842            throws java.io.IOException {
3843          Builder builder = newBuilder();
3844          if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
3845            return builder.buildParsed();
3846          } else {
3847            return null;
3848          }
3849        }
3850        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(
3851            com.google.protobuf.CodedInputStream input)
3852            throws java.io.IOException {
3853          return newBuilder().mergeFrom(input).buildParsed();
3854        }
3855        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class parseFrom(
3856            com.google.protobuf.CodedInputStream input,
3857            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3858            throws java.io.IOException {
3859          return newBuilder().mergeFrom(input, extensionRegistry)
3860                   .buildParsed();
3861        }
3862        
3863        public static Builder newBuilder() { return Builder.create(); }
3864        public Builder newBuilderForType() { return newBuilder(); }
3865        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class prototype) {
3866          return newBuilder().mergeFrom(prototype);
3867        }
3868        public Builder toBuilder() { return newBuilder(this); }
3869        
3870        public static final class Builder extends
3871            com.google.protobuf.GeneratedMessageLite.Builder<
3872              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class, Builder>
3873            implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.ClassOrBuilder {
3874          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.newBuilder()
3875          private Builder() {
3876            maybeForceBuilderInitialization();
3877          }
3878          
3879          private void maybeForceBuilderInitialization() {
3880          }
3881          private static Builder create() {
3882            return new Builder();
3883          }
3884          
3885          public Builder clear() {
3886            super.clear();
3887            flags_ = 0;
3888            bitField0_ = (bitField0_ & ~0x00000001);
3889            extraVisibility_ = "";
3890            bitField0_ = (bitField0_ & ~0x00000002);
3891            name_ = 0;
3892            bitField0_ = (bitField0_ & ~0x00000004);
3893            typeParameter_ = java.util.Collections.emptyList();
3894            bitField0_ = (bitField0_ & ~0x00000008);
3895            supertype_ = java.util.Collections.emptyList();
3896            bitField0_ = (bitField0_ & ~0x00000010);
3897            nestedClassName_ = java.util.Collections.emptyList();;
3898            bitField0_ = (bitField0_ & ~0x00000020);
3899            nestedObjectName_ = java.util.Collections.emptyList();;
3900            bitField0_ = (bitField0_ & ~0x00000040);
3901            classObjectPresent_ = false;
3902            bitField0_ = (bitField0_ & ~0x00000080);
3903            primaryConstructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance();
3904            bitField0_ = (bitField0_ & ~0x00000100);
3905            member_ = java.util.Collections.emptyList();
3906            bitField0_ = (bitField0_ & ~0x00000200);
3907            enumEntry_ = java.util.Collections.emptyList();;
3908            bitField0_ = (bitField0_ & ~0x00000400);
3909            return this;
3910          }
3911          
3912          public Builder clone() {
3913            return create().mergeFrom(buildPartial());
3914          }
3915          
3916          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class getDefaultInstanceForType() {
3917            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.getDefaultInstance();
3918          }
3919          
3920          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class build() {
3921            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class result = buildPartial();
3922            if (!result.isInitialized()) {
3923              throw newUninitializedMessageException(result);
3924            }
3925            return result;
3926          }
3927          
3928          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class buildParsed()
3929              throws com.google.protobuf.InvalidProtocolBufferException {
3930            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class result = buildPartial();
3931            if (!result.isInitialized()) {
3932              throw newUninitializedMessageException(
3933                result).asInvalidProtocolBufferException();
3934            }
3935            return result;
3936          }
3937          
3938          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class buildPartial() {
3939            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class(this);
3940            int from_bitField0_ = bitField0_;
3941            int to_bitField0_ = 0;
3942            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
3943              to_bitField0_ |= 0x00000001;
3944            }
3945            result.flags_ = flags_;
3946            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
3947              to_bitField0_ |= 0x00000002;
3948            }
3949            result.extraVisibility_ = extraVisibility_;
3950            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
3951              to_bitField0_ |= 0x00000004;
3952            }
3953            result.name_ = name_;
3954            if (((bitField0_ & 0x00000008) == 0x00000008)) {
3955              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
3956              bitField0_ = (bitField0_ & ~0x00000008);
3957            }
3958            result.typeParameter_ = typeParameter_;
3959            if (((bitField0_ & 0x00000010) == 0x00000010)) {
3960              supertype_ = java.util.Collections.unmodifiableList(supertype_);
3961              bitField0_ = (bitField0_ & ~0x00000010);
3962            }
3963            result.supertype_ = supertype_;
3964            if (((bitField0_ & 0x00000020) == 0x00000020)) {
3965              nestedClassName_ = java.util.Collections.unmodifiableList(nestedClassName_);
3966              bitField0_ = (bitField0_ & ~0x00000020);
3967            }
3968            result.nestedClassName_ = nestedClassName_;
3969            if (((bitField0_ & 0x00000040) == 0x00000040)) {
3970              nestedObjectName_ = java.util.Collections.unmodifiableList(nestedObjectName_);
3971              bitField0_ = (bitField0_ & ~0x00000040);
3972            }
3973            result.nestedObjectName_ = nestedObjectName_;
3974            if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
3975              to_bitField0_ |= 0x00000008;
3976            }
3977            result.classObjectPresent_ = classObjectPresent_;
3978            if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
3979              to_bitField0_ |= 0x00000010;
3980            }
3981            result.primaryConstructor_ = primaryConstructor_;
3982            if (((bitField0_ & 0x00000200) == 0x00000200)) {
3983              member_ = java.util.Collections.unmodifiableList(member_);
3984              bitField0_ = (bitField0_ & ~0x00000200);
3985            }
3986            result.member_ = member_;
3987            if (((bitField0_ & 0x00000400) == 0x00000400)) {
3988              enumEntry_ = java.util.Collections.unmodifiableList(enumEntry_);
3989              bitField0_ = (bitField0_ & ~0x00000400);
3990            }
3991            result.enumEntry_ = enumEntry_;
3992            result.bitField0_ = to_bitField0_;
3993            return result;
3994          }
3995          
3996          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class other) {
3997            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Class.getDefaultInstance()) return this;
3998            if (other.hasFlags()) {
3999              setFlags(other.getFlags());
4000            }
4001            if (other.hasExtraVisibility()) {
4002              setExtraVisibility(other.getExtraVisibility());
4003            }
4004            if (other.hasName()) {
4005              setName(other.getName());
4006            }
4007            if (!other.typeParameter_.isEmpty()) {
4008              if (typeParameter_.isEmpty()) {
4009                typeParameter_ = other.typeParameter_;
4010                bitField0_ = (bitField0_ & ~0x00000008);
4011              } else {
4012                ensureTypeParameterIsMutable();
4013                typeParameter_.addAll(other.typeParameter_);
4014              }
4015              
4016            }
4017            if (!other.supertype_.isEmpty()) {
4018              if (supertype_.isEmpty()) {
4019                supertype_ = other.supertype_;
4020                bitField0_ = (bitField0_ & ~0x00000010);
4021              } else {
4022                ensureSupertypeIsMutable();
4023                supertype_.addAll(other.supertype_);
4024              }
4025              
4026            }
4027            if (!other.nestedClassName_.isEmpty()) {
4028              if (nestedClassName_.isEmpty()) {
4029                nestedClassName_ = other.nestedClassName_;
4030                bitField0_ = (bitField0_ & ~0x00000020);
4031              } else {
4032                ensureNestedClassNameIsMutable();
4033                nestedClassName_.addAll(other.nestedClassName_);
4034              }
4035              
4036            }
4037            if (!other.nestedObjectName_.isEmpty()) {
4038              if (nestedObjectName_.isEmpty()) {
4039                nestedObjectName_ = other.nestedObjectName_;
4040                bitField0_ = (bitField0_ & ~0x00000040);
4041              } else {
4042                ensureNestedObjectNameIsMutable();
4043                nestedObjectName_.addAll(other.nestedObjectName_);
4044              }
4045              
4046            }
4047            if (other.hasClassObjectPresent()) {
4048              setClassObjectPresent(other.getClassObjectPresent());
4049            }
4050            if (other.hasPrimaryConstructor()) {
4051              mergePrimaryConstructor(other.getPrimaryConstructor());
4052            }
4053            if (!other.member_.isEmpty()) {
4054              if (member_.isEmpty()) {
4055                member_ = other.member_;
4056                bitField0_ = (bitField0_ & ~0x00000200);
4057              } else {
4058                ensureMemberIsMutable();
4059                member_.addAll(other.member_);
4060              }
4061              
4062            }
4063            if (!other.enumEntry_.isEmpty()) {
4064              if (enumEntry_.isEmpty()) {
4065                enumEntry_ = other.enumEntry_;
4066                bitField0_ = (bitField0_ & ~0x00000400);
4067              } else {
4068                ensureEnumEntryIsMutable();
4069                enumEntry_.addAll(other.enumEntry_);
4070              }
4071              
4072            }
4073            return this;
4074          }
4075          
4076          public final boolean isInitialized() {
4077            if (!hasName()) {
4078              
4079              return false;
4080            }
4081            for (int i = 0; i < getTypeParameterCount(); i++) {
4082              if (!getTypeParameter(i).isInitialized()) {
4083                
4084                return false;
4085              }
4086            }
4087            for (int i = 0; i < getSupertypeCount(); i++) {
4088              if (!getSupertype(i).isInitialized()) {
4089                
4090                return false;
4091              }
4092            }
4093            if (hasPrimaryConstructor()) {
4094              if (!getPrimaryConstructor().isInitialized()) {
4095                
4096                return false;
4097              }
4098            }
4099            for (int i = 0; i < getMemberCount(); i++) {
4100              if (!getMember(i).isInitialized()) {
4101                
4102                return false;
4103              }
4104            }
4105            return true;
4106          }
4107          
4108          public Builder mergeFrom(
4109              com.google.protobuf.CodedInputStream input,
4110              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4111              throws java.io.IOException {
4112            while (true) {
4113              int tag = input.readTag();
4114              switch (tag) {
4115                case 0:
4116                  
4117                  return this;
4118                default: {
4119                  if (!parseUnknownField(input, extensionRegistry, tag)) {
4120                    
4121                    return this;
4122                  }
4123                  break;
4124                }
4125                case 8: {
4126                  bitField0_ |= 0x00000001;
4127                  flags_ = input.readInt32();
4128                  break;
4129                }
4130                case 18: {
4131                  bitField0_ |= 0x00000002;
4132                  extraVisibility_ = input.readBytes();
4133                  break;
4134                }
4135                case 32: {
4136                  bitField0_ |= 0x00000004;
4137                  name_ = input.readInt32();
4138                  break;
4139                }
4140                case 42: {
4141                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder subBuilder = org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.newBuilder();
4142                  input.readMessage(subBuilder, extensionRegistry);
4143                  addTypeParameter(subBuilder.buildPartial());
4144                  break;
4145                }
4146                case 50: {
4147                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder();
4148                  input.readMessage(subBuilder, extensionRegistry);
4149                  addSupertype(subBuilder.buildPartial());
4150                  break;
4151                }
4152                case 56: {
4153                  ensureNestedClassNameIsMutable();
4154                  nestedClassName_.add(input.readInt32());
4155                  break;
4156                }
4157                case 58: {
4158                  int length = input.readRawVarint32();
4159                  int limit = input.pushLimit(length);
4160                  while (input.getBytesUntilLimit() > 0) {
4161                    addNestedClassName(input.readInt32());
4162                  }
4163                  input.popLimit(limit);
4164                  break;
4165                }
4166                case 64: {
4167                  ensureNestedObjectNameIsMutable();
4168                  nestedObjectName_.add(input.readInt32());
4169                  break;
4170                }
4171                case 66: {
4172                  int length = input.readRawVarint32();
4173                  int limit = input.pushLimit(length);
4174                  while (input.getBytesUntilLimit() > 0) {
4175                    addNestedObjectName(input.readInt32());
4176                  }
4177                  input.popLimit(limit);
4178                  break;
4179                }
4180                case 72: {
4181                  bitField0_ |= 0x00000080;
4182                  classObjectPresent_ = input.readBool();
4183                  break;
4184                }
4185                case 82: {
4186                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder subBuilder = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.newBuilder();
4187                  if (hasPrimaryConstructor()) {
4188                    subBuilder.mergeFrom(getPrimaryConstructor());
4189                  }
4190                  input.readMessage(subBuilder, extensionRegistry);
4191                  setPrimaryConstructor(subBuilder.buildPartial());
4192                  break;
4193                }
4194                case 90: {
4195                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder subBuilder = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.newBuilder();
4196                  input.readMessage(subBuilder, extensionRegistry);
4197                  addMember(subBuilder.buildPartial());
4198                  break;
4199                }
4200                case 96: {
4201                  ensureEnumEntryIsMutable();
4202                  enumEntry_.add(input.readInt32());
4203                  break;
4204                }
4205                case 98: {
4206                  int length = input.readRawVarint32();
4207                  int limit = input.pushLimit(length);
4208                  while (input.getBytesUntilLimit() > 0) {
4209                    addEnumEntry(input.readInt32());
4210                  }
4211                  input.popLimit(limit);
4212                  break;
4213                }
4214              }
4215            }
4216          }
4217          
4218          private int bitField0_;
4219          
4220          // optional int32 flags = 1 [default = 0];
4221          private int flags_ ;
4222          public boolean hasFlags() {
4223            return ((bitField0_ & 0x00000001) == 0x00000001);
4224          }
4225          public int getFlags() {
4226            return flags_;
4227          }
4228          public Builder setFlags(int value) {
4229            bitField0_ |= 0x00000001;
4230            flags_ = value;
4231            
4232            return this;
4233          }
4234          public Builder clearFlags() {
4235            bitField0_ = (bitField0_ & ~0x00000001);
4236            flags_ = 0;
4237            
4238            return this;
4239          }
4240          
4241          // optional string extra_visibility = 2;
4242          private java.lang.Object extraVisibility_ = "";
4243          public boolean hasExtraVisibility() {
4244            return ((bitField0_ & 0x00000002) == 0x00000002);
4245          }
4246          public String getExtraVisibility() {
4247            java.lang.Object ref = extraVisibility_;
4248            if (!(ref instanceof String)) {
4249              String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
4250              extraVisibility_ = s;
4251              return s;
4252            } else {
4253              return (String) ref;
4254            }
4255          }
4256          public Builder setExtraVisibility(String value) {
4257            if (value == null) {
4258        throw new NullPointerException();
4259      }
4260      bitField0_ |= 0x00000002;
4261            extraVisibility_ = value;
4262            
4263            return this;
4264          }
4265          public Builder clearExtraVisibility() {
4266            bitField0_ = (bitField0_ & ~0x00000002);
4267            extraVisibility_ = getDefaultInstance().getExtraVisibility();
4268            
4269            return this;
4270          }
4271          void setExtraVisibility(com.google.protobuf.ByteString value) {
4272            bitField0_ |= 0x00000002;
4273            extraVisibility_ = value;
4274            
4275          }
4276          
4277          // required int32 name = 4;
4278          private int name_ ;
4279          public boolean hasName() {
4280            return ((bitField0_ & 0x00000004) == 0x00000004);
4281          }
4282          public int getName() {
4283            return name_;
4284          }
4285          public Builder setName(int value) {
4286            bitField0_ |= 0x00000004;
4287            name_ = value;
4288            
4289            return this;
4290          }
4291          public Builder clearName() {
4292            bitField0_ = (bitField0_ & ~0x00000004);
4293            name_ = 0;
4294            
4295            return this;
4296          }
4297          
4298          // repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 5;
4299          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> typeParameter_ =
4300            java.util.Collections.emptyList();
4301          private void ensureTypeParameterIsMutable() {
4302            if (!((bitField0_ & 0x00000008) == 0x00000008)) {
4303              typeParameter_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter>(typeParameter_);
4304              bitField0_ |= 0x00000008;
4305             }
4306          }
4307          
4308          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
4309            return java.util.Collections.unmodifiableList(typeParameter_);
4310          }
4311          public int getTypeParameterCount() {
4312            return typeParameter_.size();
4313          }
4314          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
4315            return typeParameter_.get(index);
4316          }
4317          public Builder setTypeParameter(
4318              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter value) {
4319            if (value == null) {
4320              throw new NullPointerException();
4321            }
4322            ensureTypeParameterIsMutable();
4323            typeParameter_.set(index, value);
4324            
4325            return this;
4326          }
4327          public Builder setTypeParameter(
4328              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
4329            ensureTypeParameterIsMutable();
4330            typeParameter_.set(index, builderForValue.build());
4331            
4332            return this;
4333          }
4334          public Builder addTypeParameter(org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter value) {
4335            if (value == null) {
4336              throw new NullPointerException();
4337            }
4338            ensureTypeParameterIsMutable();
4339            typeParameter_.add(value);
4340            
4341            return this;
4342          }
4343          public Builder addTypeParameter(
4344              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter value) {
4345            if (value == null) {
4346              throw new NullPointerException();
4347            }
4348            ensureTypeParameterIsMutable();
4349            typeParameter_.add(index, value);
4350            
4351            return this;
4352          }
4353          public Builder addTypeParameter(
4354              org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
4355            ensureTypeParameterIsMutable();
4356            typeParameter_.add(builderForValue.build());
4357            
4358            return this;
4359          }
4360          public Builder addTypeParameter(
4361              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
4362            ensureTypeParameterIsMutable();
4363            typeParameter_.add(index, builderForValue.build());
4364            
4365            return this;
4366          }
4367          public Builder addAllTypeParameter(
4368              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> values) {
4369            ensureTypeParameterIsMutable();
4370            super.addAll(values, typeParameter_);
4371            
4372            return this;
4373          }
4374          public Builder clearTypeParameter() {
4375            typeParameter_ = java.util.Collections.emptyList();
4376            bitField0_ = (bitField0_ & ~0x00000008);
4377            
4378            return this;
4379          }
4380          public Builder removeTypeParameter(int index) {
4381            ensureTypeParameterIsMutable();
4382            typeParameter_.remove(index);
4383            
4384            return this;
4385          }
4386          
4387          // repeated .org.jetbrains.jet.descriptors.serialization.Type supertype = 6;
4388          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> supertype_ =
4389            java.util.Collections.emptyList();
4390          private void ensureSupertypeIsMutable() {
4391            if (!((bitField0_ & 0x00000010) == 0x00000010)) {
4392              supertype_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type>(supertype_);
4393              bitField0_ |= 0x00000010;
4394             }
4395          }
4396          
4397          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> getSupertypeList() {
4398            return java.util.Collections.unmodifiableList(supertype_);
4399          }
4400          public int getSupertypeCount() {
4401            return supertype_.size();
4402          }
4403          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getSupertype(int index) {
4404            return supertype_.get(index);
4405          }
4406          public Builder setSupertype(
4407              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
4408            if (value == null) {
4409              throw new NullPointerException();
4410            }
4411            ensureSupertypeIsMutable();
4412            supertype_.set(index, value);
4413            
4414            return this;
4415          }
4416          public Builder setSupertype(
4417              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
4418            ensureSupertypeIsMutable();
4419            supertype_.set(index, builderForValue.build());
4420            
4421            return this;
4422          }
4423          public Builder addSupertype(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
4424            if (value == null) {
4425              throw new NullPointerException();
4426            }
4427            ensureSupertypeIsMutable();
4428            supertype_.add(value);
4429            
4430            return this;
4431          }
4432          public Builder addSupertype(
4433              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
4434            if (value == null) {
4435              throw new NullPointerException();
4436            }
4437            ensureSupertypeIsMutable();
4438            supertype_.add(index, value);
4439            
4440            return this;
4441          }
4442          public Builder addSupertype(
4443              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
4444            ensureSupertypeIsMutable();
4445            supertype_.add(builderForValue.build());
4446            
4447            return this;
4448          }
4449          public Builder addSupertype(
4450              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
4451            ensureSupertypeIsMutable();
4452            supertype_.add(index, builderForValue.build());
4453            
4454            return this;
4455          }
4456          public Builder addAllSupertype(
4457              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type> values) {
4458            ensureSupertypeIsMutable();
4459            super.addAll(values, supertype_);
4460            
4461            return this;
4462          }
4463          public Builder clearSupertype() {
4464            supertype_ = java.util.Collections.emptyList();
4465            bitField0_ = (bitField0_ & ~0x00000010);
4466            
4467            return this;
4468          }
4469          public Builder removeSupertype(int index) {
4470            ensureSupertypeIsMutable();
4471            supertype_.remove(index);
4472            
4473            return this;
4474          }
4475          
4476          // repeated int32 nested_class_name = 7;
4477          private java.util.List<java.lang.Integer> nestedClassName_ = java.util.Collections.emptyList();;
4478          private void ensureNestedClassNameIsMutable() {
4479            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
4480              nestedClassName_ = new java.util.ArrayList<java.lang.Integer>(nestedClassName_);
4481              bitField0_ |= 0x00000020;
4482             }
4483          }
4484          public java.util.List<java.lang.Integer>
4485              getNestedClassNameList() {
4486            return java.util.Collections.unmodifiableList(nestedClassName_);
4487          }
4488          public int getNestedClassNameCount() {
4489            return nestedClassName_.size();
4490          }
4491          public int getNestedClassName(int index) {
4492            return nestedClassName_.get(index);
4493          }
4494          public Builder setNestedClassName(
4495              int index, int value) {
4496            ensureNestedClassNameIsMutable();
4497            nestedClassName_.set(index, value);
4498            
4499            return this;
4500          }
4501          public Builder addNestedClassName(int value) {
4502            ensureNestedClassNameIsMutable();
4503            nestedClassName_.add(value);
4504            
4505            return this;
4506          }
4507          public Builder addAllNestedClassName(
4508              java.lang.Iterable<? extends java.lang.Integer> values) {
4509            ensureNestedClassNameIsMutable();
4510            super.addAll(values, nestedClassName_);
4511            
4512            return this;
4513          }
4514          public Builder clearNestedClassName() {
4515            nestedClassName_ = java.util.Collections.emptyList();;
4516            bitField0_ = (bitField0_ & ~0x00000020);
4517            
4518            return this;
4519          }
4520          
4521          // repeated int32 nested_object_name = 8;
4522          private java.util.List<java.lang.Integer> nestedObjectName_ = java.util.Collections.emptyList();;
4523          private void ensureNestedObjectNameIsMutable() {
4524            if (!((bitField0_ & 0x00000040) == 0x00000040)) {
4525              nestedObjectName_ = new java.util.ArrayList<java.lang.Integer>(nestedObjectName_);
4526              bitField0_ |= 0x00000040;
4527             }
4528          }
4529          public java.util.List<java.lang.Integer>
4530              getNestedObjectNameList() {
4531            return java.util.Collections.unmodifiableList(nestedObjectName_);
4532          }
4533          public int getNestedObjectNameCount() {
4534            return nestedObjectName_.size();
4535          }
4536          public int getNestedObjectName(int index) {
4537            return nestedObjectName_.get(index);
4538          }
4539          public Builder setNestedObjectName(
4540              int index, int value) {
4541            ensureNestedObjectNameIsMutable();
4542            nestedObjectName_.set(index, value);
4543            
4544            return this;
4545          }
4546          public Builder addNestedObjectName(int value) {
4547            ensureNestedObjectNameIsMutable();
4548            nestedObjectName_.add(value);
4549            
4550            return this;
4551          }
4552          public Builder addAllNestedObjectName(
4553              java.lang.Iterable<? extends java.lang.Integer> values) {
4554            ensureNestedObjectNameIsMutable();
4555            super.addAll(values, nestedObjectName_);
4556            
4557            return this;
4558          }
4559          public Builder clearNestedObjectName() {
4560            nestedObjectName_ = java.util.Collections.emptyList();;
4561            bitField0_ = (bitField0_ & ~0x00000040);
4562            
4563            return this;
4564          }
4565          
4566          // optional bool class_object_present = 9 [default = false];
4567          private boolean classObjectPresent_ ;
4568          public boolean hasClassObjectPresent() {
4569            return ((bitField0_ & 0x00000080) == 0x00000080);
4570          }
4571          public boolean getClassObjectPresent() {
4572            return classObjectPresent_;
4573          }
4574          public Builder setClassObjectPresent(boolean value) {
4575            bitField0_ |= 0x00000080;
4576            classObjectPresent_ = value;
4577            
4578            return this;
4579          }
4580          public Builder clearClassObjectPresent() {
4581            bitField0_ = (bitField0_ & ~0x00000080);
4582            classObjectPresent_ = false;
4583            
4584            return this;
4585          }
4586          
4587          // optional .org.jetbrains.jet.descriptors.serialization.Callable primary_constructor = 10;
4588          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable primaryConstructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance();
4589          public boolean hasPrimaryConstructor() {
4590            return ((bitField0_ & 0x00000100) == 0x00000100);
4591          }
4592          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getPrimaryConstructor() {
4593            return primaryConstructor_;
4594          }
4595          public Builder setPrimaryConstructor(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
4596            if (value == null) {
4597              throw new NullPointerException();
4598            }
4599            primaryConstructor_ = value;
4600            
4601            bitField0_ |= 0x00000100;
4602            return this;
4603          }
4604          public Builder setPrimaryConstructor(
4605              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder builderForValue) {
4606            primaryConstructor_ = builderForValue.build();
4607            
4608            bitField0_ |= 0x00000100;
4609            return this;
4610          }
4611          public Builder mergePrimaryConstructor(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
4612            if (((bitField0_ & 0x00000100) == 0x00000100) &&
4613                primaryConstructor_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance()) {
4614              primaryConstructor_ =
4615                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.newBuilder(primaryConstructor_).mergeFrom(value).buildPartial();
4616            } else {
4617              primaryConstructor_ = value;
4618            }
4619            
4620            bitField0_ |= 0x00000100;
4621            return this;
4622          }
4623          public Builder clearPrimaryConstructor() {
4624            primaryConstructor_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance();
4625            
4626            bitField0_ = (bitField0_ & ~0x00000100);
4627            return this;
4628          }
4629          
4630          // repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 11;
4631          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> member_ =
4632            java.util.Collections.emptyList();
4633          private void ensureMemberIsMutable() {
4634            if (!((bitField0_ & 0x00000200) == 0x00000200)) {
4635              member_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable>(member_);
4636              bitField0_ |= 0x00000200;
4637             }
4638          }
4639          
4640          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> getMemberList() {
4641            return java.util.Collections.unmodifiableList(member_);
4642          }
4643          public int getMemberCount() {
4644            return member_.size();
4645          }
4646          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getMember(int index) {
4647            return member_.get(index);
4648          }
4649          public Builder setMember(
4650              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
4651            if (value == null) {
4652              throw new NullPointerException();
4653            }
4654            ensureMemberIsMutable();
4655            member_.set(index, value);
4656            
4657            return this;
4658          }
4659          public Builder setMember(
4660              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder builderForValue) {
4661            ensureMemberIsMutable();
4662            member_.set(index, builderForValue.build());
4663            
4664            return this;
4665          }
4666          public Builder addMember(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
4667            if (value == null) {
4668              throw new NullPointerException();
4669            }
4670            ensureMemberIsMutable();
4671            member_.add(value);
4672            
4673            return this;
4674          }
4675          public Builder addMember(
4676              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
4677            if (value == null) {
4678              throw new NullPointerException();
4679            }
4680            ensureMemberIsMutable();
4681            member_.add(index, value);
4682            
4683            return this;
4684          }
4685          public Builder addMember(
4686              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder builderForValue) {
4687            ensureMemberIsMutable();
4688            member_.add(builderForValue.build());
4689            
4690            return this;
4691          }
4692          public Builder addMember(
4693              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder builderForValue) {
4694            ensureMemberIsMutable();
4695            member_.add(index, builderForValue.build());
4696            
4697            return this;
4698          }
4699          public Builder addAllMember(
4700              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> values) {
4701            ensureMemberIsMutable();
4702            super.addAll(values, member_);
4703            
4704            return this;
4705          }
4706          public Builder clearMember() {
4707            member_ = java.util.Collections.emptyList();
4708            bitField0_ = (bitField0_ & ~0x00000200);
4709            
4710            return this;
4711          }
4712          public Builder removeMember(int index) {
4713            ensureMemberIsMutable();
4714            member_.remove(index);
4715            
4716            return this;
4717          }
4718          
4719          // repeated int32 enum_entry = 12;
4720          private java.util.List<java.lang.Integer> enumEntry_ = java.util.Collections.emptyList();;
4721          private void ensureEnumEntryIsMutable() {
4722            if (!((bitField0_ & 0x00000400) == 0x00000400)) {
4723              enumEntry_ = new java.util.ArrayList<java.lang.Integer>(enumEntry_);
4724              bitField0_ |= 0x00000400;
4725             }
4726          }
4727          public java.util.List<java.lang.Integer>
4728              getEnumEntryList() {
4729            return java.util.Collections.unmodifiableList(enumEntry_);
4730          }
4731          public int getEnumEntryCount() {
4732            return enumEntry_.size();
4733          }
4734          public int getEnumEntry(int index) {
4735            return enumEntry_.get(index);
4736          }
4737          public Builder setEnumEntry(
4738              int index, int value) {
4739            ensureEnumEntryIsMutable();
4740            enumEntry_.set(index, value);
4741            
4742            return this;
4743          }
4744          public Builder addEnumEntry(int value) {
4745            ensureEnumEntryIsMutable();
4746            enumEntry_.add(value);
4747            
4748            return this;
4749          }
4750          public Builder addAllEnumEntry(
4751              java.lang.Iterable<? extends java.lang.Integer> values) {
4752            ensureEnumEntryIsMutable();
4753            super.addAll(values, enumEntry_);
4754            
4755            return this;
4756          }
4757          public Builder clearEnumEntry() {
4758            enumEntry_ = java.util.Collections.emptyList();;
4759            bitField0_ = (bitField0_ & ~0x00000400);
4760            
4761            return this;
4762          }
4763          
4764          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Class)
4765        }
4766        
4767        static {
4768          defaultInstance = new Class(true);
4769          defaultInstance.initFields();
4770        }
4771        
4772        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Class)
4773      }
4774      
4775      public interface PackageOrBuilder
4776          extends com.google.protobuf.MessageLiteOrBuilder {
4777        
4778        // repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;
4779        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> 
4780            getMemberList();
4781        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getMember(int index);
4782        int getMemberCount();
4783      }
4784      public static final class Package extends
4785          com.google.protobuf.GeneratedMessageLite
4786          implements PackageOrBuilder {
4787        // Use Package.newBuilder() to construct.
4788        private Package(Builder builder) {
4789          super(builder);
4790        }
4791        private Package(boolean noInit) {}
4792        
4793        private static final Package defaultInstance;
4794        public static Package getDefaultInstance() {
4795          return defaultInstance;
4796        }
4797        
4798        public Package getDefaultInstanceForType() {
4799          return defaultInstance;
4800        }
4801        
4802        // repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;
4803        public static final int MEMBER_FIELD_NUMBER = 1;
4804        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> member_;
4805        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> getMemberList() {
4806          return member_;
4807        }
4808        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.CallableOrBuilder> 
4809            getMemberOrBuilderList() {
4810          return member_;
4811        }
4812        public int getMemberCount() {
4813          return member_.size();
4814        }
4815        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getMember(int index) {
4816          return member_.get(index);
4817        }
4818        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.CallableOrBuilder getMemberOrBuilder(
4819            int index) {
4820          return member_.get(index);
4821        }
4822        
4823        private void initFields() {
4824          member_ = java.util.Collections.emptyList();
4825        }
4826        private byte memoizedIsInitialized = -1;
4827        public final boolean isInitialized() {
4828          byte isInitialized = memoizedIsInitialized;
4829          if (isInitialized != -1) return isInitialized == 1;
4830          
4831          for (int i = 0; i < getMemberCount(); i++) {
4832            if (!getMember(i).isInitialized()) {
4833              memoizedIsInitialized = 0;
4834              return false;
4835            }
4836          }
4837          memoizedIsInitialized = 1;
4838          return true;
4839        }
4840        
4841        public void writeTo(com.google.protobuf.CodedOutputStream output)
4842                            throws java.io.IOException {
4843          getSerializedSize();
4844          for (int i = 0; i < member_.size(); i++) {
4845            output.writeMessage(1, member_.get(i));
4846          }
4847        }
4848        
4849        private int memoizedSerializedSize = -1;
4850        public int getSerializedSize() {
4851          int size = memoizedSerializedSize;
4852          if (size != -1) return size;
4853        
4854          size = 0;
4855          for (int i = 0; i < member_.size(); i++) {
4856            size += com.google.protobuf.CodedOutputStream
4857              .computeMessageSize(1, member_.get(i));
4858          }
4859          memoizedSerializedSize = size;
4860          return size;
4861        }
4862        
4863        private static final long serialVersionUID = 0L;
4864        @java.lang.Override
4865        protected java.lang.Object writeReplace()
4866            throws java.io.ObjectStreamException {
4867          return super.writeReplace();
4868        }
4869        
4870        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(
4871            com.google.protobuf.ByteString data)
4872            throws com.google.protobuf.InvalidProtocolBufferException {
4873          return newBuilder().mergeFrom(data).buildParsed();
4874        }
4875        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(
4876            com.google.protobuf.ByteString data,
4877            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4878            throws com.google.protobuf.InvalidProtocolBufferException {
4879          return newBuilder().mergeFrom(data, extensionRegistry)
4880                   .buildParsed();
4881        }
4882        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(byte[] data)
4883            throws com.google.protobuf.InvalidProtocolBufferException {
4884          return newBuilder().mergeFrom(data).buildParsed();
4885        }
4886        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(
4887            byte[] data,
4888            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4889            throws com.google.protobuf.InvalidProtocolBufferException {
4890          return newBuilder().mergeFrom(data, extensionRegistry)
4891                   .buildParsed();
4892        }
4893        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(java.io.InputStream input)
4894            throws java.io.IOException {
4895          return newBuilder().mergeFrom(input).buildParsed();
4896        }
4897        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(
4898            java.io.InputStream input,
4899            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4900            throws java.io.IOException {
4901          return newBuilder().mergeFrom(input, extensionRegistry)
4902                   .buildParsed();
4903        }
4904        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseDelimitedFrom(java.io.InputStream input)
4905            throws java.io.IOException {
4906          Builder builder = newBuilder();
4907          if (builder.mergeDelimitedFrom(input)) {
4908            return builder.buildParsed();
4909          } else {
4910            return null;
4911          }
4912        }
4913        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseDelimitedFrom(
4914            java.io.InputStream input,
4915            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4916            throws java.io.IOException {
4917          Builder builder = newBuilder();
4918          if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
4919            return builder.buildParsed();
4920          } else {
4921            return null;
4922          }
4923        }
4924        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(
4925            com.google.protobuf.CodedInputStream input)
4926            throws java.io.IOException {
4927          return newBuilder().mergeFrom(input).buildParsed();
4928        }
4929        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package parseFrom(
4930            com.google.protobuf.CodedInputStream input,
4931            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4932            throws java.io.IOException {
4933          return newBuilder().mergeFrom(input, extensionRegistry)
4934                   .buildParsed();
4935        }
4936        
4937        public static Builder newBuilder() { return Builder.create(); }
4938        public Builder newBuilderForType() { return newBuilder(); }
4939        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package prototype) {
4940          return newBuilder().mergeFrom(prototype);
4941        }
4942        public Builder toBuilder() { return newBuilder(this); }
4943        
4944        public static final class Builder extends
4945            com.google.protobuf.GeneratedMessageLite.Builder<
4946              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package, Builder>
4947            implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.PackageOrBuilder {
4948          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package.newBuilder()
4949          private Builder() {
4950            maybeForceBuilderInitialization();
4951          }
4952          
4953          private void maybeForceBuilderInitialization() {
4954          }
4955          private static Builder create() {
4956            return new Builder();
4957          }
4958          
4959          public Builder clear() {
4960            super.clear();
4961            member_ = java.util.Collections.emptyList();
4962            bitField0_ = (bitField0_ & ~0x00000001);
4963            return this;
4964          }
4965          
4966          public Builder clone() {
4967            return create().mergeFrom(buildPartial());
4968          }
4969          
4970          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package getDefaultInstanceForType() {
4971            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package.getDefaultInstance();
4972          }
4973          
4974          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package build() {
4975            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package result = buildPartial();
4976            if (!result.isInitialized()) {
4977              throw newUninitializedMessageException(result);
4978            }
4979            return result;
4980          }
4981          
4982          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package buildParsed()
4983              throws com.google.protobuf.InvalidProtocolBufferException {
4984            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package result = buildPartial();
4985            if (!result.isInitialized()) {
4986              throw newUninitializedMessageException(
4987                result).asInvalidProtocolBufferException();
4988            }
4989            return result;
4990          }
4991          
4992          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package buildPartial() {
4993            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package(this);
4994            int from_bitField0_ = bitField0_;
4995            if (((bitField0_ & 0x00000001) == 0x00000001)) {
4996              member_ = java.util.Collections.unmodifiableList(member_);
4997              bitField0_ = (bitField0_ & ~0x00000001);
4998            }
4999            result.member_ = member_;
5000            return result;
5001          }
5002          
5003          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package other) {
5004            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Package.getDefaultInstance()) return this;
5005            if (!other.member_.isEmpty()) {
5006              if (member_.isEmpty()) {
5007                member_ = other.member_;
5008                bitField0_ = (bitField0_ & ~0x00000001);
5009              } else {
5010                ensureMemberIsMutable();
5011                member_.addAll(other.member_);
5012              }
5013              
5014            }
5015            return this;
5016          }
5017          
5018          public final boolean isInitialized() {
5019            for (int i = 0; i < getMemberCount(); i++) {
5020              if (!getMember(i).isInitialized()) {
5021                
5022                return false;
5023              }
5024            }
5025            return true;
5026          }
5027          
5028          public Builder mergeFrom(
5029              com.google.protobuf.CodedInputStream input,
5030              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5031              throws java.io.IOException {
5032            while (true) {
5033              int tag = input.readTag();
5034              switch (tag) {
5035                case 0:
5036                  
5037                  return this;
5038                default: {
5039                  if (!parseUnknownField(input, extensionRegistry, tag)) {
5040                    
5041                    return this;
5042                  }
5043                  break;
5044                }
5045                case 10: {
5046                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder subBuilder = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.newBuilder();
5047                  input.readMessage(subBuilder, extensionRegistry);
5048                  addMember(subBuilder.buildPartial());
5049                  break;
5050                }
5051              }
5052            }
5053          }
5054          
5055          private int bitField0_;
5056          
5057          // repeated .org.jetbrains.jet.descriptors.serialization.Callable member = 1;
5058          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> member_ =
5059            java.util.Collections.emptyList();
5060          private void ensureMemberIsMutable() {
5061            if (!((bitField0_ & 0x00000001) == 0x00000001)) {
5062              member_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable>(member_);
5063              bitField0_ |= 0x00000001;
5064             }
5065          }
5066          
5067          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> getMemberList() {
5068            return java.util.Collections.unmodifiableList(member_);
5069          }
5070          public int getMemberCount() {
5071            return member_.size();
5072          }
5073          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getMember(int index) {
5074            return member_.get(index);
5075          }
5076          public Builder setMember(
5077              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
5078            if (value == null) {
5079              throw new NullPointerException();
5080            }
5081            ensureMemberIsMutable();
5082            member_.set(index, value);
5083            
5084            return this;
5085          }
5086          public Builder setMember(
5087              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder builderForValue) {
5088            ensureMemberIsMutable();
5089            member_.set(index, builderForValue.build());
5090            
5091            return this;
5092          }
5093          public Builder addMember(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
5094            if (value == null) {
5095              throw new NullPointerException();
5096            }
5097            ensureMemberIsMutable();
5098            member_.add(value);
5099            
5100            return this;
5101          }
5102          public Builder addMember(
5103              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable value) {
5104            if (value == null) {
5105              throw new NullPointerException();
5106            }
5107            ensureMemberIsMutable();
5108            member_.add(index, value);
5109            
5110            return this;
5111          }
5112          public Builder addMember(
5113              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder builderForValue) {
5114            ensureMemberIsMutable();
5115            member_.add(builderForValue.build());
5116            
5117            return this;
5118          }
5119          public Builder addMember(
5120              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.Builder builderForValue) {
5121            ensureMemberIsMutable();
5122            member_.add(index, builderForValue.build());
5123            
5124            return this;
5125          }
5126          public Builder addAllMember(
5127              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable> values) {
5128            ensureMemberIsMutable();
5129            super.addAll(values, member_);
5130            
5131            return this;
5132          }
5133          public Builder clearMember() {
5134            member_ = java.util.Collections.emptyList();
5135            bitField0_ = (bitField0_ & ~0x00000001);
5136            
5137            return this;
5138          }
5139          public Builder removeMember(int index) {
5140            ensureMemberIsMutable();
5141            member_.remove(index);
5142            
5143            return this;
5144          }
5145          
5146          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Package)
5147        }
5148        
5149        static {
5150          defaultInstance = new Package(true);
5151          defaultInstance.initFields();
5152        }
5153        
5154        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Package)
5155      }
5156      
5157      public interface CallableOrBuilder extends 
5158           com.google.protobuf.GeneratedMessageLite.
5159                ExtendableMessageOrBuilder<Callable> {
5160        
5161        // optional int32 flags = 1;
5162        boolean hasFlags();
5163        int getFlags();
5164        
5165        // optional string extra_visibility = 2;
5166        boolean hasExtraVisibility();
5167        String getExtraVisibility();
5168        
5169        // optional int32 getter_flags = 9;
5170        boolean hasGetterFlags();
5171        int getGetterFlags();
5172        
5173        // optional int32 setter_flags = 10;
5174        boolean hasSetterFlags();
5175        int getSetterFlags();
5176        
5177        // optional int32 setter_parameter_name = 11;
5178        boolean hasSetterParameterName();
5179        int getSetterParameterName();
5180        
5181        // repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;
5182        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> 
5183            getTypeParameterList();
5184        org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getTypeParameter(int index);
5185        int getTypeParameterCount();
5186        
5187        // optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;
5188        boolean hasReceiverType();
5189        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReceiverType();
5190        
5191        // required int32 name = 6;
5192        boolean hasName();
5193        int getName();
5194        
5195        // repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;
5196        java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> 
5197            getValueParameterList();
5198        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index);
5199        int getValueParameterCount();
5200        
5201        // required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;
5202        boolean hasReturnType();
5203        org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReturnType();
5204      }
5205      public static final class Callable extends
5206          com.google.protobuf.GeneratedMessageLite.ExtendableMessage<
5207            Callable> implements CallableOrBuilder {
5208        // Use Callable.newBuilder() to construct.
5209        private Callable(Builder builder) {
5210          super(builder);
5211        }
5212        private Callable(boolean noInit) {}
5213        
5214        private static final Callable defaultInstance;
5215        public static Callable getDefaultInstance() {
5216          return defaultInstance;
5217        }
5218        
5219        public Callable getDefaultInstanceForType() {
5220          return defaultInstance;
5221        }
5222        
5223        public enum MemberKind
5224            implements com.google.protobuf.Internal.EnumLite {
5225          DECLARATION(0, 0),
5226          FAKE_OVERRIDE(1, 1),
5227          DELEGATION(2, 2),
5228          SYNTHESIZED(3, 3),
5229          ;
5230          
5231          public static final int DECLARATION_VALUE = 0;
5232          public static final int FAKE_OVERRIDE_VALUE = 1;
5233          public static final int DELEGATION_VALUE = 2;
5234          public static final int SYNTHESIZED_VALUE = 3;
5235          
5236          
5237          public final int getNumber() { return value; }
5238          
5239          public static MemberKind valueOf(int value) {
5240            switch (value) {
5241              case 0: return DECLARATION;
5242              case 1: return FAKE_OVERRIDE;
5243              case 2: return DELEGATION;
5244              case 3: return SYNTHESIZED;
5245              default: return null;
5246            }
5247          }
5248          
5249          public static com.google.protobuf.Internal.EnumLiteMap<MemberKind>
5250              internalGetValueMap() {
5251            return internalValueMap;
5252          }
5253          private static com.google.protobuf.Internal.EnumLiteMap<MemberKind>
5254              internalValueMap =
5255                new com.google.protobuf.Internal.EnumLiteMap<MemberKind>() {
5256                  public MemberKind findValueByNumber(int number) {
5257                    return MemberKind.valueOf(number);
5258                  }
5259                };
5260          
5261          private final int value;
5262          
5263          private MemberKind(int index, int value) {
5264            this.value = value;
5265          }
5266          
5267          // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Callable.MemberKind)
5268        }
5269        
5270        public enum CallableKind
5271            implements com.google.protobuf.Internal.EnumLite {
5272          FUN(0, 0),
5273          VAL(1, 1),
5274          VAR(2, 2),
5275          CONSTRUCTOR(3, 3),
5276          OBJECT_PROPERTY(4, 4),
5277          ;
5278          
5279          public static final int FUN_VALUE = 0;
5280          public static final int VAL_VALUE = 1;
5281          public static final int VAR_VALUE = 2;
5282          public static final int CONSTRUCTOR_VALUE = 3;
5283          public static final int OBJECT_PROPERTY_VALUE = 4;
5284          
5285          
5286          public final int getNumber() { return value; }
5287          
5288          public static CallableKind valueOf(int value) {
5289            switch (value) {
5290              case 0: return FUN;
5291              case 1: return VAL;
5292              case 2: return VAR;
5293              case 3: return CONSTRUCTOR;
5294              case 4: return OBJECT_PROPERTY;
5295              default: return null;
5296            }
5297          }
5298          
5299          public static com.google.protobuf.Internal.EnumLiteMap<CallableKind>
5300              internalGetValueMap() {
5301            return internalValueMap;
5302          }
5303          private static com.google.protobuf.Internal.EnumLiteMap<CallableKind>
5304              internalValueMap =
5305                new com.google.protobuf.Internal.EnumLiteMap<CallableKind>() {
5306                  public CallableKind findValueByNumber(int number) {
5307                    return CallableKind.valueOf(number);
5308                  }
5309                };
5310          
5311          private final int value;
5312          
5313          private CallableKind(int index, int value) {
5314            this.value = value;
5315          }
5316          
5317          // @@protoc_insertion_point(enum_scope:org.jetbrains.jet.descriptors.serialization.Callable.CallableKind)
5318        }
5319        
5320        public interface ValueParameterOrBuilder
5321            extends com.google.protobuf.MessageLiteOrBuilder {
5322          
5323          // optional int32 flags = 1;
5324          boolean hasFlags();
5325          int getFlags();
5326          
5327          // required int32 name = 2;
5328          boolean hasName();
5329          int getName();
5330          
5331          // required .org.jetbrains.jet.descriptors.serialization.Type type = 3;
5332          boolean hasType();
5333          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getType();
5334          
5335          // optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;
5336          boolean hasVarargElementType();
5337          org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getVarargElementType();
5338        }
5339        public static final class ValueParameter extends
5340            com.google.protobuf.GeneratedMessageLite
5341            implements ValueParameterOrBuilder {
5342          // Use ValueParameter.newBuilder() to construct.
5343          private ValueParameter(Builder builder) {
5344            super(builder);
5345          }
5346          private ValueParameter(boolean noInit) {}
5347          
5348          private static final ValueParameter defaultInstance;
5349          public static ValueParameter getDefaultInstance() {
5350            return defaultInstance;
5351          }
5352          
5353          public ValueParameter getDefaultInstanceForType() {
5354            return defaultInstance;
5355          }
5356          
5357          private int bitField0_;
5358          // optional int32 flags = 1;
5359          public static final int FLAGS_FIELD_NUMBER = 1;
5360          private int flags_;
5361          public boolean hasFlags() {
5362            return ((bitField0_ & 0x00000001) == 0x00000001);
5363          }
5364          public int getFlags() {
5365            return flags_;
5366          }
5367          
5368          // required int32 name = 2;
5369          public static final int NAME_FIELD_NUMBER = 2;
5370          private int name_;
5371          public boolean hasName() {
5372            return ((bitField0_ & 0x00000002) == 0x00000002);
5373          }
5374          public int getName() {
5375            return name_;
5376          }
5377          
5378          // required .org.jetbrains.jet.descriptors.serialization.Type type = 3;
5379          public static final int TYPE_FIELD_NUMBER = 3;
5380          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type type_;
5381          public boolean hasType() {
5382            return ((bitField0_ & 0x00000004) == 0x00000004);
5383          }
5384          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getType() {
5385            return type_;
5386          }
5387          
5388          // optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;
5389          public static final int VARARG_ELEMENT_TYPE_FIELD_NUMBER = 4;
5390          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type varargElementType_;
5391          public boolean hasVarargElementType() {
5392            return ((bitField0_ & 0x00000008) == 0x00000008);
5393          }
5394          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getVarargElementType() {
5395            return varargElementType_;
5396          }
5397          
5398          private void initFields() {
5399            flags_ = 0;
5400            name_ = 0;
5401            type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
5402            varargElementType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
5403          }
5404          private byte memoizedIsInitialized = -1;
5405          public final boolean isInitialized() {
5406            byte isInitialized = memoizedIsInitialized;
5407            if (isInitialized != -1) return isInitialized == 1;
5408            
5409            if (!hasName()) {
5410              memoizedIsInitialized = 0;
5411              return false;
5412            }
5413            if (!hasType()) {
5414              memoizedIsInitialized = 0;
5415              return false;
5416            }
5417            if (!getType().isInitialized()) {
5418              memoizedIsInitialized = 0;
5419              return false;
5420            }
5421            if (hasVarargElementType()) {
5422              if (!getVarargElementType().isInitialized()) {
5423                memoizedIsInitialized = 0;
5424                return false;
5425              }
5426            }
5427            memoizedIsInitialized = 1;
5428            return true;
5429          }
5430          
5431          public void writeTo(com.google.protobuf.CodedOutputStream output)
5432                              throws java.io.IOException {
5433            getSerializedSize();
5434            if (((bitField0_ & 0x00000001) == 0x00000001)) {
5435              output.writeInt32(1, flags_);
5436            }
5437            if (((bitField0_ & 0x00000002) == 0x00000002)) {
5438              output.writeInt32(2, name_);
5439            }
5440            if (((bitField0_ & 0x00000004) == 0x00000004)) {
5441              output.writeMessage(3, type_);
5442            }
5443            if (((bitField0_ & 0x00000008) == 0x00000008)) {
5444              output.writeMessage(4, varargElementType_);
5445            }
5446          }
5447          
5448          private int memoizedSerializedSize = -1;
5449          public int getSerializedSize() {
5450            int size = memoizedSerializedSize;
5451            if (size != -1) return size;
5452          
5453            size = 0;
5454            if (((bitField0_ & 0x00000001) == 0x00000001)) {
5455              size += com.google.protobuf.CodedOutputStream
5456                .computeInt32Size(1, flags_);
5457            }
5458            if (((bitField0_ & 0x00000002) == 0x00000002)) {
5459              size += com.google.protobuf.CodedOutputStream
5460                .computeInt32Size(2, name_);
5461            }
5462            if (((bitField0_ & 0x00000004) == 0x00000004)) {
5463              size += com.google.protobuf.CodedOutputStream
5464                .computeMessageSize(3, type_);
5465            }
5466            if (((bitField0_ & 0x00000008) == 0x00000008)) {
5467              size += com.google.protobuf.CodedOutputStream
5468                .computeMessageSize(4, varargElementType_);
5469            }
5470            memoizedSerializedSize = size;
5471            return size;
5472          }
5473          
5474          private static final long serialVersionUID = 0L;
5475          @java.lang.Override
5476          protected java.lang.Object writeReplace()
5477              throws java.io.ObjectStreamException {
5478            return super.writeReplace();
5479          }
5480          
5481          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
5482              com.google.protobuf.ByteString data)
5483              throws com.google.protobuf.InvalidProtocolBufferException {
5484            return newBuilder().mergeFrom(data).buildParsed();
5485          }
5486          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
5487              com.google.protobuf.ByteString data,
5488              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5489              throws com.google.protobuf.InvalidProtocolBufferException {
5490            return newBuilder().mergeFrom(data, extensionRegistry)
5491                     .buildParsed();
5492          }
5493          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(byte[] data)
5494              throws com.google.protobuf.InvalidProtocolBufferException {
5495            return newBuilder().mergeFrom(data).buildParsed();
5496          }
5497          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
5498              byte[] data,
5499              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5500              throws com.google.protobuf.InvalidProtocolBufferException {
5501            return newBuilder().mergeFrom(data, extensionRegistry)
5502                     .buildParsed();
5503          }
5504          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(java.io.InputStream input)
5505              throws java.io.IOException {
5506            return newBuilder().mergeFrom(input).buildParsed();
5507          }
5508          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
5509              java.io.InputStream input,
5510              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5511              throws java.io.IOException {
5512            return newBuilder().mergeFrom(input, extensionRegistry)
5513                     .buildParsed();
5514          }
5515          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseDelimitedFrom(java.io.InputStream input)
5516              throws java.io.IOException {
5517            Builder builder = newBuilder();
5518            if (builder.mergeDelimitedFrom(input)) {
5519              return builder.buildParsed();
5520            } else {
5521              return null;
5522            }
5523          }
5524          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseDelimitedFrom(
5525              java.io.InputStream input,
5526              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5527              throws java.io.IOException {
5528            Builder builder = newBuilder();
5529            if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
5530              return builder.buildParsed();
5531            } else {
5532              return null;
5533            }
5534          }
5535          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
5536              com.google.protobuf.CodedInputStream input)
5537              throws java.io.IOException {
5538            return newBuilder().mergeFrom(input).buildParsed();
5539          }
5540          public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter parseFrom(
5541              com.google.protobuf.CodedInputStream input,
5542              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5543              throws java.io.IOException {
5544            return newBuilder().mergeFrom(input, extensionRegistry)
5545                     .buildParsed();
5546          }
5547          
5548          public static Builder newBuilder() { return Builder.create(); }
5549          public Builder newBuilderForType() { return newBuilder(); }
5550          public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter prototype) {
5551            return newBuilder().mergeFrom(prototype);
5552          }
5553          public Builder toBuilder() { return newBuilder(this); }
5554          
5555          public static final class Builder extends
5556              com.google.protobuf.GeneratedMessageLite.Builder<
5557                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter, Builder>
5558              implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameterOrBuilder {
5559            // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.newBuilder()
5560            private Builder() {
5561              maybeForceBuilderInitialization();
5562            }
5563            
5564            private void maybeForceBuilderInitialization() {
5565            }
5566            private static Builder create() {
5567              return new Builder();
5568            }
5569            
5570            public Builder clear() {
5571              super.clear();
5572              flags_ = 0;
5573              bitField0_ = (bitField0_ & ~0x00000001);
5574              name_ = 0;
5575              bitField0_ = (bitField0_ & ~0x00000002);
5576              type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
5577              bitField0_ = (bitField0_ & ~0x00000004);
5578              varargElementType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
5579              bitField0_ = (bitField0_ & ~0x00000008);
5580              return this;
5581            }
5582            
5583            public Builder clone() {
5584              return create().mergeFrom(buildPartial());
5585            }
5586            
5587            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter getDefaultInstanceForType() {
5588              return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.getDefaultInstance();
5589            }
5590            
5591            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter build() {
5592              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter result = buildPartial();
5593              if (!result.isInitialized()) {
5594                throw newUninitializedMessageException(result);
5595              }
5596              return result;
5597            }
5598            
5599            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter buildParsed()
5600                throws com.google.protobuf.InvalidProtocolBufferException {
5601              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter result = buildPartial();
5602              if (!result.isInitialized()) {
5603                throw newUninitializedMessageException(
5604                  result).asInvalidProtocolBufferException();
5605              }
5606              return result;
5607            }
5608            
5609            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter buildPartial() {
5610              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter(this);
5611              int from_bitField0_ = bitField0_;
5612              int to_bitField0_ = 0;
5613              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
5614                to_bitField0_ |= 0x00000001;
5615              }
5616              result.flags_ = flags_;
5617              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
5618                to_bitField0_ |= 0x00000002;
5619              }
5620              result.name_ = name_;
5621              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
5622                to_bitField0_ |= 0x00000004;
5623              }
5624              result.type_ = type_;
5625              if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
5626                to_bitField0_ |= 0x00000008;
5627              }
5628              result.varargElementType_ = varargElementType_;
5629              result.bitField0_ = to_bitField0_;
5630              return result;
5631            }
5632            
5633            public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter other) {
5634              if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.getDefaultInstance()) return this;
5635              if (other.hasFlags()) {
5636                setFlags(other.getFlags());
5637              }
5638              if (other.hasName()) {
5639                setName(other.getName());
5640              }
5641              if (other.hasType()) {
5642                mergeType(other.getType());
5643              }
5644              if (other.hasVarargElementType()) {
5645                mergeVarargElementType(other.getVarargElementType());
5646              }
5647              return this;
5648            }
5649            
5650            public final boolean isInitialized() {
5651              if (!hasName()) {
5652                
5653                return false;
5654              }
5655              if (!hasType()) {
5656                
5657                return false;
5658              }
5659              if (!getType().isInitialized()) {
5660                
5661                return false;
5662              }
5663              if (hasVarargElementType()) {
5664                if (!getVarargElementType().isInitialized()) {
5665                  
5666                  return false;
5667                }
5668              }
5669              return true;
5670            }
5671            
5672            public Builder mergeFrom(
5673                com.google.protobuf.CodedInputStream input,
5674                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5675                throws java.io.IOException {
5676              while (true) {
5677                int tag = input.readTag();
5678                switch (tag) {
5679                  case 0:
5680                    
5681                    return this;
5682                  default: {
5683                    if (!parseUnknownField(input, extensionRegistry, tag)) {
5684                      
5685                      return this;
5686                    }
5687                    break;
5688                  }
5689                  case 8: {
5690                    bitField0_ |= 0x00000001;
5691                    flags_ = input.readInt32();
5692                    break;
5693                  }
5694                  case 16: {
5695                    bitField0_ |= 0x00000002;
5696                    name_ = input.readInt32();
5697                    break;
5698                  }
5699                  case 26: {
5700                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder();
5701                    if (hasType()) {
5702                      subBuilder.mergeFrom(getType());
5703                    }
5704                    input.readMessage(subBuilder, extensionRegistry);
5705                    setType(subBuilder.buildPartial());
5706                    break;
5707                  }
5708                  case 34: {
5709                    org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder();
5710                    if (hasVarargElementType()) {
5711                      subBuilder.mergeFrom(getVarargElementType());
5712                    }
5713                    input.readMessage(subBuilder, extensionRegistry);
5714                    setVarargElementType(subBuilder.buildPartial());
5715                    break;
5716                  }
5717                }
5718              }
5719            }
5720            
5721            private int bitField0_;
5722            
5723            // optional int32 flags = 1;
5724            private int flags_ ;
5725            public boolean hasFlags() {
5726              return ((bitField0_ & 0x00000001) == 0x00000001);
5727            }
5728            public int getFlags() {
5729              return flags_;
5730            }
5731            public Builder setFlags(int value) {
5732              bitField0_ |= 0x00000001;
5733              flags_ = value;
5734              
5735              return this;
5736            }
5737            public Builder clearFlags() {
5738              bitField0_ = (bitField0_ & ~0x00000001);
5739              flags_ = 0;
5740              
5741              return this;
5742            }
5743            
5744            // required int32 name = 2;
5745            private int name_ ;
5746            public boolean hasName() {
5747              return ((bitField0_ & 0x00000002) == 0x00000002);
5748            }
5749            public int getName() {
5750              return name_;
5751            }
5752            public Builder setName(int value) {
5753              bitField0_ |= 0x00000002;
5754              name_ = value;
5755              
5756              return this;
5757            }
5758            public Builder clearName() {
5759              bitField0_ = (bitField0_ & ~0x00000002);
5760              name_ = 0;
5761              
5762              return this;
5763            }
5764            
5765            // required .org.jetbrains.jet.descriptors.serialization.Type type = 3;
5766            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
5767            public boolean hasType() {
5768              return ((bitField0_ & 0x00000004) == 0x00000004);
5769            }
5770            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getType() {
5771              return type_;
5772            }
5773            public Builder setType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
5774              if (value == null) {
5775                throw new NullPointerException();
5776              }
5777              type_ = value;
5778              
5779              bitField0_ |= 0x00000004;
5780              return this;
5781            }
5782            public Builder setType(
5783                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
5784              type_ = builderForValue.build();
5785              
5786              bitField0_ |= 0x00000004;
5787              return this;
5788            }
5789            public Builder mergeType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
5790              if (((bitField0_ & 0x00000004) == 0x00000004) &&
5791                  type_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) {
5792                type_ =
5793                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder(type_).mergeFrom(value).buildPartial();
5794              } else {
5795                type_ = value;
5796              }
5797              
5798              bitField0_ |= 0x00000004;
5799              return this;
5800            }
5801            public Builder clearType() {
5802              type_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
5803              
5804              bitField0_ = (bitField0_ & ~0x00000004);
5805              return this;
5806            }
5807            
5808            // optional .org.jetbrains.jet.descriptors.serialization.Type vararg_element_type = 4;
5809            private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type varargElementType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
5810            public boolean hasVarargElementType() {
5811              return ((bitField0_ & 0x00000008) == 0x00000008);
5812            }
5813            public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getVarargElementType() {
5814              return varargElementType_;
5815            }
5816            public Builder setVarargElementType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
5817              if (value == null) {
5818                throw new NullPointerException();
5819              }
5820              varargElementType_ = value;
5821              
5822              bitField0_ |= 0x00000008;
5823              return this;
5824            }
5825            public Builder setVarargElementType(
5826                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
5827              varargElementType_ = builderForValue.build();
5828              
5829              bitField0_ |= 0x00000008;
5830              return this;
5831            }
5832            public Builder mergeVarargElementType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
5833              if (((bitField0_ & 0x00000008) == 0x00000008) &&
5834                  varargElementType_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) {
5835                varargElementType_ =
5836                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder(varargElementType_).mergeFrom(value).buildPartial();
5837              } else {
5838                varargElementType_ = value;
5839              }
5840              
5841              bitField0_ |= 0x00000008;
5842              return this;
5843            }
5844            public Builder clearVarargElementType() {
5845              varargElementType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
5846              
5847              bitField0_ = (bitField0_ & ~0x00000008);
5848              return this;
5849            }
5850            
5851            // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter)
5852          }
5853          
5854          static {
5855            defaultInstance = new ValueParameter(true);
5856            defaultInstance.initFields();
5857          }
5858          
5859          // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter)
5860        }
5861        
5862        private int bitField0_;
5863        // optional int32 flags = 1;
5864        public static final int FLAGS_FIELD_NUMBER = 1;
5865        private int flags_;
5866        public boolean hasFlags() {
5867          return ((bitField0_ & 0x00000001) == 0x00000001);
5868        }
5869        public int getFlags() {
5870          return flags_;
5871        }
5872        
5873        // optional string extra_visibility = 2;
5874        public static final int EXTRA_VISIBILITY_FIELD_NUMBER = 2;
5875        private java.lang.Object extraVisibility_;
5876        public boolean hasExtraVisibility() {
5877          return ((bitField0_ & 0x00000002) == 0x00000002);
5878        }
5879        public String getExtraVisibility() {
5880          java.lang.Object ref = extraVisibility_;
5881          if (ref instanceof String) {
5882            return (String) ref;
5883          } else {
5884            com.google.protobuf.ByteString bs = 
5885                (com.google.protobuf.ByteString) ref;
5886            String s = bs.toStringUtf8();
5887            if (com.google.protobuf.Internal.isValidUtf8(bs)) {
5888              extraVisibility_ = s;
5889            }
5890            return s;
5891          }
5892        }
5893        private com.google.protobuf.ByteString getExtraVisibilityBytes() {
5894          java.lang.Object ref = extraVisibility_;
5895          if (ref instanceof String) {
5896            com.google.protobuf.ByteString b = 
5897                com.google.protobuf.ByteString.copyFromUtf8((String) ref);
5898            extraVisibility_ = b;
5899            return b;
5900          } else {
5901            return (com.google.protobuf.ByteString) ref;
5902          }
5903        }
5904        
5905        // optional int32 getter_flags = 9;
5906        public static final int GETTER_FLAGS_FIELD_NUMBER = 9;
5907        private int getterFlags_;
5908        public boolean hasGetterFlags() {
5909          return ((bitField0_ & 0x00000004) == 0x00000004);
5910        }
5911        public int getGetterFlags() {
5912          return getterFlags_;
5913        }
5914        
5915        // optional int32 setter_flags = 10;
5916        public static final int SETTER_FLAGS_FIELD_NUMBER = 10;
5917        private int setterFlags_;
5918        public boolean hasSetterFlags() {
5919          return ((bitField0_ & 0x00000008) == 0x00000008);
5920        }
5921        public int getSetterFlags() {
5922          return setterFlags_;
5923        }
5924        
5925        // optional int32 setter_parameter_name = 11;
5926        public static final int SETTER_PARAMETER_NAME_FIELD_NUMBER = 11;
5927        private int setterParameterName_;
5928        public boolean hasSetterParameterName() {
5929          return ((bitField0_ & 0x00000010) == 0x00000010);
5930        }
5931        public int getSetterParameterName() {
5932          return setterParameterName_;
5933        }
5934        
5935        // repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;
5936        public static final int TYPE_PARAMETER_FIELD_NUMBER = 4;
5937        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> typeParameter_;
5938        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
5939          return typeParameter_;
5940        }
5941        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameterOrBuilder> 
5942            getTypeParameterOrBuilderList() {
5943          return typeParameter_;
5944        }
5945        public int getTypeParameterCount() {
5946          return typeParameter_.size();
5947        }
5948        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
5949          return typeParameter_.get(index);
5950        }
5951        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameterOrBuilder getTypeParameterOrBuilder(
5952            int index) {
5953          return typeParameter_.get(index);
5954        }
5955        
5956        // optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;
5957        public static final int RECEIVER_TYPE_FIELD_NUMBER = 5;
5958        private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type receiverType_;
5959        public boolean hasReceiverType() {
5960          return ((bitField0_ & 0x00000020) == 0x00000020);
5961        }
5962        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReceiverType() {
5963          return receiverType_;
5964        }
5965        
5966        // required int32 name = 6;
5967        public static final int NAME_FIELD_NUMBER = 6;
5968        private int name_;
5969        public boolean hasName() {
5970          return ((bitField0_ & 0x00000040) == 0x00000040);
5971        }
5972        public int getName() {
5973          return name_;
5974        }
5975        
5976        // repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;
5977        public static final int VALUE_PARAMETER_FIELD_NUMBER = 7;
5978        private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> valueParameter_;
5979        public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> getValueParameterList() {
5980          return valueParameter_;
5981        }
5982        public java.util.List<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameterOrBuilder> 
5983            getValueParameterOrBuilderList() {
5984          return valueParameter_;
5985        }
5986        public int getValueParameterCount() {
5987          return valueParameter_.size();
5988        }
5989        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index) {
5990          return valueParameter_.get(index);
5991        }
5992        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameterOrBuilder getValueParameterOrBuilder(
5993            int index) {
5994          return valueParameter_.get(index);
5995        }
5996        
5997        // required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;
5998        public static final int RETURN_TYPE_FIELD_NUMBER = 8;
5999        private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type returnType_;
6000        public boolean hasReturnType() {
6001          return ((bitField0_ & 0x00000080) == 0x00000080);
6002        }
6003        public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReturnType() {
6004          return returnType_;
6005        }
6006        
6007        private void initFields() {
6008          flags_ = 0;
6009          extraVisibility_ = "";
6010          getterFlags_ = 0;
6011          setterFlags_ = 0;
6012          setterParameterName_ = 0;
6013          typeParameter_ = java.util.Collections.emptyList();
6014          receiverType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
6015          name_ = 0;
6016          valueParameter_ = java.util.Collections.emptyList();
6017          returnType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
6018        }
6019        private byte memoizedIsInitialized = -1;
6020        public final boolean isInitialized() {
6021          byte isInitialized = memoizedIsInitialized;
6022          if (isInitialized != -1) return isInitialized == 1;
6023          
6024          if (!hasName()) {
6025            memoizedIsInitialized = 0;
6026            return false;
6027          }
6028          if (!hasReturnType()) {
6029            memoizedIsInitialized = 0;
6030            return false;
6031          }
6032          for (int i = 0; i < getTypeParameterCount(); i++) {
6033            if (!getTypeParameter(i).isInitialized()) {
6034              memoizedIsInitialized = 0;
6035              return false;
6036            }
6037          }
6038          if (hasReceiverType()) {
6039            if (!getReceiverType().isInitialized()) {
6040              memoizedIsInitialized = 0;
6041              return false;
6042            }
6043          }
6044          for (int i = 0; i < getValueParameterCount(); i++) {
6045            if (!getValueParameter(i).isInitialized()) {
6046              memoizedIsInitialized = 0;
6047              return false;
6048            }
6049          }
6050          if (!getReturnType().isInitialized()) {
6051            memoizedIsInitialized = 0;
6052            return false;
6053          }
6054          if (!extensionsAreInitialized()) {
6055            memoizedIsInitialized = 0;
6056            return false;
6057          }
6058          memoizedIsInitialized = 1;
6059          return true;
6060        }
6061        
6062        public void writeTo(com.google.protobuf.CodedOutputStream output)
6063                            throws java.io.IOException {
6064          getSerializedSize();
6065          com.google.protobuf.GeneratedMessageLite
6066            .ExtendableMessage<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable>.ExtensionWriter extensionWriter =
6067              newExtensionWriter();
6068          if (((bitField0_ & 0x00000001) == 0x00000001)) {
6069            output.writeInt32(1, flags_);
6070          }
6071          if (((bitField0_ & 0x00000002) == 0x00000002)) {
6072            output.writeBytes(2, getExtraVisibilityBytes());
6073          }
6074          for (int i = 0; i < typeParameter_.size(); i++) {
6075            output.writeMessage(4, typeParameter_.get(i));
6076          }
6077          if (((bitField0_ & 0x00000020) == 0x00000020)) {
6078            output.writeMessage(5, receiverType_);
6079          }
6080          if (((bitField0_ & 0x00000040) == 0x00000040)) {
6081            output.writeInt32(6, name_);
6082          }
6083          for (int i = 0; i < valueParameter_.size(); i++) {
6084            output.writeMessage(7, valueParameter_.get(i));
6085          }
6086          if (((bitField0_ & 0x00000080) == 0x00000080)) {
6087            output.writeMessage(8, returnType_);
6088          }
6089          if (((bitField0_ & 0x00000004) == 0x00000004)) {
6090            output.writeInt32(9, getterFlags_);
6091          }
6092          if (((bitField0_ & 0x00000008) == 0x00000008)) {
6093            output.writeInt32(10, setterFlags_);
6094          }
6095          if (((bitField0_ & 0x00000010) == 0x00000010)) {
6096            output.writeInt32(11, setterParameterName_);
6097          }
6098          extensionWriter.writeUntil(200, output);
6099        }
6100        
6101        private int memoizedSerializedSize = -1;
6102        public int getSerializedSize() {
6103          int size = memoizedSerializedSize;
6104          if (size != -1) return size;
6105        
6106          size = 0;
6107          if (((bitField0_ & 0x00000001) == 0x00000001)) {
6108            size += com.google.protobuf.CodedOutputStream
6109              .computeInt32Size(1, flags_);
6110          }
6111          if (((bitField0_ & 0x00000002) == 0x00000002)) {
6112            size += com.google.protobuf.CodedOutputStream
6113              .computeBytesSize(2, getExtraVisibilityBytes());
6114          }
6115          for (int i = 0; i < typeParameter_.size(); i++) {
6116            size += com.google.protobuf.CodedOutputStream
6117              .computeMessageSize(4, typeParameter_.get(i));
6118          }
6119          if (((bitField0_ & 0x00000020) == 0x00000020)) {
6120            size += com.google.protobuf.CodedOutputStream
6121              .computeMessageSize(5, receiverType_);
6122          }
6123          if (((bitField0_ & 0x00000040) == 0x00000040)) {
6124            size += com.google.protobuf.CodedOutputStream
6125              .computeInt32Size(6, name_);
6126          }
6127          for (int i = 0; i < valueParameter_.size(); i++) {
6128            size += com.google.protobuf.CodedOutputStream
6129              .computeMessageSize(7, valueParameter_.get(i));
6130          }
6131          if (((bitField0_ & 0x00000080) == 0x00000080)) {
6132            size += com.google.protobuf.CodedOutputStream
6133              .computeMessageSize(8, returnType_);
6134          }
6135          if (((bitField0_ & 0x00000004) == 0x00000004)) {
6136            size += com.google.protobuf.CodedOutputStream
6137              .computeInt32Size(9, getterFlags_);
6138          }
6139          if (((bitField0_ & 0x00000008) == 0x00000008)) {
6140            size += com.google.protobuf.CodedOutputStream
6141              .computeInt32Size(10, setterFlags_);
6142          }
6143          if (((bitField0_ & 0x00000010) == 0x00000010)) {
6144            size += com.google.protobuf.CodedOutputStream
6145              .computeInt32Size(11, setterParameterName_);
6146          }
6147          size += extensionsSerializedSize();
6148          memoizedSerializedSize = size;
6149          return size;
6150        }
6151        
6152        private static final long serialVersionUID = 0L;
6153        @java.lang.Override
6154        protected java.lang.Object writeReplace()
6155            throws java.io.ObjectStreamException {
6156          return super.writeReplace();
6157        }
6158        
6159        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
6160            com.google.protobuf.ByteString data)
6161            throws com.google.protobuf.InvalidProtocolBufferException {
6162          return newBuilder().mergeFrom(data).buildParsed();
6163        }
6164        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
6165            com.google.protobuf.ByteString data,
6166            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6167            throws com.google.protobuf.InvalidProtocolBufferException {
6168          return newBuilder().mergeFrom(data, extensionRegistry)
6169                   .buildParsed();
6170        }
6171        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(byte[] data)
6172            throws com.google.protobuf.InvalidProtocolBufferException {
6173          return newBuilder().mergeFrom(data).buildParsed();
6174        }
6175        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
6176            byte[] data,
6177            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6178            throws com.google.protobuf.InvalidProtocolBufferException {
6179          return newBuilder().mergeFrom(data, extensionRegistry)
6180                   .buildParsed();
6181        }
6182        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(java.io.InputStream input)
6183            throws java.io.IOException {
6184          return newBuilder().mergeFrom(input).buildParsed();
6185        }
6186        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
6187            java.io.InputStream input,
6188            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6189            throws java.io.IOException {
6190          return newBuilder().mergeFrom(input, extensionRegistry)
6191                   .buildParsed();
6192        }
6193        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseDelimitedFrom(java.io.InputStream input)
6194            throws java.io.IOException {
6195          Builder builder = newBuilder();
6196          if (builder.mergeDelimitedFrom(input)) {
6197            return builder.buildParsed();
6198          } else {
6199            return null;
6200          }
6201        }
6202        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseDelimitedFrom(
6203            java.io.InputStream input,
6204            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6205            throws java.io.IOException {
6206          Builder builder = newBuilder();
6207          if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
6208            return builder.buildParsed();
6209          } else {
6210            return null;
6211          }
6212        }
6213        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
6214            com.google.protobuf.CodedInputStream input)
6215            throws java.io.IOException {
6216          return newBuilder().mergeFrom(input).buildParsed();
6217        }
6218        public static org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable parseFrom(
6219            com.google.protobuf.CodedInputStream input,
6220            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6221            throws java.io.IOException {
6222          return newBuilder().mergeFrom(input, extensionRegistry)
6223                   .buildParsed();
6224        }
6225        
6226        public static Builder newBuilder() { return Builder.create(); }
6227        public Builder newBuilderForType() { return newBuilder(); }
6228        public static Builder newBuilder(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable prototype) {
6229          return newBuilder().mergeFrom(prototype);
6230        }
6231        public Builder toBuilder() { return newBuilder(this); }
6232        
6233        public static final class Builder extends
6234            com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<
6235              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable, Builder> implements org.jetbrains.jet.descriptors.serialization.ProtoBuf.CallableOrBuilder {
6236          // Construct using org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.newBuilder()
6237          private Builder() {
6238            maybeForceBuilderInitialization();
6239          }
6240          
6241          private void maybeForceBuilderInitialization() {
6242          }
6243          private static Builder create() {
6244            return new Builder();
6245          }
6246          
6247          public Builder clear() {
6248            super.clear();
6249            flags_ = 0;
6250            bitField0_ = (bitField0_ & ~0x00000001);
6251            extraVisibility_ = "";
6252            bitField0_ = (bitField0_ & ~0x00000002);
6253            getterFlags_ = 0;
6254            bitField0_ = (bitField0_ & ~0x00000004);
6255            setterFlags_ = 0;
6256            bitField0_ = (bitField0_ & ~0x00000008);
6257            setterParameterName_ = 0;
6258            bitField0_ = (bitField0_ & ~0x00000010);
6259            typeParameter_ = java.util.Collections.emptyList();
6260            bitField0_ = (bitField0_ & ~0x00000020);
6261            receiverType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
6262            bitField0_ = (bitField0_ & ~0x00000040);
6263            name_ = 0;
6264            bitField0_ = (bitField0_ & ~0x00000080);
6265            valueParameter_ = java.util.Collections.emptyList();
6266            bitField0_ = (bitField0_ & ~0x00000100);
6267            returnType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
6268            bitField0_ = (bitField0_ & ~0x00000200);
6269            return this;
6270          }
6271          
6272          public Builder clone() {
6273            return create().mergeFrom(buildPartial());
6274          }
6275          
6276          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable getDefaultInstanceForType() {
6277            return org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance();
6278          }
6279          
6280          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable build() {
6281            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable result = buildPartial();
6282            if (!result.isInitialized()) {
6283              throw newUninitializedMessageException(result);
6284            }
6285            return result;
6286          }
6287          
6288          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable buildParsed()
6289              throws com.google.protobuf.InvalidProtocolBufferException {
6290            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable result = buildPartial();
6291            if (!result.isInitialized()) {
6292              throw newUninitializedMessageException(
6293                result).asInvalidProtocolBufferException();
6294            }
6295            return result;
6296          }
6297          
6298          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable buildPartial() {
6299            org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable result = new org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable(this);
6300            int from_bitField0_ = bitField0_;
6301            int to_bitField0_ = 0;
6302            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
6303              to_bitField0_ |= 0x00000001;
6304            }
6305            result.flags_ = flags_;
6306            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
6307              to_bitField0_ |= 0x00000002;
6308            }
6309            result.extraVisibility_ = extraVisibility_;
6310            if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
6311              to_bitField0_ |= 0x00000004;
6312            }
6313            result.getterFlags_ = getterFlags_;
6314            if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
6315              to_bitField0_ |= 0x00000008;
6316            }
6317            result.setterFlags_ = setterFlags_;
6318            if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
6319              to_bitField0_ |= 0x00000010;
6320            }
6321            result.setterParameterName_ = setterParameterName_;
6322            if (((bitField0_ & 0x00000020) == 0x00000020)) {
6323              typeParameter_ = java.util.Collections.unmodifiableList(typeParameter_);
6324              bitField0_ = (bitField0_ & ~0x00000020);
6325            }
6326            result.typeParameter_ = typeParameter_;
6327            if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
6328              to_bitField0_ |= 0x00000020;
6329            }
6330            result.receiverType_ = receiverType_;
6331            if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
6332              to_bitField0_ |= 0x00000040;
6333            }
6334            result.name_ = name_;
6335            if (((bitField0_ & 0x00000100) == 0x00000100)) {
6336              valueParameter_ = java.util.Collections.unmodifiableList(valueParameter_);
6337              bitField0_ = (bitField0_ & ~0x00000100);
6338            }
6339            result.valueParameter_ = valueParameter_;
6340            if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
6341              to_bitField0_ |= 0x00000080;
6342            }
6343            result.returnType_ = returnType_;
6344            result.bitField0_ = to_bitField0_;
6345            return result;
6346          }
6347          
6348          public Builder mergeFrom(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable other) {
6349            if (other == org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.getDefaultInstance()) return this;
6350            if (other.hasFlags()) {
6351              setFlags(other.getFlags());
6352            }
6353            if (other.hasExtraVisibility()) {
6354              setExtraVisibility(other.getExtraVisibility());
6355            }
6356            if (other.hasGetterFlags()) {
6357              setGetterFlags(other.getGetterFlags());
6358            }
6359            if (other.hasSetterFlags()) {
6360              setSetterFlags(other.getSetterFlags());
6361            }
6362            if (other.hasSetterParameterName()) {
6363              setSetterParameterName(other.getSetterParameterName());
6364            }
6365            if (!other.typeParameter_.isEmpty()) {
6366              if (typeParameter_.isEmpty()) {
6367                typeParameter_ = other.typeParameter_;
6368                bitField0_ = (bitField0_ & ~0x00000020);
6369              } else {
6370                ensureTypeParameterIsMutable();
6371                typeParameter_.addAll(other.typeParameter_);
6372              }
6373              
6374            }
6375            if (other.hasReceiverType()) {
6376              mergeReceiverType(other.getReceiverType());
6377            }
6378            if (other.hasName()) {
6379              setName(other.getName());
6380            }
6381            if (!other.valueParameter_.isEmpty()) {
6382              if (valueParameter_.isEmpty()) {
6383                valueParameter_ = other.valueParameter_;
6384                bitField0_ = (bitField0_ & ~0x00000100);
6385              } else {
6386                ensureValueParameterIsMutable();
6387                valueParameter_.addAll(other.valueParameter_);
6388              }
6389              
6390            }
6391            if (other.hasReturnType()) {
6392              mergeReturnType(other.getReturnType());
6393            }
6394            this.mergeExtensionFields(other);
6395            return this;
6396          }
6397          
6398          public final boolean isInitialized() {
6399            if (!hasName()) {
6400              
6401              return false;
6402            }
6403            if (!hasReturnType()) {
6404              
6405              return false;
6406            }
6407            for (int i = 0; i < getTypeParameterCount(); i++) {
6408              if (!getTypeParameter(i).isInitialized()) {
6409                
6410                return false;
6411              }
6412            }
6413            if (hasReceiverType()) {
6414              if (!getReceiverType().isInitialized()) {
6415                
6416                return false;
6417              }
6418            }
6419            for (int i = 0; i < getValueParameterCount(); i++) {
6420              if (!getValueParameter(i).isInitialized()) {
6421                
6422                return false;
6423              }
6424            }
6425            if (!getReturnType().isInitialized()) {
6426              
6427              return false;
6428            }
6429            if (!extensionsAreInitialized()) {
6430              
6431              return false;
6432            }
6433            return true;
6434          }
6435          
6436          public Builder mergeFrom(
6437              com.google.protobuf.CodedInputStream input,
6438              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6439              throws java.io.IOException {
6440            while (true) {
6441              int tag = input.readTag();
6442              switch (tag) {
6443                case 0:
6444                  
6445                  return this;
6446                default: {
6447                  if (!parseUnknownField(input, extensionRegistry, tag)) {
6448                    
6449                    return this;
6450                  }
6451                  break;
6452                }
6453                case 8: {
6454                  bitField0_ |= 0x00000001;
6455                  flags_ = input.readInt32();
6456                  break;
6457                }
6458                case 18: {
6459                  bitField0_ |= 0x00000002;
6460                  extraVisibility_ = input.readBytes();
6461                  break;
6462                }
6463                case 34: {
6464                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder subBuilder = org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.newBuilder();
6465                  input.readMessage(subBuilder, extensionRegistry);
6466                  addTypeParameter(subBuilder.buildPartial());
6467                  break;
6468                }
6469                case 42: {
6470                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder();
6471                  if (hasReceiverType()) {
6472                    subBuilder.mergeFrom(getReceiverType());
6473                  }
6474                  input.readMessage(subBuilder, extensionRegistry);
6475                  setReceiverType(subBuilder.buildPartial());
6476                  break;
6477                }
6478                case 48: {
6479                  bitField0_ |= 0x00000080;
6480                  name_ = input.readInt32();
6481                  break;
6482                }
6483                case 58: {
6484                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.Builder subBuilder = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.newBuilder();
6485                  input.readMessage(subBuilder, extensionRegistry);
6486                  addValueParameter(subBuilder.buildPartial());
6487                  break;
6488                }
6489                case 66: {
6490                  org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder subBuilder = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder();
6491                  if (hasReturnType()) {
6492                    subBuilder.mergeFrom(getReturnType());
6493                  }
6494                  input.readMessage(subBuilder, extensionRegistry);
6495                  setReturnType(subBuilder.buildPartial());
6496                  break;
6497                }
6498                case 72: {
6499                  bitField0_ |= 0x00000004;
6500                  getterFlags_ = input.readInt32();
6501                  break;
6502                }
6503                case 80: {
6504                  bitField0_ |= 0x00000008;
6505                  setterFlags_ = input.readInt32();
6506                  break;
6507                }
6508                case 88: {
6509                  bitField0_ |= 0x00000010;
6510                  setterParameterName_ = input.readInt32();
6511                  break;
6512                }
6513              }
6514            }
6515          }
6516          
6517          private int bitField0_;
6518          
6519          // optional int32 flags = 1;
6520          private int flags_ ;
6521          public boolean hasFlags() {
6522            return ((bitField0_ & 0x00000001) == 0x00000001);
6523          }
6524          public int getFlags() {
6525            return flags_;
6526          }
6527          public Builder setFlags(int value) {
6528            bitField0_ |= 0x00000001;
6529            flags_ = value;
6530            
6531            return this;
6532          }
6533          public Builder clearFlags() {
6534            bitField0_ = (bitField0_ & ~0x00000001);
6535            flags_ = 0;
6536            
6537            return this;
6538          }
6539          
6540          // optional string extra_visibility = 2;
6541          private java.lang.Object extraVisibility_ = "";
6542          public boolean hasExtraVisibility() {
6543            return ((bitField0_ & 0x00000002) == 0x00000002);
6544          }
6545          public String getExtraVisibility() {
6546            java.lang.Object ref = extraVisibility_;
6547            if (!(ref instanceof String)) {
6548              String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
6549              extraVisibility_ = s;
6550              return s;
6551            } else {
6552              return (String) ref;
6553            }
6554          }
6555          public Builder setExtraVisibility(String value) {
6556            if (value == null) {
6557        throw new NullPointerException();
6558      }
6559      bitField0_ |= 0x00000002;
6560            extraVisibility_ = value;
6561            
6562            return this;
6563          }
6564          public Builder clearExtraVisibility() {
6565            bitField0_ = (bitField0_ & ~0x00000002);
6566            extraVisibility_ = getDefaultInstance().getExtraVisibility();
6567            
6568            return this;
6569          }
6570          void setExtraVisibility(com.google.protobuf.ByteString value) {
6571            bitField0_ |= 0x00000002;
6572            extraVisibility_ = value;
6573            
6574          }
6575          
6576          // optional int32 getter_flags = 9;
6577          private int getterFlags_ ;
6578          public boolean hasGetterFlags() {
6579            return ((bitField0_ & 0x00000004) == 0x00000004);
6580          }
6581          public int getGetterFlags() {
6582            return getterFlags_;
6583          }
6584          public Builder setGetterFlags(int value) {
6585            bitField0_ |= 0x00000004;
6586            getterFlags_ = value;
6587            
6588            return this;
6589          }
6590          public Builder clearGetterFlags() {
6591            bitField0_ = (bitField0_ & ~0x00000004);
6592            getterFlags_ = 0;
6593            
6594            return this;
6595          }
6596          
6597          // optional int32 setter_flags = 10;
6598          private int setterFlags_ ;
6599          public boolean hasSetterFlags() {
6600            return ((bitField0_ & 0x00000008) == 0x00000008);
6601          }
6602          public int getSetterFlags() {
6603            return setterFlags_;
6604          }
6605          public Builder setSetterFlags(int value) {
6606            bitField0_ |= 0x00000008;
6607            setterFlags_ = value;
6608            
6609            return this;
6610          }
6611          public Builder clearSetterFlags() {
6612            bitField0_ = (bitField0_ & ~0x00000008);
6613            setterFlags_ = 0;
6614            
6615            return this;
6616          }
6617          
6618          // optional int32 setter_parameter_name = 11;
6619          private int setterParameterName_ ;
6620          public boolean hasSetterParameterName() {
6621            return ((bitField0_ & 0x00000010) == 0x00000010);
6622          }
6623          public int getSetterParameterName() {
6624            return setterParameterName_;
6625          }
6626          public Builder setSetterParameterName(int value) {
6627            bitField0_ |= 0x00000010;
6628            setterParameterName_ = value;
6629            
6630            return this;
6631          }
6632          public Builder clearSetterParameterName() {
6633            bitField0_ = (bitField0_ & ~0x00000010);
6634            setterParameterName_ = 0;
6635            
6636            return this;
6637          }
6638          
6639          // repeated .org.jetbrains.jet.descriptors.serialization.TypeParameter type_parameter = 4;
6640          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> typeParameter_ =
6641            java.util.Collections.emptyList();
6642          private void ensureTypeParameterIsMutable() {
6643            if (!((bitField0_ & 0x00000020) == 0x00000020)) {
6644              typeParameter_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter>(typeParameter_);
6645              bitField0_ |= 0x00000020;
6646             }
6647          }
6648          
6649          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> getTypeParameterList() {
6650            return java.util.Collections.unmodifiableList(typeParameter_);
6651          }
6652          public int getTypeParameterCount() {
6653            return typeParameter_.size();
6654          }
6655          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter getTypeParameter(int index) {
6656            return typeParameter_.get(index);
6657          }
6658          public Builder setTypeParameter(
6659              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter value) {
6660            if (value == null) {
6661              throw new NullPointerException();
6662            }
6663            ensureTypeParameterIsMutable();
6664            typeParameter_.set(index, value);
6665            
6666            return this;
6667          }
6668          public Builder setTypeParameter(
6669              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
6670            ensureTypeParameterIsMutable();
6671            typeParameter_.set(index, builderForValue.build());
6672            
6673            return this;
6674          }
6675          public Builder addTypeParameter(org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter value) {
6676            if (value == null) {
6677              throw new NullPointerException();
6678            }
6679            ensureTypeParameterIsMutable();
6680            typeParameter_.add(value);
6681            
6682            return this;
6683          }
6684          public Builder addTypeParameter(
6685              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter value) {
6686            if (value == null) {
6687              throw new NullPointerException();
6688            }
6689            ensureTypeParameterIsMutable();
6690            typeParameter_.add(index, value);
6691            
6692            return this;
6693          }
6694          public Builder addTypeParameter(
6695              org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
6696            ensureTypeParameterIsMutable();
6697            typeParameter_.add(builderForValue.build());
6698            
6699            return this;
6700          }
6701          public Builder addTypeParameter(
6702              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter.Builder builderForValue) {
6703            ensureTypeParameterIsMutable();
6704            typeParameter_.add(index, builderForValue.build());
6705            
6706            return this;
6707          }
6708          public Builder addAllTypeParameter(
6709              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.TypeParameter> values) {
6710            ensureTypeParameterIsMutable();
6711            super.addAll(values, typeParameter_);
6712            
6713            return this;
6714          }
6715          public Builder clearTypeParameter() {
6716            typeParameter_ = java.util.Collections.emptyList();
6717            bitField0_ = (bitField0_ & ~0x00000020);
6718            
6719            return this;
6720          }
6721          public Builder removeTypeParameter(int index) {
6722            ensureTypeParameterIsMutable();
6723            typeParameter_.remove(index);
6724            
6725            return this;
6726          }
6727          
6728          // optional .org.jetbrains.jet.descriptors.serialization.Type receiver_type = 5;
6729          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type receiverType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
6730          public boolean hasReceiverType() {
6731            return ((bitField0_ & 0x00000040) == 0x00000040);
6732          }
6733          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReceiverType() {
6734            return receiverType_;
6735          }
6736          public Builder setReceiverType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
6737            if (value == null) {
6738              throw new NullPointerException();
6739            }
6740            receiverType_ = value;
6741            
6742            bitField0_ |= 0x00000040;
6743            return this;
6744          }
6745          public Builder setReceiverType(
6746              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
6747            receiverType_ = builderForValue.build();
6748            
6749            bitField0_ |= 0x00000040;
6750            return this;
6751          }
6752          public Builder mergeReceiverType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
6753            if (((bitField0_ & 0x00000040) == 0x00000040) &&
6754                receiverType_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) {
6755              receiverType_ =
6756                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder(receiverType_).mergeFrom(value).buildPartial();
6757            } else {
6758              receiverType_ = value;
6759            }
6760            
6761            bitField0_ |= 0x00000040;
6762            return this;
6763          }
6764          public Builder clearReceiverType() {
6765            receiverType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
6766            
6767            bitField0_ = (bitField0_ & ~0x00000040);
6768            return this;
6769          }
6770          
6771          // required int32 name = 6;
6772          private int name_ ;
6773          public boolean hasName() {
6774            return ((bitField0_ & 0x00000080) == 0x00000080);
6775          }
6776          public int getName() {
6777            return name_;
6778          }
6779          public Builder setName(int value) {
6780            bitField0_ |= 0x00000080;
6781            name_ = value;
6782            
6783            return this;
6784          }
6785          public Builder clearName() {
6786            bitField0_ = (bitField0_ & ~0x00000080);
6787            name_ = 0;
6788            
6789            return this;
6790          }
6791          
6792          // repeated .org.jetbrains.jet.descriptors.serialization.Callable.ValueParameter value_parameter = 7;
6793          private java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> valueParameter_ =
6794            java.util.Collections.emptyList();
6795          private void ensureValueParameterIsMutable() {
6796            if (!((bitField0_ & 0x00000100) == 0x00000100)) {
6797              valueParameter_ = new java.util.ArrayList<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter>(valueParameter_);
6798              bitField0_ |= 0x00000100;
6799             }
6800          }
6801          
6802          public java.util.List<org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> getValueParameterList() {
6803            return java.util.Collections.unmodifiableList(valueParameter_);
6804          }
6805          public int getValueParameterCount() {
6806            return valueParameter_.size();
6807          }
6808          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter getValueParameter(int index) {
6809            return valueParameter_.get(index);
6810          }
6811          public Builder setValueParameter(
6812              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter value) {
6813            if (value == null) {
6814              throw new NullPointerException();
6815            }
6816            ensureValueParameterIsMutable();
6817            valueParameter_.set(index, value);
6818            
6819            return this;
6820          }
6821          public Builder setValueParameter(
6822              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
6823            ensureValueParameterIsMutable();
6824            valueParameter_.set(index, builderForValue.build());
6825            
6826            return this;
6827          }
6828          public Builder addValueParameter(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter value) {
6829            if (value == null) {
6830              throw new NullPointerException();
6831            }
6832            ensureValueParameterIsMutable();
6833            valueParameter_.add(value);
6834            
6835            return this;
6836          }
6837          public Builder addValueParameter(
6838              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter value) {
6839            if (value == null) {
6840              throw new NullPointerException();
6841            }
6842            ensureValueParameterIsMutable();
6843            valueParameter_.add(index, value);
6844            
6845            return this;
6846          }
6847          public Builder addValueParameter(
6848              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
6849            ensureValueParameterIsMutable();
6850            valueParameter_.add(builderForValue.build());
6851            
6852            return this;
6853          }
6854          public Builder addValueParameter(
6855              int index, org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter.Builder builderForValue) {
6856            ensureValueParameterIsMutable();
6857            valueParameter_.add(index, builderForValue.build());
6858            
6859            return this;
6860          }
6861          public Builder addAllValueParameter(
6862              java.lang.Iterable<? extends org.jetbrains.jet.descriptors.serialization.ProtoBuf.Callable.ValueParameter> values) {
6863            ensureValueParameterIsMutable();
6864            super.addAll(values, valueParameter_);
6865            
6866            return this;
6867          }
6868          public Builder clearValueParameter() {
6869            valueParameter_ = java.util.Collections.emptyList();
6870            bitField0_ = (bitField0_ & ~0x00000100);
6871            
6872            return this;
6873          }
6874          public Builder removeValueParameter(int index) {
6875            ensureValueParameterIsMutable();
6876            valueParameter_.remove(index);
6877            
6878            return this;
6879          }
6880          
6881          // required .org.jetbrains.jet.descriptors.serialization.Type return_type = 8;
6882          private org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type returnType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
6883          public boolean hasReturnType() {
6884            return ((bitField0_ & 0x00000200) == 0x00000200);
6885          }
6886          public org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type getReturnType() {
6887            return returnType_;
6888          }
6889          public Builder setReturnType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
6890            if (value == null) {
6891              throw new NullPointerException();
6892            }
6893            returnType_ = value;
6894            
6895            bitField0_ |= 0x00000200;
6896            return this;
6897          }
6898          public Builder setReturnType(
6899              org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.Builder builderForValue) {
6900            returnType_ = builderForValue.build();
6901            
6902            bitField0_ |= 0x00000200;
6903            return this;
6904          }
6905          public Builder mergeReturnType(org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type value) {
6906            if (((bitField0_ & 0x00000200) == 0x00000200) &&
6907                returnType_ != org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance()) {
6908              returnType_ =
6909                org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.newBuilder(returnType_).mergeFrom(value).buildPartial();
6910            } else {
6911              returnType_ = value;
6912            }
6913            
6914            bitField0_ |= 0x00000200;
6915            return this;
6916          }
6917          public Builder clearReturnType() {
6918            returnType_ = org.jetbrains.jet.descriptors.serialization.ProtoBuf.Type.getDefaultInstance();
6919            
6920            bitField0_ = (bitField0_ & ~0x00000200);
6921            return this;
6922          }
6923          
6924          // @@protoc_insertion_point(builder_scope:org.jetbrains.jet.descriptors.serialization.Callable)
6925        }
6926        
6927        static {
6928          defaultInstance = new Callable(true);
6929          defaultInstance.initFields();
6930        }
6931        
6932        // @@protoc_insertion_point(class_scope:org.jetbrains.jet.descriptors.serialization.Callable)
6933      }
6934      
6935      
6936      static {
6937      }
6938      
6939      // @@protoc_insertion_point(outer_class_scope)
6940    }