Migrate some uses of NestedSet#forEachElement to NestedSetVisitor
These were the only 2 uses of NestedSet#forEachElement in Bazel.
No functional change intended.
Closes #12584.
PiperOrigin-RevId: 381914149
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
index a47f477..23bdec6 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
@@ -1066,14 +1066,13 @@
}
static DetailedExitCode getPrioritizedDetailedExitCode(NestedSet<Cause> causes) {
- DetailedExitCode[] prioritizedDetailedExitCodeWrapper = {null};
- causes.forEachElement(
- o -> true,
- c ->
- prioritizedDetailedExitCodeWrapper[0] =
- DetailedExitCodeComparator.chooseMoreImportantWithFirstIfTie(
- prioritizedDetailedExitCodeWrapper[0], c.getDetailedExitCode()));
- return prioritizedDetailedExitCodeWrapper[0];
+ DetailedExitCode prioritizedDetailedExitCode = null;
+ for (Cause c : causes.toList()) {
+ prioritizedDetailedExitCode =
+ DetailedExitCodeComparator.chooseMoreImportantWithFirstIfTie(
+ prioritizedDetailedExitCode, c.getDetailedExitCode());
+ }
+ return prioritizedDetailedExitCode;
}
/**
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/TargetCompleteEventTest.java b/src/test/java/com/google/devtools/build/lib/analysis/TargetCompleteEventTest.java
index a02da32..4c8fd7f 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/TargetCompleteEventTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/TargetCompleteEventTest.java
@@ -72,9 +72,9 @@
ArrayList<File> fileProtos = new ArrayList<>();
ReportedArtifacts reportedArtifacts = event.reportedArtifacts();
for (NestedSet<Artifact> artifactSet : reportedArtifacts.artifacts) {
- artifactSet.forEachElement(
- o -> true,
- a -> fileProtos.add(newFileFromArtifact(null, a, PathFragment.EMPTY_FRAGMENT).build()));
+ for (Artifact a : artifactSet.toListInterruptibly()) {
+ fileProtos.add(newFileFromArtifact(null, a, PathFragment.EMPTY_FRAGMENT).build());
+ }
}
// Bytes are the same but the encoding is actually UTF-8 as required of a protobuf string.
String utf8FileName = new String(filenameBytes, UTF_8);