File tree Expand file tree Collapse file tree 1 file changed +6
-11
lines changed
src/compiler/scala/tools/nsc/typechecker Expand file tree Collapse file tree 1 file changed +6
-11
lines changed Original file line number Diff line number Diff line change @@ -340,19 +340,14 @@ trait Contexts { self: Analyzer =>
340340
341341 val vsymMap = (vsyms zip vsyms0).toMap
342342
343- object patchRefs extends Transformer {
344- override def transform (tree : Tree ): Tree = {
345- tree match {
346- case i : Ident if vsymMap.contains(i.symbol) =>
347- gen.mkAttributedSelect(gen.mkAttributedRef(msym0), vsymMap(i.symbol)) setType i.tpe
348- case _ =>
349- super .transform(tree)
350- }
343+ val substitutor = new TreeSymSubstituter (vsyms, vsyms0) {
344+ override def transform (tree : Tree ): Tree = tree match {
345+ case i : Ident if vsymMap.contains(i.symbol) =>
346+ super .transform(treeCopy.Select (i, gen.mkAttributedRef(msym0), i.name))
347+ case _ => super .transform(tree)
351348 }
352349 }
353-
354- val tree0 = patchRefs.transform(result.tree)
355- val tree1 = Block (mdef0, tree0).substituteSymbols(vsyms, vsyms0) setType tree.tpe
350+ val tree1 = substitutor(Block (mdef0, result.tree)) setType tree.tpe
356351
357352 new SearchResult (atPos(pos.focus)(tree1), result.subst, result.undetparams)
358353 }
You can’t perform that action at this time.
0 commit comments