Java コードへのデコンパイル
前回の記事「Kotlin 版 Hello, world」では、 IntelliJ の Kotlin (JVM) プロジェクトで、簡単な Hello world プログラムを作りました。 そして、さらに Kotlin の REPL で対話的にコードが実行できることもみました。
ここでは、同じ Kotlin の Hello world プログラムから、Java の Hello world が作れることをみてみましょう。
Kotlin コンパイラは JVM 向けの Java バイトコードを生成するので、その生成されたバイトコードからさかのぼり、 Java のコードが生成できるのです。
Kotlin はかなり現代的です。理解するには Java のような伝統的なコードを見るが役に立つことがあります。「へ〜、Java になるんだ〜」という小ネタだけでなく、 実質的にも役に立つことがありますので、知っていて損はありません。
Kotlin のプログラムのビルドに成功したら、
メニューから 、 を選択します。Kotlin Bytecode ウィンドウが表示されます。
ぱっと見るだけでは何をやっているかわかりにくいですが、Kotlin のコードにカーソルを合わせると、 それに対応するバイトコードがハイライトされますので、バイトコードで書き下した時に何をしているかある程度わかると思います。
Kotlin Bytecode ウィンドウの上部にある Decompile ボタンをクリックすると、 バイトコードから Java のコードにデコンパイルされてエディターウィンドウに表示されます。
以上で IntelliJ の Kotlin バイトコード表示と、そのデコンパイルによって Java コードを表示しました。