/* * Copyright (C) 2012 Typesafe Inc. */ package scala.async import scala.language.experimental.macros import scala.reflect.macros.Context import scala.reflect.internal.annotations.compileTimeOnly object BlockingAsync extends AsyncBase { import scala.concurrent.Future lazy val futureSystem = BlockingFutureSystem type FS = BlockingFutureSystem.type def async[T](body: T) = macro asyncImpl[T] override def asyncImpl[T: c.WeakTypeTag](c: Context)(body: c.Expr[T]): c.Expr[Future[T]] = super.asyncImpl[T](c)(body) }