diff options
author | Martin Odersky <odersky@gmail.com> | 2011-01-31 15:08:52 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2011-01-31 15:08:52 +0000 |
commit | ce173be810079a51ab4a1b682b20d1eaefd165f1 (patch) | |
tree | dd3bb78291b2861c8916fbc4961a7b85e647f27b | |
parent | 6de1404fd3821509175c76c7c109d946332b4db1 (diff) | |
download | scala-ce173be810079a51ab4a1b682b20d1eaefd165f1.tar.gz scala-ce173be810079a51ab4a1b682b20d1eaefd165f1.tar.bz2 scala-ce173be810079a51ab4a1b682b20d1eaefd165f1.zip |
Part2 of fix askStructure hangs commit.
-rw-r--r-- | src/compiler/scala/tools/nsc/interactive/Global.scala | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/interactive/Global.scala b/src/compiler/scala/tools/nsc/interactive/Global.scala index 644d5712ce..f06642eed4 100644 --- a/src/compiler/scala/tools/nsc/interactive/Global.scala +++ b/src/compiler/scala/tools/nsc/interactive/Global.scala @@ -677,7 +677,7 @@ self => .typed(Apply(view.tree, List(tree)) setPos tree.pos) } catch { case ex: TypeError => - debugLog("type error caught") + debugLog("type error caught: "+ex) EmptyTree } } @@ -737,8 +737,10 @@ self => if (keepLoaded) { reloadSources(List(source)) buildStructureNow(source, response) - } else { + } else if (outOfDate) { buildStructureResponses(source) += response + } else { + buildStructureNow(source, response) } } } @@ -746,7 +748,10 @@ self => /** Builds structure of given source file */ protected def buildStructureNow(source: SourceFile, response: Response[List[Symbol]]) { def forceSym(sym: Symbol) { - sym.info.decls.iterator foreach forceSym + sym.info match { + case t: CompoundType => t.decls.iterator foreach forceSym + case _ => + } } respond(response) { onUnitOf(source) { unit => |