From 93f05e44fd8a409a98f496f5a857588ffa90fdf8 Mon Sep 17 00:00:00 2001 From: paltherr Date: Tue, 1 Feb 2005 13:33:14 +0000 Subject: - Added SymbolOrigin --- config/list/scalac.lst | 1 + sources/scalac/symtab/SymbolOrigin.java | 52 +++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 sources/scalac/symtab/SymbolOrigin.java 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; + } + + //######################################################################## +} -- cgit v1.2.3