Skip to content

Commit 32b542f

Browse files
committed
Add Select.copy with symbol in Quotes
1 parent 22b7264 commit 32b542f

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -542,6 +542,9 @@ class QuotesImpl private (using val ctx: Context) extends Quotes, QuoteUnpickler
542542
withDefaultPos(tpd.applyOverloaded(qualifier, name.toTermName, args, targs, returnType))
543543
def copy(original: Tree)(qualifier: Term, name: String): Select =
544544
tpd.cpy.Select(original)(qualifier, name.toTermName)
545+
546+
def copy(original: Tree)(qualifier: Term, sym: Symbol): Select =
547+
tpd.cpy.Select(original)(qualifier, sym.name)
545548
def unapply(x: Select): (Term, String) =
546549
(x.qualifier, x.name.toString)
547550
end Select

library/src/scala/quoted/Quotes.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -996,6 +996,8 @@ 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+
9991001
/** Matches `<qualifier: Term>.<name: String>` */
10001002
def unapply(x: Select): (Term, String)
10011003
}
@@ -5119,7 +5121,7 @@ trait Quotes { self: runtime.QuoteUnpickler & runtime.QuoteMatching =>
51195121
case Ident(name) =>
51205122
tree
51215123
case Select(qualifier, name) =>
5122-
Select.copy(tree)(transformTerm(qualifier)(owner), name)
5124+
Select.copy(tree)(transformTerm(qualifier)(owner), tree.symbol)
51235125
case This(qual) =>
51245126
tree
51255127
case Super(qual, mix) =>

0 commit comments

Comments
 (0)