diff options
author | Den Shabalin <den.shabalin@gmail.com> | 2013-09-05 13:27:54 +0200 |
---|---|---|
committer | Den Shabalin <den.shabalin@gmail.com> | 2013-09-05 14:39:12 +0200 |
commit | 800f5acd0d7117bf953829da7c6d955e61e63bdc (patch) | |
tree | f7a28dbe2888cb6a2ba39a751c6dd24a296979d5 /src/compiler/scala/tools/reflect/quasiquotes/Placeholders.scala | |
parent | 1585b52b6cbf2e2985ef3a02009466e56baf6e74 (diff) | |
download | scala-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.scala | 7 |
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) |