diff options
author | Paul Phillips <paulp@improving.org> | 2010-12-31 07:08:52 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-12-31 07:08:52 +0000 |
commit | 740fcf90bd7bfe4d4c322d2c7912e4df04200d90 (patch) | |
tree | 260c7fd18c80d1139ee1c38614a288e8957a774e /src/compiler/scala/tools/nsc/symtab/SymbolTable.scala | |
parent | 6c04413edb892907b7d9765a9ccbd5d2e2632029 (diff) | |
download | scala-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.scala | 9 |
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) |