summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/reflect/quasiquotes/Placeholders.scala
diff options
context:
space:
mode:
authorDen Shabalin <den.shabalin@gmail.com>2013-09-05 13:27:54 +0200
committerDen Shabalin <den.shabalin@gmail.com>2013-09-05 14:39:12 +0200
commit800f5acd0d7117bf953829da7c6d955e61e63bdc (patch)
treef7a28dbe2888cb6a2ba39a751c6dd24a296979d5 /src/compiler/scala/tools/reflect/quasiquotes/Placeholders.scala
parent1585b52b6cbf2e2985ef3a02009466e56baf6e74 (diff)
downloadscala-800f5acd0d7117bf953829da7c6d955e61e63bdc.tar.gz
scala-800f5acd0d7117bf953829da7c6d955e61e63bdc.tar.bz2
scala-800f5acd0d7117bf953829da7c6d955e61e63bdc.zip
add support for function type splicing and extraction
Diffstat (limited to 'src/compiler/scala/tools/reflect/quasiquotes/Placeholders.scala')
-rw-r--r--src/compiler/scala/tools/reflect/quasiquotes/Placeholders.scala7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/reflect/quasiquotes/Placeholders.scala b/src/compiler/scala/tools/reflect/quasiquotes/Placeholders.scala
index 5d7edcd75e..f0886b5735 100644
--- a/src/compiler/scala/tools/reflect/quasiquotes/Placeholders.scala
+++ b/src/compiler/scala/tools/reflect/quasiquotes/Placeholders.scala
@@ -113,6 +113,13 @@ trait Placeholders { self: Quasiquotes =>
}
}
+ object FunctionTypePlaceholder {
+ def unapply(tree: Tree): Option[(List[Tree], Tree)] = tree match {
+ case AppliedTypeTree(Ident(tpnme.QUASIQUOTE_FUNCTION), args :+ res) => Some((args, res))
+ case _ => None
+ }
+ }
+
object SymbolPlaceholder {
def unapply(scrutinee: Any): Option[Tree] = scrutinee match {
case Placeholder(tree, SymbolLocation, _) => Some(tree)