@@ -206,13 +206,13 @@ object Types {
206
206
def loop (tp : Type ): Boolean = tp match {
207
207
case tp : TypeRef =>
208
208
val sym = tp.symbol
209
- if (sym.isClass) sym.derivesFrom(cls) else loop(tp.superType): @ tailrec
209
+ if (sym.isClass) sym.derivesFrom(cls) else loop(tp.superType)
210
210
case tp : TypeProxy =>
211
- loop(tp.underlying): @ tailrec
211
+ loop(tp.underlying)
212
212
case tp : AndType =>
213
- loop(tp.tp1) || loop(tp.tp2): @ tailrec
213
+ loop(tp.tp1) || loop(tp.tp2)
214
214
case tp : OrType =>
215
- loop(tp.tp1) && loop(tp.tp2): @ tailrec
215
+ loop(tp.tp1) && loop(tp.tp2)
216
216
case tp : JavaArrayType =>
217
217
cls == defn.ObjectClass
218
218
case _ =>
@@ -389,16 +389,16 @@ object Types {
389
389
*/
390
390
final def classSymbol (implicit ctx : Context ): Symbol = this match {
391
391
case ConstantType (constant) =>
392
- constant.tpe.classSymbol: @ tailrec
392
+ constant.tpe.classSymbol
393
393
case tp : TypeRef =>
394
394
val sym = tp.symbol
395
- if (sym.isClass) sym else tp.superType.classSymbol: @ tailrec
395
+ if (sym.isClass) sym else tp.superType.classSymbol
396
396
case tp : ClassInfo =>
397
397
tp.cls
398
398
case tp : SingletonType =>
399
399
NoSymbol
400
400
case tp : TypeProxy =>
401
- tp.underlying.classSymbol: @ tailrec
401
+ tp.underlying.classSymbol
402
402
case AndType (l, r) =>
403
403
val lsym = l.classSymbol
404
404
val rsym = r.classSymbol
@@ -422,9 +422,9 @@ object Types {
422
422
tp.cls :: Nil
423
423
case tp : TypeRef =>
424
424
val sym = tp.symbol
425
- if (sym.isClass) sym.asClass :: Nil else tp.superType.classSymbols: @ tailrec
425
+ if (sym.isClass) sym.asClass :: Nil else tp.superType.classSymbols
426
426
case tp : TypeProxy =>
427
- tp.underlying.classSymbols: @ tailrec
427
+ tp.underlying.classSymbols
428
428
case AndType (l, r) =>
429
429
l.classSymbols union r.classSymbols
430
430
case OrType (l, r) =>
@@ -465,7 +465,7 @@ object Types {
465
465
case tp : ClassInfo =>
466
466
tp.decls
467
467
case tp : TypeProxy =>
468
- tp.underlying.decls: @ tailrec
468
+ tp.underlying.decls
469
469
case _ =>
470
470
EmptyScope
471
471
}
@@ -711,7 +711,7 @@ object Types {
711
711
val ns = tp.parent.memberNames(keepOnly, pre)
712
712
if (keepOnly(pre, tp.refinedName)) ns + tp.refinedName else ns
713
713
case tp : TypeProxy =>
714
- tp.underlying.memberNames(keepOnly, pre): @ tailrec
714
+ tp.underlying.memberNames(keepOnly, pre)
715
715
case tp : AndType =>
716
716
tp.tp1.memberNames(keepOnly, pre) | tp.tp2.memberNames(keepOnly, pre)
717
717
case tp : OrType =>
@@ -1028,21 +1028,21 @@ object Types {
1028
1028
case tp : TypeRef =>
1029
1029
if (tp.symbol.isClass) tp
1030
1030
else tp.info match {
1031
- case TypeAlias (alias) => alias.dealias1(keep): @ tailrec
1031
+ case TypeAlias (alias) => alias.dealias1(keep)
1032
1032
case _ => tp
1033
1033
}
1034
1034
case app @ AppliedType (tycon, args) =>
1035
1035
val tycon1 = tycon.dealias1(keep)
1036
- if (tycon1 ne tycon) app.superType.dealias1(keep): @ tailrec
1036
+ if (tycon1 ne tycon) app.superType.dealias1(keep)
1037
1037
else this
1038
1038
case tp : TypeVar =>
1039
1039
val tp1 = tp.instanceOpt
1040
- if (tp1.exists) tp1.dealias1(keep): @ tailrec else tp
1040
+ if (tp1.exists) tp1.dealias1(keep) else tp
1041
1041
case tp : AnnotatedType =>
1042
1042
val tp1 = tp.parent.dealias1(keep)
1043
1043
if (keep(tp)(ctx)) tp.derivedAnnotatedType(tp1, tp.annot) else tp1
1044
1044
case tp : LazyRef =>
1045
- tp.ref.dealias1(keep): @ tailrec
1045
+ tp.ref.dealias1(keep)
1046
1046
case _ => this
1047
1047
}
1048
1048
0 commit comments