Bug 129496 - NPE thrown for annotation
Summary: NPE thrown for annotation
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-02-26 14:03 EST by Peter Murray CLA
Modified: 2006-05-10 12:11 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Murray CLA 2006-02-26 14:03:36 EST
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
Comment 1 Andrew Clement CLA 2006-02-27 04:05:16 EST
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.
Comment 2 Andrew Clement CLA 2006-03-28 02:46:12 EST
have you tried the latest AJDT? that should resolve this problem.
Comment 3 Wes Isberg CLA 2006-05-10 12:11:29 EDT
No response and Andy suspected fix, so I presume so.
stalebugs