Skip to content

Commit e6a10bf

Browse files
committed
Fix scala#7673: Change excluded trees from namedTrees / documentSymbol
- Exclude type and term parameters of synthetic definitions - Exclude erroneous trees from Interactive.namedTrees traverser
1 parent f6520a1 commit e6a10bf

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,7 @@ object Interactive {
185185
private def handle(utree: untpd.NameTree): Unit = {
186186
val tree = utree.asInstanceOf[tpd.NameTree]
187187
if (tree.symbol.exists
188+
&& tree.name != StdNames.nme.ERROR
188189
&& !tree.symbol.is(Synthetic)
189190
&& !tree.symbol.isPrimaryConstructor
190191
&& tree.span.exists

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

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -489,18 +489,16 @@ class DottyLanguageServer extends LanguageServer
489489

490490
val uriTrees = driver.openedTrees(uri)
491491

492-
// Excludes locals from synthetic symbols (with the exception of enums members)
493-
// and erroroneous trees.
494-
val excludeLocalsFromSyntheticSymbols = (n: NameTree) => {
492+
// Excludes type and term params from synthetic symbols
493+
val excludeParamsFromSyntheticSymbols = (n: NameTree) => {
495494
val owner = n.symbol.owner
496-
n.symbol.is(Case) || {
497-
n.name != StdNames.nme.ERROR &&
495+
!n.symbol.is(Param) || {
498496
!owner.is(Synthetic) &&
499497
!owner.isPrimaryConstructor
500498
}
501499
}
502500

503-
val defs = Interactive.namedTrees(uriTrees, Include.local, excludeLocalsFromSyntheticSymbols)
501+
val defs = Interactive.namedTrees(uriTrees, Include.local, excludeParamsFromSyntheticSymbols)
504502

505503
(for {
506504
d <- defs if (!isWorksheetWrapper(d) && !isTopLevelWrapper(d))

0 commit comments

Comments
 (0)