ToolBox에 문자열을 제공하여 스칼라 객체를 정의하려고 시도하지만 결과로 발생하는 ModuleMirror에 대한 핸들을 얻을 수있는 방법을 찾을 수 없습니다.Module ToolBox를 통해 정의 된 스칼라 객체의 미러
import scala.reflect.runtime._
import scala.reflect.runtime.universe._
import scala.tools.reflect.ToolBox
val src = """ object MyObject { def hello() = "world" } """
val mirror = universe.runtimeMirror(getClass.getClassLoader)
val toolBox = mirror.mkToolBox()
val tree = toolBox.parse(src)
val value = toolBox.eval(tree)
// convert from result of eval to RuntimeClass...?
val runtimeClass: RuntimeClass = ???
val moduleSymbol = mirror.moduleSymbol(runtimeClass)
val moduleMirror = mirror.reflectModule(moduleSymbol.asModule)
어떤 제안 : 나는이 (가)하지만 난 도구 상자 평가의 결과에서 RuntimeClass을 얻을 수하지 않는 것 다음과 같은 것이 상상?
나는 정확한 장소라고 생각하는 것에 문제 (https://issues.scala-lang.org/browse/SI-8174)를 추가했다. 귀하의 통찰력있는 답변 주셔서 감사합니다! –
하하! 이전에 이미이 버그에 직면 한 것을 알고 있었지만, 이미 pull 요청을 제출했음을 기억하지 못했습니다. https://github.com/scala/scala/pull/2662. 지금 부흥 시키러 간다 :) –