Java 在注释处理过程中,如何从方法获取其参数的注释?
在注释处理过程中,我当前正在处理方法的注释:Java 在注释处理过程中,如何从方法获取其参数的注释?,java,annotations,annotation-processing,method-parameters,Java,Annotations,Annotation Processing,Method Parameters,在注释处理过程中,我当前正在处理方法的注释: @Override public boolean process(Set<? extends TypeElement> elements, RoundEnvironment env) { Messager msg = processingEnv.getMessager(); for (TypeElement te : elements) { for (Element e : env.getElementsAnnotated
@Override
public boolean process(Set<? extends TypeElement> elements, RoundEnvironment env) {
Messager msg = processingEnv.getMessager();
for (TypeElement te : elements) {
for (Element e : env.getElementsAnnotatedWith(te)) {
processAnnotation(e, msg);
}
}
return true;
}
private void processAnnotation(Element method, Messager msg) {
final Info ann = method.getAnnotation(Info.class);
assert method.getKind() == ElementKind.METHOD;
....
如果将方法
Element
强制转换为ExecutableElement
,则可以调用ExecutableElement.getParameters()
。这将返回variablelement
s的列表,您可以从中获取注释
final ExecutableType emeth = (ExecutableType)method.asType();
final List<? extends TypeMirror> parameterTypes = emeth.getParameterTypes();
@Info
void myMethodOk(@Input String input) { }
@Info
void myMethodNotOk(@Input String input) { }