Skip to content

Commit 0a8d2e1

Browse files
committed
Use qualifier in newExpr
1 parent d5c2af2 commit 0a8d2e1

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

compiler/src/dotty/tools/dotc/typer/Typer.scala

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3981,17 +3981,15 @@ class Typer(@constructorOnly nestingLevel: Int = 0) extends Namer
39813981

39823982
/** Convert constructor proxy reference to a new expression */
39833983
def newExpr =
3984-
val qual = (tree: @unchecked) match
3985-
case Select(qual, nme.apply) => qual
3986-
case Ident(nme.apply) => This(tree.symbol.owner.asClass).withSpan(tree.span)
3987-
val tycon = tree.tpe.widen.finalResultType.underlyingClassRef(refinementOK = false)
3984+
val qual = qualifier(tree)
39883985
val tpt = qual match
39893986
case Ident(name) =>
39903987
cpy.Ident(qual)(name.toTypeName)
39913988
case Select(pre, name) =>
39923989
cpy.Select(qual)(pre, name.toTypeName)
39933990
case qual: This if qual.symbol.is(ModuleClass) =>
39943991
cpy.Ident(qual)(qual.symbol.name.sourceModuleName.toTypeName)
3992+
val tycon = tree.tpe.widen.finalResultType.underlyingClassRef(refinementOK = false)
39953993
typed(
39963994
untpd.Select(
39973995
untpd.New(untpd.TypedSplice(tpt.withType(tycon))),

0 commit comments

Comments
 (0)