diff options
Diffstat (limited to 'tests/disabled/macro/run/macro-repl-basic.scala')
-rw-r--r-- | tests/disabled/macro/run/macro-repl-basic.scala | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/disabled/macro/run/macro-repl-basic.scala b/tests/disabled/macro/run/macro-repl-basic.scala new file mode 100644 index 000000000..217f3bc0e --- /dev/null +++ b/tests/disabled/macro/run/macro-repl-basic.scala @@ -0,0 +1,39 @@ +import scala.tools.partest.ReplTest + +object Test extends ReplTest { + def code = """ + |import language.experimental.macros + |import scala.reflect.macros.blackbox.Context + | + |object Impls { + | def foo(c: Context)(x: c.Expr[Int]) = { + | import c.universe._ + | val body = Apply(Select(x.tree, TermName("$plus")), List(Literal(Constant(1)))) + | c.Expr[Int](body) + | } + | + | def bar(c: Context)(x: c.Expr[Int]) = { + | import c.universe._ + | val body = Apply(Select(x.tree, TermName("$plus")), List(Literal(Constant(2)))) + | c.Expr[Int](body) + | } + | + | def quux(c: Context)(x: c.Expr[Int]) = { + | import c.universe._ + | val body = Apply(Select(x.tree, TermName("$plus")), List(Literal(Constant(3)))) + | c.Expr[Int](body) + | } + |} + |object Macros { + | object Shmacros { + | def foo(x: Int): Int = macro Impls.foo + | } + | def bar(x: Int): Int = macro Impls.bar + |}; class Macros { + | def quux(x: Int): Int = macro Impls.quux + |} + | + |import Macros.Shmacros._ + |println(foo(2) + Macros.bar(2) * new Macros().quux(4)) + |""".stripMargin +} |