diff options
author | Den Shabalin <den.shabalin@gmail.com> | 2013-10-31 12:21:28 +0100 |
---|---|---|
committer | Den Shabalin <den.shabalin@gmail.com> | 2013-11-12 14:04:42 +0100 |
commit | c62a0e78c33dda1db6e73fa5cd3c6ddbd2b238f4 (patch) | |
tree | e5b1d545931db70c83844474a802804b164f75e5 /src/compiler/scala/tools/reflect/quasiquotes/Placeholders.scala | |
parent | a4a3ab0d722412b9ecf267b178bb866087867cf9 (diff) | |
download | scala-c62a0e78c33dda1db6e73fa5cd3c6ddbd2b238f4.tar.gz scala-c62a0e78c33dda1db6e73fa5cd3c6ddbd2b238f4.tar.bz2 scala-c62a0e78c33dda1db6e73fa5cd3c6ddbd2b238f4.zip |
add support for for loops and for enumerators to quasiquotes
1. q"for (..$enums) $body", q"for (..$enums) yield $body"
2. fq"..." quote to construct/deconstruct enumerators
Diffstat (limited to 'src/compiler/scala/tools/reflect/quasiquotes/Placeholders.scala')
-rw-r--r-- | src/compiler/scala/tools/reflect/quasiquotes/Placeholders.scala | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/reflect/quasiquotes/Placeholders.scala b/src/compiler/scala/tools/reflect/quasiquotes/Placeholders.scala index c31d1fcd12..54be9123c7 100644 --- a/src/compiler/scala/tools/reflect/quasiquotes/Placeholders.scala +++ b/src/compiler/scala/tools/reflect/quasiquotes/Placeholders.scala @@ -161,4 +161,12 @@ trait Placeholders { self: Quasiquotes => case _ => None } } + + object ForEnumPlaceholder { + def unapply(tree: Tree): Option[(Tree, Location, Cardinality)] = tree match { + case build.SyntacticValFrom(Bind(Placeholder(tree, location, card), Ident(nme.WILDCARD)), Ident(nme.QUASIQUOTE_FOR_ENUM)) => + Some((tree, location, card)) + case _ => None + } + } }
\ No newline at end of file |