@@ -273,7 +273,6 @@ class DottyLanguageServer extends LanguageServer
273
273
val driver = driverFor(uri)
274
274
implicit val ctx = driver.currentCtx
275
275
276
- val includeDeclaration = params.getContext.isIncludeDeclaration
277
276
val pos = sourcePosition(driver, uri, params.getPosition)
278
277
val sym = Interactive .enclosingSourceSymbol(driver.openedTrees(uri), pos)
279
278
@@ -283,11 +282,10 @@ class DottyLanguageServer extends LanguageServer
283
282
// only need to look for trees in the target directory if the symbol is defined in the
284
283
// current project
285
284
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)
291
289
292
290
refs.map(ref => location(ref.namePos)).asJava
293
291
}
@@ -304,14 +302,10 @@ class DottyLanguageServer extends LanguageServer
304
302
if (sym == NoSymbol ) new WorkspaceEdit ()
305
303
else {
306
304
val trees = driver.allTreesContaining(sym.name.sourceModuleName.toString)
307
- val linkedSym = sym.linkedClass
308
305
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)
315
309
316
310
val changes = refs.groupBy(ref => toUri(ref.source).toString).mapValues(_.map(ref => new TextEdit (range(ref.namePos), newName)).asJava)
317
311
0 commit comments