@@ -208,17 +208,17 @@ object Types {
208208 def loop (tp : Type ): Boolean = tp match {
209209 case tp : TypeRef =>
210210 val sym = tp.symbol
211- if (sym.isClass) sym.derivesFrom(cls) else loop(tp.superType): @ tailrec
211+ if (sym.isClass) sym.derivesFrom(cls) else loop(tp.superType)
212212 case tp : AppliedType =>
213213 tp.superType.derivesFrom(cls)
214214 case tp : MatchType =>
215215 tp.bound.derivesFrom(cls) || tp.reduced.derivesFrom(cls)
216216 case tp : TypeProxy =>
217- loop(tp.underlying): @ tailrec
217+ loop(tp.underlying)
218218 case tp : AndType =>
219- loop(tp.tp1) || loop(tp.tp2): @ tailrec
219+ loop(tp.tp1) || loop(tp.tp2)
220220 case tp : OrType =>
221- loop(tp.tp1) && loop(tp.tp2): @ tailrec
221+ loop(tp.tp1) && loop(tp.tp2)
222222 case tp : JavaArrayType =>
223223 cls == defn.ObjectClass
224224 case _ =>
@@ -403,16 +403,16 @@ object Types {
403403 */
404404 final def classSymbol (implicit ctx : Context ): Symbol = this match {
405405 case ConstantType (constant) =>
406- constant.tpe.classSymbol: @ tailrec
406+ constant.tpe.classSymbol
407407 case tp : TypeRef =>
408408 val sym = tp.symbol
409- if (sym.isClass) sym else tp.superType.classSymbol: @ tailrec
409+ if (sym.isClass) sym else tp.superType.classSymbol
410410 case tp : ClassInfo =>
411411 tp.cls
412412 case tp : SingletonType =>
413413 NoSymbol
414414 case tp : TypeProxy =>
415- tp.underlying.classSymbol: @ tailrec
415+ tp.underlying.classSymbol
416416 case AndType (l, r) =>
417417 val lsym = l.classSymbol
418418 val rsym = r.classSymbol
@@ -436,9 +436,9 @@ object Types {
436436 tp.cls :: Nil
437437 case tp : TypeRef =>
438438 val sym = tp.symbol
439- if (sym.isClass) sym.asClass :: Nil else tp.superType.classSymbols: @ tailrec
439+ if (sym.isClass) sym.asClass :: Nil else tp.superType.classSymbols
440440 case tp : TypeProxy =>
441- tp.underlying.classSymbols: @ tailrec
441+ tp.underlying.classSymbols
442442 case AndType (l, r) =>
443443 l.classSymbols union r.classSymbols
444444 case OrType (l, r) =>
@@ -479,7 +479,7 @@ object Types {
479479 case tp : ClassInfo =>
480480 tp.decls
481481 case tp : TypeProxy =>
482- tp.underlying.decls: @ tailrec
482+ tp.underlying.decls
483483 case _ =>
484484 EmptyScope
485485 }
@@ -725,7 +725,7 @@ object Types {
725725 val ns = tp.parent.memberNames(keepOnly, pre)
726726 if (keepOnly(pre, tp.refinedName)) ns + tp.refinedName else ns
727727 case tp : TypeProxy =>
728- tp.underlying.memberNames(keepOnly, pre): @ tailrec
728+ tp.underlying.memberNames(keepOnly, pre)
729729 case tp : AndType =>
730730 tp.tp1.memberNames(keepOnly, pre) | tp.tp2.memberNames(keepOnly, pre)
731731 case tp : OrType =>
@@ -1042,21 +1042,21 @@ object Types {
10421042 case tp : TypeRef =>
10431043 if (tp.symbol.isClass) tp
10441044 else tp.info match {
1045- case TypeAlias (alias) => alias.dealias1(keep): @ tailrec
1045+ case TypeAlias (alias) => alias.dealias1(keep)
10461046 case _ => tp
10471047 }
10481048 case app @ AppliedType (tycon, args) =>
10491049 val tycon1 = tycon.dealias1(keep)
1050- if (tycon1 ne tycon) app.superType.dealias1(keep): @ tailrec
1050+ if (tycon1 ne tycon) app.superType.dealias1(keep)
10511051 else this
10521052 case tp : TypeVar =>
10531053 val tp1 = tp.instanceOpt
1054- if (tp1.exists) tp1.dealias1(keep): @ tailrec else tp
1054+ if (tp1.exists) tp1.dealias1(keep) else tp
10551055 case tp : AnnotatedType =>
10561056 val tp1 = tp.parent.dealias1(keep)
10571057 if (keep(tp)(ctx)) tp.derivedAnnotatedType(tp1, tp.annot) else tp1
10581058 case tp : LazyRef =>
1059- tp.ref.dealias1(keep): @ tailrec
1059+ tp.ref.dealias1(keep)
10601060 case _ => this
10611061 }
10621062
0 commit comments