Summary: | [plan] [ataspectj] Abstract @Aspect causing problems | ||||||
---|---|---|---|---|---|---|---|
Product: | [Tools] AspectJ | Reporter: | John D. Heintz <john.heintz> | ||||
Component: | Compiler | Assignee: | aspectj inbox <aspectj-inbox> | ||||
Status: | RESOLVED FIXED | QA Contact: | |||||
Severity: | normal | ||||||
Priority: | P2 | CC: | aclement | ||||
Version: | DEVELOPMENT | ||||||
Target Milestone: | 1.6.3 | ||||||
Hardware: | PC | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Attachments: |
|
Description
John D. Heintz
2007-05-03 17:18:07 EDT
Created attachment 65849 [details]
Eclipse projects to demonstrate problem
recreated on latest dev build with this command line: ajc -emacssym -1.5 -sourceroots src -aspectpath ..\logging-library\logging-library.jar whilst in the sample-system2 folder. Stack trace has moved: java.lang.NullPointerException at org.aspectj.weaver.bcel.AtAjAttributes$LazyResolvedPointcutDefinition.getPointcut(AtAjAttributes.java:1527) at org.aspectj.weaver.model.AsmRelationshipProvider.addChildNodes(AsmRelationshipProvider.java:285) at org.aspectj.weaver.model.AsmRelationshipProvider.createHierarchy(AsmRelationshipProvider.java:274) Problem here is the lazy resolution mechanism that is used for annotation style pointcuts does not cope well with abstract pointcuts (which have components represented by nulls). I've fixed the code to allow for this. Making the annotation style pointcut non-abstract also stops this happening, but isn't really a helpful workaround. I suspect this only happens in the IDE since AsmRelationhshipProvider (present in the stack trace) wouldn't be used if everything was being built on the command line. |