summaryrefslogtreecommitdiff
path: root/test/files/run/macro-term-declared-in-class-class
diff options
context:
space:
mode:
Diffstat (limited to 'test/files/run/macro-term-declared-in-class-class')
-rw-r--r--test/files/run/macro-term-declared-in-class-class/Impls_1.scala11
-rw-r--r--test/files/run/macro-term-declared-in-class-class/Macros_Test_2.scala10
2 files changed, 21 insertions, 0 deletions
diff --git a/test/files/run/macro-term-declared-in-class-class/Impls_1.scala b/test/files/run/macro-term-declared-in-class-class/Impls_1.scala
new file mode 100644
index 0000000000..348f3420f2
--- /dev/null
+++ b/test/files/run/macro-term-declared-in-class-class/Impls_1.scala
@@ -0,0 +1,11 @@
+import scala.reflect.macros.{Context => Ctx}
+
+object Impls {
+ def foo(c: Ctx) = {
+ import c.{prefix => prefix}
+ import c.universe._
+ val printPrefix = Apply(Select(Ident(definitions.PredefModule), TermName("println")), List(Literal(Constant("prefix = " + prefix))))
+ val body = Block(List(printPrefix), Apply(Select(Ident(definitions.PredefModule), TermName("println")), List(Literal(Constant("it works")))))
+ c.Expr[Unit](body)
+ }
+} \ No newline at end of file
diff --git a/test/files/run/macro-term-declared-in-class-class/Macros_Test_2.scala b/test/files/run/macro-term-declared-in-class-class/Macros_Test_2.scala
new file mode 100644
index 0000000000..871857a97f
--- /dev/null
+++ b/test/files/run/macro-term-declared-in-class-class/Macros_Test_2.scala
@@ -0,0 +1,10 @@
+class Macros {
+ class Macros {
+ def foo = macro Impls.foo
+ }
+}
+
+object Test extends App {
+ val outer = new Macros()
+ new outer.Macros().foo
+} \ No newline at end of file