diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2014-02-14 22:13:27 +0100 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2014-02-15 13:05:57 +0100 |
commit | 4bfe12d1d46ba7b88eecd9b8f565eb4415d387ca (patch) | |
tree | 9f1f17654a308ac3704324ebeff37659c387cf24 /src/main/scala/scala/async | |
parent | 1b76f83f113143391316e46280cb861cce86ca2e (diff) | |
download | scala-async-4bfe12d1d46ba7b88eecd9b8f565eb4415d387ca.tar.gz scala-async-4bfe12d1d46ba7b88eecd9b8f565eb4415d387ca.tar.bz2 scala-async-4bfe12d1d46ba7b88eecd9b8f565eb4415d387ca.zip |
abort => c.abort
Diffstat (limited to 'src/main/scala/scala/async')
-rw-r--r-- | src/main/scala/scala/async/internal/AsyncAnalysis.scala | 6 | ||||
-rw-r--r-- | src/main/scala/scala/async/internal/ExprBuilder.scala | 2 | ||||
-rw-r--r-- | src/main/scala/scala/async/internal/TransformUtils.scala | 3 |
3 files changed, 4 insertions, 7 deletions
diff --git a/src/main/scala/scala/async/internal/AsyncAnalysis.scala b/src/main/scala/scala/async/internal/AsyncAnalysis.scala index 73375f1..91a0a7d 100644 --- a/src/main/scala/scala/async/internal/AsyncAnalysis.scala +++ b/src/main/scala/scala/async/internal/AsyncAnalysis.scala @@ -59,10 +59,10 @@ trait AsyncAnalysis { reportUnsupportedAwait(tree, "try/catch") super.traverse(tree) case Return(_) => - abort(tree.pos, "return is illegal within a async block") + c.abort(tree.pos, "return is illegal within a async block") case ValDef(mods, _, _, _) if mods.hasFlag(Flag.LAZY) => // TODO lift this restriction - abort(tree.pos, "lazy vals are illegal within an async block") + c.abort(tree.pos, "lazy vals are illegal within an async block") case CaseDef(_, guard, _) if guard exists isAwait => // TODO lift this restriction reportUnsupportedAwait(tree, "pattern guard") @@ -87,7 +87,7 @@ trait AsyncAnalysis { private def reportError(pos: Position, msg: String) { hasUnsupportedAwaits = true - abort(pos, msg) + c.abort(pos, msg) } } } diff --git a/src/main/scala/scala/async/internal/ExprBuilder.scala b/src/main/scala/scala/async/internal/ExprBuilder.scala index 5314ae0..fa50905 100644 --- a/src/main/scala/scala/async/internal/ExprBuilder.scala +++ b/src/main/scala/scala/async/internal/ExprBuilder.scala @@ -213,7 +213,7 @@ trait ExprBuilder { def checkForUnsupportedAwait(tree: Tree) = if (tree exists { case Apply(fun, _) if isAwait(fun) => true case _ => false - }) abort(tree.pos, "await must not be used in this position") + }) c.abort(tree.pos, "await must not be used in this position") def nestedBlockBuilder(nestedTree: Tree, startState: Int, endState: Int) = { val (nestedStats, nestedExpr) = statsAndExpr(nestedTree) diff --git a/src/main/scala/scala/async/internal/TransformUtils.scala b/src/main/scala/scala/async/internal/TransformUtils.scala index f228e1d..03fb25d 100644 --- a/src/main/scala/scala/async/internal/TransformUtils.scala +++ b/src/main/scala/scala/async/internal/TransformUtils.scala @@ -5,7 +5,6 @@ package scala.async.internal import scala.reflect.macros.Context import reflect.ClassTag -import scala.reflect.macros.runtime.AbortMacroException /** * Utilities used in both `ExprBuilder` and `AnfTransform`. @@ -208,8 +207,6 @@ private[async] trait TransformUtils { } } - def abort(pos: Position, msg: String) = throw new AbortMacroException(pos, msg) - abstract class MacroTypingTransformer extends TypingTransformer(callSiteTyper.context.unit) { currentOwner = callSiteTyper.context.owner curTree = EmptyTree |