summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/symtab/SymbolTable.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-12-31 07:08:52 +0000
committerPaul Phillips <paulp@improving.org>2010-12-31 07:08:52 +0000
commit740fcf90bd7bfe4d4c322d2c7912e4df04200d90 (patch)
tree260c7fd18c80d1139ee1c38614a288e8957a774e /src/compiler/scala/tools/nsc/symtab/SymbolTable.scala
parent6c04413edb892907b7d9765a9ccbd5d2e2632029 (diff)
downloadscala-740fcf90bd7bfe4d4c322d2c7912e4df04200d90.tar.gz
scala-740fcf90bd7bfe4d4c322d2c7912e4df04200d90.tar.bz2
scala-740fcf90bd7bfe4d4c322d2c7912e4df04200d90.zip
Investigating what can be done about our 2000 o...
Investigating what can be done about our 2000 or so closures created via by-name calls takes me through uncurry with a mop. Sifting through compiler generated classfiles I am horrified at one example of decadent closure creation perpetrated by a certain extempore. CompilerCommand goes from 28 classfiles to 16 and manages to get smaller anyway anyway. Some people just can't be trusted with closures. No review.
Diffstat (limited to 'src/compiler/scala/tools/nsc/symtab/SymbolTable.scala')
-rw-r--r--src/compiler/scala/tools/nsc/symtab/SymbolTable.scala9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/SymbolTable.scala b/src/compiler/scala/tools/nsc/symtab/SymbolTable.scala
index 918f1b37ba..03166de05d 100644
--- a/src/compiler/scala/tools/nsc/symtab/SymbolTable.scala
+++ b/src/compiler/scala/tools/nsc/symtab/SymbolTable.scala
@@ -90,12 +90,9 @@ abstract class SymbolTable extends reflect.generic.Universe
final def atPhase[T](ph: Phase)(op: => T): T = {
// Eugene: insert same thread assertion here
val current = phase
- try {
- phase = ph
- op
- } finally {
- phase = current
- }
+ phase = ph
+ try op
+ finally phase = current
}
final def afterPhase[T](ph: Phase)(op: => T): T =
atPhase(ph.next)(op)