diff options
author | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2014-09-09 16:16:16 +0200 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2014-09-17 18:07:17 +0200 |
commit | 8f6ce34a846fedad7c939403918a3d7d7da9d72b (patch) | |
tree | f02387158bf7d556221e6078aa6e81e0a2cc57ad /src/dotty/tools/dotc/transform/PatternMatcher.scala | |
parent | 899554fc34038be1ff2fe6fbd2bc38f1f39dce5b (diff) | |
download | dotty-8f6ce34a846fedad7c939403918a3d7d7da9d72b.tar.gz dotty-8f6ce34a846fedad7c939403918a3d7d7da9d72b.tar.bz2 dotty-8f6ce34a846fedad7c939403918a3d7d7da9d72b.zip |
Remaining definitions for patmat.
Diffstat (limited to 'src/dotty/tools/dotc/transform/PatternMatcher.scala')
-rw-r--r-- | src/dotty/tools/dotc/transform/PatternMatcher.scala | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/transform/PatternMatcher.scala b/src/dotty/tools/dotc/transform/PatternMatcher.scala index 1b3d19239..a2d6e2110 100644 --- a/src/dotty/tools/dotc/transform/PatternMatcher.scala +++ b/src/dotty/tools/dotc/transform/PatternMatcher.scala @@ -1860,9 +1860,20 @@ class PatternMatcher extends MiniPhaseTransform { aligned } + object Applied { + // Duplicated with `spliceApply` + def unapply(tree: Tree): Option[Tree] = tree match { + // SI-7868 Admit Select() to account for numeric widening, e.g. <unappplySelector>.toInt + case Apply(fun, (Ident(nme.SELECTOR_DUMMY)| Select(Ident(nme.SELECTOR_DUMMY), _)) :: Nil) + => Some(fun) + case Apply(fun, _) => unapply(fun) + case _ => None + } + } + def apply(tree:Tree, sel: Tree, args: List[Tree], resultType: Type): Aligned = { val fn = sel match { - case Unapplied(fn) => fn + case Applied(fn) => fn case _ => sel } val patterns = newPatterns(args) |