Community
Participate
Working Groups
This syntax might not be correct, but here's the code I'm looking at (test.AutoUndo is an annotation): before(Object value): set(!volatile * *.*) && @target(test.AutoUndo) && args(value) { FieldSignature signature = (FieldSignature)thisJoinPoint.getSignature(); Field field = signature.getField(); System.out.println("Hello world: " + field); } And here's the stack trace I get: java.lang.NullPointerException at org.aspectj.weaver.bcel.BcelObjectType.isAnnotationWithRuntimeRetention(BcelObjectType.java:446) at org.aspectj.weaver.ReferenceType.isAnnotationWithRuntimeRetention(ReferenceType.java:178) at org.aspectj.weaver.patterns.ThisOrTargetAnnotationPointcut.verifyRuntimeRetention(ThisOrTargetAnnotationPointcut.java:143) at org.aspectj.weaver.patterns.ThisOrTargetAnnotationPointcut.resolveBindings(ThisOrTargetAnnotationPointcut.java:138) at org.aspectj.weaver.patterns.AndPointcut.resolveBindings(AndPointcut.java:78) at org.aspectj.weaver.patterns.AndPointcut.resolveBindings(AndPointcut.java:79) at org.aspectj.weaver.patterns.Pointcut.resolve(Pointcut.java:195) at org.aspectj.ajdt.internal.compiler.ast.PointcutDesignator.finishResolveTypes(PointcutDesignator.java:84) at org.aspectj.ajdt.internal.compiler.ast.AdviceDeclaration.resolveStatements(AdviceDeclaration.java:118) at org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:400) at org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1088) at org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration.resolve(AspectDeclaration.java:115) at org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1137) at org.aspectj.org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:305) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:514) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:329) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:811) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:254) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.incrementalBuild(AjBuildManager.java:163) at org.aspectj.ajde.internal.CompilerAdapter.compile(CompilerAdapter.java:117) at org.aspectj.ajde.internal.AspectJBuildManager$CompilerThread.run(AspectJBuildManager.java:191) NullPointerException thrown: null
I believe this is already fixed in CVS - there now exists a guard for null at the failing line. The fix should be released in AJDT this week.
have you tried the latest AJDT? that should resolve this problem.
No response and Andy suspected fix, so I presume so. stalebugs