Remove remaining calls to `getOrderedValuesAndExceptions` and tests.
After this, all that remains is unused implementations.
PiperOrigin-RevId: 485928424
Change-Id: Idfa158fc1dfed3d13f1b23b55d23867b5db5b956
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetAndData.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetAndData.java
index e7d8956..a5d0d95 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetAndData.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetAndData.java
@@ -24,7 +24,7 @@
import com.google.devtools.build.lib.packages.Target;
import com.google.devtools.build.skyframe.SkyFunction;
import com.google.devtools.build.skyframe.SkyKey;
-import com.google.devtools.build.skyframe.SkyframeIterableResult;
+import com.google.devtools.build.skyframe.SkyframeLookupResult;
import javax.annotation.Nullable;
/**
@@ -104,15 +104,16 @@
} else {
packageAndMaybeConfiguration = ImmutableSet.of(packageKey, configurationKeyMaybe);
}
- SkyframeIterableResult packageAndMaybeConfigurationValues =
- env.getOrderedValuesAndExceptions(packageAndMaybeConfiguration);
+ SkyframeLookupResult packageAndMaybeConfigurationValues =
+ env.getValuesAndExceptions(packageAndMaybeConfiguration);
// Don't test env.valuesMissing(), because values may already be missing from the caller.
- PackageValue packageValue = (PackageValue) packageAndMaybeConfigurationValues.next();
+ PackageValue packageValue = (PackageValue) packageAndMaybeConfigurationValues.get(packageKey);
if (packageValue == null) {
return null;
}
if (configurationKeyMaybe != null) {
- configuration = (BuildConfigurationValue) packageAndMaybeConfigurationValues.next();
+ configuration =
+ (BuildConfigurationValue) packageAndMaybeConfigurationValues.get(configurationKeyMaybe);
if (configuration == null) {
return null;
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConstraintValueLookupUtil.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConstraintValueLookupUtil.java
index a295a7c..dbe9325 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ConstraintValueLookupUtil.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConstraintValueLookupUtil.java
@@ -24,6 +24,7 @@
import com.google.devtools.build.lib.server.FailureDetails.Toolchain.Code;
import com.google.devtools.build.skyframe.SkyFunction.Environment;
import com.google.devtools.build.skyframe.SkyframeIterableResult;
+import com.google.devtools.build.skyframe.SkyframeLookupResult;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Nullable;
@@ -36,7 +37,7 @@
Iterable<ConfiguredTargetKey> constraintValueKeys, Environment env)
throws InterruptedException, InvalidConstraintValueException {
- SkyframeIterableResult values = env.getOrderedValuesAndExceptions(constraintValueKeys);
+ SkyframeLookupResult values = env.getValuesAndExceptions(constraintValueKeys);
boolean valuesMissing = env.valuesMissing();
List<ConstraintValueInfo> constraintValues = valuesMissing ? null : new ArrayList<>();
for (ConfiguredTargetKey key : constraintValueKeys) {
@@ -59,13 +60,12 @@
*/
@Nullable
private static ConstraintValueInfo findConstraintValueInfo(
- ConfiguredTargetKey key, SkyframeIterableResult values)
- throws InvalidConstraintValueException {
-
+ ConfiguredTargetKey key, SkyframeLookupResult values) throws InvalidConstraintValueException {
try {
ConfiguredTargetValue ctv =
(ConfiguredTargetValue)
- values.nextOrThrow(
+ values.getOrThrow(
+ key,
ConfiguredValueCreationException.class,
NoSuchThingException.class,
ActionConflictException.class);
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/EnvironmentBackedRecursivePackageProvider.java b/src/main/java/com/google/devtools/build/lib/skyframe/EnvironmentBackedRecursivePackageProvider.java
index 4852dcd..8ede80d 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/EnvironmentBackedRecursivePackageProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/EnvironmentBackedRecursivePackageProvider.java
@@ -36,7 +36,7 @@
import com.google.devtools.build.lib.vfs.RootedPath;
import com.google.devtools.build.skyframe.SkyFunction.Environment;
import com.google.devtools.build.skyframe.SkyKey;
-import com.google.devtools.build.skyframe.SkyframeIterableResult;
+import com.google.devtools.build.skyframe.SkyframeLookupResult;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -199,23 +199,23 @@
ImmutableSet.copyOf(
Iterables.filter(ignoredSubdirectories, path -> path.startsWith(directory)));
- SkyframeIterableResult recursivePackageValues =
- env.getOrderedValuesAndExceptions(
- Iterables.transform(
- roots,
- r ->
- RecursivePkgValue.key(
- repository,
- RootedPath.toRootedPath(r, directory),
- filteredIgnoredSubdirectories)));
+ Iterable<RecursivePkgValue.Key> recursivePackageKeys =
+ Iterables.transform(
+ roots,
+ r ->
+ RecursivePkgValue.key(
+ repository,
+ RootedPath.toRootedPath(r, directory),
+ filteredIgnoredSubdirectories));
+ SkyframeLookupResult recursivePackageValues = env.getValuesAndExceptions(recursivePackageKeys);
NoSuchPackageException firstNspe = null;
- while (recursivePackageValues.hasNext()) {
+ for (RecursivePkgValue.Key key : recursivePackageKeys) {
RecursivePkgValue lookup;
try {
lookup =
(RecursivePkgValue)
- recursivePackageValues.nextOrThrow(
- NoSuchPackageException.class, ProcessPackageDirectoryException.class);
+ recursivePackageValues.getOrThrow(
+ key, NoSuchPackageException.class, ProcessPackageDirectoryException.class);
} catch (NoSuchPackageException e) {
// NoSuchPackageException can happen during error bubbling in a no-keep-going build.
if (firstNspe == null) {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java
index a8e4ee4..fbed054 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java
@@ -77,7 +77,6 @@
import com.google.devtools.build.skyframe.SkyFunctionException.Transience;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-import com.google.devtools.build.skyframe.SkyframeIterableResult;
import com.google.devtools.build.skyframe.SkyframeLookupResult;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import java.io.IOException;
@@ -286,10 +285,10 @@
throws InternalInconsistentFilesystemException, FileSymlinkException, InterruptedException {
checkState(Iterables.all(depKeys, SkyFunctions.isSkyFunction(SkyFunctions.GLOB)), depKeys);
FileSymlinkException arbitraryFse = null;
- SkyframeIterableResult skyframeIterableResult = env.getOrderedValuesAndExceptions(depKeys);
- while (skyframeIterableResult.hasNext()) {
+ SkyframeLookupResult result = env.getValuesAndExceptions(depKeys);
+ for (SkyKey key : depKeys) {
try {
- skyframeIterableResult.nextOrThrow(IOException.class, BuildFileNotFoundException.class);
+ result.getOrThrow(key, IOException.class, BuildFileNotFoundException.class);
} catch (InconsistentFilesystemException e) {
throw new InternalInconsistentFilesystemException(packageIdentifier, e);
} catch (FileSymlinkException e) {
@@ -725,11 +724,12 @@
Environment env, List<BzlLoadValue.Key> keys)
throws InterruptedException, BzlLoadFailedException {
List<BzlLoadValue> bzlLoads = Lists.newArrayListWithExpectedSize(keys.size());
- SkyframeIterableResult starlarkLookupResults = env.getOrderedValuesAndExceptions(keys);
- for (int i = 0; i < keys.size(); i++) {
+ SkyframeLookupResult starlarkLookupResults = env.getValuesAndExceptions(keys);
+ for (BzlLoadValue.Key key : keys) {
// TODO(adonovan): if get fails, report the source location
// in the corresponding programLoads[i] (see caller).
- bzlLoads.add((BzlLoadValue) starlarkLookupResults.nextOrThrow(BzlLoadFailedException.class));
+ bzlLoads.add(
+ (BzlLoadValue) starlarkLookupResults.getOrThrow(key, BzlLoadFailedException.class));
}
return env.valuesMissing() ? null : bzlLoads;
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PlatformLookupUtil.java b/src/main/java/com/google/devtools/build/lib/skyframe/PlatformLookupUtil.java
index 8cf6d10..429a3bb 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PlatformLookupUtil.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PlatformLookupUtil.java
@@ -35,6 +35,7 @@
import com.google.devtools.build.lib.server.FailureDetails.Toolchain.Code;
import com.google.devtools.build.skyframe.SkyFunction.Environment;
import com.google.devtools.build.skyframe.SkyframeIterableResult;
+import com.google.devtools.build.skyframe.SkyframeLookupResult;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Nullable;
@@ -51,7 +52,7 @@
return null;
}
- SkyframeIterableResult values = env.getOrderedValuesAndExceptions(platformKeys);
+ SkyframeLookupResult values = env.getValuesAndExceptions(platformKeys);
boolean valuesMissing = env.valuesMissing();
Map<ConfiguredTargetKey, PlatformInfo> platforms = valuesMissing ? null : new HashMap<>();
for (ConfiguredTargetKey key : platformKeys) {
@@ -80,12 +81,13 @@
.map(PackageValue::key)
.collect(toImmutableSet());
- SkyframeIterableResult values = env.getOrderedValuesAndExceptions(packageKeys);
+ SkyframeLookupResult values = env.getValuesAndExceptions(packageKeys);
boolean valuesMissing = env.valuesMissing();
Map<PackageIdentifier, Package> packages = valuesMissing ? null : new HashMap<>();
- while (values.hasNext()) {
+ for (PackageValue.Key packageKey : packageKeys) {
try {
- PackageValue packageValue = (PackageValue) values.nextOrThrow(NoSuchPackageException.class);
+ PackageValue packageValue =
+ (PackageValue) values.getOrThrow(packageKey, NoSuchPackageException.class);
if (!valuesMissing && packageValue != null) {
packages.put(packageValue.getPackage().getPackageIdentifier(), packageValue.getPackage());
}
@@ -125,13 +127,13 @@
* InvalidPlatformException} is thrown.
*/
@Nullable
- private static PlatformInfo findPlatformInfo(
- ConfiguredTargetKey key, SkyframeIterableResult values) throws InvalidPlatformException {
-
+ private static PlatformInfo findPlatformInfo(ConfiguredTargetKey key, SkyframeLookupResult values)
+ throws InvalidPlatformException {
try {
ConfiguredTargetValue ctv =
(ConfiguredTargetValue)
- values.nextOrThrow(
+ values.getOrThrow(
+ key,
ConfiguredValueCreationException.class,
NoSuchThingException.class,
ActionConflictException.class);
@@ -191,10 +193,6 @@
super(formatError(label, DEFAULT_ERROR), e);
}
- InvalidPlatformException(Label label, String error) {
- super(formatError(label, error));
- }
-
@Override
protected Code getDetailedCode() {
return Code.INVALID_PLATFORM_VALUE;
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsFunction.java
index e2e158a..f240475 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsFunction.java
@@ -34,7 +34,7 @@
import com.google.devtools.build.skyframe.SkyFunction;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-import com.google.devtools.build.skyframe.SkyframeIterableResult;
+import com.google.devtools.build.skyframe.SkyframeLookupResult;
import javax.annotation.Nullable;
/**
@@ -103,7 +103,7 @@
RepositoryMapping mainRepoMapping = repositoryMappingValue.getRepositoryMapping();
ImmutableList<SkyKey> skyKeys = getSkyKeys(skyKey, eventHandler, mainRepoMapping);
- SkyframeIterableResult tokensByKey = env.getOrderedValuesAndExceptions(skyKeys);
+ SkyframeLookupResult tokensByKey = env.getValuesAndExceptions(skyKeys);
if (env.valuesMissing()) {
return null;
}
@@ -111,7 +111,8 @@
for (SkyKey key : skyKeys) {
try {
SkyValue value =
- tokensByKey.nextOrThrow(
+ tokensByKey.getOrThrow(
+ key,
TargetParsingException.class,
ProcessPackageDirectoryException.class,
InconsistentFilesystemException.class);
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveDirectoryTraversalFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveDirectoryTraversalFunction.java
index 45c09b1..6700411 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveDirectoryTraversalFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveDirectoryTraversalFunction.java
@@ -27,7 +27,7 @@
import com.google.devtools.build.skyframe.SkyFunction.Environment;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-import com.google.devtools.build.skyframe.SkyframeIterableResult;
+import com.google.devtools.build.skyframe.SkyframeLookupResult;
import com.google.errorprone.annotations.ForOverride;
import java.util.Map;
import javax.annotation.Nullable;
@@ -145,7 +145,7 @@
Iterable<SkyKey> childDeps = processPackageDirectoryResult.getChildDeps();
ConsumerT consumer = getInitialConsumer();
- SkyframeIterableResult dependentSkyValues;
+ SkyframeLookupResult dependentSkyValues;
if (processPackageDirectoryResult.packageExists()) {
PathFragment rootRelativePath = recursivePkgKey.getRootedPath().getRootRelativePath();
SkyKey packageErrorMessageKey =
@@ -155,13 +155,13 @@
// NoSuchPackageException. Since we don't catch such an exception here, this SkyFunction will
// return immediately with a missing value, and the NoSuchPackageException will propagate up.
dependentSkyValues =
- env.getOrderedValuesAndExceptions(
+ env.getValuesAndExceptions(
Iterables.concat(ImmutableList.of(packageErrorMessageKey), childDeps));
if (env.valuesMissing()) {
return null;
}
PackageErrorMessageValue pkgErrorMessageValue =
- (PackageErrorMessageValue) dependentSkyValues.next();
+ (PackageErrorMessageValue) dependentSkyValues.get(packageErrorMessageKey);
if (pkgErrorMessageValue == null) {
return null;
}
@@ -185,15 +185,15 @@
throw new IllegalStateException(pkgErrorMessageValue.getResult().toString());
}
} else {
- dependentSkyValues = env.getOrderedValuesAndExceptions(childDeps);
+ dependentSkyValues = env.getValuesAndExceptions(childDeps);
if (env.valuesMissing()) {
- return null;
- }
+ return null;
+ }
}
ImmutableMap.Builder<SkyKey, SkyValue> subdirectorySkyValuesFromDeps =
ImmutableMap.builderWithExpectedSize(Iterables.size(childDeps));
for (SkyKey skyKey : childDeps) {
- SkyValue skyValue = dependentSkyValues.next();
+ SkyValue skyValue = dependentSkyValues.get(skyKey);
if (skyValue == null) {
return null;
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunction.java
index de37dd5..180df4a 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunction.java
@@ -57,7 +57,7 @@
import com.google.devtools.build.skyframe.SkyFunctionException;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-import com.google.devtools.build.skyframe.SkyframeIterableResult;
+import com.google.devtools.build.skyframe.SkyframeLookupResult;
import java.io.IOException;
import java.math.BigInteger;
import java.util.ArrayList;
@@ -706,11 +706,11 @@
}
}
- SkyframeIterableResult result = env.getOrderedValuesAndExceptions(childKeys);
+ SkyframeLookupResult result = env.getValuesAndExceptions(childKeys);
ImmutableList.Builder<RecursiveFilesystemTraversalValue> childValues =
ImmutableList.builderWithExpectedSize(childKeys.size());
for (SkyKey key : childKeys) {
- SkyValue value = result.next();
+ SkyValue value = result.get(key);
if (value == null) {
continue;
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredExecutionPlatformsFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredExecutionPlatformsFunction.java
index 93c972b..bb464a6 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredExecutionPlatformsFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredExecutionPlatformsFunction.java
@@ -50,7 +50,7 @@
import com.google.devtools.build.skyframe.SkyFunctionException.Transience;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-import com.google.devtools.build.skyframe.SkyframeIterableResult;
+import com.google.devtools.build.skyframe.SkyframeLookupResult;
import java.util.List;
import javax.annotation.Nullable;
import net.starlark.java.eval.StarlarkSemantics;
@@ -200,13 +200,13 @@
.build())
.collect(toImmutableList());
- SkyframeIterableResult values = env.getOrderedValuesAndExceptions(keys);
+ SkyframeLookupResult values = env.getValuesAndExceptions(keys);
ImmutableList.Builder<ConfiguredTargetKey> validPlatformKeys = new ImmutableList.Builder<>();
boolean valuesMissing = false;
for (ConfiguredTargetKey platformKey : keys) {
Label platformLabel = platformKey.getLabel();
try {
- SkyValue value = values.nextOrThrow(ConfiguredValueCreationException.class);
+ SkyValue value = values.getOrThrow(platformKey, ConfiguredValueCreationException.class);
if (value == null) {
valuesMissing = true;
continue;
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunction.java
index cb2e3b5..90f88c0 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsFunction.java
@@ -44,7 +44,7 @@
import com.google.devtools.build.skyframe.SkyFunctionException.Transience;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-import com.google.devtools.build.skyframe.SkyframeIterableResult;
+import com.google.devtools.build.skyframe.SkyframeLookupResult;
import java.util.List;
import javax.annotation.Nullable;
import net.starlark.java.eval.StarlarkSemantics;
@@ -189,14 +189,14 @@
.build())
.collect(toImmutableList());
- SkyframeIterableResult values = env.getOrderedValuesAndExceptions(keys);
+ SkyframeLookupResult values = env.getValuesAndExceptions(keys);
ImmutableList.Builder<DeclaredToolchainInfo> toolchains = new ImmutableList.Builder<>();
boolean valuesMissing = false;
for (SkyKey key : keys) {
ConfiguredTargetKey configuredTargetKey = (ConfiguredTargetKey) key.argument();
Label toolchainLabel = configuredTargetKey.getLabel();
try {
- SkyValue value = values.nextOrThrow(ConfiguredValueCreationException.class);
+ SkyValue value = values.getOrThrow(key, ConfiguredValueCreationException.class);
if (value == null) {
valuesMissing = true;
continue;
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkBuildSettingsDetailsFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkBuildSettingsDetailsFunction.java
index e5afa52..fc469b3 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkBuildSettingsDetailsFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkBuildSettingsDetailsFunction.java
@@ -35,7 +35,7 @@
import com.google.devtools.build.skyframe.SkyFunctionException;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-import com.google.devtools.build.skyframe.SkyframeIterableResult;
+import com.google.devtools.build.skyframe.SkyframeLookupResult;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
@@ -51,7 +51,7 @@
private static final String ALIAS_RULE_NAME = "alias";
private static final String ALIAS_ACTUAL_ATTRIBUTE_NAME = "actual";
- public StarlarkBuildSettingsDetailsFunction() {}
+ StarlarkBuildSettingsDetailsFunction() {}
@Override
@Nullable
@@ -155,14 +155,14 @@
}
ImmutableSet<PackageValue.Key> packageKeys =
getPackageKeysFromLabels(unverifiedBuildSettings);
- SkyframeIterableResult newlyLoaded = env.getOrderedValuesAndExceptions(packageKeys);
+ SkyframeLookupResult newlyLoaded = env.getValuesAndExceptions(packageKeys);
if (env.valuesMissing()) {
return null;
}
- for (SkyKey packageKey : packageKeys) {
+ for (PackageValue.Key packageKey : packageKeys) {
try {
- SkyValue skyValue = newlyLoaded.nextOrThrow(NoSuchPackageException.class);
- buildSettingPackages.put((PackageValue.Key) packageKey, (PackageValue) skyValue);
+ SkyValue skyValue = newlyLoaded.getOrThrow(packageKey, NoSuchPackageException.class);
+ buildSettingPackages.put(packageKey, (PackageValue) skyValue);
} catch (NoSuchPackageException e) {
throw new TransitionException(e);
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseFunction.java
index 4b2153e..acebe98 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseFunction.java
@@ -51,9 +51,7 @@
import com.google.devtools.build.lib.skyframe.TargetPatternValue.TargetPatternKey;
import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.skyframe.SkyFunction;
-import com.google.devtools.build.skyframe.SkyFunction.Environment;
import com.google.devtools.build.skyframe.SkyKey;
-import com.google.devtools.build.skyframe.SkyframeIterableResult;
import com.google.devtools.build.skyframe.SkyframeLookupResult;
import java.util.ArrayList;
import java.util.Collection;
@@ -308,13 +306,14 @@
}
}
- SkyframeIterableResult resolvedPatterns = env.getOrderedValuesAndExceptions(patternSkyKeys);
+ SkyframeLookupResult resolvedPatterns = env.getValuesAndExceptions(patternSkyKeys);
List<ExpandedPattern> expandedPatterns = new ArrayList<>(patternSkyKeys.size());
for (TargetPatternKey pattern : patternSkyKeys) {
TargetPatternValue value;
try {
- value = (TargetPatternValue) resolvedPatterns.nextOrThrow(TargetParsingException.class);
+ value =
+ (TargetPatternValue) resolvedPatterns.getOrThrow(pattern, TargetParsingException.class);
} catch (TargetParsingException e) {
String rawPattern = pattern.getPattern();
String errorMessage = e.getMessage();
@@ -435,12 +434,13 @@
}
expandedSuiteKeys.add(TestsForTargetPatternValue.key(value.getTargets().getTargets()));
}
- SkyframeIterableResult expandedSuites = env.getOrderedValuesAndExceptions(expandedSuiteKeys);
+ SkyframeLookupResult expandedSuites = env.getValuesAndExceptions(expandedSuiteKeys);
if (env.valuesMissing()) {
return null;
}
ResolvedTargets.Builder<Target> testTargetsBuilder = ResolvedTargets.builder();
+ int suiteKeyIndex = 0;
for (TargetPatternKey pattern : patternSkyKeys) {
TargetPatternValue value;
try {
@@ -458,7 +458,7 @@
}
TestsForTargetPatternValue expandedSuitesValue =
- (TestsForTargetPatternValue) expandedSuites.next();
+ (TestsForTargetPatternValue) expandedSuites.get(expandedSuiteKeys.get(suiteKeyIndex++));
if (expandedSuitesValue == null) {
BugReport.logUnexpected("Value for: '%s' was missing, this should never happen", pattern);
return null;
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternUtil.java b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternUtil.java
index 2fb8a28..576f44c 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternUtil.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternUtil.java
@@ -26,7 +26,7 @@
import com.google.devtools.build.lib.pkgcache.FilteringPolicy;
import com.google.devtools.build.lib.skyframe.TargetPatternValue.TargetPatternKey;
import com.google.devtools.build.skyframe.SkyFunction.Environment;
-import com.google.devtools.build.skyframe.SkyframeIterableResult;
+import com.google.devtools.build.skyframe.SkyframeLookupResult;
import java.util.List;
import javax.annotation.Nullable;
@@ -49,14 +49,14 @@
Iterable<TargetPatternKey> targetPatternKeys =
TargetPatternValue.keys(targetPatterns, filteringPolicy);
- SkyframeIterableResult resolvedPatterns = env.getOrderedValuesAndExceptions(targetPatternKeys);
+ SkyframeLookupResult resolvedPatterns = env.getValuesAndExceptions(targetPatternKeys);
boolean valuesMissing = env.valuesMissing();
ImmutableList.Builder<Label> labels = valuesMissing ? null : new ImmutableList.Builder<>();
for (TargetPatternKey pattern : targetPatternKeys) {
- TargetPatternValue value;
try {
- value = (TargetPatternValue) resolvedPatterns.nextOrThrow(TargetParsingException.class);
+ TargetPatternValue value =
+ (TargetPatternValue) resolvedPatterns.getOrThrow(pattern, TargetParsingException.class);
if (!valuesMissing && value != null) {
labels.addAll(value.getTargets().getTargets());
}
@@ -101,8 +101,8 @@
// TODO(bazel-team): Consolidate this and TargetParsingException. Just have the latter store the
// original unparsed pattern too.
public static final class InvalidTargetPatternException extends Exception {
- private String invalidPattern;
- private TargetParsingException tpe;
+ private final String invalidPattern;
+ private final TargetParsingException tpe;
public InvalidTargetPatternException(String invalidPattern, TargetParsingException tpe) {
super(tpe);
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TestExpansionFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/TestExpansionFunction.java
index 4ec6565..2b447ae 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TestExpansionFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TestExpansionFunction.java
@@ -32,7 +32,7 @@
import com.google.devtools.build.skyframe.SkyFunction;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-import com.google.devtools.build.skyframe.SkyframeIterableResult;
+import com.google.devtools.build.skyframe.SkyframeLookupResult;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
@@ -158,7 +158,7 @@
pkgIdentifiers.add(label.getPackageIdentifier());
});
ImmutableList<SkyKey> skyKeys = PackageValue.keys(pkgIdentifiers);
- SkyframeIterableResult packages = env.getOrderedValuesAndExceptions(skyKeys);
+ SkyframeLookupResult packages = env.getValuesAndExceptions(skyKeys);
if (env.valuesMissing()) {
return false;
}
@@ -168,7 +168,7 @@
try {
packageMap.put(
(PackageIdentifier) key.argument(),
- ((PackageValue) packages.nextOrThrow(NoSuchPackageException.class)).getPackage());
+ ((PackageValue) packages.getOrThrow(key, NoSuchPackageException.class)).getPackage());
} catch (NoSuchPackageException e) {
env.getListener().handle(Event.error(e.getMessage()));
hasError = true;
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TestsForTargetPatternFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/TestsForTargetPatternFunction.java
index ea18c97..13eee99 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TestsForTargetPatternFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TestsForTargetPatternFunction.java
@@ -26,7 +26,7 @@
import com.google.devtools.build.skyframe.SkyFunction;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-import com.google.devtools.build.skyframe.SkyframeIterableResult;
+import com.google.devtools.build.skyframe.SkyframeLookupResult;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashSet;
@@ -52,18 +52,20 @@
testsInSuitesKeys.add(TestExpansionValue.key(target, true));
}
}
- SkyframeIterableResult testsInSuites = env.getOrderedValuesAndExceptions(testsInSuitesKeys);
+ SkyframeLookupResult testsInSuites = env.getValuesAndExceptions(testsInSuitesKeys);
if (env.valuesMissing()) {
return null;
}
Set<Label> result = new LinkedHashSet<>();
boolean hasError = targets.hasError();
+ int keyIndex = 0;
for (Target target : targets.getTargets()) {
if (TargetUtils.isTestRule(target)) {
result.add(target.getLabel());
} else if (TargetUtils.isTestSuiteRule(target)) {
- TestExpansionValue value = (TestExpansionValue) testsInSuites.next();
+ TestExpansionValue value =
+ (TestExpansionValue) testsInSuites.get(testsInSuitesKeys.get(keyIndex++));
if (value == null) {
return null;
}
@@ -86,7 +88,7 @@
pkgIdentifiers.add(label.getPackageIdentifier());
}
List<SkyKey> packagesKeys = PackageValue.keys(pkgIdentifiers);
- SkyframeIterableResult packages = env.getOrderedValuesAndExceptions(packagesKeys);
+ SkyframeLookupResult packages = env.getValuesAndExceptions(packagesKeys);
if (env.valuesMissing()) {
return null;
}
@@ -96,7 +98,7 @@
Map<PackageIdentifier, Package> packageMap = new HashMap<>();
for (SkyKey packagesKey : packagesKeys) {
// Don't bother to check for exceptions - the incoming list should only contain valid targets.
- PackageValue packagesValue = (PackageValue) packages.next();
+ PackageValue packagesValue = (PackageValue) packages.get(packagesKey);
if (packagesValue == null) {
BugReport.sendBugReport(
new IllegalStateException(
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainTypeLookupUtil.java b/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainTypeLookupUtil.java
index 9078220..18bfc47 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainTypeLookupUtil.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainTypeLookupUtil.java
@@ -25,7 +25,7 @@
import com.google.devtools.build.lib.packages.NoSuchThingException;
import com.google.devtools.build.lib.server.FailureDetails.Toolchain.Code;
import com.google.devtools.build.skyframe.SkyFunction.Environment;
-import com.google.devtools.build.skyframe.SkyframeIterableResult;
+import com.google.devtools.build.skyframe.SkyframeLookupResult;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Nullable;
@@ -37,7 +37,7 @@
public static ImmutableMap<Label, ToolchainTypeInfo> resolveToolchainTypes(
Environment env, Iterable<ConfiguredTargetKey> toolchainTypeKeys)
throws InterruptedException, InvalidToolchainTypeException {
- SkyframeIterableResult values = env.getOrderedValuesAndExceptions(toolchainTypeKeys);
+ SkyframeLookupResult values = env.getValuesAndExceptions(toolchainTypeKeys);
boolean valuesMissing = env.valuesMissing();
Map<Label, ToolchainTypeInfo> results = valuesMissing ? null : new HashMap<>();
for (ConfiguredTargetKey key : toolchainTypeKeys) {
@@ -58,12 +58,12 @@
@Nullable
private static ToolchainTypeInfo findToolchainTypeInfo(
- ConfiguredTargetKey key, SkyframeIterableResult values) throws InvalidToolchainTypeException {
-
+ ConfiguredTargetKey key, SkyframeLookupResult values) throws InvalidToolchainTypeException {
try {
ConfiguredTargetValue ctv =
(ConfiguredTargetValue)
- values.nextOrThrow(
+ values.getOrThrow(
+ key,
ConfiguredValueCreationException.class,
NoSuchThingException.class,
ActionConflictException.class);
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ToplevelStarlarkAspectFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ToplevelStarlarkAspectFunction.java
index 1b356d4..4074fec 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ToplevelStarlarkAspectFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ToplevelStarlarkAspectFunction.java
@@ -25,7 +25,7 @@
import com.google.devtools.build.skyframe.SkyFunctionException;
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-import com.google.devtools.build.skyframe.SkyframeIterableResult;
+import com.google.devtools.build.skyframe.SkyframeLookupResult;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
@@ -64,14 +64,14 @@
topLevelAspectsDetails.getAspectsDetails(),
topLevelAspectsKey.getBaseConfiguredTargetKey());
- SkyframeIterableResult result = env.getOrderedValuesAndExceptions(aspectsKeys);
+ SkyframeLookupResult result = env.getValuesAndExceptions(aspectsKeys);
if (env.valuesMissing()) {
return null; // some aspects keys are not evaluated
}
ImmutableList.Builder<SkyValue> values =
ImmutableList.builderWithExpectedSize(aspectsKeys.size());
- while (result.hasNext()) {
- SkyValue value = result.next();
+ for (SkyKey aspectKey : aspectsKeys) {
+ SkyValue value = result.get(aspectKey);
if (value == null) {
return null;
}