Skip to content

Unexpected exception in scala.reflect.macros.contexts.Evals.eval #11119

Open
@plokhotnyuk

Description

@plokhotnyuk

Steps to reproduce:

  1. git clone [email protected]:plokhotnyuk/play.git
  2. cd play
  3. git checkout 4af5dbfae26aea050ecb626886fccfdfcdc71e32
  4. sbt clean stage
[error] /home/andriy/Projects/com/github/plokhotnyuk/play/src/main/scala/microservice/HelloWorld.scala:9:93: exception during macro expansion: 
[error] java.lang.AssertionError: assertion failed: List(package com, package com)
[error] 	at scala.reflect.internal.SymbolTable.throwAssertionError(SymbolTable.scala:163)
[error] 	at scala.reflect.internal.Symbols$Symbol.suchThat(Symbols.scala:1974)
[error] 	at scala.reflect.internal.Symbols$ClassSymbol.companionModule0(Symbols.scala:3305)
[error] 	at scala.reflect.internal.Symbols$ClassSymbol.companionModule(Symbols.scala:3307)
[error] 	at scala.reflect.internal.Symbols$PackageClassSymbol.sourceModule(Symbols.scala:3466)
[error] 	at scala.reflect.internal.Symbols.$anonfun$forEachRelevantSymbols$1$adapted(Symbols.scala:3752)
[error] 	at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
[error] 	at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
[error] 	at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
[error] 	at scala.reflect.internal.Symbols.markAllCompleted(Symbols.scala:3749)
[error] 	at scala.reflect.internal.Symbols.markAllCompleted$(Symbols.scala:3756)
[error] 	at scala.reflect.internal.SymbolTable.markAllCompleted(SymbolTable.scala:18)
[error] 	at scala.reflect.internal.Importers$StandardImporter$$anon$1.complete(Importers.scala:81)
[error] 	at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1535)
[error] 	at scala.reflect.runtime.SynchronizedSymbols$SynchronizedSymbol$$anon$1.scala$reflect$runtime$SynchronizedSymbols$SynchronizedSymbol$$super$info(SynchronizedSymbols.scala:179)
[error] 	at scala.reflect.runtime.SynchronizedSymbols$SynchronizedSymbol.$anonfun$info$1(SynchronizedSymbols.scala:129)
[error] 	at scala.reflect.runtime.SynchronizedSymbols$SynchronizedSymbol.info(SynchronizedSymbols.scala:125)
[error] 	at scala.reflect.runtime.SynchronizedSymbols$SynchronizedSymbol.info$(SynchronizedSymbols.scala:129)
[error] 	at scala.reflect.runtime.SynchronizedSymbols$SynchronizedSymbol$$anon$1.info(SynchronizedSymbols.scala:179)
[error] 	at scala.reflect.internal.Importers$StandardImporter.recreateOrRelink$1(Importers.scala:167)
[error] 	at scala.reflect.internal.Importers$StandardImporter.importSymbol(Importers.scala:210)
[error] 	at scala.reflect.internal.Importers$StandardImporter.recreatedTreeCompleter(Importers.scala:298)
[error] 	at scala.reflect.internal.Importers$StandardImporter.$anonfun$importTree$1(Importers.scala:417)
[error] 	at scala.reflect.internal.Importers$StandardImporter.tryFixup(Importers.scala:49)
[error] 	at scala.reflect.internal.Importers$StandardImporter.importTree(Importers.scala:418)
[error] 	at scala.reflect.internal.Importers$StandardImporter.recreateTree(Importers.scala:383)
[error] 	at scala.reflect.internal.Importers$StandardImporter.importTree(Importers.scala:415)
[error] 	at scala.reflect.internal.Importers$StandardImporter.recreateTree(Importers.scala:383)
[error] 	at scala.reflect.internal.Importers$StandardImporter.importTree(Importers.scala:415)
[error] 	at scala.reflect.internal.Importers$StandardImporter.recreateTree(Importers.scala:383)
[error] 	at scala.reflect.internal.Importers$StandardImporter.importTree(Importers.scala:415)
[error] 	at scala.reflect.internal.Importers$StandardImporter.recreateTree(Importers.scala:383)
[error] 	at scala.reflect.internal.Importers$StandardImporter.importTree(Importers.scala:415)
[error] 	at scala.reflect.internal.Importers$StandardImporter.recreateTree(Importers.scala:383)
[error] 	at scala.reflect.internal.Importers$StandardImporter.importTree(Importers.scala:415)
[error] 	at scala.reflect.internal.Importers$StandardImporter.recreateTree(Importers.scala:374)
[error] 	at scala.reflect.internal.Importers$StandardImporter.importTree(Importers.scala:415)
[error] 	at scala.reflect.internal.Importers$StandardImporter.importTree(Importers.scala:29)
[error] 	at scala.reflect.macros.contexts.Evals.eval(Evals.scala:19)
[error] 	at scala.reflect.macros.contexts.Evals.eval$(Evals.scala:14)
[error] 	at scala.reflect.macros.contexts.Context.eval(Context.scala:6)
[error] 	at com.github.plokhotnyuk.jsoniter_scala.macros.JsonCodecMaker$Impl$.com$github$plokhotnyuk$jsoniter_scala$macros$JsonCodecMaker$Impl$$eval$1(JsonCodecMaker.scala:227)
[error] 	at com.github.plokhotnyuk.jsoniter_scala.macros.JsonCodecMaker$Impl$.make(JsonCodecMaker.scala:229)
[error]   implicit val helloWorldCodec: JsonValueCodec[HelloWorld] = JsonCodecMaker.make[HelloWorld](CodecMakerConfig())

It compiles fine without error(s) when the make macro is called from the separated object like in the following PR:

https://github.com/plokhotnyuk/play/pull/5/files

or if imports are moved to be local in the module and controller:

https://github.com/plokhotnyuk/play/blob/master/src/main/scala/microservice/HelloWorld.scala#L6-L7

https://github.com/plokhotnyuk/play/blob/master/src/main/scala/microservice/HelloWorldController.scala#L12

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions