@@ -4664,7 +4664,7 @@ trait Quotes { self: runtime.QuoteUnpickler & runtime.QuoteMatching =>
46644664 def transformTree (tree : Tree )(owner : Symbol ): Tree = {
46654665 tree match {
46664666 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))
46684668 case tree : Import =>
46694669 Import .copy(tree)(transformTerm(tree.expr)(owner), tree.selectors)
46704670 case tree : Export =>
@@ -4712,7 +4712,10 @@ trait Quotes { self: runtime.QuoteUnpickler & runtime.QuoteMatching =>
47124712 val owner = tree.symbol
47134713 TypeDef .copy(tree)(tree.name, transformTree(tree.rhs)(owner))
47144714 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)
47164719 case tree : Import =>
47174720 Import .copy(tree)(transformTerm(tree.expr)(owner), tree.selectors)
47184721 case tree : Export =>
@@ -4764,6 +4767,8 @@ trait Quotes { self: runtime.QuoteUnpickler & runtime.QuoteMatching =>
47644767 Repeated .copy(tree)(transformTerms(elems)(owner), transformTypeTree(elemtpt)(owner))
47654768 case Inlined (call, bindings, expansion) =>
47664769 Inlined .copy(tree)(call, transformSubTrees(bindings)(owner), transformTerm(expansion)(owner))
4770+ case SummonFrom (cases) =>
4771+ SummonFrom .copy(tree)(transformCaseDefs(cases)(owner))
47674772 case _ =>
47684773 throw MatchError (tree.show(using Printer .TreeStructure ))
47694774 }
0 commit comments