ScalaのfjbgでHello,World
ScalaがBytecodeを作成するために使用しているfjbg(Fast Java Bytecode Generator)を使ってHello.classを作成してみた。
もちろん実行できる
$ ./fjbg.scala $ java Hello Hello,World
やってることはFJBGContextのJClassでHelloクラス作成。作成したクラスにaddNewMethodで
オペコードを直接扱っている感じがするのにもかかわらず、コンスタントプールについてはほとんど気にしなくていいのが良い。
ちなみにできたHello.classをJava Decompilerでデコンパイルするとこうなる。
import java.io.PrintStream; public class Hello { public static void main() { System.out.println("Hello,World"); } }