diff options
author | Paul Phillips <paulp@improving.org> | 2012-04-05 15:50:10 -0700 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-04-05 22:51:29 -0700 |
commit | 296b7061ccef8600c011140fa6fd64afec244ed0 (patch) | |
tree | 852bfad96dc8b980b18a7869640f4c400566baa5 /src/compiler/scala/reflect/internal/SymbolTable.scala | |
parent | 2b89c3459d1d9a9aa9dd5aba75847274d6f74129 (diff) | |
download | scala-296b7061ccef8600c011140fa6fd64afec244ed0.tar.gz scala-296b7061ccef8600c011140fa6fd64afec244ed0.tar.bz2 scala-296b7061ccef8600c011140fa6fd64afec244ed0.zip |
A boatload of work on Symbols and Flags.
Finally my dream of orderliness is within sight.
It's all pretty self-explanatory. More polymorphism, more immutable
identity, more invariants.
Diffstat (limited to 'src/compiler/scala/reflect/internal/SymbolTable.scala')
-rw-r--r-- | src/compiler/scala/reflect/internal/SymbolTable.scala | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/compiler/scala/reflect/internal/SymbolTable.scala b/src/compiler/scala/reflect/internal/SymbolTable.scala index 256c1a6ced..daaf0dff26 100644 --- a/src/compiler/scala/reflect/internal/SymbolTable.scala +++ b/src/compiler/scala/reflect/internal/SymbolTable.scala @@ -13,7 +13,9 @@ import scala.tools.nsc.util.WeakHashSet abstract class SymbolTable extends api.Universe with Collections with Names + with SymbolCreations with Symbols + with SymbolFlags with Types with Kinds with ExistentialsAndSkolems @@ -62,6 +64,8 @@ abstract class SymbolTable extends api.Universe result } + /** Dump each symbol to stdout after shutdown. + */ final val traceSymbolActivity = sys.props contains "scalac.debug.syms" object traceSymbols extends { val global: SymbolTable.this.type = SymbolTable.this @@ -98,6 +102,11 @@ abstract class SymbolTable extends api.Universe final def atPhaseStack: List[Phase] = phStack final def phase: Phase = ph + def atPhaseStackMessage = atPhaseStack match { + case Nil => "" + case ps => ps.reverseMap("->" + _).mkString("(", " ", ")") + } + final def phase_=(p: Phase) { //System.out.println("setting phase to " + p) assert((p ne null) && p != NoPhase, p) |