Skip to content

Commit 0f93ed8

Browse files
committed
Add workaround issue in phantomArgLift on implicit functions
1 parent 723987d commit 0f93ed8

File tree

5 files changed

+13
-4
lines changed

5 files changed

+13
-4
lines changed

language-server/test/dotty/tools/languageserver/util/actions/Action.scala

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,9 @@ trait Action {
1111
def execute(): Exec[Unit]
1212
def show: PosCtx[String]
1313
def server: Exec[DottyLanguageServer] = implicitly[TestServer].server
14+
15+
// FIXME
16+
// Workaroud an issue with implicit functions and phantomArgLift.
17+
// That phase will dispear which should fix this issue. Just remove calls to param when that hapens
18+
protected def fix[T](f: PositionContext => T): PosCtx[T] = f(implicitly[PositionContext])
1419
}

language-server/test/dotty/tools/languageserver/util/actions/CodeDefinition.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import dotty.tools.languageserver.util.embedded.CodeMarker
66
class CodeDefinition(val range: CodeRange, refOpt: Option[CodeRange]) extends ActionOnRange {
77

88
override def onMarker(marker: CodeMarker): Exec[Unit] = {
9-
val res = server.definition(marker.toTextDocumentPositionParams).get()
9+
val res = server.definition(fix(marker.toTextDocumentPositionParams)).get()
1010
assert(res.size() == refOpt.size, res)
1111
refOpt.foreach(ref => assert(res.get(0) == ref.toLocation, res))
1212
}

language-server/test/dotty/tools/languageserver/util/actions/CodeDocumentHighlight.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ class CodeDocumentHighlight(val range: CodeRange, highs: Seq[(CodeRange, String)
1010

1111
override def onMarker(marker: CodeMarker): Exec[Unit] = {
1212
val (refs, kinds) = highs.unzip
13-
val res = server.documentHighlight(marker.toTextDocumentPositionParams).get()
13+
val res = server.documentHighlight(fix(marker.toTextDocumentPositionParams)).get()
1414
assert(res.size() == refs.size, res)
1515
assert(refs.size == kinds.length, res)
1616
res.asScala.zip(refs).zip(kinds).foreach { case ((dhl, ref), kind) =>

language-server/test/dotty/tools/languageserver/util/actions/CodeHover.scala

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,14 @@ package dotty.tools.languageserver.util.actions
33
import dotty.tools.languageserver.util.embedded.CodeMarker
44
import dotty.tools.languageserver.util.{CodeRange, PositionContext}
55

6+
import org.eclipse.lsp4j._
7+
8+
import PositionContext._
9+
610
class CodeHover(val range: CodeRange, expected: String) extends ActionOnRange {
711

812
override def onMarker(marker: CodeMarker): Exec[Unit] = {
9-
val res = server.hover(marker.toTextDocumentPositionParams).get()
13+
val res = server.hover(fix(marker.toTextDocumentPositionParams)).get()
1014
assert(res.getRange == null)
1115
if (expected == "") assert(res.getContents == null, "Expected null contents in " + res)
1216
else {

language-server/test/dotty/tools/languageserver/util/actions/CodeReferences.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import scala.collection.JavaConverters._
88
class CodeReferences(val range: CodeRange, refs: List[CodeRange], withDecl: Boolean) extends ActionOnRange {
99

1010
override def onMarker(marker: CodeMarker): Exec[Unit] = {
11-
val res = server.references(marker.toReferenceParams(withDecl)).get()
11+
val res = server.references(fix(marker.toReferenceParams(withDecl))).get()
1212
assert(res.size() == refs.size)
1313
res.asScala.zip(refs).foreach { case (loc, ref) => assert(loc == ref.toLocation, res) }
1414
}

0 commit comments

Comments
 (0)