Refactor DependencyResolver a bit.

RELNOTES: None.
PiperOrigin-RevId: 227718701
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java b/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java
index 330d145..179a00f 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java
@@ -42,7 +42,6 @@
 import com.google.devtools.build.lib.packages.ConfiguredAttributeMapper;
 import com.google.devtools.build.lib.packages.EnvironmentGroup;
 import com.google.devtools.build.lib.packages.InputFile;
-import com.google.devtools.build.lib.packages.NoSuchThingException;
 import com.google.devtools.build.lib.packages.OutputFile;
 import com.google.devtools.build.lib.packages.PackageGroup;
 import com.google.devtools.build.lib.packages.Rule;
@@ -873,16 +872,6 @@
       Label label);
 
   /**
-   * Hook for the error case where a dependency is missing.
-   *
-   * @param from the target referencing the missing target
-   * @param to the missing target
-   * @param e the exception that was thrown, e.g., by {@link #getTargets}
-   */
-  protected abstract void missingEdgeHook(Target from, Label to, NoSuchThingException e)
-      throws InterruptedException;
-
-  /**
    * Returns the targets for the given labels.
    *
    * <p>Returns null if any targets are not ready to be returned at this moment because of missing
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 b68f907..1f947e6 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
@@ -80,8 +80,7 @@
    * Returns true iff {@code target} is a {@code test_suite} rule.
    */
   public static boolean isTestSuiteRule(Target target) {
-    return target instanceof Rule &&
-        isTestSuiteRuleName(((Rule) target).getRuleClass());
+    return target instanceof Rule && isTestSuiteRuleName(((Rule) target).getRuleClass());
   }
 
   /**
@@ -129,8 +128,7 @@
    * Wraps the above calls into one generic check safely applicable to any rule.
    */
   public static boolean isTestRuleAndRunsLocally(Rule rule) {
-    return isTestOrTestSuiteRule(rule) &&
-        (isLocalTestRule(rule) || isExclusiveTestRule(rule));
+    return isTestOrTestSuiteRule(rule) && (isLocalTestRule(rule) || isExclusiveTestRule(rule));
   }
 
   /**
@@ -270,7 +268,7 @@
     return index != -1 ? ruleClass.substring(0, index) : ruleClass;
   }
 
-  private static boolean isExplicitDependency(Rule rule, Label label) throws InterruptedException {
+  private static boolean isExplicitDependency(Rule rule, Label label) {
     if (rule.getVisibility().getDependencyLabels().contains(label)) {
       return true;
     }
@@ -322,7 +320,7 @@
    * Target} target did not exist, due to {@link NoSuchThingException} e.
    */
   public static String formatMissingEdge(
-      @Nullable Target target, Label label, NoSuchThingException e) throws InterruptedException {
+      @Nullable Target target, Label label, NoSuchThingException e) {
     // instanceof returns false if target is null (which is exploited here)
     if (target instanceof Rule) {
       Rule rule = (Rule) target;
diff --git a/src/main/java/com/google/devtools/build/lib/pkgcache/TargetEdgeObserver.java b/src/main/java/com/google/devtools/build/lib/pkgcache/TargetEdgeObserver.java
index 9e30d92..bf50ec3 100644
--- a/src/main/java/com/google/devtools/build/lib/pkgcache/TargetEdgeObserver.java
+++ b/src/main/java/com/google/devtools/build/lib/pkgcache/TargetEdgeObserver.java
@@ -45,8 +45,7 @@
    * @param to a label reference in the rule, which does not correspond to a valid target.
    * @param e the corresponding exception thrown
    */
-  void missingEdge(@Nullable Target target, Label to, NoSuchThingException e)
-      throws InterruptedException;
+  void missingEdge(@Nullable Target target, Label to, NoSuchThingException e);
 
   /**
    * Called when a node is discovered. May be called
diff --git a/src/main/java/com/google/devtools/build/lib/query2/ErrorPrintingTargetEdgeErrorObserver.java b/src/main/java/com/google/devtools/build/lib/query2/ErrorPrintingTargetEdgeErrorObserver.java
index 11b6f79..b129d59 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/ErrorPrintingTargetEdgeErrorObserver.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/ErrorPrintingTargetEdgeErrorObserver.java
@@ -45,8 +45,7 @@
 
   @ThreadSafety.ThreadSafe
   @Override
-  public void missingEdge(Target target, Label label, NoSuchThingException e)
-      throws InterruptedException {
+  public void missingEdge(Target target, Label label, NoSuchThingException e) {
     eventHandler.handle(Event.error(TargetUtils.getLocationMaybe(target),
         TargetUtils.formatMissingEdge(target, label, e)));
     super.missingEdge(target, label, e);
diff --git a/src/main/java/com/google/devtools/build/lib/query2/TargetEdgeErrorObserver.java b/src/main/java/com/google/devtools/build/lib/query2/TargetEdgeErrorObserver.java
index 06c60ce..6704735 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/TargetEdgeErrorObserver.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/TargetEdgeErrorObserver.java
@@ -51,8 +51,7 @@
    */
   @ThreadSafety.ThreadSafe
   @Override
-  public void missingEdge(Target target, Label label, NoSuchThingException e)
-      throws InterruptedException {
+  public void missingEdge(Target target, Label label, NoSuchThingException e) {
     hasErrors = true;
   }
 
@@ -76,8 +75,8 @@
 
   @Override
   public void node(Target node) {
-    if (node.getPackage().containsErrors() ||
-        ((node instanceof Rule) && ((Rule) node).containsErrors())) {
+    if (node.getPackage().containsErrors()
+        || ((node instanceof Rule) && ((Rule) node).containsErrors())) {
       this.hasErrors = true;  // Note, this is thread-safe.
     }
   }
diff --git a/src/main/java/com/google/devtools/build/lib/query2/TransitionsOutputFormatterCallback.java b/src/main/java/com/google/devtools/build/lib/query2/TransitionsOutputFormatterCallback.java
index f321dc7..4903b72 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/TransitionsOutputFormatterCallback.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/TransitionsOutputFormatterCallback.java
@@ -38,7 +38,6 @@
 import com.google.devtools.build.lib.packages.Attribute;
 import com.google.devtools.build.lib.packages.BuildType;
 import com.google.devtools.build.lib.packages.ConfiguredAttributeMapper;
-import com.google.devtools.build.lib.packages.NoSuchThingException;
 import com.google.devtools.build.lib.packages.RuleTransitionFactory;
 import com.google.devtools.build.lib.packages.Target;
 import com.google.devtools.build.lib.packages.TargetUtils;
@@ -220,13 +219,6 @@
     }
 
     @Override
-    protected void missingEdgeHook(Target from, Label to, NoSuchThingException e) {
-      eventHandler.handle(
-          Event.error(
-              "missing dependency from " + from.getLabel() + " to " + to + ": " + e.getMessage()));
-    }
-
-    @Override
     protected Map<Label, Target> getTargets(
         Iterable<Label> labels,
         Target fromTarget,
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeDependencyResolver.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeDependencyResolver.java
index dabc649..cbde022 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeDependencyResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeDependencyResolver.java
@@ -62,9 +62,7 @@
             "label '%s' does not refer to a package group", label)));
   }
 
-  @Override
-  protected void missingEdgeHook(Target from, Label to, NoSuchThingException e)
-      throws InterruptedException {
+  private void missingEdgeHook(Target from, Label to, NoSuchThingException e) {
     if (e instanceof NoSuchTargetException) {
       NoSuchTargetException nste = (NoSuchTargetException) e;
       if (to.equals(nste.getLabel())) {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveBaseTraversalFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveBaseTraversalFunction.java
index 7215ffe..7863cbb 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveBaseTraversalFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveBaseTraversalFunction.java
@@ -84,8 +84,7 @@
       EventHandler eventHandler,
       TargetAndErrorIfAny targetAndErrorIfAny,
       Iterable<Map.Entry<SkyKey, ValueOrException2<NoSuchPackageException, NoSuchTargetException>>>
-          depEntries)
-      throws InterruptedException;
+          depEntries);
 
   /**
    * Returns a {@link SkyValue} based on the target and any errors it has, and the values
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java
index 0252dce..dc415df 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java
@@ -126,8 +126,7 @@
       EventHandler eventHandler,
       TargetAndErrorIfAny targetAndErrorIfAny,
       Iterable<Map.Entry<SkyKey, ValueOrException2<NoSuchPackageException, NoSuchTargetException>>>
-          depEntries)
-      throws InterruptedException {
+          depEntries) {
     boolean successfulTransitiveLoading = builder.isSuccessfulTransitiveLoading();
     Target target = targetAndErrorIfAny.getTarget();
     NestedSetBuilder<Label> transitiveRootCauses = builder.getTransitiveRootCauses();
@@ -303,8 +302,7 @@
   }
 
   private static void maybeReportErrorAboutMissingEdge(
-      Target target, Label depLabel, NoSuchThingException e, EventHandler eventHandler)
-      throws InterruptedException {
+      Target target, Label depLabel, NoSuchThingException e, EventHandler eventHandler) {
     if (e instanceof NoSuchTargetException) {
       NoSuchTargetException nste = (NoSuchTargetException) e;
       if (depLabel.equals(nste.getLabel())) {