summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/Analyzer.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2009-01-08 16:23:11 +0000
committerMartin Odersky <odersky@gmail.com>2009-01-08 16:23:11 +0000
commit86397c940a2b4df6166a9bc9ed3e03d008f4dd57 (patch)
treed42ce9c60542a512689331e086f9b44f46fce4f3 /src/compiler/scala/tools/nsc/typechecker/Analyzer.scala
parent0313e1c018d89fc4e4474f42308e81cfc60fdfb6 (diff)
downloadscala-86397c940a2b4df6166a9bc9ed3e03d008f4dd57.tar.gz
scala-86397c940a2b4df6166a9bc9ed3e03d008f4dd57.tar.bz2
scala-86397c940a2b4df6166a9bc9ed3e03d008f4dd57.zip
fixed erroneous cyclic reference error conditio...
fixed erroneous cyclic reference error condition; generated new starr.
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Analyzer.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Analyzer.scala7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Analyzer.scala b/src/compiler/scala/tools/nsc/typechecker/Analyzer.scala
index ca9f654b76..7315c6f2c5 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Analyzer.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Analyzer.scala
@@ -38,7 +38,12 @@ trait Analyzer extends AnyRef
def newPhase(_prev: Phase): StdPhase = new StdPhase(_prev) {
if (!inIDE) resetTyper()
def apply(unit: CompilationUnit) {
- unit.body = newTyper(rootContext(unit)).typed(unit.body)
+ try {
+ unit.body = newTyper(rootContext(unit)).typed(unit.body)
+ for (workItem <- unit.toCheck) workItem()
+ } finally {
+ unit.toCheck.clear()
+ }
}
}
}