は、実行時に ハイレベルのバイトコードエディタはありますか?
object Foo {
var functions: List[String => String] = Nil // can be any type to any type.
def addFunc(f:String => String) = functions = f :: functions
}
Scalaの
に以下の私が持っていると仮定し、私は与えられていますいくつかの機能を持つFoo
が追加されました。私は今、Scalaで、次のようなものを実装する新しいの.classファイルを作成したい:
object MyObject {
def process1(s:String) = // call Foo.functions(1)
}
私はその後、Foo
がない場合でも、後で実行することができますバイトコードでMyObject
を保存したいです。
上記は私がしたいことを示すための一例です。私はMyObject
、process1
という名前を与えられており、実行可能ファイルMyObject.class
を生成する必要があります。 MyObject
のソースは必要ありません(Javaソースであった可能性もあります)。
したがって、高いレベルでは、メモリ「スナップショット」をFoo.function(1)
とし、そのスナップショットをバイトコードに変換して格納し、これを使用してバイトコードMyObject
を生成する必要があります。私が見つけた
すべてのバイトコードエンジニアリングライブラリはあまりにも低レベルなので、私はなど
Asmは、最も高いレベルのオープンソースのバイトコードエディタのようです。まだかなり低レベルですが、行う必要があります。 – Jus12