You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SimpleTracing.aj 817B

1234567891011121314151617181920212223242526272829303132
  1. import org.aspectj.lang.JoinPoint;
  2. public abstract aspect SimpleTracing {
  3. private Tracer tracer = new Tracer();
  4. public abstract pointcut scope();
  5. public pointcut anyExec() :
  6. execution(* *(..)) || execution(new(..)) || adviceexecution();
  7. public pointcut inTracing() : anyExec() && cflow(within(Tracer));
  8. public pointcut trace() : scope() && anyExec() && !inTracing();
  9. before() : trace() {
  10. tracer.enter(thisJoinPoint);
  11. }
  12. after() : trace() {
  13. tracer.exit(thisJoinPoint);
  14. }
  15. class Tracer {
  16. public void enter(JoinPoint jp) {
  17. System.out.println("trace enter: " + jp.getSignature().toString());
  18. }
  19. public void exit(JoinPoint jp) {
  20. System.out.println("trace exit: " + jp.getSignature().toString());
  21. }
  22. }
  23. }