summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/symtab/SymbolTable.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2009-03-09 14:52:18 +0000
committerMartin Odersky <odersky@gmail.com>2009-03-09 14:52:18 +0000
commitf3b5aed2b9e3da5a26e176c30abc2dd5c8c933ec (patch)
treef3e499070e035304e774fd8005f2be61f4e7cb97 /src/compiler/scala/tools/nsc/symtab/SymbolTable.scala
parentc5e4288affd10584fa28f21e58724a4490380b30 (diff)
downloadscala-f3b5aed2b9e3da5a26e176c30abc2dd5c8c933ec.tar.gz
scala-f3b5aed2b9e3da5a26e176c30abc2dd5c8c933ec.tar.bz2
scala-f3b5aed2b9e3da5a26e176c30abc2dd5c8c933ec.zip
made unsafeTypeParams transform infos less eage...
made unsafeTypeParams transform infos less eagerly. Fixed private[this] variance hole.
Diffstat (limited to 'src/compiler/scala/tools/nsc/symtab/SymbolTable.scala')
-rw-r--r--src/compiler/scala/tools/nsc/symtab/SymbolTable.scala10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/SymbolTable.scala b/src/compiler/scala/tools/nsc/symtab/SymbolTable.scala
index 6bfdcbff9b..c735bb246c 100644
--- a/src/compiler/scala/tools/nsc/symtab/SymbolTable.scala
+++ b/src/compiler/scala/tools/nsc/symtab/SymbolTable.scala
@@ -102,10 +102,12 @@ abstract class SymbolTable extends Names
/** Perform given operation at given phase */
final def atPhase[T](ph: Phase)(op: => T): T = {
val current = phase
- phase = ph
- val result = op
- phase = current
- result
+ try {
+ phase = ph
+ op
+ } finally {
+ phase = current
+ }
}
/** The set of all installed infotransformers */