0

BCEL 6.0-SNAPSHOT を使用して CounterPersistence クラスの一般的な情報 ( Counterクラス)を取得したいと考えています。署名は次のようになります。

public interface CounterPersistence extends BasePersistence<Counter> {
....
}

次のコードを使用してバイトコードを読み取ります

JavaClass javaClass = ...;
Attribute[] attributes = javaClass.getAttributes();
for (Attribute attribute : attributes) {
    if (attribute instanceof Signature) {
        Signature signature = (Signature) attribute;
        //put the code here that get the Counter class from the signature
    }
}

しかし、署名を解析して Counter 型を取得できるようにするコードを書くのに失敗しています。考え?

4

2 に答える 2

1

GenericUtilities.getTypeParameters(...)メソッドなどの FindBugs の BCEL ユーティリティを使用するか、 ASMフレームワークに切り替えることをお勧めします。

于 2012-06-12T13:52:14.077 に答える