开发者

How to Check References of Annotated Methods

开发者 https://www.devze.com 2022-12-10 10:00 出处:网络
I\'m trying to find a way to check my classes for references of methods with a particular annotation (think \"Deprecated\").

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

精彩评论

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

关注公众号