summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2005-02-01 13:33:14 +0000
committerpaltherr <paltherr@epfl.ch>2005-02-01 13:33:14 +0000
commit93f05e44fd8a409a98f496f5a857588ffa90fdf8 (patch)
tree01ee20c761bae15e4c6e56aee60d8a103eb58b04
parent0cf94fe12d811f99e8b408a1d97077e5c1c7d2c5 (diff)
downloadscala-93f05e44fd8a409a98f496f5a857588ffa90fdf8.tar.gz
scala-93f05e44fd8a409a98f496f5a857588ffa90fdf8.tar.bz2
scala-93f05e44fd8a409a98f496f5a857588ffa90fdf8.zip
- Added SymbolOrigin
-rw-r--r--config/list/scalac.lst1
-rw-r--r--sources/scalac/symtab/SymbolOrigin.java52
2 files changed, 53 insertions, 0 deletions
diff --git a/config/list/scalac.lst b/config/list/scalac.lst
index 5ab90fcf75..2a616474fa 100644
--- a/config/list/scalac.lst
+++ b/config/list/scalac.lst
@@ -91,6 +91,7 @@
../../../scalac/symtab/SymbolComparator.java
../../../scalac/symtab/SymbolLoader.java
../../../scalac/symtab/SymbolNameWriter.java
+../../../scalac/symtab/SymbolOrigin.java
../../../scalac/symtab/SymbolSubstTypeMap.java
../../../scalac/symtab/SymbolTablePrinter.java
../../../scalac/symtab/Type.java
diff --git a/sources/scalac/symtab/SymbolOrigin.java b/sources/scalac/symtab/SymbolOrigin.java
new file mode 100644
index 0000000000..29baa08a79
--- /dev/null
+++ b/sources/scalac/symtab/SymbolOrigin.java
@@ -0,0 +1,52 @@
+/* ____ ____ ____ ____ ______ *\
+** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala **
+** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002, LAMP/EPFL **
+** /_____/\____/\___/\____/____/ **
+\* */
+
+// $Id$
+
+package scalac.symtab;
+
+import ch.epfl.lamp.compiler.msil.Assembly;
+import scala.tools.util.AbstractFile;
+import scalac.CompilationUnit;
+
+/** Instances of this class designate the origin of a symbol. */
+public class SymbolOrigin {
+
+ //########################################################################
+ // Public Cases
+
+ /** Designates an unknown source */
+ public case Unknown;
+
+ /** Designates a directory */
+ public case Directory(AbstractFile file);
+
+ /** Designates a JVM class file (the source file may be null) */
+ public case ClassFile(AbstractFile file, String sourcefile);
+
+ /** Designates a Scala symbl file */
+ public case SymblFile(AbstractFile file);
+
+ /** Designates a Scala source file */
+ public case ScalaFile(AbstractFile file);
+
+ /** Designates a Scala compilation unit */
+ public case ScalaUnit(CompilationUnit unit);
+
+ /** Designates a CLR assembly */
+ public case CLRAssembly(Assembly assembly);
+
+ //########################################################################
+ // Public Methods
+
+ /** Records the source file attribute. */
+ public void setSourceFileAttribute(String sourcefile) {
+ if (this instanceof SymbolOrigin.ClassFile)
+ ((SymbolOrigin.ClassFile)this).sourcefile = sourcefile;
+ }
+
+ //########################################################################
+}