summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/io/VirtualFile.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/scala/tools/nsc/io/VirtualFile.scala')
-rw-r--r--src/compiler/scala/tools/nsc/io/VirtualFile.scala67
1 files changed, 67 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/io/VirtualFile.scala b/src/compiler/scala/tools/nsc/io/VirtualFile.scala
new file mode 100644
index 0000000000..02ce3b0f81
--- /dev/null
+++ b/src/compiler/scala/tools/nsc/io/VirtualFile.scala
@@ -0,0 +1,67 @@
+/* ____ ____ ____ ____ ______ *\
+** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala **
+** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002-2006, LAMP/EPFL **
+** /_____/\____/\___/\____/____/ **
+\* */
+
+// $Id$
+
+
+package scala.tools.nsc.io;
+
+
+import java.io.{File,IOException};
+
+/** This class implements an empty abstract regular file. */
+class VirtualFile(val name: String, _path: String) extends AbstractFile {
+
+ assert(name != null && path != null, name + " - " + path);
+
+ //########################################################################
+ // Public Constructors
+
+ /**
+ * Initializes this instance with the specified name and an
+ * identical path.
+ */
+ def this(name: String) = this(name, name);
+
+ //########################################################################
+ // Public Methods
+
+ def path = _path;
+
+ /** Returns null. */
+ final def file: File = null;
+
+ /** Is this abstract file a directory? */
+ def isDirectory: Boolean = false;
+
+ /** Returns the time that this abstract file was last modified. */
+ def lastModified: Long = Long.MIN_VALUE;
+
+ /** Reads the content of this abstract file into a byte array. */
+ def read: Array[Byte] = {
+ assert(!isDirectory, "cannot read directory '" + this + "'");
+ new Array[Byte](0);
+ }
+
+ /** Returns all abstract subfiles of this abstract directory. */
+ def elements: Iterator[AbstractFile] = {
+ assert(isDirectory, "not a directory '" + this + "'");
+ Iterator.empty;
+ }
+
+ /**
+ * Returns the abstract file in this abstract directory with the
+ * specified name. If there is no such file, returns null. The
+ * argument "directory" tells whether to look for a directory or
+ * or a regular file.
+ */
+ def lookupName(name: String, directory: Boolean): AbstractFile = {
+ assert(isDirectory, "not a directory '" + this + "'");
+ null;
+ }
+
+ //########################################################################
+}