【发布时间】:2011-03-27 07:48:58
【问题描述】:
有什么方法可以访问 REPL 生成的字节码(即您刚刚在 REPL 中键入和执行的 Scala 行)。
我需要它来将类加载到远程节点。
【问题讨论】:
-
我不认为这是可能的,但如果是的话,我会告诉你它的结构:每次执行命令时,REPL 都会创建一个新类。新类包含您所写的内容,并且扩展了旧类。
标签: scala bytecode read-eval-print-loop
有什么方法可以访问 REPL 生成的字节码(即您刚刚在 REPL 中键入和执行的 Scala 行)。
我需要它来将类加载到远程节点。
【问题讨论】:
标签: scala bytecode read-eval-print-loop
看看这个帖子:http://thread.gmane.org/gmane.comp.lang.scala.internals/4506。它可能会给你一些想法。
有没有办法让我使用 findBytesForClassName 来恢复类的原始字节?我正在尝试直接序列化 REPL 对象以并行化到其他 JVM,但我不能使用 RMI。
答案:
查看 Javap.scala,然后查看 ILoop.scala。 :javap 命令可以 正是你想要的。关键是 pathToFlatName。
它需要 2.9。该线程的参与者也是 SO 用户...
【讨论】: