AspectJ 5 provides a full set of reflection APIs analogous to the
java.lang.reflect package, but fully aware of the AspectJ type system.
See the javadoc for the runtime and tools APIs for the full details. The
reflection APIs are only supported when running under Java 5 and for
code compiled by the AspectJ 5 compiler at target level 1.5.
Using AjTypeSystem
The starting point for using the reflection apis is
org.aspectj.lang.reflect.AjTypeSystem which provides the method
getAjType(Class) which will return the AjType corresponding to a
given Java class. The AjType interface corresponds to
java.lang.Class and gives you access to all of the method, field,
constructor, and also pointcut, advice, declare statement and inter-type
declaration members in the type.