summaryrefslogtreecommitdiff
path: root/test/files
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2012-09-19 12:01:25 +0200
committerEugene Burmako <xeno.by@gmail.com>2012-09-19 20:25:35 +0200
commit648dae6a504f0a5c24d3a7f6efc996f508a006ce (patch)
tree8addffd07f20b5c75351352db1291708be887ccf /test/files
parentb0a4d536482c6582bafb383a30f553862aceb00f (diff)
downloadscala-648dae6a504f0a5c24d3a7f6efc996f508a006ce.tar.gz
scala-648dae6a504f0a5c24d3a7f6efc996f508a006ce.tar.bz2
scala-648dae6a504f0a5c24d3a7f6efc996f508a006ce.zip
SI-6394 fixes macros.Context.enclosingClass
Previously I used typer.context.enclClass, but it seems to do something completely unexpected, so I switched to manual context traversal.
Diffstat (limited to 'test/files')
-rw-r--r--test/files/run/t6394a.check1
-rw-r--r--test/files/run/t6394a.flags1
-rw-r--r--test/files/run/t6394a/Macros_1.scala12
-rw-r--r--test/files/run/t6394a/Test_2.scala4
4 files changed, 18 insertions, 0 deletions
diff --git a/test/files/run/t6394a.check b/test/files/run/t6394a.check
new file mode 100644
index 0000000000..34997f71e3
--- /dev/null
+++ b/test/files/run/t6394a.check
@@ -0,0 +1 @@
+TEST
diff --git a/test/files/run/t6394a.flags b/test/files/run/t6394a.flags
new file mode 100644
index 0000000000..cd66464f2f
--- /dev/null
+++ b/test/files/run/t6394a.flags
@@ -0,0 +1 @@
+-language:experimental.macros \ No newline at end of file
diff --git a/test/files/run/t6394a/Macros_1.scala b/test/files/run/t6394a/Macros_1.scala
new file mode 100644
index 0000000000..3d39d3e40a
--- /dev/null
+++ b/test/files/run/t6394a/Macros_1.scala
@@ -0,0 +1,12 @@
+import scala.reflect.macros.Context
+
+object Macros {
+ def impl(c:Context): c.Expr[Any] = {
+ import c.universe._
+
+ val selfTree = This(c.enclosingClass.symbol.asModule.moduleClass)
+ c.Expr[AnyRef](selfTree)
+ }
+
+ def foo: Any = macro impl
+} \ No newline at end of file
diff --git a/test/files/run/t6394a/Test_2.scala b/test/files/run/t6394a/Test_2.scala
new file mode 100644
index 0000000000..75e84f0e38
--- /dev/null
+++ b/test/files/run/t6394a/Test_2.scala
@@ -0,0 +1,4 @@
+object Test extends App {
+ println(Macros.foo)
+ override def toString = "TEST"
+} \ No newline at end of file