Skip to content

Commit a3fa1ec

Browse files
committed
Address review comments
1 parent 74dc610 commit a3fa1ec

File tree

2 files changed

+14
-11
lines changed

2 files changed

+14
-11
lines changed

compiler/src/dotty/tools/dotc/interactive/Interactive.scala

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ object Interactive {
2424
object Include {
2525
case class Set private (val bits: Int) extends AnyVal {
2626
def | (that: Set): Set = Set(bits | that.bits)
27+
def except(that: Set): Set = Set(bits & ~that.bits)
2728

2829
def isEmpty: Boolean = bits == 0
2930
def isOverridden: Boolean = (bits & overridden.bits) != 0
@@ -57,6 +58,9 @@ object Interactive {
5758

5859
/** Include imports in the results */
5960
val imports: Set = Set(1 << 5)
61+
62+
/** All the flags */
63+
val all: Set = Set(~0)
6064
}
6165

6266
/** Does this tree define a symbol ? */

language-server/src/dotty/tools/languageserver/DottyLanguageServer.scala

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -354,26 +354,25 @@ class DottyLanguageServer extends LanguageServer
354354
val syms = Interactive.enclosingSourceSymbols(path, pos)
355355
val newName = params.getNewName
356356

357+
def findRenamedReferences(trees: List[SourceTree], syms: List[Symbol], withName: Name): List[SourceTree] = {
358+
val includes = Include.all
359+
syms.flatMap { sym =>
360+
Interactive.findTreesMatching(trees, Include.all, sym, t => Interactive.sameName(t.name, withName))
361+
}
362+
}
363+
357364
val refs =
358365
path match {
359366
// Selected a renaming in an import node
360367
case Thicket(_ :: (rename: Ident) :: Nil) :: (_: Import) :: rest if rename.pos.contains(pos.pos) =>
361-
val includes = Include.references | Include.linkedClass | Include.imports
362-
syms.flatMap { sym =>
363-
Interactive.findTreesMatching(uriTrees, includes, sym, t => Interactive.sameName(t.name, rename.name))
364-
}
368+
findRenamedReferences(uriTrees, syms, rename.name)
365369

366370
// Selected a reference that has been renamed
367371
case (nameTree: NameTree) :: rest if Interactive.isRenamed(nameTree) =>
368-
val includes = Include.references | Include.linkedClass | Include.imports
369-
syms.flatMap { sym =>
370-
Interactive.findTreesMatching(uriTrees, includes, sym, t => Interactive.sameName(t.name, nameTree.name))
371-
}
372+
findRenamedReferences(uriTrees, syms, nameTree.name)
372373

373374
case _ =>
374-
val includes =
375-
Include.references | Include.definitions | Include.linkedClass | Include.overriding | Include.imports
376-
375+
val includes = Include.all.except(Include.overridden)
377376
syms.flatMap { sym =>
378377
val trees = driver.allTreesContaining(sym.name.sourceModuleName.toString)
379378
Interactive.findTreesMatching(trees, includes, sym, t => Interactive.sameName(t.name, sym.name))

0 commit comments

Comments
 (0)