aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/scala/scala/async/internal/AsyncAnalysis.scala6
-rw-r--r--src/main/scala/scala/async/internal/ExprBuilder.scala2
-rw-r--r--src/main/scala/scala/async/internal/TransformUtils.scala3
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