Как получить тип параметра из javax.lang.model.VariableElement - PullRequest
14 голосов
/ 14 октября 2011

Я пытаюсь найти типы параметров метода с помощью API метамодели Java 6. Если тип является перечислением, Я также хотел бы знать все имена констант этого типа. Вот что у меня так далеко:

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?
        }
    }
}

1 Ответ

15 голосов
/ 14 октября 2011

Элемент # asType () возвращает вам DeclaredType.

Для перечислений используйте Types # asElement () с DeclaredType, чтобы получить элемент типа перечисления, а затем перебирайте элементы, используя ElementVisitor или getEnclosedElements ().

...