2011-10-14 12 views
11

Java 6メタモデルAPIを使用して、メソッドのパラメータの型を検索しようとしています。型が列挙型の場合は、 その型の列挙定数もすべて知りたいと思います。ここで私はこれまで持っているものです:javax.lang.model.VariableElementからパラメータ型を取得する方法

for (Element member : members) { 
    if(member.getKind() == ElementKind.METHOD) { 
     ExecutableElement methodElement = (ExecutableElement) member; 
     List<? extends VariableElement> parameters = methodElement.getParameters(); 
     for (VariableElement parameter : parameters) { 
      //How do I get the type of the parameter here? 
     } 
    } 
} 

答えて

10

Element#asType()はあなたたdeclaredTypeを取得します。

列挙型の場合、DeclaredTypeにTypes#asElement()を使用して列挙型の要素を取得し、ElementVisitorまたはgetEnclosedElements()を使用してメンバーを反復処理します。

+0

ありがとうございました!今すぐ試してみてください。 – Daniel

+14

これはうまく機能しませんでしたが、これは私が直面している最も直感的でないAPIの1つです。 – Daniel

関連する問題