aboutsummaryrefslogtreecommitdiff
path: root/interfaces/src/dotty/tools/dotc/interfaces/AbstractFile.java
diff options
context:
space:
mode:
authorGuillaume Martres <smarter@ubuntu.com>2016-11-20 00:02:50 +0100
committerGuillaume Martres <smarter@ubuntu.com>2016-11-22 01:35:08 +0100
commitc3eb841ce8ae349d9820dbf6c18884955e74254e (patch)
tree5e82e22a6f0e8245c11a6db81cb9647106a14bde /interfaces/src/dotty/tools/dotc/interfaces/AbstractFile.java
parentda1bfe392c638fc03181e0d6b51eb41dbdcce548 (diff)
downloaddotty-c3eb841ce8ae349d9820dbf6c18884955e74254e.tar.gz
dotty-c3eb841ce8ae349d9820dbf6c18884955e74254e.tar.bz2
dotty-c3eb841ce8ae349d9820dbf6c18884955e74254e.zip
Make every project use the new directory structure
Diffstat (limited to 'interfaces/src/dotty/tools/dotc/interfaces/AbstractFile.java')
-rw-r--r--interfaces/src/dotty/tools/dotc/interfaces/AbstractFile.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/interfaces/src/dotty/tools/dotc/interfaces/AbstractFile.java b/interfaces/src/dotty/tools/dotc/interfaces/AbstractFile.java
new file mode 100644
index 000000000..286e7b2cf
--- /dev/null
+++ b/interfaces/src/dotty/tools/dotc/interfaces/AbstractFile.java
@@ -0,0 +1,24 @@
+package dotty.tools.dotc.interfaces;
+
+import java.io.File;
+import java.util.Optional;
+
+/** An abstract file may either be a file on disk or a virtual file.
+ *
+ * Do not rely on the identity of instances of this class.
+ *
+ * User code should not implement this interface, but it may have to
+ * manipulate objects of this type.
+ */
+public interface AbstractFile {
+ /** @return The name of this file, note that two files may have the same name. */
+ String name();
+
+ /** @return The path of this file, this might be a virtual path of an unspecified format. */
+ String path();
+
+ /** @return If this is a real file on disk, a `java.io.File` that corresponds to this file.
+ * Otherwise, an empty `Optional`.
+ */
+ Optional<File> jfile();
+}