@@ -1157,7 +1157,7 @@ object Types {
11571157 /** The full parent types, including all type arguments */
11581158 def parents (implicit ctx : Context ): List [Type ] = this match {
11591159 case tp @ AppliedType (tycon, args) if tycon.typeSymbol.isClass =>
1160- tycon.parents.map(_.subst(tycon.typeSymbol.typeParams, args)) // @!!! cache?
1160+ tycon.parents.map(_.subst(tycon.typeSymbol.typeParams, args))
11611161 case tp : TypeRef =>
11621162 if (tp.info.isInstanceOf [TempClassInfo ]) {
11631163 tp.reloadDenot()
@@ -3720,6 +3720,8 @@ object Types {
37203720
37213721 /** Map this function over given type */
37223722 def mapOver (tp : Type ): Type = {
3723+ record(s " mapOver ${getClass}" )
3724+ record(" mapOver total" )
37233725 implicit val ctx = this .ctx
37243726 tp match {
37253727 case tp : NamedType =>
@@ -4095,7 +4097,10 @@ object Types {
40954097 protected final def applyToPrefix (x : T , tp : NamedType ) =
40964098 atVariance(variance max 0 )(this (x, tp.prefix)) // see remark on NamedType case in TypeMap
40974099
4098- def foldOver (x : T , tp : Type ): T = tp match {
4100+ def foldOver (x : T , tp : Type ): T = {
4101+ record(s " foldOver $getClass" )
4102+ record(s " foldOver total " )
4103+ tp match {
40994104 case tp : TypeRef =>
41004105 if (stopAtStatic && tp.symbol.isStatic) x
41014106 else {
@@ -4184,7 +4189,7 @@ object Types {
41844189 tp.fold(x, this )
41854190
41864191 case _ => x
4187- }
4192+ }}
41884193
41894194 @ tailrec final def foldOver (x : T , ts : List [Type ]): T = ts match {
41904195 case t :: ts1 => foldOver(apply(x, t), ts1)
0 commit comments