Clover2開発日誌

Clover2というJavaのように静的な型を持つRubyのようなコンパイラ+仮想マシンの開発日誌です。LLVMでJITもします。https://github.com/ab25cqにて開発しています。

version 3.1.2リリース


Darwinコンパイルとテストしました。一応動いている様子です。深くはチェックしません。その時クラスフィールドやクラスメソッドを呼び出すとき小文字で始まるクラスはクラスフィールドやクラスメソッドは呼べなくしました。ちょっと色々ありまして。OSXはファイル名で大文字と小文字を区別しないので、list.headなどがListというクラスのフィールドだと勘違いしてしまうバグと出くわしたので。まあ、普通クラス名は大文字から始まると思うので、このような変更を加えました。一応小文字から始まるクラスは定義はできます。小文字から始めるクラス名のクラスのクラスフィールドとクラスメソッドが呼び出せないだけです。

SystemクラスのnativeメソッドでNull pointerのチェックが甘くセグメンテーション違反してましたが、全部チェックするようになりました。と言ってもNull Pointer Exceptionが起こるようになっただけですけどね。ユーザーには何が起こったのか分かるだけでもまだマシですね。ああ、そうだ。他のnative methodのNull pointer Exceptionのチェックしてませんね、、、今からします。