aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/scala/async/AsyncAnalysis.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2012-11-23 23:03:59 +0100
committerJason Zaugg <jzaugg@gmail.com>2012-11-23 23:03:59 +0100
commit4855a5ff60a0b4992da141054c074438b456c3fc (patch)
treea90ce01f030413c252335836237d4a8b2b8856ce /src/main/scala/scala/async/AsyncAnalysis.scala
parentdb5fd4638c0aac51d66244404dad4dd779f184fa (diff)
downloadscala-async-4855a5ff60a0b4992da141054c074438b456c3fc.tar.gz
scala-async-4855a5ff60a0b4992da141054c074438b456c3fc.tar.bz2
scala-async-4855a5ff60a0b4992da141054c074438b456c3fc.zip
Support await in a while loop.
Diffstat (limited to 'src/main/scala/scala/async/AsyncAnalysis.scala')
-rw-r--r--src/main/scala/scala/async/AsyncAnalysis.scala2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/main/scala/scala/async/AsyncAnalysis.scala b/src/main/scala/scala/async/AsyncAnalysis.scala
index 88a1bb0..9e24130 100644
--- a/src/main/scala/scala/async/AsyncAnalysis.scala
+++ b/src/main/scala/scala/async/AsyncAnalysis.scala
@@ -93,6 +93,8 @@ private[async] final case class AsyncAnalysis[C <: Context](override val c: C) e
traverseChunks(List(cond, thenp, elsep))
case Match(selector, cases) if tree exists isAwait =>
traverseChunks(selector :: cases)
+ case LabelDef(name, params, rhs) if rhs exists isAwait =>
+ traverseChunks(rhs :: Nil)
case Apply(fun, args) if isAwait(fun) =>
super.traverse(tree)
nextChunk()