summaryrefslogtreecommitdiff
path: root/test/files/run/macro-toplevel-companion-a/Impls_Macros_1.scala
diff options
context:
space:
mode:
Diffstat (limited to 'test/files/run/macro-toplevel-companion-a/Impls_Macros_1.scala')
-rw-r--r--test/files/run/macro-toplevel-companion-a/Impls_Macros_1.scala14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/files/run/macro-toplevel-companion-a/Impls_Macros_1.scala b/test/files/run/macro-toplevel-companion-a/Impls_Macros_1.scala
new file mode 100644
index 0000000000..23e8694ddc
--- /dev/null
+++ b/test/files/run/macro-toplevel-companion-a/Impls_Macros_1.scala
@@ -0,0 +1,14 @@
+import scala.reflect.macros.Context
+import language.experimental.macros
+
+object Macros {
+ def impl(c: Context) = {
+ import c.universe._
+ val synthetic = reify{ class C { override def toString = "C" }; object C { implicit val c = new C } }.tree
+ val defs = synthetic.asInstanceOf[Block].stats.asInstanceOf[List[ImplDef]]
+ if (c.topLevelRef(TypeName("C")).isEmpty) c.introduceTopLevel(nme.EMPTY_PACKAGE_NAME.toString, defs: _*)
+ c.literalUnit
+ }
+
+ def foo = macro impl
+} \ No newline at end of file