2

JavaアプリケーションのソースコードのsomeMethod()で「OpenCallHierarchy」を呼び出しています。結果ウィンドウには、someMethod()のみが表示され、他のメソッドは表示されません。

「OpenCallHierarchy」の設定は、次のように設定されます。フィールドアクセス:すべての参照検索:ソース、必要なプロジェクト、JREライブラリ、およびアプリケーションライブラリ検索範囲:ワークスペース最大呼び出し深度:99(他に設定フィルターはありません)

これらのオプションを使用すると、スコープがEclipseワークスペースでチェックアウトされたすべて(すべてのコード)に設定されていると想定します。

呼び出し元のメソッドが見つからなかったため、someMethod()がアプリケーションによって使用されていないと想定しても安全でしょうか。

そうでない場合は、他に何がこのメソッドを呼び出すことができるかを理解するのを手伝ってもらえますか?何かがそれを使用しているかどうかをどうやって知ることができますか?

4

2 に答える 2

0

リフレクションを介した呼び出しや、「OpenCallHierarchy」コマンドで検索されないネイティブメソッドからの呼び出しが発生する可能性があります。

于 2013-02-05T17:59:18.083 に答える
0

このような問題が発生した場合、通常はEclipse関数の[検索]-> [ファイル...]を使用して、ワークスペース内の関連するすべてのファイルからメソッドを検索します。メソッド名が反復または他の動的な構築によって決定されない限り、それはそれらのリフレクションケースとネイティブの使用法もカバーします。

于 2013-03-05T08:54:17.770 に答える