summaryrefslogtreecommitdiff
path: root/test/files/run/macro-expand-unapply-a/Impls_Macros_1.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2013-01-11 21:11:13 -0800
committerPaul Phillips <paulp@improving.org>2013-01-11 21:12:50 -0800
commit82dc21078e7aa6215ed32b79dece3b4c626ebea6 (patch)
tree833763d89631bf389dc6124e6c3d1b64f409f7dd /test/files/run/macro-expand-unapply-a/Impls_Macros_1.scala
parent5f51e3f754d15415e21f79c2fc81995f89019edf (diff)
parent143cd7a307706a8884c9352e64addf6e9be0a181 (diff)
downloadscala-82dc21078e7aa6215ed32b79dece3b4c626ebea6.tar.gz
scala-82dc21078e7aa6215ed32b79dece3b4c626ebea6.tar.bz2
scala-82dc21078e7aa6215ed32b79dece3b4c626ebea6.zip
Merge commit 'refs/pull/1844/head' into merge/pr-1844
* commit 'refs/pull/1844/head': macroExpandAll is now triggered by typed SI-5923 adapt macros when they are deferred generalizes macroExpand typedPrimaryConstrBody now returns supercall more precise errors for macros parentTypes => typedParentTypes changes isTermMacro checks to something more universal fixes printing of AppliedTypeTree adds Trees.replace(Tree, Tree) makes macro override error more consistent refactors handling of macros in repl SI-5903 extractor macros do work adds c.macroRole Conflicts: src/compiler/scala/tools/nsc/typechecker/Macros.scala src/compiler/scala/tools/nsc/typechecker/Typers.scala
Diffstat (limited to 'test/files/run/macro-expand-unapply-a/Impls_Macros_1.scala')
-rw-r--r--test/files/run/macro-expand-unapply-a/Impls_Macros_1.scala15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/files/run/macro-expand-unapply-a/Impls_Macros_1.scala b/test/files/run/macro-expand-unapply-a/Impls_Macros_1.scala
new file mode 100644
index 0000000000..61d6345f16
--- /dev/null
+++ b/test/files/run/macro-expand-unapply-a/Impls_Macros_1.scala
@@ -0,0 +1,15 @@
+import scala.reflect.macros.Context
+
+object Helper {
+ def unapplySeq[T](x: List[T]): Option[Seq[T]] = List.unapplySeq[T](x)
+}
+
+object Macros {
+ def impl[T: c.WeakTypeTag](c: Context)(x: c.Expr[List[T]]) = {
+ c.universe.reify(Helper.unapplySeq(x.splice))
+ }
+
+ object UnapplyMacro {
+ def unapplySeq[T](x: List[T]): Option[Seq[T]] = macro impl[T]
+ }
+} \ No newline at end of file