diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-04-16 23:16:09 +0200 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-04-21 13:05:28 +0200 |
commit | 2304a78a00fe45cb05d1c3b77e4381813109cbfd (patch) | |
tree | 0392e9823c5bd227867dfafa7db7647606f0b699 /src/reflect/scala/reflect/internal/TreeInfo.scala | |
parent | e112db6fc4afe0a7721ec87423eacd405fa6c89b (diff) | |
download | scala-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.scala | 11 |
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. |