1

IntelliJ IDEA で、特定のプロジェクト内のいくつかのライブラリ メソッド呼び出しとクラスのすべての使用法を見つける方法を見つけようとしています。

目標は、これらの特定のメソッドまたはクラスを参照するクラスのリストをコンパイルすることです。

これについてどうすればよいでしょうかMethodReferencesSearch。役立つように見える があることがわかりますが、検索メソッドには PsiMethod のインスタンスが必要です。

concat(...)特定の lib クラスのメソッドに一致する PSI メソッドのインスタンスを作成するにはどうすればよいですか (たとえば、Java のStringクラスでメソッドのすべての使用法を見つけたいとします)。

基本的に、プロジェクト内から特定のメソッド呼び出しのグラフを生成するプラグインを構築しようとしています。たとえば、ライブラリ内の特定のメソッド呼び出しを探すことによって一連のルートをグラフ化するもの。つまり、クラス A がクラス B の型で x(T) を呼び出し、クラス B がクラス C の型で x(T) を呼び出す場合、A -> B -> C などのようなグラフになります。私のニーズではうまくいきません。

4

2 に答える 2

2

JavaPsiFacade.getInstance(...).findClass("java.lang.String", ...allScope(...)).findsMethodByName("concat", false)[0] で真の PsiMethod を取得できます。その後、このメソッドを MethodReferenceSearch に渡すことができます。

于 2013-10-17T19:41:19.623 に答える