diff options
author | 2018-02-05 09:33:15 -0800 | |
---|---|---|
committer | 2018-02-05 09:35:15 -0800 | |
commit | ac09f0a1b39092aa92cd86ffe51b30488e3ae312 (patch) | |
tree | 5da2c93a53102c82258a2637b9e853c7bfb2dd2c /src/main/java/com/google/devtools/build/lib/analysis/actions | |
parent | 98f703b46e08b6795af609b6f453ce3884f28a28 (diff) |
Add type assertion that TreeFileArtifact's parentTreeArtifact member is a
SpecialArtifact.
PiperOrigin-RevId: 184539696
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/actions')
2 files changed, 14 insertions, 12 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactAction.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactAction.java index 5ba555fcd3..fb5eafda48 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactAction.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactAction.java @@ -30,6 +30,7 @@ import com.google.devtools.build.lib.actions.ActionOwner; import com.google.devtools.build.lib.actions.ActionResult; import com.google.devtools.build.lib.actions.Actions; import com.google.devtools.build.lib.actions.Artifact; +import com.google.devtools.build.lib.actions.Artifact.SpecialArtifact; import com.google.devtools.build.lib.actions.Artifact.TreeFileArtifact; import com.google.devtools.build.lib.actions.ArtifactPrefixConflictException; import com.google.devtools.build.lib.actions.BaseSpawn; @@ -75,7 +76,7 @@ public final class PopulateTreeArtifactAction extends AbstractAction { private final Artifact archive; private final Artifact archiveManifest; - private final Artifact outputTreeArtifact; + private final SpecialArtifact outputTreeArtifact; private final FilesToRunProvider zipper; /** @@ -92,7 +93,7 @@ public final class PopulateTreeArtifactAction extends AbstractAction { ActionOwner owner, Artifact archive, Artifact archiveManifest, - Artifact treeArtifactToPopulate, + SpecialArtifact treeArtifactToPopulate, FilesToRunProvider zipper) { super( owner, @@ -114,7 +115,7 @@ public final class PopulateTreeArtifactAction extends AbstractAction { } private static class PopulateTreeArtifactSpawn extends BaseSpawn { - private final Artifact treeArtifact; + private final SpecialArtifact treeArtifact; private final Iterable<PathFragment> entriesToExtract; // The output TreeFileArtifacts are created lazily outside of the contructor because potentially @@ -122,7 +123,7 @@ public final class PopulateTreeArtifactAction extends AbstractAction { private Collection<TreeFileArtifact> outputTreeFileArtifacts; PopulateTreeArtifactSpawn( - Artifact treeArtifact, + SpecialArtifact treeArtifact, Iterable<PathFragment> entriesToExtract, Iterable<String> commandLine, RunfilesSupplier runfilesSupplier, diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplate.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplate.java index b6150b9d5c..1b944d44e8 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplate.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplate.java @@ -21,6 +21,7 @@ import com.google.devtools.build.lib.actions.ActionExecutionContext; import com.google.devtools.build.lib.actions.ActionInputHelper; import com.google.devtools.build.lib.actions.ActionOwner; import com.google.devtools.build.lib.actions.Artifact; +import com.google.devtools.build.lib.actions.Artifact.SpecialArtifact; import com.google.devtools.build.lib.actions.Artifact.TreeFileArtifact; import com.google.devtools.build.lib.actions.ArtifactOwner; import com.google.devtools.build.lib.analysis.FilesToRunProvider; @@ -33,8 +34,8 @@ import java.util.Map; * An {@link ActionTemplate} that expands into {@link SpawnAction}s at execution time. */ public final class SpawnActionTemplate implements ActionTemplate<SpawnAction> { - private final Artifact inputTreeArtifact; - private final Artifact outputTreeArtifact; + private final SpecialArtifact inputTreeArtifact; + private final SpecialArtifact outputTreeArtifact; private final NestedSet<Artifact> commonInputs; private final NestedSet<Artifact> allInputs; private final NestedSet<Artifact> commonTools; @@ -64,8 +65,8 @@ public final class SpawnActionTemplate implements ActionTemplate<SpawnAction> { private SpawnActionTemplate( ActionOwner actionOwner, - Artifact inputTreeArtifact, - Artifact outputTreeArtifact, + SpecialArtifact inputTreeArtifact, + SpecialArtifact outputTreeArtifact, NestedSet<Artifact> commonInputs, NestedSet<Artifact> commonTools, OutputPathMapper outputPathMapper, @@ -229,19 +230,19 @@ public final class SpawnActionTemplate implements ActionTemplate<SpawnAction> { private CustomCommandLine commandLineTemplate; private PathFragment executable; - private final Artifact inputTreeArtifact; - private final Artifact outputTreeArtifact; + private final SpecialArtifact inputTreeArtifact; + private final SpecialArtifact outputTreeArtifact; private final NestedSetBuilder<Artifact> inputsBuilder = NestedSetBuilder.stableOrder(); private final NestedSetBuilder<Artifact> toolsBuilder = NestedSetBuilder.stableOrder(); private final SpawnAction.Builder spawnActionBuilder; /** * Creates a {@link SpawnActionTemplate} builder. - * + * * @param inputTreeArtifact the required input TreeArtifact. * @param outputTreeArtifact the required output TreeArtifact. */ - public Builder(Artifact inputTreeArtifact, Artifact outputTreeArtifact) { + public Builder(SpecialArtifact inputTreeArtifact, SpecialArtifact outputTreeArtifact) { Preconditions.checkState( inputTreeArtifact.isTreeArtifact() && outputTreeArtifact.isTreeArtifact(), "Either %s or %s is not a TreeArtifact", |