diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2012-11-23 23:03:59 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2012-11-23 23:03:59 +0100 |
commit | 4855a5ff60a0b4992da141054c074438b456c3fc (patch) | |
tree | a90ce01f030413c252335836237d4a8b2b8856ce /src/main/scala/scala/async/AnfTransform.scala | |
parent | db5fd4638c0aac51d66244404dad4dd779f184fa (diff) | |
download | scala-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/AnfTransform.scala')
-rw-r--r-- | src/main/scala/scala/async/AnfTransform.scala | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/main/scala/scala/async/AnfTransform.scala b/src/main/scala/scala/async/AnfTransform.scala index 4c78b5a..0756baf 100644 --- a/src/main/scala/scala/async/AnfTransform.scala +++ b/src/main/scala/scala/async/AnfTransform.scala @@ -204,6 +204,9 @@ private[async] final case class AnfTransform[C <: Context](override val c: C) ex } scrutStats :+ c.typeCheck(attachCopy.Match(tree)(scrutExpr, caseDefs)) + case LabelDef(name, params, rhs) if containsAwait => + List(LabelDef(name, params, Block(inline.transformToList(rhs), Literal(Constant(()))))) + case TypeApply(fun, targs) if containsAwait => val funStats :+ simpleFun = inline.transformToList(fun) funStats :+ attachCopy.TypeApply(tree)(simpleFun, targs).setSymbol(tree.symbol) |