11package dotty .tools .backend .jvm
22
3- import dotty .tools .dotc .ast .tpd . _
4- import dotty .tools .dotc .ast .Trees
3+ import dotty .tools .dotc .ast .tpd
4+ import dotty .tools .dotc .ast .Trees . _
55import dotty .tools .dotc .core .Contexts .Context
66import dotty .tools .dotc .core .Symbols ._
77import dotty .tools .dotc .transform .TreeTransforms .{MiniPhaseTransform , TransformerInfo }
@@ -17,14 +17,14 @@ class CollectSuperCalls extends MiniPhaseTransform {
1717
1818 def phaseName : String = " collectSuperCalls"
1919
20- override def transformSuper (tree : Super )(implicit ctx : Context , info : TransformerInfo ): Tree = {
20+ override def transformSelect (tree : tpd. Select )(implicit ctx : Context , info : TransformerInfo ): tpd. Tree = {
2121 tree match {
22- case Trees . Super (qual : This , mix) if mix.nonEmpty =>
22+ case Select ( Super (qual, mix), _ ) if mix.nonEmpty =>
2323 val classSymbol = qual.symbol.asClass.classSymbol
24- registerSuperCall(classSymbol, tree.tpe.baseClasses.head )
24+ registerSuperCall(classSymbol, tree.symbol.owner.asClass )
2525 case _ =>
2626 }
27- super .transformSuper (tree)
27+ super .transformSelect (tree)
2828 }
2929
3030 private def registerSuperCall (sym : ClassSymbol , calls : ClassSymbol )(implicit ctx : Context ) = {
0 commit comments