[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 12090] Class クラスの asSubclass メソッドの実装



高橋(徹)です。

>  --> asSubclassメソッドの実装コードを確認しよう!!
>      --> instanceof ではない別のメソッドで前判断を行っているようだ
ClassクラスのasSubclassメソッドは、同じClassクラスのnativeなメソッド
isAssignableFromメソッドを呼び出しています。
MustangのソースコードでJNIの呼び出しを少し追ってみましたが、実体が
見出せず、頓挫してしまいました。
#JNIEnvの関数ポインタ・テーブルのjni_IsAssignableFromを呼んでいる
#のですが、その先が見つかりません。

ちなみにasSubclassメソッドは以下のシグニチャとなっています。
    public <U> Class<? extends U> asSubclass(Class<U> clazz) {

この中で呼び出しているisAssignableFromのシグニチャは以下です。
    public native boolean isAssignableFrom(Class<?> cls);