@@ -4664,7 +4664,7 @@ trait Quotes { self: runtime.QuoteUnpickler & runtime.QuoteMatching =>
4664
4664
def transformTree (tree : Tree )(owner : Symbol ): Tree = {
4665
4665
tree match {
4666
4666
case tree : PackageClause =>
4667
- PackageClause .copy(tree)(transformTerm(tree.pid).asInstanceOf [Ref ], transformTrees(tree.stats)(tree.symbol))
4667
+ PackageClause .copy(tree)(transformTerm(tree.pid)(owner) .asInstanceOf [Ref ], transformTrees(tree.stats)(tree.symbol))
4668
4668
case tree : Import =>
4669
4669
Import .copy(tree)(transformTerm(tree.expr)(owner), tree.selectors)
4670
4670
case tree : Export =>
@@ -4712,7 +4712,10 @@ trait Quotes { self: runtime.QuoteUnpickler & runtime.QuoteMatching =>
4712
4712
val owner = tree.symbol
4713
4713
TypeDef .copy(tree)(tree.name, transformTree(tree.rhs)(owner))
4714
4714
case tree : ClassDef =>
4715
- ClassDef .copy(tree)(tree.name, tree.constructor, tree.parents, tree.self, tree.body)
4715
+ val constructor @ DefDef (_, _, _, _) = transformStatement(tree.constructor)(tree.symbol)
4716
+ val parents = tree.parents.map(transformTree(_)(tree.symbol))
4717
+ val body = tree.body.map(transformStatement(_)(tree.symbol))
4718
+ ClassDef .copy(tree)(tree.name, constructor, parents, tree.self, body)
4716
4719
case tree : Import =>
4717
4720
Import .copy(tree)(transformTerm(tree.expr)(owner), tree.selectors)
4718
4721
case tree : Export =>
@@ -4764,6 +4767,8 @@ trait Quotes { self: runtime.QuoteUnpickler & runtime.QuoteMatching =>
4764
4767
Repeated .copy(tree)(transformTerms(elems)(owner), transformTypeTree(elemtpt)(owner))
4765
4768
case Inlined (call, bindings, expansion) =>
4766
4769
Inlined .copy(tree)(call, transformSubTrees(bindings)(owner), transformTerm(expansion)(owner))
4770
+ case SummonFrom (cases) =>
4771
+ SummonFrom .copy(tree)(transformCaseDefs(cases)(owner))
4767
4772
case _ =>
4768
4773
throw MatchError (tree.show(using Printer .TreeStructure ))
4769
4774
}
0 commit comments