From 772f3d20fd3605d077abf28e80195f1dda343ee1 Mon Sep 17 00:00:00 2001 From: Felix Mulder Date: Thu, 19 May 2016 16:54:53 +0200 Subject: Move `stripAnnots` to `isRef` instead of performing explicitly everywhere --- src/dotty/tools/dotc/transform/PatternMatcher.scala | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) (limited to 'src/dotty/tools/dotc/transform/PatternMatcher.scala') diff --git a/src/dotty/tools/dotc/transform/PatternMatcher.scala b/src/dotty/tools/dotc/transform/PatternMatcher.scala index f8f32131b..d1737b55e 100644 --- a/src/dotty/tools/dotc/transform/PatternMatcher.scala +++ b/src/dotty/tools/dotc/transform/PatternMatcher.scala @@ -306,17 +306,11 @@ class PatternMatcher extends MiniPhaseTransform with DenotTransformer {thisTrans def emitSwitch(scrut: Tree, scrutSym: Symbol, cases: List[List[TreeMaker]], pt: Type, matchFailGenOverride: Option[Symbol => Tree], unchecked: Boolean): Option[Tree] = { // TODO Deal with guards? - def isSwitchableType(tpe: Type): Boolean = { - val actualTpe = tpe match { - case t @ AnnotatedType(inner, _) => inner - case x => x - } - - (actualTpe isRef defn.IntClass) || - (actualTpe isRef defn.ByteClass) || - (actualTpe isRef defn.ShortClass) || - (actualTpe isRef defn.CharClass) - } + def isSwitchableType(tpe: Type): Boolean = + (tpe isRef defn.IntClass) || + (tpe isRef defn.ByteClass) || + (tpe isRef defn.ShortClass) || + (tpe isRef defn.CharClass) object IntEqualityTestTreeMaker { def unapply(treeMaker: EqualityTestTreeMaker): Option[Int] = treeMaker match { -- cgit v1.2.3