summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/symtab/SymbolTable.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-11-11 05:21:37 +0000
committerPaul Phillips <paulp@improving.org>2010-11-11 05:21:37 +0000
commit19064bad63aff0d3386bf7d5fb154b14c345c418 (patch)
treeea794f756a9df3b2928d48bebafb650912ae60cb /src/compiler/scala/tools/nsc/symtab/SymbolTable.scala
parentb95246f152347fad32630ad7dc251750b3c4ae47 (diff)
downloadscala-19064bad63aff0d3386bf7d5fb154b14c345c418.tar.gz
scala-19064bad63aff0d3386bf7d5fb154b14c345c418.tar.bz2
scala-19064bad63aff0d3386bf7d5fb154b14c345c418.zip
Some more work on options related to showing co...
Some more work on options related to showing compiler structures during compilation. The pickler knew more than was healthy about things like compiler settings, so I let the pickler worry about pickling and moved that logic somewhere closer to the surface. Some convenience oriented tweaks to command line phase parsing. The end result is as follows (some output trimmed for brevity.) // dippy.scala class Dippy { def f[T <: Dippy](x: T) = (x, x) object DingusDippy extends util.Random { } } // className@phaseString should be reliably unambiguous % scalac -Xshow-class Dippy@typer,erasure,jvm dippy.scala <<-- class Dippy after phase 'typer' -->> Members (excluding Any/AnyRef unless overridden): final object DingusDippy extends object Dippy.this.DingusDippy def f[T <: Dippy](x: T): (T, T) <<-- class Dippy after phase 'erasure' -->> Members (excluding Any/AnyRef unless overridden): private lazy var DingusDippy$module: object Dippy#DingusDippy lazy val DingusDippy(): object Dippy#DingusDippy def f(x: Dippy): Tuple2 <<-- class Dippy after phase 'jvm' -->> Members (excluding Any/AnyRef unless overridden): protected var bitmap$0: Int private lazy var DingusDippy$module: object Dippy$DingusDippy lazy val DingusDippy(): object Dippy$DingusDippy def f(x: Dippy): Tuple2 No review.
Diffstat (limited to 'src/compiler/scala/tools/nsc/symtab/SymbolTable.scala')
-rw-r--r--src/compiler/scala/tools/nsc/symtab/SymbolTable.scala2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/SymbolTable.scala b/src/compiler/scala/tools/nsc/symtab/SymbolTable.scala
index b410572f7b..281a3174f9 100644
--- a/src/compiler/scala/tools/nsc/symtab/SymbolTable.scala
+++ b/src/compiler/scala/tools/nsc/symtab/SymbolTable.scala
@@ -106,6 +106,8 @@ abstract class SymbolTable extends reflect.generic.Universe
phase = current
}
}
+ final def afterPhase[T](ph: Phase)(op: => T): T =
+ atPhase(ph.next)(op)
/** Break into repl debugger if assertion is true */
// def breakIf(assertion: => Boolean, args: Any*): Unit =