Top


定義場所(file name)

hotspot/src/share/vm/oops/instanceKlass.cpp

名前(function name)

methodOop instanceKlass::uncached_lookup_method(Symbol* name, Symbol* signature) const {

本体部(body)

  {- -------------------------------------------
  (1) (変数宣言など)
      ---------------------------------------- -}

      klassOop klass = as_klassOop();

  {- -------------------------------------------
  (1) instanceKlass::find_method() を呼んで, 対象メソッドを探す.
      見つかれば, それをリターン.
      見つからなければ, スーパークラスを再帰的に調べる
      (メソッドが見つかるか, スーパークラスを全て調べ尽くすまで繰り返し. 
       最後まで見つからなければ NULL をリターン)
      ---------------------------------------- -}

      while (klass != NULL) {
        methodOop method = instanceKlass::cast(klass)->find_method(name, signature);
        if (method != NULL) return method;
        klass = instanceKlass::cast(klass)->super();
      }
      return NULL;
    }

This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.