Estoy buscando una biblioteca java que me permita analizar un archivo fuente java y eso me da una representación AST del código.¿Hay un analizador de Java para el lenguaje Java?
En realidad, solo estoy interesado en las definiciones de clases y métodos con sus anotaciones. No necesito el AST del código del método.
Estoy usando esta información para la generación de código. Es por eso que no puedo compilar el archivo fuente primero para obtener la información del archivo de clase resultante. El código no se compilará sin errores hasta que genere algunas clases adicionales.
Sí, esto se ve bien. ¿Puede darme una pista sobre qué clase es responsable de leer el archivo fuente? – tangens
Crea un "complemento" de compilación que especifique para javac en la línea de comando. Creo que la interfaz que implementa es 'javax.annotation.processing.Processor' – Ramon
javax.lang.model se basa en lo que se requiere para procesar las anotaciones, en lugar de ser un árbol de sintaxis abstracta para todo el lenguaje. Por lo tanto, tiene paquetes, clases, métodos, campos, parámetros y variables, pero no expresiones o declaraciones. –