Javaソースコードから使用されるクラスとメソッドを見つけます

JFマイヤー:

Javaソースファイルの場合は、私が知りたいです:

  • どのクラスの使用は、他のクラス(完全修飾名)?
  • 他の方法(完全修飾名)がどのメソッドを呼び出しますか?

それを達成するための合理的な方法は何でしょうか?

EDIT:

明確にする:私は、入力としてソースコードファイルのリストが欲しいです。(上記の指定された)出力は、クラス用途他のクラス及びメソッド呼び出し他の方法であるべきです。私は、リフレクションを使用した場合と同様に、実行時に他のロードされたクラスを検査する必要はありません。

マシューTimmermans:

残念ながら、反射はあなたがこれを行うために必要なすべての情報を与えるものではありません。

私は、ASM(とそれをやったhttps://asm.ow2.io/)。

それはあなたが他のクラスへの参照を抽出することができ、そこから実際のメソッドの実装、などのビジターパターンを使用して、クラスのすべてのバイトコードを、歩行能力を提供します。

それは独自のだから、私は、私は実装を提供することができないことを残念です。

これはあなたの.jarファイルではなく、あなたの情報源から動作することに注意してください。あなたが本当にソースから作業する必要がある場合は、見ていhttps://github.com/javaparserをバイトコードの仕様がない一方で、Java言語は、頻繁に変化するので、本当に、しかし、それは、バイトコードを使用することをお勧めします。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=171542&siteId=1