--- /dev/null
+package aspects;
+
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Before;
+import org.aspectj.lang.annotation.Pointcut;
+
+@ Aspect
+public abstract class AbstractTimingAnnotatedAspect {
+
+ @Pointcut("within(*..AbstractJPivotPortlet+) " +
+ "&& (execution(* do*(..))" +
+ "|| execution(* processAction*(..))" +
+ "|| execution(* serveResource*(..)) )")
+ protected final void portletEntryMethods() {}
+
+ @Pointcut("execution(* eu.ibacz.pbns..*.*(..)) || execution(* com.tonbeller..*.*(..))")
+ protected final void tracedMethods() {}
+
+ @Pointcut("within(aspects.*) || within(aspects..*)")
+ protected final void thisAspectClasses() {}
+
+ @Pointcut("cflow(execution(* TimingAnnotatedAspect.processInvocationFinished(..)))")
+ protected final void thisAspectExecution() {}
+
+ @Pointcut
+ protected abstract void scope();
+
+ @Before("scope() && portletEntryMethods() && !thisAspectClasses() && !thisAspectExecution()")
+ public void logStackTrace(final JoinPoint thisJoinPoint) throws Throwable {
+ System.out.println("logStackTrace: Logging the current stack trace prior to " +
+ "the execution of " +
+ thisJoinPoint.getSignature().toShortString()
+ + new Exception("Current stack trace print out."));
+ } /* logStackTrace */
+
+}
<suite>
+ <ajc-test dir="bugs166/pr290227" title="npe for javac built">
+ <compile files="" inpath="javacCode.jar" options="-1.5 -Xlint:ignore"/>
+ </ajc-test>
+
<ajc-test dir="bugs166/pr288049" title="itd decanno">
<compile files="org/othtests/MyClass.java org/othtests/MySubClass.java org/othtests/AddSomeAnnotation.java" options="-1.5 -showWeaveInfo">
<message kind="weave" text="'public java.lang.String org.othtests.MySubClass.doOne()' (MySubClass.java:5) is annotated with"/>