aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunction.java
diff options
context:
space:
mode:
authorGravatar janakr <janakr@google.com>2018-03-02 17:48:57 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-03-02 17:51:19 -0800
commit5fb2a487e53cc3d80e3654d5b63d062f7f70588b (patch)
tree82b23b68d09c451a8950468668150acdf89533e9 /src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunction.java
parent46f7106d0b20ae0ba245c3609545600ae379cea4 (diff)
Replace LegacySkyKey by AbstractSkyKey or custom SkyKeys. AbstractSkyKey doesn't save memory in the 32-bit case, but makes it easier for people to see how many SkyKeys we have.
There's some unnecessary interning in tests, but it was easier to copypasta and doesn't harm anything, I think. PiperOrigin-RevId: 187694309
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunction.java14
1 files changed, 8 insertions, 6 deletions
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 e46776d94d..2948e4e16d 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
@@ -177,8 +177,10 @@ public final class RecursiveFilesystemTraversalFunction implements SkyFunction {
// We are free to traverse this directory.
Collection<SkyKey> dependentKeys = createRecursiveTraversalKeys(env, traversal);
- return resultForDirectory(traversal, rootInfo,
- traverseChildren(env, dependentKeys, /*inline=*/traversal.isGenerated));
+ return resultForDirectory(
+ traversal,
+ rootInfo,
+ traverseChildren(env, dependentKeys, /*inline=*/ traversal.isRootGenerated));
} catch (IOException e) {
throw new RecursiveFilesystemTraversalFunctionException(
new FileOperationException("Error while traversing fileset: " + e.getMessage()));
@@ -219,7 +221,7 @@ public final class RecursiveFilesystemTraversalFunction implements SkyFunction {
private static FileInfo lookUpFileInfo(Environment env, TraversalRequest traversal)
throws MissingDepException, IOException, InterruptedException {
- if (traversal.isGenerated) {
+ if (traversal.isRootGenerated) {
byte[] digest = null;
if (traversal.root.getOutputArtifact() != null) {
Artifact artifact = traversal.root.getOutputArtifact();
@@ -360,7 +362,7 @@ public final class RecursiveFilesystemTraversalFunction implements SkyFunction {
PackageLookupValue.key(traversal.root.asRootedPath().getRootRelativePath()));
if (pkgLookup.packageExists()) {
- if (traversal.isGenerated) {
+ if (traversal.isRootGenerated) {
// The traversal's root was a generated directory, but its root-relative path conflicts with
// an existing package.
return PkgLookupResult.conflict(traversal, rootInfo);
@@ -394,7 +396,7 @@ public final class RecursiveFilesystemTraversalFunction implements SkyFunction {
// Use the traversal's path, even if it's a symlink. The contents of the directory, as listed
// in the result, must be relative to it.
Iterable<Dirent> dirents;
- if (traversal.isGenerated) {
+ if (traversal.isRootGenerated) {
// If we're dealing with an output file, read the directory directly instead of creating
// filesystem nodes under the output tree.
List<Dirent> direntsCollection =
@@ -414,7 +416,7 @@ public final class RecursiveFilesystemTraversalFunction implements SkyFunction {
traversal.root.asRootedPath().getRoot(),
traversal.root.asRootedPath().getRootRelativePath().getRelative(dirent.getName()));
TraversalRequest childTraversal = traversal.forChildEntry(childPath);
- result.add(RecursiveFilesystemTraversalValue.key(childTraversal));
+ result.add(childTraversal);
}
return result;
}