Skip to content

Commit c6e06f1

Browse files
committed
another way to highlight the problem
1 parent 32b542f commit c6e06f1

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

compiler/src/scala/quoted/runtime/impl/QuotesImpl.scala

+5-2
Original file line numberDiff line numberDiff line change
@@ -540,11 +540,14 @@ class QuotesImpl private (using val ctx: Context) extends Quotes, QuoteUnpickler
540540

541541
def overloaded(qualifier: Term, name: String, targs: List[TypeRepr], args: List[Term], returnType: TypeRepr): Term =
542542
withDefaultPos(tpd.applyOverloaded(qualifier, name.toTermName, args, targs, returnType))
543+
543544
def copy(original: Tree)(qualifier: Term, name: String): Select =
545+
val sym = original.symbol
546+
if sym.name.is(NameKinds.DefaultGetterName) && sym.name.toString == name then
547+
tpd.cpy.Select(original)(qualifier, sym.name)
548+
else
544549
tpd.cpy.Select(original)(qualifier, name.toTermName)
545550

546-
def copy(original: Tree)(qualifier: Term, sym: Symbol): Select =
547-
tpd.cpy.Select(original)(qualifier, sym.name)
548551
def unapply(x: Select): (Term, String) =
549552
(x.qualifier, x.name.toString)
550553
end Select

library/src/scala/quoted/Quotes.scala

+1-3
Original file line numberDiff line numberDiff line change
@@ -996,8 +996,6 @@ trait Quotes { self: runtime.QuoteUnpickler & runtime.QuoteMatching =>
996996

997997
def copy(original: Tree)(qualifier: Term, name: String): Select
998998

999-
def copy(original: Tree)(qualifier: Term, sym: Symbol): Select
1000-
1001999
/** Matches `<qualifier: Term>.<name: String>` */
10021000
def unapply(x: Select): (Term, String)
10031001
}
@@ -5121,7 +5119,7 @@ trait Quotes { self: runtime.QuoteUnpickler & runtime.QuoteMatching =>
51215119
case Ident(name) =>
51225120
tree
51235121
case Select(qualifier, name) =>
5124-
Select.copy(tree)(transformTerm(qualifier)(owner), tree.symbol)
5122+
Select.copy(tree)(transformTerm(qualifier)(owner), name)
51255123
case This(qual) =>
51265124
tree
51275125
case Super(qual, mix) =>

0 commit comments

Comments
 (0)