Я пытаюсь написать аннотацию Procssor для обнаружения методов, аннотированных аннотацией @PrintMethod. Например, в тестовом классе ниже я хочу напечатать коды в методе тестирования. Есть ли способ сделать это?Пользовательский обработчик аннотации - метод обнаружения с аннотациями
Из класса AnnotationProcessor, указанного ниже, я могу получить имя метода, но не детали метода.
испытаний Класс
public class test {
public static void main(String[] args) {
System.out.println("Args");
}
@PrintMethod
private boolean testMethod(String input) {
if(input!=null) {
return true;
}
return false;
}
}
Аннотация Процессор класса
public class AnnotationProcessor extends AbstractProcessor {
//......
@Override
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
//retrieve test Anntoation
Set<? extends Element> ann =roundEnv.getElementsAnnotatedWith(PrintMethod.class);
//Print the Method Name
for(Element e: ann) {
String msg="Element ee :"+ee.getSimpleName().toString();
processingEnv.getMessager().printMessage(javax.tools.Diagnostic.Kind.ERROR, msg, e);
}
}
}