aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/FileArtifactValue.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/FileArtifactValue.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/FileArtifactValue.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/FileArtifactValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/FileArtifactValue.java
index 7acc38c994..f1f0b3e12a 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/FileArtifactValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/FileArtifactValue.java
@@ -36,6 +36,18 @@ public class FileArtifactValue extends ArtifactValue {
/** Data that marks that a file is not present on the filesystem. */
static final FileArtifactValue MISSING_FILE_MARKER = new FileArtifactValue(null, 1, 0);
+ /**
+ * Represents an omitted file- we are aware of it but it doesn't exist. All access methods
+ * are unsupported.
+ */
+ static final FileArtifactValue OMITTED_FILE_MARKER = new FileArtifactValue(null, 2, 0) {
+ @Override public byte[] getDigest() { throw new UnsupportedOperationException(); }
+ @Override public long getSize() { throw new UnsupportedOperationException(); }
+ @Override public long getModifiedTime() { throw new UnsupportedOperationException(); }
+ @Override public boolean equals(Object o) { return this == o; }
+ @Override public String toString() { return "OMITTED_FILE_MARKER"; }
+ };
+
@Nullable private final byte[] digest;
private final long mtime;
private final long size;