diff options
Diffstat (limited to 'sources')
-rw-r--r-- | sources/scalac/symtab/SymbolOrigin.java | 52 |
1 files changed, 52 insertions, 0 deletions
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; + } + + //######################################################################## +} |