1

Java の任意のコード ベースについて、記号と型の間の USES および USED-BY 関係の表を (概念的に) 作成したいと考えています。シンボル テーブルには、必要な情報が含まれています。しかし、フロント エンドを作成することは巨大な作業のように思われ、私のプロジェクトをさらに大きなサブ プロジェクトに変えてしまう恐れがあります。これには理由はありません。バイトコードの場合、Java .class ファイルには、型と参照を解決できるように、クラスごとにそのようなシンボル テーブルが必ず含まれているように思えます。

私の質問は -

一連の .class ファイル内のシンボル テーブルにプログラムでアクセスして、必要な USES / USED-BY テーブルを作成するにはどうすればよいですか? 誰かがすでにこれを行っていますか(確かに答えはイエスです)、これを行うためのツールはまだライブラリではありませんか?

4

2 に答える 2

1

ASMバイトコード操作フレームワークを見てください。このチュートリアルには、バイトコードからの依存関係の取得の例があります。ただし、最近導入されたRemappingClassAdapterを使用すると、大幅に簡略化できます。

于 2012-06-11T11:41:04.620 に答える
0

でバイトコードを取得できますjavap。その後は単なるテキスト解析です。

于 2012-06-11T14:15:24.323 に答える