Skip to content

Commit bf4faef

Browse files
committed
Avoid useless indirections
Also makes mapToUnderlying.transform be a tailrec
1 parent bf5c8d1 commit bf4faef

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

compiler/src/dotty/tools/dotc/ast/tpd.scala

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -947,15 +947,12 @@ object tpd extends Trees.Instance[Type] with TypedTreeInfo {
947947
override def transform(tree: Tree)(implicit ctx: Context): Tree = tree match {
948948
case tree: Ident if tree.symbol.is(InlineProxy) || (tree.symbol.is(Synthetic) && !tree.symbol.owner.isClass) =>
949949
tree.symbol.defTree match {
950-
case defTree: ValOrDefDef => defTree.rhs.underlyingArgument
950+
case defTree: ValOrDefDef => transform(defTree.rhs)
951951
case _ => tree
952952
}
953-
case Inlined(_, _, arg) =>
954-
arg.underlyingArgument
955-
case NamedArg(_, arg) =>
956-
arg.underlyingArgument
957-
case tree =>
958-
super.transform(tree)
953+
case Inlined(_, _, arg) => transform(arg)
954+
case NamedArg(_, arg) => transform(arg)
955+
case tree => super.transform(tree)
959956
}
960957
}
961958

0 commit comments

Comments
 (0)