diff options
author | janakr <janakr@google.com> | 2018-03-02 17:48:57 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-03-02 17:51:19 -0800 |
commit | 5fb2a487e53cc3d80e3654d5b63d062f7f70588b (patch) | |
tree | 82b23b68d09c451a8950468668150acdf89533e9 /src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunction.java | |
parent | 46f7106d0b20ae0ba245c3609545600ae379cea4 (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.java | 14 |
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; } |