Skip to content

Commit 0add3d4

Browse files
committed
Set typer phase after InteractiveDriver.run
Fixes #13467
1 parent 31292be commit 0add3d4

File tree

3 files changed

+18
-1
lines changed

3 files changed

+18
-1
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ class InteractiveDriver(val settings: List[String]) extends Driver {
167167
cleanup(t)
168168
myOpenedTrees(uri) = topLevelTrees(t, source)
169169
myCompilationUnits(uri) = unit
170+
myCtx = myCtx.fresh.setPhase(myInitCtx.base.typerPhase.id)
170171

171172
reporter.removeBufferedMessages
172173
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ class DottyLanguageServer extends LanguageServer
307307
val pos = sourcePosition(driver, uri, params.getPosition)
308308
val items = driver.compilationUnits.get(uri) match {
309309
case Some(unit) =>
310-
val freshCtx = ctx.fresh.setPeriod(Period(ctx.runId, ctx.base.typerPhase.id)).setCompilationUnit(unit)
310+
val freshCtx = ctx.fresh.setCompilationUnit(unit)
311311
Completion.completions(pos)(using freshCtx)._2
312312
case None => Nil
313313
}

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

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -842,4 +842,20 @@ class CompletionTest {
842842
|object Main { "abc".xx${m1} }""".withSource
843843
.completion(m1, Set())
844844
}
845+
846+
@Test def concatMethodWithImplicits: Unit = {
847+
code"""|object A {
848+
| Array.concat${m1}
849+
|}""".withSource
850+
.completion(
851+
m1,
852+
Set(
853+
(
854+
"concat",
855+
Method,
856+
"[T](xss: Array[T]*)(implicit evidence$11: scala.reflect.ClassTag[T]): Array[T]"
857+
)
858+
)
859+
)
860+
}
845861
}

0 commit comments

Comments
 (0)