Tav*_*nes 12 android dalvik annotation-processing
我有很多处理特定消息类型的处理程序类.要注册所有这些处理程序,我需要知道存在哪些处理程序.目前,它们都使用特定的注释进行注释,并且我使用Java 6注释处理器来获取所有这些注释,并创建一个包含每个注释类型的实例的Register类.
如果整个树一次构建,这很有效,但如果只构建一个带注释的类(例如,当我在Eclipse中保存文件时),处理器只能看到该类型,并构建一个不完整的Register.如何检查此方案中的其他类型?
我现在已经解决了这个问题.我做的是一个小hackey,但基本上对于我看到的每个带注释的类,我将其名称添加到HashSet.然后我使用Filer.getResource()来打开一个文件,我已经记录了所有以前看过的带注释的类,并将它们添加到HashSet中.然后我生成寄存器类,并使用Filer.createResource()将整个HashSet写入相同的资源.如果我删除带注释的类型,这将导致问题,因为它仍将被记录在该文件中,但我可以清理项目或删除该文件来解决它.
编辑:此外,我相信将适当的"原始元素"传递给Filer.createSource()应该允许Eclipse正确地跟踪这些依赖项,但事实并非如此.也许这是一个Eclipse bug.
| 归档时间: |
|
| 查看次数: |
643 次 |
| 最近记录: |