小编use*_*134的帖子

使用源代码操作进行Java注释处理

我一直在寻找以下要求的解决方案 -

  • 源文件使用自定义注释在方法上编写
  • 方法体需要基于注释的一点变化.
  • 源文件不应更改,但输入到编译器应修改源文件

我看了下面的API -

  • javax.annotation.processing - 注释处理.
  • javax.lang.model.* - 注释处理和编译器树API中使用的语言模型
  • com.sun.source.* - 编译器树API.

我想通过以下方式设计:

  1. 编写注释处理器
  2. 生成编译器树
  3. 在运行时编辑编译器树而不影响原始源文件
  4. 将树提供给编译器

编译器树API似乎在允许访问com.sun.source.tree.MethodTree的位置

但是,编译器树API似乎是只读的.我无法弄清楚如何完成步骤3和4

是否有任何API可用于完成任务

注意:我正在寻找唯一的源代码操作技术.没有运行时字节代码操作/ AOP

环境:Java 6

java apt annotations java-compiler-api

9
推荐指数
1
解决办法
6112
查看次数

标签 统计

annotations ×1

apt ×1

java ×1

java-compiler-api ×1