【问题标题】:Access bytecode created by Scala REPL访问由 Scala REPL 创建的字节码
【发布时间】:2011-03-27 07:48:58
【问题描述】:

有什么方法可以访问 REPL 生成的字节码(即您刚刚在 REPL 中键入和执行的 Scala 行)。

我需要它来将类加载到远程节点。

【问题讨论】:

  • 我不认为这是可能的,但如果是的话,我会告诉你它的结构:每次执行命令时,REPL 都会创建一个新类。新类包含您所写的内容,并且扩展了旧类。

标签: scala bytecode read-eval-print-loop


【解决方案1】:

看看这个帖子:http://thread.gmane.org/gmane.comp.lang.scala.internals/4506。它可能会给你一些想法。

有没有办法让我使用 findBytesForClassName 来恢复类的原始字节?我正在尝试直接序列化 REPL 对象以并行化到其他 JVM,但我不能使用 RMI。

答案:

查看 Javap.scala,然后查看 ILoop.scala。 :javap 命令可以 正是你想要的。关键是 pathToFlatName。

它需要 2.9。该线程的参与者也是 SO 用户...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    • 1970-01-01
    • 2012-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多