开发者

How to Check References of Annotated Methods

I'm trying to find a way to check my classes for references of methods with a particular annotation (think "Deprecated").

As far as i see it, analysing byte code won't work because it doesn't contain any annotations.

Using APT doesn't really help because i need the ref开发者_JAVA技巧erences to the methods, not the annotated methods themselves.

So, what options do i have?

The best i can come up with is compiling a list of the annotated methods followed by a full code analysis, checking every method call against the list.

Is there a way to do that efficiently in an eclipse plug-in or an ant task?


Analysing bytecode will works! ASM for an example is handling annotation very well.


In another question I asked for a Java parser of the Java language. For my analysis of code I use this one. Perhaps it's good for you, too.


Using the Reflections library, it's simple as:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜