型なし言語逝ってよし
■ このスレッドは過去ログ倉庫に格納されています
0558デフォルトの名無しさん
NGNGインターフェース型の変数は、オブジェクトへの参照だけじゃなくて
オブジェクトとvtblへのポインタの2つ(またはその2つのペアへの
ポインタ)を持つようにするとか。
クラスCがimplementしているインターフェースI1, I2, ...ごとに、
getVtblI1(), getVtblI2(), ...,という隠しメソッドを作っておく。
インターフェース変数に代入するときや、インターフェースを引数に
持つメソッドを呼び出すときには、これらを使ってvtblを取り出す。
インタプリタでは面倒だが、JITならできるかも。
■ このスレッドは過去ログ倉庫に格納されています