// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: src/main/protobuf/desugar_deps.proto

package com.google.devtools.build.android.desugar.proto;

public final class DesugarDeps {
  private DesugarDeps() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }
  public interface DesugarDepsInfoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:bazel.tools.desugar.DesugarDepsInfo)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
     */
    java.util.List<com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency> 
        getAssumePresentList();
    /**
     * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
     */
    com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency getAssumePresent(int index);
    /**
     * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
     */
    int getAssumePresentCount();

    /**
     * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
     */
    java.util.List<com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency> 
        getMissingInterfaceList();
    /**
     * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
     */
    com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency getMissingInterface(int index);
    /**
     * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
     */
    int getMissingInterfaceCount();

    /**
     * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
     */
    java.util.List<com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails> 
        getInterfaceWithSupertypesList();
    /**
     * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
     */
    com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails getInterfaceWithSupertypes(int index);
    /**
     * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
     */
    int getInterfaceWithSupertypesCount();

    /**
     * <pre>
     * Next ID: 5
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
     */
    java.util.List<com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion> 
        getInterfaceWithCompanionList();
    /**
     * <pre>
     * Next ID: 5
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
     */
    com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion getInterfaceWithCompanion(int index);
    /**
     * <pre>
     * Next ID: 5
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
     */
    int getInterfaceWithCompanionCount();
  }
  /**
   * <pre>
   * Top-level message that describes a desugared Jar file.
   * </pre>
   *
   * Protobuf type {@code bazel.tools.desugar.DesugarDepsInfo}
   */
  public  static final class DesugarDepsInfo extends
      com.google.protobuf.GeneratedMessageLite<
          DesugarDepsInfo, DesugarDepsInfo.Builder> implements
      // @@protoc_insertion_point(message_implements:bazel.tools.desugar.DesugarDepsInfo)
      DesugarDepsInfoOrBuilder {
    private DesugarDepsInfo() {
      assumePresent_ = emptyProtobufList();
      missingInterface_ = emptyProtobufList();
      interfaceWithSupertypes_ = emptyProtobufList();
      interfaceWithCompanion_ = emptyProtobufList();
    }
    public static final int ASSUME_PRESENT_FIELD_NUMBER = 1;
    private com.google.protobuf.Internal.ProtobufList<com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency> assumePresent_;
    /**
     * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
     */
    public java.util.List<com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency> getAssumePresentList() {
      return assumePresent_;
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
     */
    public java.util.List<? extends com.google.devtools.build.android.desugar.proto.DesugarDeps.DependencyOrBuilder> 
        getAssumePresentOrBuilderList() {
      return assumePresent_;
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
     */
    public int getAssumePresentCount() {
      return assumePresent_.size();
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
     */
    public com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency getAssumePresent(int index) {
      return assumePresent_.get(index);
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
     */
    public com.google.devtools.build.android.desugar.proto.DesugarDeps.DependencyOrBuilder getAssumePresentOrBuilder(
        int index) {
      return assumePresent_.get(index);
    }
    private void ensureAssumePresentIsMutable() {
      if (!assumePresent_.isModifiable()) {
        assumePresent_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(assumePresent_);
       }
    }

    /**
     * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
     */
    private void setAssumePresent(
        int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency value) {
      if (value == null) {
        throw new NullPointerException();
      }
      ensureAssumePresentIsMutable();
      assumePresent_.set(index, value);
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
     */
    private void setAssumePresent(
        int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency.Builder builderForValue) {
      ensureAssumePresentIsMutable();
      assumePresent_.set(index, builderForValue.build());
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
     */
    private void addAssumePresent(com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency value) {
      if (value == null) {
        throw new NullPointerException();
      }
      ensureAssumePresentIsMutable();
      assumePresent_.add(value);
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
     */
    private void addAssumePresent(
        int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency value) {
      if (value == null) {
        throw new NullPointerException();
      }
      ensureAssumePresentIsMutable();
      assumePresent_.add(index, value);
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
     */
    private void addAssumePresent(
        com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency.Builder builderForValue) {
      ensureAssumePresentIsMutable();
      assumePresent_.add(builderForValue.build());
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
     */
    private void addAssumePresent(
        int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency.Builder builderForValue) {
      ensureAssumePresentIsMutable();
      assumePresent_.add(index, builderForValue.build());
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
     */
    private void addAllAssumePresent(
        java.lang.Iterable<? extends com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency> values) {
      ensureAssumePresentIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, assumePresent_);
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
     */
    private void clearAssumePresent() {
      assumePresent_ = emptyProtobufList();
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
     */
    private void removeAssumePresent(int index) {
      ensureAssumePresentIsMutable();
      assumePresent_.remove(index);
    }

    public static final int MISSING_INTERFACE_FIELD_NUMBER = 2;
    private com.google.protobuf.Internal.ProtobufList<com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency> missingInterface_;
    /**
     * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
     */
    public java.util.List<com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency> getMissingInterfaceList() {
      return missingInterface_;
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
     */
    public java.util.List<? extends com.google.devtools.build.android.desugar.proto.DesugarDeps.DependencyOrBuilder> 
        getMissingInterfaceOrBuilderList() {
      return missingInterface_;
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
     */
    public int getMissingInterfaceCount() {
      return missingInterface_.size();
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
     */
    public com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency getMissingInterface(int index) {
      return missingInterface_.get(index);
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
     */
    public com.google.devtools.build.android.desugar.proto.DesugarDeps.DependencyOrBuilder getMissingInterfaceOrBuilder(
        int index) {
      return missingInterface_.get(index);
    }
    private void ensureMissingInterfaceIsMutable() {
      if (!missingInterface_.isModifiable()) {
        missingInterface_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(missingInterface_);
       }
    }

    /**
     * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
     */
    private void setMissingInterface(
        int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency value) {
      if (value == null) {
        throw new NullPointerException();
      }
      ensureMissingInterfaceIsMutable();
      missingInterface_.set(index, value);
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
     */
    private void setMissingInterface(
        int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency.Builder builderForValue) {
      ensureMissingInterfaceIsMutable();
      missingInterface_.set(index, builderForValue.build());
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
     */
    private void addMissingInterface(com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency value) {
      if (value == null) {
        throw new NullPointerException();
      }
      ensureMissingInterfaceIsMutable();
      missingInterface_.add(value);
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
     */
    private void addMissingInterface(
        int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency value) {
      if (value == null) {
        throw new NullPointerException();
      }
      ensureMissingInterfaceIsMutable();
      missingInterface_.add(index, value);
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
     */
    private void addMissingInterface(
        com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency.Builder builderForValue) {
      ensureMissingInterfaceIsMutable();
      missingInterface_.add(builderForValue.build());
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
     */
    private void addMissingInterface(
        int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency.Builder builderForValue) {
      ensureMissingInterfaceIsMutable();
      missingInterface_.add(index, builderForValue.build());
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
     */
    private void addAllMissingInterface(
        java.lang.Iterable<? extends com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency> values) {
      ensureMissingInterfaceIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, missingInterface_);
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
     */
    private void clearMissingInterface() {
      missingInterface_ = emptyProtobufList();
    }
    /**
     * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
     */
    private void removeMissingInterface(int index) {
      ensureMissingInterfaceIsMutable();
      missingInterface_.remove(index);
    }

    public static final int INTERFACE_WITH_SUPERTYPES_FIELD_NUMBER = 3;
    private com.google.protobuf.Internal.ProtobufList<com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails> interfaceWithSupertypes_;
    /**
     * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
     */
    public java.util.List<com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails> getInterfaceWithSupertypesList() {
      return interfaceWithSupertypes_;
    }
    /**
     * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
     */
    public java.util.List<? extends com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetailsOrBuilder> 
        getInterfaceWithSupertypesOrBuilderList() {
      return interfaceWithSupertypes_;
    }
    /**
     * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
     */
    public int getInterfaceWithSupertypesCount() {
      return interfaceWithSupertypes_.size();
    }
    /**
     * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
     */
    public com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails getInterfaceWithSupertypes(int index) {
      return interfaceWithSupertypes_.get(index);
    }
    /**
     * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
     */
    public com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetailsOrBuilder getInterfaceWithSupertypesOrBuilder(
        int index) {
      return interfaceWithSupertypes_.get(index);
    }
    private void ensureInterfaceWithSupertypesIsMutable() {
      if (!interfaceWithSupertypes_.isModifiable()) {
        interfaceWithSupertypes_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(interfaceWithSupertypes_);
       }
    }

    /**
     * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
     */
    private void setInterfaceWithSupertypes(
        int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails value) {
      if (value == null) {
        throw new NullPointerException();
      }
      ensureInterfaceWithSupertypesIsMutable();
      interfaceWithSupertypes_.set(index, value);
    }
    /**
     * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
     */
    private void setInterfaceWithSupertypes(
        int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails.Builder builderForValue) {
      ensureInterfaceWithSupertypesIsMutable();
      interfaceWithSupertypes_.set(index, builderForValue.build());
    }
    /**
     * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
     */
    private void addInterfaceWithSupertypes(com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails value) {
      if (value == null) {
        throw new NullPointerException();
      }
      ensureInterfaceWithSupertypesIsMutable();
      interfaceWithSupertypes_.add(value);
    }
    /**
     * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
     */
    private void addInterfaceWithSupertypes(
        int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails value) {
      if (value == null) {
        throw new NullPointerException();
      }
      ensureInterfaceWithSupertypesIsMutable();
      interfaceWithSupertypes_.add(index, value);
    }
    /**
     * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
     */
    private void addInterfaceWithSupertypes(
        com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails.Builder builderForValue) {
      ensureInterfaceWithSupertypesIsMutable();
      interfaceWithSupertypes_.add(builderForValue.build());
    }
    /**
     * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
     */
    private void addInterfaceWithSupertypes(
        int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails.Builder builderForValue) {
      ensureInterfaceWithSupertypesIsMutable();
      interfaceWithSupertypes_.add(index, builderForValue.build());
    }
    /**
     * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
     */
    private void addAllInterfaceWithSupertypes(
        java.lang.Iterable<? extends com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails> values) {
      ensureInterfaceWithSupertypesIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, interfaceWithSupertypes_);
    }
    /**
     * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
     */
    private void clearInterfaceWithSupertypes() {
      interfaceWithSupertypes_ = emptyProtobufList();
    }
    /**
     * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
     */
    private void removeInterfaceWithSupertypes(int index) {
      ensureInterfaceWithSupertypesIsMutable();
      interfaceWithSupertypes_.remove(index);
    }

    public static final int INTERFACE_WITH_COMPANION_FIELD_NUMBER = 4;
    private com.google.protobuf.Internal.ProtobufList<com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion> interfaceWithCompanion_;
    /**
     * <pre>
     * Next ID: 5
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
     */
    public java.util.List<com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion> getInterfaceWithCompanionList() {
      return interfaceWithCompanion_;
    }
    /**
     * <pre>
     * Next ID: 5
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
     */
    public java.util.List<? extends com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanionOrBuilder> 
        getInterfaceWithCompanionOrBuilderList() {
      return interfaceWithCompanion_;
    }
    /**
     * <pre>
     * Next ID: 5
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
     */
    public int getInterfaceWithCompanionCount() {
      return interfaceWithCompanion_.size();
    }
    /**
     * <pre>
     * Next ID: 5
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
     */
    public com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion getInterfaceWithCompanion(int index) {
      return interfaceWithCompanion_.get(index);
    }
    /**
     * <pre>
     * Next ID: 5
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
     */
    public com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanionOrBuilder getInterfaceWithCompanionOrBuilder(
        int index) {
      return interfaceWithCompanion_.get(index);
    }
    private void ensureInterfaceWithCompanionIsMutable() {
      if (!interfaceWithCompanion_.isModifiable()) {
        interfaceWithCompanion_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(interfaceWithCompanion_);
       }
    }

    /**
     * <pre>
     * Next ID: 5
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
     */
    private void setInterfaceWithCompanion(
        int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion value) {
      if (value == null) {
        throw new NullPointerException();
      }
      ensureInterfaceWithCompanionIsMutable();
      interfaceWithCompanion_.set(index, value);
    }
    /**
     * <pre>
     * Next ID: 5
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
     */
    private void setInterfaceWithCompanion(
        int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion.Builder builderForValue) {
      ensureInterfaceWithCompanionIsMutable();
      interfaceWithCompanion_.set(index, builderForValue.build());
    }
    /**
     * <pre>
     * Next ID: 5
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
     */
    private void addInterfaceWithCompanion(com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion value) {
      if (value == null) {
        throw new NullPointerException();
      }
      ensureInterfaceWithCompanionIsMutable();
      interfaceWithCompanion_.add(value);
    }
    /**
     * <pre>
     * Next ID: 5
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
     */
    private void addInterfaceWithCompanion(
        int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion value) {
      if (value == null) {
        throw new NullPointerException();
      }
      ensureInterfaceWithCompanionIsMutable();
      interfaceWithCompanion_.add(index, value);
    }
    /**
     * <pre>
     * Next ID: 5
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
     */
    private void addInterfaceWithCompanion(
        com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion.Builder builderForValue) {
      ensureInterfaceWithCompanionIsMutable();
      interfaceWithCompanion_.add(builderForValue.build());
    }
    /**
     * <pre>
     * Next ID: 5
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
     */
    private void addInterfaceWithCompanion(
        int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion.Builder builderForValue) {
      ensureInterfaceWithCompanionIsMutable();
      interfaceWithCompanion_.add(index, builderForValue.build());
    }
    /**
     * <pre>
     * Next ID: 5
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
     */
    private void addAllInterfaceWithCompanion(
        java.lang.Iterable<? extends com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion> values) {
      ensureInterfaceWithCompanionIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, interfaceWithCompanion_);
    }
    /**
     * <pre>
     * Next ID: 5
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
     */
    private void clearInterfaceWithCompanion() {
      interfaceWithCompanion_ = emptyProtobufList();
    }
    /**
     * <pre>
     * Next ID: 5
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
     */
    private void removeInterfaceWithCompanion(int index) {
      ensureInterfaceWithCompanionIsMutable();
      interfaceWithCompanion_.remove(index);
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < assumePresent_.size(); i++) {
        output.writeMessage(1, assumePresent_.get(i));
      }
      for (int i = 0; i < missingInterface_.size(); i++) {
        output.writeMessage(2, missingInterface_.get(i));
      }
      for (int i = 0; i < interfaceWithSupertypes_.size(); i++) {
        output.writeMessage(3, interfaceWithSupertypes_.get(i));
      }
      for (int i = 0; i < interfaceWithCompanion_.size(); i++) {
        output.writeMessage(4, interfaceWithCompanion_.get(i));
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < assumePresent_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, assumePresent_.get(i));
      }
      for (int i = 0; i < missingInterface_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, missingInterface_.get(i));
      }
      for (int i = 0; i < interfaceWithSupertypes_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, interfaceWithSupertypes_.get(i));
      }
      for (int i = 0; i < interfaceWithCompanion_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, interfaceWithCompanion_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfo parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfo parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfo parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfo parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfo parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfo parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfo parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfo parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfo parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfo parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfo parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfo parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfo prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }

    /**
     * <pre>
     * Top-level message that describes a desugared Jar file.
     * </pre>
     *
     * Protobuf type {@code bazel.tools.desugar.DesugarDepsInfo}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfo, Builder> implements
        // @@protoc_insertion_point(builder_implements:bazel.tools.desugar.DesugarDepsInfo)
        com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfoOrBuilder {
      // Construct using com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfo.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
       */
      public java.util.List<com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency> getAssumePresentList() {
        return java.util.Collections.unmodifiableList(
            instance.getAssumePresentList());
      }
      /**
       * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
       */
      public int getAssumePresentCount() {
        return instance.getAssumePresentCount();
      }/**
       * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
       */
      public com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency getAssumePresent(int index) {
        return instance.getAssumePresent(index);
      }
      /**
       * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
       */
      public Builder setAssumePresent(
          int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency value) {
        copyOnWrite();
        instance.setAssumePresent(index, value);
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
       */
      public Builder setAssumePresent(
          int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency.Builder builderForValue) {
        copyOnWrite();
        instance.setAssumePresent(index, builderForValue);
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
       */
      public Builder addAssumePresent(com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency value) {
        copyOnWrite();
        instance.addAssumePresent(value);
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
       */
      public Builder addAssumePresent(
          int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency value) {
        copyOnWrite();
        instance.addAssumePresent(index, value);
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
       */
      public Builder addAssumePresent(
          com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency.Builder builderForValue) {
        copyOnWrite();
        instance.addAssumePresent(builderForValue);
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
       */
      public Builder addAssumePresent(
          int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency.Builder builderForValue) {
        copyOnWrite();
        instance.addAssumePresent(index, builderForValue);
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
       */
      public Builder addAllAssumePresent(
          java.lang.Iterable<? extends com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency> values) {
        copyOnWrite();
        instance.addAllAssumePresent(values);
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
       */
      public Builder clearAssumePresent() {
        copyOnWrite();
        instance.clearAssumePresent();
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.Dependency assume_present = 1;</code>
       */
      public Builder removeAssumePresent(int index) {
        copyOnWrite();
        instance.removeAssumePresent(index);
        return this;
      }

      /**
       * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
       */
      public java.util.List<com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency> getMissingInterfaceList() {
        return java.util.Collections.unmodifiableList(
            instance.getMissingInterfaceList());
      }
      /**
       * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
       */
      public int getMissingInterfaceCount() {
        return instance.getMissingInterfaceCount();
      }/**
       * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
       */
      public com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency getMissingInterface(int index) {
        return instance.getMissingInterface(index);
      }
      /**
       * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
       */
      public Builder setMissingInterface(
          int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency value) {
        copyOnWrite();
        instance.setMissingInterface(index, value);
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
       */
      public Builder setMissingInterface(
          int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency.Builder builderForValue) {
        copyOnWrite();
        instance.setMissingInterface(index, builderForValue);
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
       */
      public Builder addMissingInterface(com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency value) {
        copyOnWrite();
        instance.addMissingInterface(value);
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
       */
      public Builder addMissingInterface(
          int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency value) {
        copyOnWrite();
        instance.addMissingInterface(index, value);
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
       */
      public Builder addMissingInterface(
          com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency.Builder builderForValue) {
        copyOnWrite();
        instance.addMissingInterface(builderForValue);
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
       */
      public Builder addMissingInterface(
          int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency.Builder builderForValue) {
        copyOnWrite();
        instance.addMissingInterface(index, builderForValue);
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
       */
      public Builder addAllMissingInterface(
          java.lang.Iterable<? extends com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency> values) {
        copyOnWrite();
        instance.addAllMissingInterface(values);
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
       */
      public Builder clearMissingInterface() {
        copyOnWrite();
        instance.clearMissingInterface();
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.Dependency missing_interface = 2;</code>
       */
      public Builder removeMissingInterface(int index) {
        copyOnWrite();
        instance.removeMissingInterface(index);
        return this;
      }

      /**
       * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
       */
      public java.util.List<com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails> getInterfaceWithSupertypesList() {
        return java.util.Collections.unmodifiableList(
            instance.getInterfaceWithSupertypesList());
      }
      /**
       * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
       */
      public int getInterfaceWithSupertypesCount() {
        return instance.getInterfaceWithSupertypesCount();
      }/**
       * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
       */
      public com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails getInterfaceWithSupertypes(int index) {
        return instance.getInterfaceWithSupertypes(index);
      }
      /**
       * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
       */
      public Builder setInterfaceWithSupertypes(
          int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails value) {
        copyOnWrite();
        instance.setInterfaceWithSupertypes(index, value);
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
       */
      public Builder setInterfaceWithSupertypes(
          int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails.Builder builderForValue) {
        copyOnWrite();
        instance.setInterfaceWithSupertypes(index, builderForValue);
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
       */
      public Builder addInterfaceWithSupertypes(com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails value) {
        copyOnWrite();
        instance.addInterfaceWithSupertypes(value);
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
       */
      public Builder addInterfaceWithSupertypes(
          int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails value) {
        copyOnWrite();
        instance.addInterfaceWithSupertypes(index, value);
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
       */
      public Builder addInterfaceWithSupertypes(
          com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails.Builder builderForValue) {
        copyOnWrite();
        instance.addInterfaceWithSupertypes(builderForValue);
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
       */
      public Builder addInterfaceWithSupertypes(
          int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails.Builder builderForValue) {
        copyOnWrite();
        instance.addInterfaceWithSupertypes(index, builderForValue);
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
       */
      public Builder addAllInterfaceWithSupertypes(
          java.lang.Iterable<? extends com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails> values) {
        copyOnWrite();
        instance.addAllInterfaceWithSupertypes(values);
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
       */
      public Builder clearInterfaceWithSupertypes() {
        copyOnWrite();
        instance.clearInterfaceWithSupertypes();
        return this;
      }
      /**
       * <code>repeated .bazel.tools.desugar.InterfaceDetails interface_with_supertypes = 3;</code>
       */
      public Builder removeInterfaceWithSupertypes(int index) {
        copyOnWrite();
        instance.removeInterfaceWithSupertypes(index);
        return this;
      }

      /**
       * <pre>
       * Next ID: 5
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
       */
      public java.util.List<com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion> getInterfaceWithCompanionList() {
        return java.util.Collections.unmodifiableList(
            instance.getInterfaceWithCompanionList());
      }
      /**
       * <pre>
       * Next ID: 5
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
       */
      public int getInterfaceWithCompanionCount() {
        return instance.getInterfaceWithCompanionCount();
      }/**
       * <pre>
       * Next ID: 5
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
       */
      public com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion getInterfaceWithCompanion(int index) {
        return instance.getInterfaceWithCompanion(index);
      }
      /**
       * <pre>
       * Next ID: 5
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
       */
      public Builder setInterfaceWithCompanion(
          int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion value) {
        copyOnWrite();
        instance.setInterfaceWithCompanion(index, value);
        return this;
      }
      /**
       * <pre>
       * Next ID: 5
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
       */
      public Builder setInterfaceWithCompanion(
          int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion.Builder builderForValue) {
        copyOnWrite();
        instance.setInterfaceWithCompanion(index, builderForValue);
        return this;
      }
      /**
       * <pre>
       * Next ID: 5
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
       */
      public Builder addInterfaceWithCompanion(com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion value) {
        copyOnWrite();
        instance.addInterfaceWithCompanion(value);
        return this;
      }
      /**
       * <pre>
       * Next ID: 5
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
       */
      public Builder addInterfaceWithCompanion(
          int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion value) {
        copyOnWrite();
        instance.addInterfaceWithCompanion(index, value);
        return this;
      }
      /**
       * <pre>
       * Next ID: 5
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
       */
      public Builder addInterfaceWithCompanion(
          com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion.Builder builderForValue) {
        copyOnWrite();
        instance.addInterfaceWithCompanion(builderForValue);
        return this;
      }
      /**
       * <pre>
       * Next ID: 5
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
       */
      public Builder addInterfaceWithCompanion(
          int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion.Builder builderForValue) {
        copyOnWrite();
        instance.addInterfaceWithCompanion(index, builderForValue);
        return this;
      }
      /**
       * <pre>
       * Next ID: 5
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
       */
      public Builder addAllInterfaceWithCompanion(
          java.lang.Iterable<? extends com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion> values) {
        copyOnWrite();
        instance.addAllInterfaceWithCompanion(values);
        return this;
      }
      /**
       * <pre>
       * Next ID: 5
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
       */
      public Builder clearInterfaceWithCompanion() {
        copyOnWrite();
        instance.clearInterfaceWithCompanion();
        return this;
      }
      /**
       * <pre>
       * Next ID: 5
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.InterfaceWithCompanion interface_with_companion = 4;</code>
       */
      public Builder removeInterfaceWithCompanion(int index) {
        copyOnWrite();
        instance.removeInterfaceWithCompanion(index);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:bazel.tools.desugar.DesugarDepsInfo)
    }
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfo();
        }
        case IS_INITIALIZED: {
          return DEFAULT_INSTANCE;
        }
        case MAKE_IMMUTABLE: {
          assumePresent_.makeImmutable();
          missingInterface_.makeImmutable();
          interfaceWithSupertypes_.makeImmutable();
          interfaceWithCompanion_.makeImmutable();
          return null;
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case VISIT: {
          Visitor visitor = (Visitor) arg0;
          com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfo other = (com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfo) arg1;
          assumePresent_= visitor.visitList(assumePresent_, other.assumePresent_);
          missingInterface_= visitor.visitList(missingInterface_, other.missingInterface_);
          interfaceWithSupertypes_= visitor.visitList(interfaceWithSupertypes_, other.interfaceWithSupertypes_);
          interfaceWithCompanion_= visitor.visitList(interfaceWithCompanion_, other.interfaceWithCompanion_);
          if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor
              .INSTANCE) {
          }
          return this;
        }
        case MERGE_FROM_STREAM: {
          com.google.protobuf.CodedInputStream input =
              (com.google.protobuf.CodedInputStream) arg0;
          com.google.protobuf.ExtensionRegistryLite extensionRegistry =
              (com.google.protobuf.ExtensionRegistryLite) arg1;
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                default: {
                  if (!parseUnknownField(tag, input)) {
                    done = true;
                  }
                  break;
                }
                case 10: {
                  if (!assumePresent_.isModifiable()) {
                    assumePresent_ =
                        com.google.protobuf.GeneratedMessageLite.mutableCopy(assumePresent_);
                  }
                  assumePresent_.add(
                      input.readMessage(com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency.parser(), extensionRegistry));
                  break;
                }
                case 18: {
                  if (!missingInterface_.isModifiable()) {
                    missingInterface_ =
                        com.google.protobuf.GeneratedMessageLite.mutableCopy(missingInterface_);
                  }
                  missingInterface_.add(
                      input.readMessage(com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency.parser(), extensionRegistry));
                  break;
                }
                case 26: {
                  if (!interfaceWithSupertypes_.isModifiable()) {
                    interfaceWithSupertypes_ =
                        com.google.protobuf.GeneratedMessageLite.mutableCopy(interfaceWithSupertypes_);
                  }
                  interfaceWithSupertypes_.add(
                      input.readMessage(com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails.parser(), extensionRegistry));
                  break;
                }
                case 34: {
                  if (!interfaceWithCompanion_.isModifiable()) {
                    interfaceWithCompanion_ =
                        com.google.protobuf.GeneratedMessageLite.mutableCopy(interfaceWithCompanion_);
                  }
                  interfaceWithCompanion_.add(
                      input.readMessage(com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion.parser(), extensionRegistry));
                  break;
                }
              }
            }
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw new RuntimeException(e.setUnfinishedMessage(this));
          } catch (java.io.IOException e) {
            throw new RuntimeException(
                new com.google.protobuf.InvalidProtocolBufferException(
                    e.getMessage()).setUnfinishedMessage(this));
          } finally {
          }
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          if (PARSER == null) {    synchronized (com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfo.class) {
              if (PARSER == null) {
                PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE);
              }
            }
          }
          return PARSER;
        }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:bazel.tools.desugar.DesugarDepsInfo)
    private static final com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfo DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new DesugarDepsInfo();
      DEFAULT_INSTANCE.makeImmutable();
    }

    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.DesugarDepsInfo getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<DesugarDepsInfo> PARSER;

    public static com.google.protobuf.Parser<DesugarDepsInfo> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface DependencyOrBuilder extends
      // @@protoc_insertion_point(interface_extends:bazel.tools.desugar.Dependency)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    boolean hasOrigin();
    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    com.google.devtools.build.android.desugar.proto.DesugarDeps.Type getOrigin();

    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>optional .bazel.tools.desugar.Type target = 2;</code>
     */
    boolean hasTarget();
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>optional .bazel.tools.desugar.Type target = 2;</code>
     */
    com.google.devtools.build.android.desugar.proto.DesugarDeps.Type getTarget();
  }
  /**
   * <pre>
   * Dependency between two types, may be transitive or direct.
   * </pre>
   *
   * Protobuf type {@code bazel.tools.desugar.Dependency}
   */
  public  static final class Dependency extends
      com.google.protobuf.GeneratedMessageLite<
          Dependency, Dependency.Builder> implements
      // @@protoc_insertion_point(message_implements:bazel.tools.desugar.Dependency)
      DependencyOrBuilder {
    private Dependency() {
    }
    private int bitField0_;
    public static final int ORIGIN_FIELD_NUMBER = 1;
    private com.google.devtools.build.android.desugar.proto.DesugarDeps.Type origin_;
    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    public com.google.devtools.build.android.desugar.proto.DesugarDeps.Type getOrigin() {
      return origin_ == null ? com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.getDefaultInstance() : origin_;
    }
    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    private void setOrigin(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
      if (value == null) {
        throw new NullPointerException();
      }
      origin_ = value;
      bitField0_ |= 0x00000001;
      }
    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    private void setOrigin(
        com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.Builder builderForValue) {
      origin_ = builderForValue.build();
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    private void mergeOrigin(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
      if (origin_ != null &&
          origin_ != com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.getDefaultInstance()) {
        origin_ =
          com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.newBuilder(origin_).mergeFrom(value).buildPartial();
      } else {
        origin_ = value;
      }
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    private void clearOrigin() {  origin_ = null;
      bitField0_ = (bitField0_ & ~0x00000001);
    }

    public static final int TARGET_FIELD_NUMBER = 2;
    private com.google.devtools.build.android.desugar.proto.DesugarDeps.Type target_;
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>optional .bazel.tools.desugar.Type target = 2;</code>
     */
    public boolean hasTarget() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>optional .bazel.tools.desugar.Type target = 2;</code>
     */
    public com.google.devtools.build.android.desugar.proto.DesugarDeps.Type getTarget() {
      return target_ == null ? com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.getDefaultInstance() : target_;
    }
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>optional .bazel.tools.desugar.Type target = 2;</code>
     */
    private void setTarget(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
      if (value == null) {
        throw new NullPointerException();
      }
      target_ = value;
      bitField0_ |= 0x00000002;
      }
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>optional .bazel.tools.desugar.Type target = 2;</code>
     */
    private void setTarget(
        com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.Builder builderForValue) {
      target_ = builderForValue.build();
      bitField0_ |= 0x00000002;
    }
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>optional .bazel.tools.desugar.Type target = 2;</code>
     */
    private void mergeTarget(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
      if (target_ != null &&
          target_ != com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.getDefaultInstance()) {
        target_ =
          com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.newBuilder(target_).mergeFrom(value).buildPartial();
      } else {
        target_ = value;
      }
      bitField0_ |= 0x00000002;
    }
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>optional .bazel.tools.desugar.Type target = 2;</code>
     */
    private void clearTarget() {  target_ = null;
      bitField0_ = (bitField0_ & ~0x00000002);
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, getOrigin());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, getTarget());
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getOrigin());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getTarget());
      }
      size += unknownFields.getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }

    /**
     * <pre>
     * Dependency between two types, may be transitive or direct.
     * </pre>
     *
     * Protobuf type {@code bazel.tools.desugar.Dependency}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency, Builder> implements
        // @@protoc_insertion_point(builder_implements:bazel.tools.desugar.Dependency)
        com.google.devtools.build.android.desugar.proto.DesugarDeps.DependencyOrBuilder {
      // Construct using com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
       */
      public boolean hasOrigin() {
        return instance.hasOrigin();
      }
      /**
       * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
       */
      public com.google.devtools.build.android.desugar.proto.DesugarDeps.Type getOrigin() {
        return instance.getOrigin();
      }
      /**
       * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
       */
      public Builder setOrigin(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
        copyOnWrite();
        instance.setOrigin(value);
        return this;
        }
      /**
       * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
       */
      public Builder setOrigin(
          com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.Builder builderForValue) {
        copyOnWrite();
        instance.setOrigin(builderForValue);
        return this;
      }
      /**
       * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
       */
      public Builder mergeOrigin(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
        copyOnWrite();
        instance.mergeOrigin(value);
        return this;
      }
      /**
       * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
       */
      public Builder clearOrigin() {  copyOnWrite();
        instance.clearOrigin();
        return this;
      }

      /**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>optional .bazel.tools.desugar.Type target = 2;</code>
       */
      public boolean hasTarget() {
        return instance.hasTarget();
      }
      /**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>optional .bazel.tools.desugar.Type target = 2;</code>
       */
      public com.google.devtools.build.android.desugar.proto.DesugarDeps.Type getTarget() {
        return instance.getTarget();
      }
      /**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>optional .bazel.tools.desugar.Type target = 2;</code>
       */
      public Builder setTarget(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
        copyOnWrite();
        instance.setTarget(value);
        return this;
        }
      /**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>optional .bazel.tools.desugar.Type target = 2;</code>
       */
      public Builder setTarget(
          com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.Builder builderForValue) {
        copyOnWrite();
        instance.setTarget(builderForValue);
        return this;
      }
      /**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>optional .bazel.tools.desugar.Type target = 2;</code>
       */
      public Builder mergeTarget(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
        copyOnWrite();
        instance.mergeTarget(value);
        return this;
      }
      /**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>optional .bazel.tools.desugar.Type target = 2;</code>
       */
      public Builder clearTarget() {  copyOnWrite();
        instance.clearTarget();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:bazel.tools.desugar.Dependency)
    }
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency();
        }
        case IS_INITIALIZED: {
          return DEFAULT_INSTANCE;
        }
        case MAKE_IMMUTABLE: {
          return null;
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case VISIT: {
          Visitor visitor = (Visitor) arg0;
          com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency other = (com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency) arg1;
          origin_ = visitor.visitMessage(origin_, other.origin_);
          target_ = visitor.visitMessage(target_, other.target_);
          if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor
              .INSTANCE) {
            bitField0_ |= other.bitField0_;
          }
          return this;
        }
        case MERGE_FROM_STREAM: {
          com.google.protobuf.CodedInputStream input =
              (com.google.protobuf.CodedInputStream) arg0;
          com.google.protobuf.ExtensionRegistryLite extensionRegistry =
              (com.google.protobuf.ExtensionRegistryLite) arg1;
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                default: {
                  if (!parseUnknownField(tag, input)) {
                    done = true;
                  }
                  break;
                }
                case 10: {
                  com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.Builder subBuilder = null;
                  if (((bitField0_ & 0x00000001) == 0x00000001)) {
                    subBuilder = origin_.toBuilder();
                  }
                  origin_ = input.readMessage(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.parser(), extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(origin_);
                    origin_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000001;
                  break;
                }
                case 18: {
                  com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.Builder subBuilder = null;
                  if (((bitField0_ & 0x00000002) == 0x00000002)) {
                    subBuilder = target_.toBuilder();
                  }
                  target_ = input.readMessage(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.parser(), extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(target_);
                    target_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000002;
                  break;
                }
              }
            }
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw new RuntimeException(e.setUnfinishedMessage(this));
          } catch (java.io.IOException e) {
            throw new RuntimeException(
                new com.google.protobuf.InvalidProtocolBufferException(
                    e.getMessage()).setUnfinishedMessage(this));
          } finally {
          }
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          if (PARSER == null) {    synchronized (com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency.class) {
              if (PARSER == null) {
                PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE);
              }
            }
          }
          return PARSER;
        }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:bazel.tools.desugar.Dependency)
    private static final com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new Dependency();
      DEFAULT_INSTANCE.makeImmutable();
    }

    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Dependency getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<Dependency> PARSER;

    public static com.google.protobuf.Parser<Dependency> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface InterfaceDetailsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:bazel.tools.desugar.InterfaceDetails)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    boolean hasOrigin();
    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    com.google.devtools.build.android.desugar.proto.DesugarDeps.Type getOrigin();

    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
     */
    java.util.List<com.google.devtools.build.android.desugar.proto.DesugarDeps.Type> 
        getExtendedInterfaceList();
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
     */
    com.google.devtools.build.android.desugar.proto.DesugarDeps.Type getExtendedInterface(int index);
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
     */
    int getExtendedInterfaceCount();
  }
  /**
   * <pre>
   * Summary of relevant information about an interface, to avoid parsing it.
   * </pre>
   *
   * Protobuf type {@code bazel.tools.desugar.InterfaceDetails}
   */
  public  static final class InterfaceDetails extends
      com.google.protobuf.GeneratedMessageLite<
          InterfaceDetails, InterfaceDetails.Builder> implements
      // @@protoc_insertion_point(message_implements:bazel.tools.desugar.InterfaceDetails)
      InterfaceDetailsOrBuilder {
    private InterfaceDetails() {
      extendedInterface_ = emptyProtobufList();
    }
    private int bitField0_;
    public static final int ORIGIN_FIELD_NUMBER = 1;
    private com.google.devtools.build.android.desugar.proto.DesugarDeps.Type origin_;
    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    public com.google.devtools.build.android.desugar.proto.DesugarDeps.Type getOrigin() {
      return origin_ == null ? com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.getDefaultInstance() : origin_;
    }
    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    private void setOrigin(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
      if (value == null) {
        throw new NullPointerException();
      }
      origin_ = value;
      bitField0_ |= 0x00000001;
      }
    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    private void setOrigin(
        com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.Builder builderForValue) {
      origin_ = builderForValue.build();
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    private void mergeOrigin(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
      if (origin_ != null &&
          origin_ != com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.getDefaultInstance()) {
        origin_ =
          com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.newBuilder(origin_).mergeFrom(value).buildPartial();
      } else {
        origin_ = value;
      }
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    private void clearOrigin() {  origin_ = null;
      bitField0_ = (bitField0_ & ~0x00000001);
    }

    public static final int EXTENDED_INTERFACE_FIELD_NUMBER = 2;
    private com.google.protobuf.Internal.ProtobufList<com.google.devtools.build.android.desugar.proto.DesugarDeps.Type> extendedInterface_;
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
     */
    public java.util.List<com.google.devtools.build.android.desugar.proto.DesugarDeps.Type> getExtendedInterfaceList() {
      return extendedInterface_;
    }
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
     */
    public java.util.List<? extends com.google.devtools.build.android.desugar.proto.DesugarDeps.TypeOrBuilder> 
        getExtendedInterfaceOrBuilderList() {
      return extendedInterface_;
    }
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
     */
    public int getExtendedInterfaceCount() {
      return extendedInterface_.size();
    }
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
     */
    public com.google.devtools.build.android.desugar.proto.DesugarDeps.Type getExtendedInterface(int index) {
      return extendedInterface_.get(index);
    }
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
     */
    public com.google.devtools.build.android.desugar.proto.DesugarDeps.TypeOrBuilder getExtendedInterfaceOrBuilder(
        int index) {
      return extendedInterface_.get(index);
    }
    private void ensureExtendedInterfaceIsMutable() {
      if (!extendedInterface_.isModifiable()) {
        extendedInterface_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(extendedInterface_);
       }
    }

    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
     */
    private void setExtendedInterface(
        int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
      if (value == null) {
        throw new NullPointerException();
      }
      ensureExtendedInterfaceIsMutable();
      extendedInterface_.set(index, value);
    }
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
     */
    private void setExtendedInterface(
        int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.Builder builderForValue) {
      ensureExtendedInterfaceIsMutable();
      extendedInterface_.set(index, builderForValue.build());
    }
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
     */
    private void addExtendedInterface(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
      if (value == null) {
        throw new NullPointerException();
      }
      ensureExtendedInterfaceIsMutable();
      extendedInterface_.add(value);
    }
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
     */
    private void addExtendedInterface(
        int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
      if (value == null) {
        throw new NullPointerException();
      }
      ensureExtendedInterfaceIsMutable();
      extendedInterface_.add(index, value);
    }
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
     */
    private void addExtendedInterface(
        com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.Builder builderForValue) {
      ensureExtendedInterfaceIsMutable();
      extendedInterface_.add(builderForValue.build());
    }
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
     */
    private void addExtendedInterface(
        int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.Builder builderForValue) {
      ensureExtendedInterfaceIsMutable();
      extendedInterface_.add(index, builderForValue.build());
    }
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
     */
    private void addAllExtendedInterface(
        java.lang.Iterable<? extends com.google.devtools.build.android.desugar.proto.DesugarDeps.Type> values) {
      ensureExtendedInterfaceIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, extendedInterface_);
    }
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
     */
    private void clearExtendedInterface() {
      extendedInterface_ = emptyProtobufList();
    }
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
     */
    private void removeExtendedInterface(int index) {
      ensureExtendedInterfaceIsMutable();
      extendedInterface_.remove(index);
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, getOrigin());
      }
      for (int i = 0; i < extendedInterface_.size(); i++) {
        output.writeMessage(2, extendedInterface_.get(i));
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getOrigin());
      }
      for (int i = 0; i < extendedInterface_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, extendedInterface_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }

    /**
     * <pre>
     * Summary of relevant information about an interface, to avoid parsing it.
     * </pre>
     *
     * Protobuf type {@code bazel.tools.desugar.InterfaceDetails}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails, Builder> implements
        // @@protoc_insertion_point(builder_implements:bazel.tools.desugar.InterfaceDetails)
        com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetailsOrBuilder {
      // Construct using com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
       */
      public boolean hasOrigin() {
        return instance.hasOrigin();
      }
      /**
       * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
       */
      public com.google.devtools.build.android.desugar.proto.DesugarDeps.Type getOrigin() {
        return instance.getOrigin();
      }
      /**
       * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
       */
      public Builder setOrigin(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
        copyOnWrite();
        instance.setOrigin(value);
        return this;
        }
      /**
       * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
       */
      public Builder setOrigin(
          com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.Builder builderForValue) {
        copyOnWrite();
        instance.setOrigin(builderForValue);
        return this;
      }
      /**
       * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
       */
      public Builder mergeOrigin(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
        copyOnWrite();
        instance.mergeOrigin(value);
        return this;
      }
      /**
       * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
       */
      public Builder clearOrigin() {  copyOnWrite();
        instance.clearOrigin();
        return this;
      }

      /**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
       */
      public java.util.List<com.google.devtools.build.android.desugar.proto.DesugarDeps.Type> getExtendedInterfaceList() {
        return java.util.Collections.unmodifiableList(
            instance.getExtendedInterfaceList());
      }
      /**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
       */
      public int getExtendedInterfaceCount() {
        return instance.getExtendedInterfaceCount();
      }/**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
       */
      public com.google.devtools.build.android.desugar.proto.DesugarDeps.Type getExtendedInterface(int index) {
        return instance.getExtendedInterface(index);
      }
      /**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
       */
      public Builder setExtendedInterface(
          int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
        copyOnWrite();
        instance.setExtendedInterface(index, value);
        return this;
      }
      /**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
       */
      public Builder setExtendedInterface(
          int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.Builder builderForValue) {
        copyOnWrite();
        instance.setExtendedInterface(index, builderForValue);
        return this;
      }
      /**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
       */
      public Builder addExtendedInterface(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
        copyOnWrite();
        instance.addExtendedInterface(value);
        return this;
      }
      /**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
       */
      public Builder addExtendedInterface(
          int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
        copyOnWrite();
        instance.addExtendedInterface(index, value);
        return this;
      }
      /**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
       */
      public Builder addExtendedInterface(
          com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.Builder builderForValue) {
        copyOnWrite();
        instance.addExtendedInterface(builderForValue);
        return this;
      }
      /**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
       */
      public Builder addExtendedInterface(
          int index, com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.Builder builderForValue) {
        copyOnWrite();
        instance.addExtendedInterface(index, builderForValue);
        return this;
      }
      /**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
       */
      public Builder addAllExtendedInterface(
          java.lang.Iterable<? extends com.google.devtools.build.android.desugar.proto.DesugarDeps.Type> values) {
        copyOnWrite();
        instance.addAllExtendedInterface(values);
        return this;
      }
      /**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
       */
      public Builder clearExtendedInterface() {
        copyOnWrite();
        instance.clearExtendedInterface();
        return this;
      }
      /**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>repeated .bazel.tools.desugar.Type extended_interface = 2;</code>
       */
      public Builder removeExtendedInterface(int index) {
        copyOnWrite();
        instance.removeExtendedInterface(index);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:bazel.tools.desugar.InterfaceDetails)
    }
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails();
        }
        case IS_INITIALIZED: {
          return DEFAULT_INSTANCE;
        }
        case MAKE_IMMUTABLE: {
          extendedInterface_.makeImmutable();
          return null;
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case VISIT: {
          Visitor visitor = (Visitor) arg0;
          com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails other = (com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails) arg1;
          origin_ = visitor.visitMessage(origin_, other.origin_);
          extendedInterface_= visitor.visitList(extendedInterface_, other.extendedInterface_);
          if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor
              .INSTANCE) {
            bitField0_ |= other.bitField0_;
          }
          return this;
        }
        case MERGE_FROM_STREAM: {
          com.google.protobuf.CodedInputStream input =
              (com.google.protobuf.CodedInputStream) arg0;
          com.google.protobuf.ExtensionRegistryLite extensionRegistry =
              (com.google.protobuf.ExtensionRegistryLite) arg1;
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                default: {
                  if (!parseUnknownField(tag, input)) {
                    done = true;
                  }
                  break;
                }
                case 10: {
                  com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.Builder subBuilder = null;
                  if (((bitField0_ & 0x00000001) == 0x00000001)) {
                    subBuilder = origin_.toBuilder();
                  }
                  origin_ = input.readMessage(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.parser(), extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(origin_);
                    origin_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000001;
                  break;
                }
                case 18: {
                  if (!extendedInterface_.isModifiable()) {
                    extendedInterface_ =
                        com.google.protobuf.GeneratedMessageLite.mutableCopy(extendedInterface_);
                  }
                  extendedInterface_.add(
                      input.readMessage(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.parser(), extensionRegistry));
                  break;
                }
              }
            }
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw new RuntimeException(e.setUnfinishedMessage(this));
          } catch (java.io.IOException e) {
            throw new RuntimeException(
                new com.google.protobuf.InvalidProtocolBufferException(
                    e.getMessage()).setUnfinishedMessage(this));
          } finally {
          }
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          if (PARSER == null) {    synchronized (com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails.class) {
              if (PARSER == null) {
                PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE);
              }
            }
          }
          return PARSER;
        }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:bazel.tools.desugar.InterfaceDetails)
    private static final com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new InterfaceDetails();
      DEFAULT_INSTANCE.makeImmutable();
    }

    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceDetails getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<InterfaceDetails> PARSER;

    public static com.google.protobuf.Parser<InterfaceDetails> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface InterfaceWithCompanionOrBuilder extends
      // @@protoc_insertion_point(interface_extends:bazel.tools.desugar.InterfaceWithCompanion)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    boolean hasOrigin();
    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    com.google.devtools.build.android.desugar.proto.DesugarDeps.Type getOrigin();

    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>optional int32 num_default_methods = 2;</code>
     */
    boolean hasNumDefaultMethods();
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>optional int32 num_default_methods = 2;</code>
     */
    int getNumDefaultMethods();
  }
  /**
   * <pre>
   * Details about an interface with a companion class.  This helps distinguishing
   * interfaces with default methods, which are a subset, and can also be used to
   * check for the presence of expected companion classes.
   * </pre>
   *
   * Protobuf type {@code bazel.tools.desugar.InterfaceWithCompanion}
   */
  public  static final class InterfaceWithCompanion extends
      com.google.protobuf.GeneratedMessageLite<
          InterfaceWithCompanion, InterfaceWithCompanion.Builder> implements
      // @@protoc_insertion_point(message_implements:bazel.tools.desugar.InterfaceWithCompanion)
      InterfaceWithCompanionOrBuilder {
    private InterfaceWithCompanion() {
    }
    private int bitField0_;
    public static final int ORIGIN_FIELD_NUMBER = 1;
    private com.google.devtools.build.android.desugar.proto.DesugarDeps.Type origin_;
    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    public com.google.devtools.build.android.desugar.proto.DesugarDeps.Type getOrigin() {
      return origin_ == null ? com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.getDefaultInstance() : origin_;
    }
    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    private void setOrigin(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
      if (value == null) {
        throw new NullPointerException();
      }
      origin_ = value;
      bitField0_ |= 0x00000001;
      }
    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    private void setOrigin(
        com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.Builder builderForValue) {
      origin_ = builderForValue.build();
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    private void mergeOrigin(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
      if (origin_ != null &&
          origin_ != com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.getDefaultInstance()) {
        origin_ =
          com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.newBuilder(origin_).mergeFrom(value).buildPartial();
      } else {
        origin_ = value;
      }
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
     */
    private void clearOrigin() {  origin_ = null;
      bitField0_ = (bitField0_ & ~0x00000001);
    }

    public static final int NUM_DEFAULT_METHODS_FIELD_NUMBER = 2;
    private int numDefaultMethods_;
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>optional int32 num_default_methods = 2;</code>
     */
    public boolean hasNumDefaultMethods() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>optional int32 num_default_methods = 2;</code>
     */
    public int getNumDefaultMethods() {
      return numDefaultMethods_;
    }
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>optional int32 num_default_methods = 2;</code>
     */
    private void setNumDefaultMethods(int value) {
      bitField0_ |= 0x00000002;
      numDefaultMethods_ = value;
    }
    /**
     * <pre>
     * Next ID: 3
     * </pre>
     *
     * <code>optional int32 num_default_methods = 2;</code>
     */
    private void clearNumDefaultMethods() {
      bitField0_ = (bitField0_ & ~0x00000002);
      numDefaultMethods_ = 0;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, getOrigin());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, numDefaultMethods_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getOrigin());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, numDefaultMethods_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }

    /**
     * <pre>
     * Details about an interface with a companion class.  This helps distinguishing
     * interfaces with default methods, which are a subset, and can also be used to
     * check for the presence of expected companion classes.
     * </pre>
     *
     * Protobuf type {@code bazel.tools.desugar.InterfaceWithCompanion}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion, Builder> implements
        // @@protoc_insertion_point(builder_implements:bazel.tools.desugar.InterfaceWithCompanion)
        com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanionOrBuilder {
      // Construct using com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
       */
      public boolean hasOrigin() {
        return instance.hasOrigin();
      }
      /**
       * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
       */
      public com.google.devtools.build.android.desugar.proto.DesugarDeps.Type getOrigin() {
        return instance.getOrigin();
      }
      /**
       * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
       */
      public Builder setOrigin(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
        copyOnWrite();
        instance.setOrigin(value);
        return this;
        }
      /**
       * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
       */
      public Builder setOrigin(
          com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.Builder builderForValue) {
        copyOnWrite();
        instance.setOrigin(builderForValue);
        return this;
      }
      /**
       * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
       */
      public Builder mergeOrigin(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type value) {
        copyOnWrite();
        instance.mergeOrigin(value);
        return this;
      }
      /**
       * <code>optional .bazel.tools.desugar.Type origin = 1;</code>
       */
      public Builder clearOrigin() {  copyOnWrite();
        instance.clearOrigin();
        return this;
      }

      /**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>optional int32 num_default_methods = 2;</code>
       */
      public boolean hasNumDefaultMethods() {
        return instance.hasNumDefaultMethods();
      }
      /**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>optional int32 num_default_methods = 2;</code>
       */
      public int getNumDefaultMethods() {
        return instance.getNumDefaultMethods();
      }
      /**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>optional int32 num_default_methods = 2;</code>
       */
      public Builder setNumDefaultMethods(int value) {
        copyOnWrite();
        instance.setNumDefaultMethods(value);
        return this;
      }
      /**
       * <pre>
       * Next ID: 3
       * </pre>
       *
       * <code>optional int32 num_default_methods = 2;</code>
       */
      public Builder clearNumDefaultMethods() {
        copyOnWrite();
        instance.clearNumDefaultMethods();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:bazel.tools.desugar.InterfaceWithCompanion)
    }
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion();
        }
        case IS_INITIALIZED: {
          return DEFAULT_INSTANCE;
        }
        case MAKE_IMMUTABLE: {
          return null;
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case VISIT: {
          Visitor visitor = (Visitor) arg0;
          com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion other = (com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion) arg1;
          origin_ = visitor.visitMessage(origin_, other.origin_);
          numDefaultMethods_ = visitor.visitInt(
              hasNumDefaultMethods(), numDefaultMethods_,
              other.hasNumDefaultMethods(), other.numDefaultMethods_);
          if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor
              .INSTANCE) {
            bitField0_ |= other.bitField0_;
          }
          return this;
        }
        case MERGE_FROM_STREAM: {
          com.google.protobuf.CodedInputStream input =
              (com.google.protobuf.CodedInputStream) arg0;
          com.google.protobuf.ExtensionRegistryLite extensionRegistry =
              (com.google.protobuf.ExtensionRegistryLite) arg1;
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                default: {
                  if (!parseUnknownField(tag, input)) {
                    done = true;
                  }
                  break;
                }
                case 10: {
                  com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.Builder subBuilder = null;
                  if (((bitField0_ & 0x00000001) == 0x00000001)) {
                    subBuilder = origin_.toBuilder();
                  }
                  origin_ = input.readMessage(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.parser(), extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(origin_);
                    origin_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000001;
                  break;
                }
                case 16: {
                  bitField0_ |= 0x00000002;
                  numDefaultMethods_ = input.readInt32();
                  break;
                }
              }
            }
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw new RuntimeException(e.setUnfinishedMessage(this));
          } catch (java.io.IOException e) {
            throw new RuntimeException(
                new com.google.protobuf.InvalidProtocolBufferException(
                    e.getMessage()).setUnfinishedMessage(this));
          } finally {
          }
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          if (PARSER == null) {    synchronized (com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion.class) {
              if (PARSER == null) {
                PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE);
              }
            }
          }
          return PARSER;
        }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:bazel.tools.desugar.InterfaceWithCompanion)
    private static final com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new InterfaceWithCompanion();
      DEFAULT_INSTANCE.makeImmutable();
    }

    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.InterfaceWithCompanion getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<InterfaceWithCompanion> PARSER;

    public static com.google.protobuf.Parser<InterfaceWithCompanion> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface TypeOrBuilder extends
      // @@protoc_insertion_point(interface_extends:bazel.tools.desugar.Type)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * JVMS 4.2.1 binary class name, e.g., java/lang/String, similar to how a
     * class or interface name would appear in bytecode.
     * </pre>
     *
     * <code>optional string binary_name = 1;</code>
     */
    boolean hasBinaryName();
    /**
     * <pre>
     * JVMS 4.2.1 binary class name, e.g., java/lang/String, similar to how a
     * class or interface name would appear in bytecode.
     * </pre>
     *
     * <code>optional string binary_name = 1;</code>
     */
    java.lang.String getBinaryName();
    /**
     * <pre>
     * JVMS 4.2.1 binary class name, e.g., java/lang/String, similar to how a
     * class or interface name would appear in bytecode.
     * </pre>
     *
     * <code>optional string binary_name = 1;</code>
     */
    com.google.protobuf.ByteString
        getBinaryNameBytes();
  }
  /**
   * <pre>
   * Wrapper around a JVMS 4.2.1 binary class or interface name.
   * </pre>
   *
   * Protobuf type {@code bazel.tools.desugar.Type}
   */
  public  static final class Type extends
      com.google.protobuf.GeneratedMessageLite<
          Type, Type.Builder> implements
      // @@protoc_insertion_point(message_implements:bazel.tools.desugar.Type)
      TypeOrBuilder {
    private Type() {
      binaryName_ = "";
    }
    private int bitField0_;
    public static final int BINARY_NAME_FIELD_NUMBER = 1;
    private java.lang.String binaryName_;
    /**
     * <pre>
     * JVMS 4.2.1 binary class name, e.g., java/lang/String, similar to how a
     * class or interface name would appear in bytecode.
     * </pre>
     *
     * <code>optional string binary_name = 1;</code>
     */
    public boolean hasBinaryName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     * JVMS 4.2.1 binary class name, e.g., java/lang/String, similar to how a
     * class or interface name would appear in bytecode.
     * </pre>
     *
     * <code>optional string binary_name = 1;</code>
     */
    public java.lang.String getBinaryName() {
      return binaryName_;
    }
    /**
     * <pre>
     * JVMS 4.2.1 binary class name, e.g., java/lang/String, similar to how a
     * class or interface name would appear in bytecode.
     * </pre>
     *
     * <code>optional string binary_name = 1;</code>
     */
    public com.google.protobuf.ByteString
        getBinaryNameBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(binaryName_);
    }
    /**
     * <pre>
     * JVMS 4.2.1 binary class name, e.g., java/lang/String, similar to how a
     * class or interface name would appear in bytecode.
     * </pre>
     *
     * <code>optional string binary_name = 1;</code>
     */
    private void setBinaryName(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
      binaryName_ = value;
    }
    /**
     * <pre>
     * JVMS 4.2.1 binary class name, e.g., java/lang/String, similar to how a
     * class or interface name would appear in bytecode.
     * </pre>
     *
     * <code>optional string binary_name = 1;</code>
     */
    private void clearBinaryName() {
      bitField0_ = (bitField0_ & ~0x00000001);
      binaryName_ = getDefaultInstance().getBinaryName();
    }
    /**
     * <pre>
     * JVMS 4.2.1 binary class name, e.g., java/lang/String, similar to how a
     * class or interface name would appear in bytecode.
     * </pre>
     *
     * <code>optional string binary_name = 1;</code>
     */
    private void setBinaryNameBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
      binaryName_ = value.toStringUtf8();
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeString(1, getBinaryName());
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeStringSize(1, getBinaryName());
      }
      size += unknownFields.getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Type parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Type parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Type parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Type parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Type parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Type parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Type parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Type parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Type parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Type parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Type parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Type parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.google.devtools.build.android.desugar.proto.DesugarDeps.Type prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }

    /**
     * <pre>
     * Wrapper around a JVMS 4.2.1 binary class or interface name.
     * </pre>
     *
     * Protobuf type {@code bazel.tools.desugar.Type}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          com.google.devtools.build.android.desugar.proto.DesugarDeps.Type, Builder> implements
        // @@protoc_insertion_point(builder_implements:bazel.tools.desugar.Type)
        com.google.devtools.build.android.desugar.proto.DesugarDeps.TypeOrBuilder {
      // Construct using com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * JVMS 4.2.1 binary class name, e.g., java/lang/String, similar to how a
       * class or interface name would appear in bytecode.
       * </pre>
       *
       * <code>optional string binary_name = 1;</code>
       */
      public boolean hasBinaryName() {
        return instance.hasBinaryName();
      }
      /**
       * <pre>
       * JVMS 4.2.1 binary class name, e.g., java/lang/String, similar to how a
       * class or interface name would appear in bytecode.
       * </pre>
       *
       * <code>optional string binary_name = 1;</code>
       */
      public java.lang.String getBinaryName() {
        return instance.getBinaryName();
      }
      /**
       * <pre>
       * JVMS 4.2.1 binary class name, e.g., java/lang/String, similar to how a
       * class or interface name would appear in bytecode.
       * </pre>
       *
       * <code>optional string binary_name = 1;</code>
       */
      public com.google.protobuf.ByteString
          getBinaryNameBytes() {
        return instance.getBinaryNameBytes();
      }
      /**
       * <pre>
       * JVMS 4.2.1 binary class name, e.g., java/lang/String, similar to how a
       * class or interface name would appear in bytecode.
       * </pre>
       *
       * <code>optional string binary_name = 1;</code>
       */
      public Builder setBinaryName(
          java.lang.String value) {
        copyOnWrite();
        instance.setBinaryName(value);
        return this;
      }
      /**
       * <pre>
       * JVMS 4.2.1 binary class name, e.g., java/lang/String, similar to how a
       * class or interface name would appear in bytecode.
       * </pre>
       *
       * <code>optional string binary_name = 1;</code>
       */
      public Builder clearBinaryName() {
        copyOnWrite();
        instance.clearBinaryName();
        return this;
      }
      /**
       * <pre>
       * JVMS 4.2.1 binary class name, e.g., java/lang/String, similar to how a
       * class or interface name would appear in bytecode.
       * </pre>
       *
       * <code>optional string binary_name = 1;</code>
       */
      public Builder setBinaryNameBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setBinaryNameBytes(value);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:bazel.tools.desugar.Type)
    }
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new com.google.devtools.build.android.desugar.proto.DesugarDeps.Type();
        }
        case IS_INITIALIZED: {
          return DEFAULT_INSTANCE;
        }
        case MAKE_IMMUTABLE: {
          return null;
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case VISIT: {
          Visitor visitor = (Visitor) arg0;
          com.google.devtools.build.android.desugar.proto.DesugarDeps.Type other = (com.google.devtools.build.android.desugar.proto.DesugarDeps.Type) arg1;
          binaryName_ = visitor.visitString(
              hasBinaryName(), binaryName_,
              other.hasBinaryName(), other.binaryName_);
          if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor
              .INSTANCE) {
            bitField0_ |= other.bitField0_;
          }
          return this;
        }
        case MERGE_FROM_STREAM: {
          com.google.protobuf.CodedInputStream input =
              (com.google.protobuf.CodedInputStream) arg0;
          com.google.protobuf.ExtensionRegistryLite extensionRegistry =
              (com.google.protobuf.ExtensionRegistryLite) arg1;
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                default: {
                  if (!parseUnknownField(tag, input)) {
                    done = true;
                  }
                  break;
                }
                case 10: {
                  java.lang.String s = input.readString();
                  bitField0_ |= 0x00000001;
                  binaryName_ = s;
                  break;
                }
              }
            }
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw new RuntimeException(e.setUnfinishedMessage(this));
          } catch (java.io.IOException e) {
            throw new RuntimeException(
                new com.google.protobuf.InvalidProtocolBufferException(
                    e.getMessage()).setUnfinishedMessage(this));
          } finally {
          }
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          if (PARSER == null) {    synchronized (com.google.devtools.build.android.desugar.proto.DesugarDeps.Type.class) {
              if (PARSER == null) {
                PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE);
              }
            }
          }
          return PARSER;
        }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:bazel.tools.desugar.Type)
    private static final com.google.devtools.build.android.desugar.proto.DesugarDeps.Type DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new Type();
      DEFAULT_INSTANCE.makeImmutable();
    }

    public static com.google.devtools.build.android.desugar.proto.DesugarDeps.Type getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<Type> PARSER;

    public static com.google.protobuf.Parser<Type> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }


  static {
  }

  // @@protoc_insertion_point(outer_class_scope)
}
