Replace `Path` with `PathFragment` in `FileSystem` interface.
`FileSystem` interface currently takes a `Path` object for all of its
operations. `Path` internally contains a `FileSystem` reference and the path
string itself. Passing `this` instance as part of the parameter makes the
interface more complicated than needed (in fact, we would never use that).
This, for example, results with unnecessary complexity in `DelegateFileSystem`
which recreates the `Path` objects just to call methods on the delegate.
Refactor the `FileSystem` interaface to take a `PathFragment` instead.
PiperOrigin-RevId: 361569044
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java
index 28557c4..51dd6fb 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java
@@ -118,7 +118,7 @@
setupRoot(
new CustomInMemoryFs() {
@Override
- public byte[] getDigest(Path path) throws IOException {
+ public byte[] getDigest(PathFragment path) throws IOException {
return path.getBaseName().equals("unreadable") ? expectedDigest : super.getDigest(path);
}
});
@@ -177,7 +177,8 @@
setupRoot(
new CustomInMemoryFs() {
@Override
- public FileStatus statIfFound(Path path, boolean followSymlinks) throws IOException {
+ public FileStatus statIfFound(PathFragment path, boolean followSymlinks)
+ throws IOException {
if (path.getBaseName().equals("bad")) {
throw exception;
}