Some cleanup changes.

--
MOS_MIGRATED_REVID=87821306
diff --git a/src/main/java/com/google/devtools/build/lib/packages/AnalysisIssues.java b/src/main/java/com/google/devtools/build/lib/packages/AnalysisIssues.java
index 22c02b5..c0dda81 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/AnalysisIssues.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/AnalysisIssues.java
@@ -18,8 +18,8 @@
 import com.google.common.collect.ImmutableList;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 
 import javax.annotation.Nullable;
@@ -64,7 +64,7 @@
       } else {
         List<Object> args = new ArrayList<>();
         args.add(attribute);
-        args.addAll(Arrays.asList(arguments));
+        Collections.addAll(args, arguments);
         return String.format("ERROR in '%s': " + messageTemplate, args.toArray());
       }
     }
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
index 9a8ae61..0616d79 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
@@ -287,8 +287,8 @@
     }
 
     private Builder<TYPE> setPropertyFlag(PropertyFlag flag, String propertyName) {
-      Preconditions.checkState(!propertyFlags.contains(flag),
-          propertyName + " flag is already set");
+      Preconditions.checkState(
+          !propertyFlags.contains(flag), "%s flag is already set", propertyName);
       propertyFlags.add(flag);
       return this;
     }
@@ -320,8 +320,7 @@
      * Only applicable for list type attributes.
      */
     public Builder<TYPE> nonEmpty() {
-      Preconditions.checkNotNull(type.getListElementType(),
-          "attribute '" + name + "' must be a list");
+      Preconditions.checkNotNull(type.getListElementType(), "attribute '%s' must be a list", name);
       return setPropertyFlag(PropertyFlag.NON_EMPTY, "non_empty");
     }
 
@@ -330,7 +329,7 @@
      */
     public Builder<TYPE> singleArtifact() {
       Preconditions.checkState((type == Type.LABEL) || (type == Type.LABEL_LIST),
-          "attribute '" + name + "' must be a label-valued type");
+          "attribute '%s' must be a label-valued type", name);
       return setPropertyFlag(PropertyFlag.SINGLE_ARTIFACT, "single_artifact");
     }
 
@@ -358,8 +357,7 @@
      * Mark the built attribute as order-independent.
      */
     public Builder<TYPE> orderIndependent() {
-      Preconditions.checkNotNull(type.getListElementType(),
-          "attribute '" + name + "' must be a list");
+      Preconditions.checkNotNull(type.getListElementType(), "attribute '%s' must be a list", name);
       return setPropertyFlag(PropertyFlag.ORDER_INDEPENDENT, "order-independent");
     }
 
@@ -468,7 +466,7 @@
      * Returns true if a late-bound value has been set. Useful only for Skylark.
      */
     public boolean hasLateBoundValue() {
-      return value != null && value instanceof LateBoundDefault;
+      return value instanceof LateBoundDefault;
     }
 
     /**
@@ -1024,9 +1022,10 @@
         || type == Type.LABEL || type == Type.LABEL_LIST
         || type == Type.NODEP_LABEL || type == Type.NODEP_LABEL_LIST,
         "Configuration transitions can only be specified for label or label list attributes");
-    Preconditions.checkArgument(isLateBound(name) == (defaultValue instanceof LateBoundDefault),
-        "late bound attributes require a default value that is late bound (and vice versa): "
-        + name);
+    Preconditions.checkArgument(
+        isLateBound(name) == (defaultValue instanceof LateBoundDefault),
+        "late bound attributes require a default value that is late bound (and vice versa): %s",
+        name);
     if (isLateBound(name)) {
       LateBoundDefault<?> lateBoundDefault = (LateBoundDefault<?>) defaultValue;
       Preconditions.checkArgument((configurator == null),
diff --git a/src/main/java/com/google/devtools/build/lib/packages/AttributeContainer.java b/src/main/java/com/google/devtools/build/lib/packages/AttributeContainer.java
index be7584a..35248f2 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/AttributeContainer.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/AttributeContainer.java
@@ -78,7 +78,7 @@
 
   public boolean isAttributeValueExplicitlySpecified(String attributeName) {
     Integer idx = ruleClass.getAttributeIndex(attributeName);
-    return idx != null ? attributeValueExplicitlySpecified.get(idx) : false;
+    return idx != null && attributeValueExplicitlySpecified.get(idx);
   }
 
   /**
diff --git a/src/main/java/com/google/devtools/build/lib/packages/EnumFilterConverter.java b/src/main/java/com/google/devtools/build/lib/packages/EnumFilterConverter.java
index 31242e3..50ebae2 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/EnumFilterConverter.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/EnumFilterConverter.java
@@ -59,7 +59,7 @@
    */
   @Override
   public Set<E> convert(String input) throws OptionsParsingException {
-    if (input.equals("")) {
+    if (input.isEmpty()) {
       return Collections.emptySet();
     }
     EnumSet<E> includedSet = EnumSet.noneOf(typeClass);
diff --git a/src/main/java/com/google/devtools/build/lib/packages/ImplicitOutputsFunction.java b/src/main/java/com/google/devtools/build/lib/packages/ImplicitOutputsFunction.java
index 9f72fd0..22aee8e6 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/ImplicitOutputsFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/ImplicitOutputsFunction.java
@@ -361,7 +361,7 @@
       return formatBuilder.append(PERCENT_ESCAPER.escape(template)).toString();
     }
 
-    int end = template.indexOf("}", start + 2);
+    int end = template.indexOf('}', start + 2);
     if (end < 0) {
       return formatBuilder.append(PERCENT_ESCAPER.escape(template)).toString();
     }
diff --git a/src/main/java/com/google/devtools/build/lib/packages/License.java b/src/main/java/com/google/devtools/build/lib/packages/License.java
index fe63c9c..f4e554e 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/License.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/License.java
@@ -124,7 +124,7 @@
       Set<DistributionType> result = EnumSet.noneOf(DistributionType.class);
       for (String distStr : distStrings) {
         try {
-          DistributionType dist = Enum.valueOf(DistributionType.class, distStr.toUpperCase());
+          DistributionType dist = DistributionType.valueOf(distStr.toUpperCase());
           result.add(dist);
         } catch (IllegalArgumentException e) {
           throw new LicenseParsingException("Invalid distribution type '" + distStr + "'");
@@ -300,7 +300,7 @@
     if (exceptions.isEmpty()) {
       return licenseTypes.toString().toLowerCase();
     } else {
-      return licenseTypes.toString().toLowerCase() + " with exceptions " + exceptions.toString();
+      return licenseTypes.toString().toLowerCase() + " with exceptions " + exceptions;
     }
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/packages/MakeEnvironment.java b/src/main/java/com/google/devtools/build/lib/packages/MakeEnvironment.java
index 6c0d849..dea6602 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/MakeEnvironment.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/MakeEnvironment.java
@@ -134,7 +134,7 @@
       }
       LinkedList<Binding> bindings = env.get(varname);
       if (bindings == null) {
-        bindings = new LinkedList<Binding>();
+        bindings = new LinkedList<>();
         env.put(varname, bindings);
       }
       // push new bindings onto head of list (=> most recent binding is
diff --git a/src/main/java/com/google/devtools/build/lib/packages/NoSuchTargetException.java b/src/main/java/com/google/devtools/build/lib/packages/NoSuchTargetException.java
index fa180fa..4e84824 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/NoSuchTargetException.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/NoSuchTargetException.java
@@ -48,7 +48,7 @@
     super(message, nspe);
     this.label = label;
     this.target = target;
-    this.packageLoadedSuccessfully = nspe != null ? false : true;
+    this.packageLoadedSuccessfully = nspe == null;
   }
 
   @Nullable
diff --git a/src/main/java/com/google/devtools/build/lib/packages/NonconfigurableAttributeMapper.java b/src/main/java/com/google/devtools/build/lib/packages/NonconfigurableAttributeMapper.java
index d54c847..03d778b 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/NonconfigurableAttributeMapper.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/NonconfigurableAttributeMapper.java
@@ -44,7 +44,7 @@
   @Override
   public <T> T get(String attributeName, Type<T> type) {
     Preconditions.checkState(!getAttributeDefinition(attributeName).isConfigurable(),
-        "Attribute '" + attributeName + "' is potentially configurable - not allowed here");
+        "Attribute '%s' is potentially configurable - not allowed here", attributeName);
     return super.get(attributeName, type);
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Package.java b/src/main/java/com/google/devtools/build/lib/packages/Package.java
index caf1578..186b9d9 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Package.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Package.java
@@ -1184,7 +1184,7 @@
     void setVisibilityAndLicense(InputFile inputFile, RuleVisibility visibility, License license) {
       String filename = inputFile.getName();
       Target cacheInstance = targets.get(filename);
-      if (cacheInstance == null || !(cacheInstance instanceof InputFile)) {
+      if (!(cacheInstance instanceof InputFile)) {
         throw new IllegalArgumentException("Can't set visibility for nonexistent FileTarget "
                                            + filename + " in package " + pkg.getName() + ".");
       }
diff --git a/src/main/java/com/google/devtools/build/lib/packages/PackageDeserializer.java b/src/main/java/com/google/devtools/build/lib/packages/PackageDeserializer.java
index 5eca0f4..cd407b6 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/PackageDeserializer.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/PackageDeserializer.java
@@ -73,8 +73,7 @@
         throws PackageDeserializationException {
       Object value = deserializeAttributeValue(expectedType, attrPb);
       return new ParsedAttributeValue(
-          attrPb.hasExplicitlySpecified() ? attrPb.getExplicitlySpecified() : false,
-          value,
+          attrPb.hasExplicitlySpecified() && attrPb.getExplicitlySpecified(), value,
           deserializeLocation(attrPb.getParseableLocation()));
     }
 
diff --git a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
index 0cfdf0a..fba3957 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
@@ -972,8 +972,8 @@
     String error = LabelValidator.validatePackageName(
         packageId.getPackageFragment().getPathString());
     if (error != null) {
-      throw new BuildFileNotFoundException(packageId.toString(),
-          "illegal package name: '" + packageId.toString() + "' (" + error + ")");
+      throw new BuildFileNotFoundException(
+          packageId.toString(), "illegal package name: '" + packageId + "' (" + error + ")");
     }
     ParserInputSource inputSource = maybeGetParserInputSource(buildFile, eventHandler);
     if (inputSource == null) {
diff --git a/src/main/java/com/google/devtools/build/lib/packages/PackageSpecification.java b/src/main/java/com/google/devtools/build/lib/packages/PackageSpecification.java
index 20524aa..cf7ff71 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/PackageSpecification.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/PackageSpecification.java
@@ -135,7 +135,7 @@
 
     @Override
     public String toString() {
-      return prefix.equals(new PathFragment("")) ? "..." : prefix.toString() + "/...";
+      return prefix.equals(new PathFragment("")) ? "..." : prefix + "/...";
     }
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
index b7da520..23f1c97 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
@@ -240,7 +240,7 @@
         @Override
         public void checkName(String name) {
           Preconditions.checkArgument(
-              (name.contains("$") && !TargetUtils.isTestRuleName(name)) || name.equals(""));
+              (name.contains("$") && !TargetUtils.isTestRuleName(name)) || name.isEmpty());
         }
 
         @Override
@@ -274,8 +274,9 @@
       NORMAL {
         @Override
         public void checkName(String name) {
-          Preconditions.checkArgument(!TargetUtils.isTestRuleName(name)
-              && RULE_NAME_PATTERN.matcher(name).matches(), "Invalid rule name: " + name);
+          Preconditions.checkArgument(
+              !TargetUtils.isTestRuleName(name) && RULE_NAME_PATTERN.matcher(name).matches(),
+              "Invalid rule name: %s", name);
         }
 
         @Override
diff --git a/src/main/java/com/google/devtools/build/lib/packages/TargetUtils.java b/src/main/java/com/google/devtools/build/lib/packages/TargetUtils.java
index 3710eeb..fb0cee9 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/TargetUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/TargetUtils.java
@@ -191,7 +191,7 @@
    * <p>In practice this is the part before the "_", if any, otherwise the entire rule class name.
    */
   public static String getRuleLanguage(String ruleClass) {
-    int index = ruleClass.lastIndexOf("_");
+    int index = ruleClass.lastIndexOf('_');
     // Chop off "_binary" or "_test".
     return index != -1 ? ruleClass.substring(0, index) : ruleClass;
   }