お世話になってます。
eclipseに呼び出し階層を開くという機能がありますが本当にな呼び出されてるかはソースを確認しないとわからないのでしょうか?
以前この機能を使用したら大量のクラスが同階層に表示されたので本当に呼び出されてるか呼出し元を開いて呼出し先クラス名でソース内を検索したところ、そのクラスは呼び出されていませんでした。
Aclass.test() このメソッドの呼び出し階層を開く
↓
Xclass.check() このメソッド内で大量に呼び出されてる
↓
でもXclassでソース内検索してもヒットしないのでAclassは呼び出されていない
Bclass.test() 呼び出されてる
Cclass.test() 呼び出されてる
…
呼び出し元の判断はどのように行われているのでしょうか?ちなみにAclass、Bclass、Cclass、、は同じインターフェイスを継承しています。
###追記
テラテイルにログインできくなりコメント遅くなりすみません。
バージョンは3.5です。
Xclass.checkの呼び出し元を開くと大量のクラスが表示されます。
その中の任意のクラスをダブルクリックで開くと
確かにcheckメソッドにカーソルが指定されていますが、
別のクラスのメソッド(Aclass.check)でした。
よく見ると呼び出し方が特殊で
makeCheck(Aclass.class).check(aaa);
のような感じで呼びだされており、
makeCheckの引数によって戻り値が動的に変わることがわかりました。
(引数がAclass.classなら戻り値は<Aclass.class> BaseInterfaceなど)
※すでに回答頂きましたが追記が途切れてしまっていたため今更ですが
書く予定だったことを記載します。
回答1件
あなたの回答
tips
プレビュー