Skip to content

Commit e492f7a

Browse files
authored
Merge pull request #14498 from tgodzik/fix-11683
Set zero span for synthetic enum import selector
2 parents 8f99dad + d473dc4 commit e492f7a

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

compiler/src/dotty/tools/dotc/ast/Desugar.scala

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -520,7 +520,11 @@ object desugar {
520520
enumCases.last.pushAttachment(DesugarEnums.DefinesEnumLookupMethods, ())
521521
val enumCompanionRef = TermRefTree()
522522
val enumImport =
523-
Import(enumCompanionRef, enumCases.flatMap(caseIds).map(ImportSelector(_)))
523+
Import(enumCompanionRef, enumCases.flatMap(caseIds).map(
524+
enumCase =>
525+
ImportSelector(enumCase.withSpan(enumCase.span.startPos))
526+
)
527+
)
524528
(enumImport :: enumStats, enumCases, enumCompanionRef)
525529
}
526530
else (stats, Nil, EmptyTree)

language-server/test/dotty/tools/languageserver/HoverTest.scala

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,4 +213,13 @@ class HoverTest {
213213
// sp the top-level definitions should be enclosed in an object called `Source0$package`.
214214
.hover(m1 to m2, hoverContent("(hello.Source0$package : hello.Source0$package.type)"))
215215
}
216+
217+
@Test def enumsRepeated: Unit = {
218+
code"""|package example
219+
|object SimpleEnum:
220+
| enum Color:
221+
| case ${m1}Red${m2}, Green, Blue
222+
|""".withSource
223+
.hover(m1 to m2, hoverContent("example.SimpleEnum.Color"))
224+
}
216225
}

0 commit comments

Comments
 (0)