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.