Summary: | WildAnnotationTypePattern.java:61 NPE after renaming method-annotation class | ||
---|---|---|---|
Product: | [Tools] AspectJ | Reporter: | Wes Isberg <wes> |
Component: | Compiler | Assignee: | Andrew Clement <aclement> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P2 | ||
Version: | 1.5.0M4 | ||
Target Milestone: | 1.5.0RC1 | ||
Hardware: | PC | ||
OS: | Windows XP | ||
Whiteboard: |
Description
Wes Isberg
2005-11-05 06:03:26 EST
for investigation prior to RC1 fix checked in. waiting on build. fix available. Wes, if you remember and still have the environment, can you try it out when AJDT gets updated (probably Monday?). I'm unable to reproduce in AJDT 20051122132809. There is the usual incremental issue that after code has been invalidated by something like rename, not all dependent code is wiped, so an illegal class seems to be constructed. In this case, when running the class I get a VerifyError: ---------------------------------- Exception in thread "main" java.lang.VerifyError: (class: bugs/Bug115204, method: <clinit> signature: ()V) Stack size too large at bugs.Bug115204Class.main(Bug115204Class.java) ---------------------------------- I don't think it's related and I think it's already a bug. But just in case, here's the procedure and the code: - define all classes/aspects - rename the annotation class from Annot to AnnotRenamed - run the main class RESULT: VerifyError above The code: ------------------------------------ package bugs; public aspect Bug115204 { before() : execution(@Annot void Bug115204Class.*(..)) { System.out.println("before " + thisJoinPoint); } } ------------------------------------ package bugs; public class Bug115204Class { @Annot() public static void main(String[] args) { System.out.println("Bug115204Class.main(String[])"); } } ------------------------------------ package bugs; public @interface Annot { } ------------------------------------ becomes package bugs; public @interface AnnotRenamed { } |