Skip to content

Commit cdebeb6

Browse files
committed
Remove unnecessary transformSelect
The logic is handled by the phase `SelectStatic`
1 parent 47f2fc4 commit cdebeb6

File tree

1 file changed

+0
-18
lines changed

1 file changed

+0
-18
lines changed

compiler/src/dotty/tools/dotc/transform/MoveStatics.scala

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -35,24 +35,6 @@ class MoveStatics extends MiniPhase with SymTransformer {
3535
}
3636
else sym
3737

38-
override def transformSelect(tree: tpd.Select)(using Context): tpd.Tree =
39-
if (tree.symbol.hasAnnotation(defn.ScalaStaticAnnot)) {
40-
def isSafeQual(t: Tree): Boolean = // follow the desugared paths created by typer
41-
t match {
42-
case t: This => true
43-
case t: Select => isSafeQual(t.qualifier)
44-
case t: Block => t.stats.forall(tpd.isPureExpr) && isSafeQual(t.expr)
45-
case _ => false
46-
}
47-
48-
if (isSafeQual(tree.qualifier))
49-
ref(tree.symbol)
50-
else
51-
Block(tree.qualifier :: Nil, ref(tree.symbol))
52-
}
53-
else tree
54-
55-
5638
override def transformStats(trees: List[Tree])(using Context): List[Tree] =
5739
if (ctx.owner.is(Flags.Package)) {
5840
val (classes, others) = trees.partition(x => x.isInstanceOf[TypeDef] && x.symbol.isClass)

0 commit comments

Comments
 (0)