aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalValue.java
diff options
context:
space:
mode:
authorGravatar Laszlo Csomor <laszlocsomor@google.com>2015-12-04 17:28:32 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2015-12-04 21:06:53 +0000
commit78543c391b1b35aa211e1a8cbd6698252d861254 (patch)
treef8d313ad794bc2ee8e586b77c5d7d31038a90a43 /src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalValue.java
parent0e222581e674b0f7c186c4bc40be2af680e94643 (diff)
Refactoring: get rid of RecursiveFilesystemTraversalValue.ResolvedFileUtils
-- MOS_MIGRATED_REVID=109420721
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalValue.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalValue.java74
1 files changed, 26 insertions, 48 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalValue.java
index 33ce1f14a6..269b5546eb 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalValue.java
@@ -282,17 +282,19 @@ public final class RecursiveFilesystemTraversalValue implements SkyValue {
if (!(obj instanceof RegularFile)) {
return false;
}
- return ResolvedFileUtils.areObjectsEqual(this, (RegularFile) obj);
+ return this.type.equals(((RegularFile) obj).type)
+ && this.path.equals(((RegularFile) obj).path)
+ && this.metadata.equals(((RegularFile) obj).metadata);
}
@Override
public int hashCode() {
- return ResolvedFileUtils.hashCodeOf(this);
+ return Objects.hashCode(type, path, metadata);
}
@Override
public String toString() {
- return String.format("RegularFile(%s)", ResolvedFileUtils.asString(this));
+ return String.format("RegularFile(path=%s)", path);
}
@Override
@@ -343,17 +345,18 @@ public final class RecursiveFilesystemTraversalValue implements SkyValue {
if (!(obj instanceof Directory)) {
return false;
}
- return ResolvedFileUtils.areObjectsEqual(this, (Directory) obj);
+ return this.type.equals(((Directory) obj).type)
+ && this.path.equals(((Directory) obj).path);
}
@Override
public int hashCode() {
- return ResolvedFileUtils.hashCodeOf(this);
+ return Objects.hashCode(type, path);
}
@Override
public String toString() {
- return String.format("Directory(%s)", ResolvedFileUtils.asString(this));
+ return String.format("Directory(path=%s)", path);
}
@Override
@@ -413,18 +416,19 @@ public final class RecursiveFilesystemTraversalValue implements SkyValue {
if (!(obj instanceof DanglingSymlink)) {
return false;
}
- DanglingSymlink o = (DanglingSymlink) obj;
- return ResolvedFileUtils.areObjectsEqual(this, o) && symlink.equals(o.symlink);
+ return this.type.equals(((DanglingSymlink) obj).type)
+ && this.metadata.equals(((DanglingSymlink) obj).metadata)
+ && this.symlink.equals(((DanglingSymlink) obj).symlink);
}
@Override
public int hashCode() {
- return Objects.hashCode(ResolvedFileUtils.hashCodeOf(this), symlink);
+ return Objects.hashCode(type, metadata, symlink);
}
@Override
public String toString() {
- return String.format("DanglingSymlink(%s, %s)", ResolvedFileUtils.asString(this), symlink);
+ return String.format("DanglingSymlink(%s)", symlink);
}
@Override
@@ -494,18 +498,20 @@ public final class RecursiveFilesystemTraversalValue implements SkyValue {
if (!(obj instanceof SymlinkToFile)) {
return false;
}
- SymlinkToFile o = (SymlinkToFile) obj;
- return ResolvedFileUtils.areObjectsEqual(this, o) && symlink.equals(o.symlink);
+ return this.type.equals(((SymlinkToFile) obj).type)
+ && this.path.equals(((SymlinkToFile) obj).path)
+ && this.metadata.equals(((SymlinkToFile) obj).metadata)
+ && this.symlink.equals(((SymlinkToFile) obj).symlink);
}
@Override
public int hashCode() {
- return Objects.hashCode(ResolvedFileUtils.hashCodeOf(this), symlink);
+ return Objects.hashCode(type, path, metadata, symlink);
}
@Override
public String toString() {
- return String.format("SymlinkToFile(%s, %s)", ResolvedFileUtils.asString(this), symlink);
+ return String.format("SymlinkToFile(target=%s, %s)", path, symlink);
}
@Override
@@ -568,18 +574,20 @@ public final class RecursiveFilesystemTraversalValue implements SkyValue {
if (!(obj instanceof SymlinkToDirectory)) {
return false;
}
- SymlinkToDirectory o = (SymlinkToDirectory) obj;
- return ResolvedFileUtils.areObjectsEqual(this, o) && symlink.equals(o.symlink);
+ return this.type.equals(((SymlinkToDirectory) obj).type)
+ && this.path.equals(((SymlinkToDirectory) obj).path)
+ && this.metadata.equals(((SymlinkToDirectory) obj).metadata)
+ && this.symlink.equals(((SymlinkToDirectory) obj).symlink);
}
@Override
public int hashCode() {
- return Objects.hashCode(ResolvedFileUtils.hashCodeOf(this), symlink);
+ return Objects.hashCode(type, path, metadata, symlink);
}
@Override
public String toString() {
- return String.format("SymlinkToDirectory(%s, %s)", ResolvedFileUtils.asString(this), symlink);
+ return String.format("SymlinkToDirectory(target=%s, %s)", path, symlink);
}
@Override
@@ -625,36 +633,6 @@ public final class RecursiveFilesystemTraversalValue implements SkyValue {
}
}
- private static final class ResolvedFileUtils {
- private ResolvedFileUtils() {}
-
- static boolean areObjectsEqual(ResolvedFile a, ResolvedFile b) {
- if (a == b) {
- return true;
- }
- if ((a == null) != (b == null)) {
- return false;
- }
- return a.getType().equals(b.getType())
- && a.getPath().equals(b.getPath())
- && a.getMetadata().equals(b.getMetadata());
- }
-
- static int hashCodeOf(ResolvedFile f) {
- return Objects.hashCode(f.getType(), f.getPath(), f.getMetadata());
- }
-
- static String asString(ResolvedFile f) {
- return String.format(
- "type=%s, path=%s, metadata=%s",
- f.getType(),
- f.getPath(),
- f.getMetadata().isPresent()
- ? Integer.toHexString(f.getMetadata().get().hashCode())
- : "(stripped)");
- }
- }
-
/**
* Path and type information about a single file or symlink.
*