@@ -263,7 +263,7 @@ class DottyLanguageServer extends LanguageServer
263263 case _ =>
264264 (Nil , Include .overriding)
265265 }
266- val defs = Interactive .namedTrees (trees, include, sym)
266+ val defs = Interactive .findTreesMatching (trees, include | Include .definitions , sym)
267267 defs.map(d => location(d.namePos)).asJava
268268 }
269269 }
@@ -273,7 +273,6 @@ class DottyLanguageServer extends LanguageServer
273273 val driver = driverFor(uri)
274274 implicit val ctx = driver.currentCtx
275275
276- val includeDeclaration = params.getContext.isIncludeDeclaration
277276 val pos = sourcePosition(driver, uri, params.getPosition)
278277 val sym = Interactive .enclosingSourceSymbol(driver.openedTrees(uri), pos)
279278
@@ -283,11 +282,10 @@ class DottyLanguageServer extends LanguageServer
283282 // only need to look for trees in the target directory if the symbol is defined in the
284283 // current project
285284 val trees = driver.allTreesContaining(sym.name.sourceModuleName.toString)
286- val refs = Interactive .namedTrees(trees, includeReferences = true , tree =>
287- tree.pos.isSourceDerived
288- && (includeDeclaration || ! Interactive .isDefinition(tree))
289- && ! tree.symbol.isConstructor
290- && (Interactive .matchSymbol(tree, sym, Include .overriding)))
285+ val includeDeclaration = params.getContext.isIncludeDeclaration
286+ val includes =
287+ Include .references | Include .overriding | (if (includeDeclaration) Include .definitions else 0 )
288+ val refs = Interactive .findTreesMatching(trees, includes, sym)
291289
292290 refs.map(ref => location(ref.namePos)).asJava
293291 }
@@ -304,14 +302,10 @@ class DottyLanguageServer extends LanguageServer
304302 if (sym == NoSymbol ) new WorkspaceEdit ()
305303 else {
306304 val trees = driver.allTreesContaining(sym.name.sourceModuleName.toString)
307- val linkedSym = sym.linkedClass
308305 val newName = params.getNewName
309-
310- val refs = Interactive .namedTrees(trees, includeReferences = true , tree =>
311- tree.pos.isSourceDerived
312- && ! tree.symbol.isConstructor
313- && (Interactive .matchSymbol(tree, sym, Include .overriding)
314- || (linkedSym != NoSymbol && Interactive .matchSymbol(tree, linkedSym, Include .overriding))))
306+ val includes =
307+ Include .references | Include .definitions | Include .linkedClass | Include .overriding
308+ val refs = Interactive .findTreesMatching(trees, includes, sym)
315309
316310 val changes = refs.groupBy(ref => toUri(ref.source).toString).mapValues(_.map(ref => new TextEdit (range(ref.namePos), newName)).asJava)
317311
0 commit comments