Skip to content

Commit 02cbf1f

Browse files
committed
Factor out more code
1 parent d95f8d4 commit 02cbf1f

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

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

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,19 @@ class InterceptedMethods extends MiniPhase {
2929
override def phaseName: String = InterceptedMethods.name
3030

3131
// this should be removed if we have guarantee that ## will get Apply node
32-
override def transformSelect(tree: tpd.Select)(implicit ctx: Context): Tree = {
33-
if (tree.symbol.isTerm && (defn.Any_## eq tree.symbol.asTerm)) {
34-
val rewrite = poundPoundValue(tree.qualifier)
35-
ctx.log(s"$phaseName rewrote $tree to $rewrite")
36-
rewrite
37-
}
38-
else tree
39-
}
32+
override def transformSelect(tree: tpd.Select)(implicit ctx: Context): Tree =
33+
transformRefTree(tree)
34+
35+
override def transformIdent(tree: tpd.Ident)(implicit ctx: Context): Tree =
36+
transformRefTree(tree)
4037

41-
override def transformIdent(tree: tpd.Ident)(implicit ctx: Context): Tree = {
42-
if (tree.symbol.isTerm && (defn.Any_## eq tree.symbol.asTerm)) {
43-
val rewrite = poundPoundValue(tpd.desugarIdentPrefix(tree))
38+
private def transformRefTree(tree: RefTree)(implicit ctx: Context): Tree = {
39+
if (tree.symbol.isTerm && (defn.Any_## eq tree.symbol)) {
40+
val qual = tree match {
41+
case id: Ident => tpd.desugarIdentPrefix(id)
42+
case sel: Select => sel.qualifier
43+
}
44+
val rewrite = poundPoundValue(qual)
4445
ctx.log(s"$phaseName rewrote $tree to $rewrite")
4546
rewrite
4647
}

0 commit comments

Comments
 (0)