Have TransitiveTraversalValues store kind of targets which have errors when computing TransitiveTraversalValues.

RELNOTES: None
PiperOrigin-RevId: 156138657
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTraversalFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTraversalFunction.java
index 4f11095..7673069 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTraversalFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTraversalFunction.java
@@ -81,8 +81,13 @@
     }
   }
 
-  protected Collection<Label> getAspectLabels(Rule fromRule, Attribute attr, Label toLabel,
-      ValueOrException2<NoSuchPackageException, NoSuchTargetException> toVal, Environment env) {
+  @Override
+  protected Collection<Label> getAspectLabels(
+      Rule fromRule,
+      Attribute attr,
+      Label toLabel,
+      ValueOrException2<NoSuchPackageException, NoSuchTargetException> toVal,
+      Environment env) {
     try {
       if (toVal == null) {
         return ImmutableList.of();
@@ -110,7 +115,8 @@
     String firstErrorMessage = accumulator.getFirstErrorMessage();
     return targetLoadedSuccessfully
         ? TransitiveTraversalValue.forTarget(targetAndErrorIfAny.getTarget(), firstErrorMessage)
-        : TransitiveTraversalValue.unsuccessfulTransitiveTraversal(firstErrorMessage);
+        : TransitiveTraversalValue.unsuccessfulTransitiveTraversal(
+            firstErrorMessage, targetAndErrorIfAny.getTarget());
   }
 
   @Override