Skip to content

Interactive - completions on scala.quoted.Quotes.reflectModule.Term fails  #13365

Closed
@dos65

Description

@dos65

3.0.1

Originally reported in metals repo
Calling a completions on tree from the last line fails:

import scala.quoted._

object Test {
  def test(using Quotes)(str: String) = {
    import quotes.reflect._
    val msg = Expr(str)
    msg.sh@@ow // works well
    val printHello = '{ print($msg) }
    val tree = printHello.asTerm 
    tree.sh@@ // doesn't work
  }
}

Error:

Exception in thread "pool-3-thread-11" java.lang.AssertionError: assertion failed: invalid prefix ExprType(TypeRef(TermRef(TermRef(NoPrefix,val x$2),val reflect),trait AnnotatedMethods))
	at scala.runtime.Scala3RunTime$.assertFailed(Scala3RunTime.scala:8)
	at dotty.tools.dotc.core.Types$NamedType.<init>(Types.scala:2043)
	at dotty.tools.dotc.core.Types$TermRef.<init>(Types.scala:2585)
	at dotty.tools.dotc.core.Types$CachedTermRef.<init>(Types.scala:2664)
	at dotty.tools.dotc.core.Uniques$NamedTypeUniques.newType$1(Uniques.scala:42)
	at dotty.tools.dotc.core.Uniques$NamedTypeUniques.enterIfNew(Uniques.scala:53)
	at dotty.tools.dotc.core.Types$TermRef$.apply(Types.scala:2715)
	at dotty.tools.dotc.interactive.Completion$$anon$3.applyOrElse(Completion.scala:305)
	at dotty.tools.dotc.interactive.Completion$$anon$3.applyOrElse(Completion.scala:305)
	at scala.collection.immutable.List.collect(List.scala:267)
	at scala.collection.immutable.List.collect(List.scala:79)
	at dotty.tools.dotc.interactive.Completion$Completer.extractMemberExtensionMethods$2$$anonfun$1(Completion.scala:305)
	at scala.collection.immutable.List.flatMap(List.scala:293)
	at scala.collection.immutable.List.flatMap(List.scala:79)
	at dotty.tools.dotc.interactive.Completion$Completer.extractMemberExtensionMethods$1(Completion.scala:305)
	at dotty.tools.dotc.interactive.Completion$Completer.extensionCompletions(Completion.scala:326)
	at dotty.tools.dotc.interactive.Completion$Completer.selectionCompletions(Completion.scala:222)
	at dotty.tools.dotc.interactive.Completion$.computeCompletions(Completion.scala:115)
	at dotty.tools.dotc.interactive.Completion$.completions(Completion.scala:49)
	at scala.meta.internal.pc.CompletionProvider.completions(CompletionProvider.scala:39)
	at scala.meta.internal.pc.ScalaPresentationCompiler.complete$$anonfun$1(ScalaPresentationCompiler.scala:157)
	at scala.meta.internal.pc.CompilerAccess.withSharedCompiler(CompilerAccess.scala:137)
	at scala.meta.internal.pc.CompilerAccess.$anonfun$1(CompilerAccess.scala:87)
	at scala.meta.internal.pc.CompilerAccess.onCompilerJobQueue$$anonfun$1(CompilerAccess.scala:197)
	at scala.meta.internal.pc.CompilerJobQueue$Job.run(CompilerJobQueue.scala:139)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions