aboutsummaryrefslogtreecommitdiff
path: root/tests/disabled/macro/run/macro-repl-basic.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/disabled/macro/run/macro-repl-basic.scala')
-rw-r--r--tests/disabled/macro/run/macro-repl-basic.scala39
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
+}