diff options
author | 2017-03-20 16:00:51 +0000 | |
---|---|---|
committer | 2017-03-21 12:48:48 +0000 | |
commit | 14db507c284a936dc14559f095a4629d5c52f5d8 (patch) | |
tree | 16529521638a0984463db7cb53071a40671eab75 /src/main/java/com | |
parent | 41ac1e041484205f1558f30fb5ff75e15acbe39e (diff) |
Add ActionInput.getExecPath, which returns a PathFragment
Update some callers to use getExecPath, which generally results in less
intermediate garbage generation (almost all callers need a PathFragment, not
a String).
Another small step towards #1593.
--
PiperOrigin-RevId: 150631279
MOS_MIGRATED_REVID=150631279
Diffstat (limited to 'src/main/java/com')
3 files changed, 15 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/actions/ActionInput.java b/src/main/java/com/google/devtools/build/lib/actions/ActionInput.java index a21ed8519f..91bfb0c79e 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/ActionInput.java +++ b/src/main/java/com/google/devtools/build/lib/actions/ActionInput.java @@ -14,6 +14,8 @@ package com.google.devtools.build.lib.actions; +import com.google.devtools.build.lib.vfs.PathFragment; + /** * Represents an input file to a build action, with an appropriate relative path and digest * value. @@ -33,5 +35,10 @@ package com.google.devtools.build.lib.actions; public interface ActionInput { /** @return the relative path to the input file. */ - public String getExecPathString(); + String getExecPathString(); + + /** + * @return the relative path to the input file. + */ + PathFragment getExecPath(); } diff --git a/src/main/java/com/google/devtools/build/lib/actions/ActionInputHelper.java b/src/main/java/com/google/devtools/build/lib/actions/ActionInputHelper.java index 4ca4a1b162..c63fd5b93a 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/ActionInputHelper.java +++ b/src/main/java/com/google/devtools/build/lib/actions/ActionInputHelper.java @@ -69,6 +69,7 @@ public final class ActionInputHelper { */ private static class BasicActionInput implements ActionInput { private final String path; + public BasicActionInput(String path) { this.path = Preconditions.checkNotNull(path); } @@ -79,6 +80,11 @@ public final class ActionInputHelper { } @Override + public PathFragment getExecPath() { + return new PathFragment(path); + } + + @Override public int hashCode() { return path.hashCode(); } diff --git a/src/main/java/com/google/devtools/build/lib/actions/Artifact.java b/src/main/java/com/google/devtools/build/lib/actions/Artifact.java index 4b7adbc406..bd54b0f8e7 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/Artifact.java +++ b/src/main/java/com/google/devtools/build/lib/actions/Artifact.java @@ -344,6 +344,7 @@ public class Artifact return root; } + @Override public final PathFragment getExecPath() { return execPath; } |