diff options
author | 2015-12-04 17:28:32 +0000 | |
---|---|---|
committer | 2015-12-04 21:06:53 +0000 | |
commit | 78543c391b1b35aa211e1a8cbd6698252d861254 (patch) | |
tree | f8d313ad794bc2ee8e586b77c5d7d31038a90a43 /src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalValue.java | |
parent | 0e222581e674b0f7c186c4bc40be2af680e94643 (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.java | 74 |
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. * |