Remove not-quite necessary serialization bits

What we really are doing here is formatting.

--
MOS_MIGRATED_REVID=127481183
diff --git a/src/main/java/com/google/devtools/build/lib/packages/ProtoUtils.java b/src/main/java/com/google/devtools/build/lib/packages/ProtoUtils.java
index ceb0c8b..c34ad2e 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/ProtoUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/ProtoUtils.java
@@ -34,31 +34,16 @@
 import static com.google.devtools.build.lib.syntax.Type.STRING_LIST;
 import static com.google.devtools.build.lib.syntax.Type.STRING_LIST_DICT;
 
-import com.google.common.base.Optional;
-import com.google.common.base.Predicates;
 import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSetMultimap;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Sets;
-import com.google.devtools.build.lib.query2.proto.proto2api.Build;
 import com.google.devtools.build.lib.query2.proto.proto2api.Build.Attribute.Discriminator;
 import com.google.devtools.build.lib.syntax.Type;
 import com.google.devtools.build.lib.util.Preconditions;
 
-import java.util.Set;
-
-/**
- * Shared code used in proto buffer output for rules and rule classes.
- */
+/** Shared code used in proto buffer output for rules and rule classes. */
 public class ProtoUtils {
   /**
    * This map contains all attribute types that are recognized by the protocol
    * output formatter.
-   *
-   * <p>If you modify this map, please ensure that {@link #getTypeFromDiscriminator} can still
-   * resolve a {@link Discriminator} value to exactly one {@link Type} (using an optional nodep
-   * hint, as described below).
    */
   static final ImmutableMap<Type<?>, Discriminator> TYPE_MAP =
       new ImmutableMap.Builder<Type<?>, Discriminator>()
@@ -85,90 +70,8 @@
           .put(STRING_DICT_UNARY, Discriminator.STRING_DICT_UNARY)
           .build();
 
-  static final ImmutableSet<Type<?>> NODEP_TYPES = ImmutableSet.of(NODEP_LABEL, NODEP_LABEL_LIST);
-
-  static final ImmutableSetMultimap<Discriminator, Type<?>> INVERSE_TYPE_MAP =
-      TYPE_MAP.asMultimap().inverse();
-
   /** Returns the {@link Discriminator} value corresponding to the provided {@link Type}. */
   public static Discriminator getDiscriminatorFromType(Type<?> type) {
-    Preconditions.checkArgument(TYPE_MAP.containsKey(type), type);
-    return TYPE_MAP.get(type);
-  }
-
-  /** Returns the {@link Type} associated with an {@link Build.Attribute}. */
-  static Type<?> getTypeFromAttributePb(
-      Build.Attribute attrPb, String ruleClassName, String attrName) {
-    Optional<Boolean> nodepHint =
-        attrPb.hasNodep() ? Optional.of(attrPb.getNodep()) : Optional.<Boolean>absent();
-    Discriminator attrPbDiscriminator = attrPb.getType();
-    boolean isSelectorList = attrPbDiscriminator.equals(Discriminator.SELECTOR_LIST);
-    return getTypeFromDiscriminator(
-        isSelectorList ? attrPb.getSelectorList().getType() : attrPbDiscriminator,
-        nodepHint,
-        ruleClassName,
-        attrName);
-  }
-
-  /**
-   * Returns the set of {@link Type}s associated with a {@link Discriminator} value.
-   *
-   * <p>The set will contain more than one {@link Type} when {@param discriminator} is either
-   * {@link Discriminator#STRING} or {@link Discriminator#STRING_LIST}, because each of them
-   * corresponds with two {@link Type} values. A nodeps hint is needed to determine which {@link
-   * Type} applies.
-   */
-  private static ImmutableSet<Type<?>> getTypesFromDiscriminator(Discriminator discriminator) {
-    Preconditions.checkArgument(INVERSE_TYPE_MAP.containsKey(discriminator), discriminator);
-    return INVERSE_TYPE_MAP.get(discriminator);
-  }
-
-  /**
-   * Returns the {@link Type} associated with a {@link Discriminator} value, given an optional
-   * nodeps hint.
-   */
-  private static Type<?> getTypeFromDiscriminator(
-      Discriminator discriminator,
-      Optional<Boolean> nodeps,
-      String ruleClassName,
-      String attrName) {
-    Preconditions.checkArgument(INVERSE_TYPE_MAP.containsKey(discriminator), discriminator);
-    ImmutableSet<Type<?>> possibleTypes = ProtoUtils.getTypesFromDiscriminator(discriminator);
-    Type<?> preciseType;
-    if (possibleTypes.size() == 1) {
-      preciseType = Iterables.getOnlyElement(possibleTypes);
-    } else {
-      // If there is more than one possible type associated with the discriminator, then the
-      // discriminator must be either Discriminator.STRING or Discriminator.STRING_LIST.
-      //
-      // If it is Discriminator.STRING, then its possible Type<?>s are {NODEP_LABEL, STRING}. The
-      // nodeps hint must be present in order to distinguish between them. If nodeps is true,
-      // then the Type<?> must be NODEP_LABEL, and if false, it must be STRING.
-      //
-      // A similar relation holds for the Discriminator value STRING_LIST, and its possible
-      // Type<?>s {NODEP_LABEL_LIST, STRING_LIST}.
-
-      Preconditions.checkArgument(nodeps.isPresent(),
-          "Nodeps hint is required when discriminator is associated with more than one type."
-              + " Discriminator: \"%s\", Rule class: \"%s\", Attr: \"%s\"", discriminator,
-          ruleClassName, attrName);
-      if (nodeps.get()) {
-        Set<Type<?>> nodepType = Sets.filter(possibleTypes, Predicates.in(NODEP_TYPES));
-        Preconditions.checkState(nodepType.size() == 1,
-            "There should be exactly one NODEP type associated with discriminator \"%s\""
-                + ", but found these: %s. Rule class: \"%s\", Attr: \"%s\"", discriminator,
-            nodepType, ruleClassName, attrName);
-        preciseType = Iterables.getOnlyElement(nodepType);
-      } else {
-        Set<Type<?>> notNodepType =
-            Sets.filter(possibleTypes, Predicates.not(Predicates.in(NODEP_TYPES)));
-        Preconditions.checkState(notNodepType.size() == 1,
-            "There should be exactly one non-NODEP type associated with discriminator \"%s\""
-                + ", but found these: %s. Rule class: \"%s\", Attr: \"%s\"", discriminator,
-            notNodepType, ruleClassName, attrName);
-        preciseType = Iterables.getOnlyElement(notNodepType);
-      }
-    }
-    return preciseType;
+    return Preconditions.checkNotNull(TYPE_MAP.get(type), "No discriminator found for %s", type);
   }
 }