-
Notifications
You must be signed in to change notification settings - Fork 21
Open
Labels
Milestone
Description
import scala.reflect.mirror._
object Test extends App {
val code = reify {
class C {
val x = 2
}
println(new C().x)
};
val toolbox = mkToolBox()
val ttree = toolbox.typeCheck(code.tree)
toolbox.runExpr(ttree)
}
scala.reflect.runtime.ToolBoxes$ToolBox$ToolBoxError: reflective toolbox has failed: cannot operate on trees that are already typed
at scala.reflect.runtime.ToolBoxes$ToolBox$ToolBoxGlobal.verifyExpr(ToolBoxes.scala:49)
at scala.reflect.runtime.ToolBoxes$ToolBox$ToolBoxGlobal.compileExpr(ToolBoxes.scala:131)
at scala.reflect.runtime.ToolBoxes$ToolBox$ToolBoxGlobal.runExpr(ToolBoxes.scala:227)
at scala.reflect.runtime.ToolBoxes$ToolBox.runExpr(ToolBoxes.scala:344)
at Test$delayedInit$body.apply(t5230.scala:14)
at scala.Function0$class.apply$mcV$sp(Function0.scala:40)
at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
at scala.App$$anonfun$main$1.apply(App.scala:61)
at scala.App$$anonfun$main$1.apply(App.scala:61)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:77)
at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:31)
at scala.collection.mutable.ListBuffer.foreach(ListBuffer.scala:45)
at scala.App$class.main(App.scala:61)
at Test$.main(t5230.scala:3)
at Test.main(t5230.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at scala.tools.nsc.util.ScalaClassLoader$$anonfun$run$1.apply(ScalaClassLoader.scala:92)
at scala.tools.nsc.util.ScalaClassLoader$class.asContext(ScalaClassLoader.scala:40)
at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.asContext(ScalaClassLoader.scala:161)
at scala.tools.nsc.util.ScalaClassLoader$class.run(ScalaClassLoader.scala:92)
at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.run(ScalaClassLoader.scala:161)
at scala.tools.nsc.CommonRunner$class.run(ObjectRunner.scala:28)
at scala.tools.nsc.ObjectRunner$.run(ObjectRunner.scala:45)
at scala.tools.nsc.CommonRunner$class.runAndCatch(ObjectRunner.scala:35)
at scala.tools.nsc.ObjectRunner$.runAndCatch(ObjectRunner.scala:45)
at scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:70)
at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:92)
at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:101)
at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)