summaryrefslogtreecommitdiff
path: root/src/reflect/scala/reflect/internal/TreeInfo.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-04-16 23:16:09 +0200
committerJason Zaugg <jzaugg@gmail.com>2013-04-21 13:05:28 +0200
commit2304a78a00fe45cb05d1c3b77e4381813109cbfd (patch)
tree0392e9823c5bd227867dfafa7db7647606f0b699 /src/reflect/scala/reflect/internal/TreeInfo.scala
parente112db6fc4afe0a7721ec87423eacd405fa6c89b (diff)
downloadscala-2304a78a00fe45cb05d1c3b77e4381813109cbfd.tar.gz
scala-2304a78a00fe45cb05d1c3b77e4381813109cbfd.tar.bz2
scala-2304a78a00fe45cb05d1c3b77e4381813109cbfd.zip
SI-7345 Drive by refactoring of pattern matching for `arg: _*`.
Diffstat (limited to 'src/reflect/scala/reflect/internal/TreeInfo.scala')
-rw-r--r--src/reflect/scala/reflect/internal/TreeInfo.scala11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/reflect/scala/reflect/internal/TreeInfo.scala b/src/reflect/scala/reflect/internal/TreeInfo.scala
index b1f58814c7..461d929e7a 100644
--- a/src/reflect/scala/reflect/internal/TreeInfo.scala
+++ b/src/reflect/scala/reflect/internal/TreeInfo.scala
@@ -401,8 +401,15 @@ abstract class TreeInfo {
/** Is this argument node of the form <expr> : _* ?
*/
def isWildcardStarArg(tree: Tree): Boolean = tree match {
- case Typed(_, Ident(tpnme.WILDCARD_STAR)) => true
- case _ => false
+ case WildcardStarArg(_) => true
+ case _ => false
+ }
+
+ object WildcardStarArg {
+ def unapply(tree: Typed): Option[Tree] = tree match {
+ case Typed(expr, Ident(tpnme.WILDCARD_STAR)) => Some(expr)
+ case _ => None
+ }
}
/** If this tree has type parameters, those. Otherwise Nil.