diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2012-11-23 17:35:52 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2012-11-23 17:35:52 +0100 |
commit | f9c25fc4acac6a5965d68584d68eee7539e4ba45 (patch) | |
tree | 2d2ae102e229b6997db7c4cd1fb7c4b16378ec7a /src/main | |
parent | 73ab189dcb45bccc0ba6e2e0d445b08057391496 (diff) | |
download | scala-async-f9c25fc4acac6a5965d68584d68eee7539e4ba45.tar.gz scala-async-f9c25fc4acac6a5965d68584d68eee7539e4ba45.tar.bz2 scala-async-f9c25fc4acac6a5965d68584d68eee7539e4ba45.zip |
Forbid await in try/catch.
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/scala/scala/async/AsyncAnalysis.scala | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main/scala/scala/async/AsyncAnalysis.scala b/src/main/scala/scala/async/AsyncAnalysis.scala index 35d2854..c160776 100644 --- a/src/main/scala/scala/async/AsyncAnalysis.scala +++ b/src/main/scala/scala/async/AsyncAnalysis.scala @@ -53,6 +53,16 @@ private[async] final case class AsyncAnalysis[C <: Context](override val c: C) e reportUnsupportedAwait(function, "nested function") } + override def traverse(tree: Tree) { + def containsAwait = tree exists isAwait + tree match { + case Try(_, _, _) if containsAwait => + reportUnsupportedAwait(tree, "try/catch") + case _ => + super.traverse(tree) + } + } + /** * @return true, if the tree contained an unsupported await. */ |