この質問は Java と Maven に固有のものです。他の質問とは異なるため、以下の追加の制約に注意してください。
分析する Maven (Java) プロジェクトがいくつかあります。私が持っているものは次のとおりです。
- ソースコード
- target/ フォルダーにバイナリを含む Maven コンパイルされた Java コード
問題は、1 つのソース コード ファイル (.java) とその行番号が与えられた場合、その行にまたがるメソッドの完全修飾名を取得するにはどうすればよいかということです。行がメソッド内にない場合は、null を出力します。これを実装するために受け入れられる言語は、Java、ruby、または python です。
次の 2 つの方法のいずれかで質問に答えていただけますか。
バイナリを使用して、その行の修飾されたメソッド名を抽出します。(これにはデバッグ情報の織り込みが含まれる場合がありますが、問題ありません。)
与えられたソース ファイルを直接使用し、それを解析して AST を使用してみてください。
特定のライブラリ (BCEL など) やサード パーティ製のライブラリ (十分に文書化されていて使用可能なものである限り) を使用することもできます。
大きな助けをありがとう!