diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2013-10-02 16:47:11 +0200 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-11-12 18:40:01 -0800 |
commit | ce37ae45e22463a3f1a2d659d6699f2977b26c6b (patch) | |
tree | c10f54142a9db9653c6c8518e579987093e753ed /test/files/run/repl-term-macros.check | |
parent | beed16825e53077c40ff38b035bfaafb3a4e39d5 (diff) | |
download | scala-ce37ae45e22463a3f1a2d659d6699f2977b26c6b.tar.gz scala-ce37ae45e22463a3f1a2d659d6699f2977b26c6b.tar.bz2 scala-ce37ae45e22463a3f1a2d659d6699f2977b26c6b.zip |
blackbox and whitebox macros
This is the first commit in the series. This commit only:
1) Splits Context into BlackboxContext and WhiteboxContext
2) Splits Macro into BlackboxMacro and WhiteboxMacro
3) Introduces the isBundle property in the macro impl binding
Here we just teach the compiler that macros can now be blackbox and whitebox,
without actually imposing any restrictions on blackbox macros. These
restrictions will come in subsequent commits.
For description and documentation of the blackbox/whitebox separation
see the official macro guide at the scaladoc website:
http://docs.scala-lang.org/overviews/macros/blackbox-whitebox.html
Some infrastructure work to make evolving macros easier:
compile partest-extras with quick so they can use latest library/reflect/...
Diffstat (limited to 'test/files/run/repl-term-macros.check')
-rw-r--r-- | test/files/run/repl-term-macros.check | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/test/files/run/repl-term-macros.check b/test/files/run/repl-term-macros.check index 63bafe401b..64c46392a3 100644 --- a/test/files/run/repl-term-macros.check +++ b/test/files/run/repl-term-macros.check @@ -1,16 +1,16 @@ Type in expressions to have them evaluated. Type :help for more information. -scala> import scala.reflect.macros.Context -import scala.reflect.macros.Context +scala> import scala.reflect.macros.BlackboxContext +import scala.reflect.macros.BlackboxContext scala> import language.experimental.macros import language.experimental.macros scala> -scala> def impl1(c: Context) = { import c.universe._; c.Expr[Unit](q"()") } -impl1: (c: scala.reflect.macros.Context)c.Expr[Unit] +scala> def impl1(c: BlackboxContext) = { import c.universe._; c.Expr[Unit](q"()") } +impl1: (c: scala.reflect.macros.BlackboxContext)c.Expr[Unit] scala> def foo1 = macro impl1 defined term macro foo1: Unit @@ -19,8 +19,8 @@ scala> foo1 scala> -scala> def impl2(c: Context)() = { import c.universe._; c.Expr[Unit](q"()") } -impl2: (c: scala.reflect.macros.Context)()c.Expr[Unit] +scala> def impl2(c: BlackboxContext)() = { import c.universe._; c.Expr[Unit](q"()") } +impl2: (c: scala.reflect.macros.BlackboxContext)()c.Expr[Unit] scala> def foo2() = macro impl2 defined term macro foo2: ()Unit @@ -29,8 +29,8 @@ scala> foo2() scala> -scala> def impl3(c: Context)(x: c.Expr[Int])(y: c.Expr[Int]) = { import c.universe._; c.Expr[Unit](q"()") } -impl3: (c: scala.reflect.macros.Context)(x: c.Expr[Int])(y: c.Expr[Int])c.Expr[Unit] +scala> def impl3(c: BlackboxContext)(x: c.Expr[Int])(y: c.Expr[Int]) = { import c.universe._; c.Expr[Unit](q"()") } +impl3: (c: scala.reflect.macros.BlackboxContext)(x: c.Expr[Int])(y: c.Expr[Int])c.Expr[Unit] scala> def foo3(x: Int)(y: Int) = macro impl3 defined term macro foo3: (x: Int)(y: Int)Unit |