如何检查带注释方法的引用

时间:2009-11-05 15:26:03

标签: java annotations code-analysis

我正在尝试找到一种方法来检查我的类以获取具有特定注释的方法的引用(想想“Deprecated”)。

据我所知,分析字节代码不起作用,因为它不包含任何注释。
使用 APT 并没有什么帮助,因为我需要方法的引用,而不是注释方法本身。

那么,我有哪些选择?

我能想到的最好的方法是编译一个带注释的方法列表,然后进行完整的代码分析,检查列表中的每个方法调用。
有没有办法在eclipse插件或ant任务中有效地做到这一点?

3 个答案:

答案 0 :(得分:2)

在另一个question中,我要求使用Java语言的Java解析器。对于我的代码分析,我使用this one。也许这对你也有好处。

答案 1 :(得分:2)

分析字节码将有效! ASM一个例子就是很好地处理注释。

答案 2 :(得分:1)

使用Reflections库,它很简单:

Reflections reflections = new Reflections("my.package", new MethodAnnotationsScanner());
Set<Method> deprecated = reflections.getMethodsAnnotatedWith(Deprecated.class);