Summary: | perthis() causes ClassCastException | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Tools] AspectJ | Reporter: | Howard M. Lewis Ship <hlship> | ||||||||||
Component: | Compiler | Assignee: | aspectj inbox <aspectj-inbox> | ||||||||||
Status: | RESOLVED FIXED | QA Contact: | |||||||||||
Severity: | normal | ||||||||||||
Priority: | P3 | ||||||||||||
Version: | unspecified | ||||||||||||
Target Milestone: | 1.5.2 | ||||||||||||
Hardware: | PC | ||||||||||||
OS: | Windows XP | ||||||||||||
Whiteboard: | |||||||||||||
Attachments: |
|
Description
Howard M. Lewis Ship
2006-04-24 18:29:34 EDT
Created attachment 39367 [details]
Abstract aspect
Created attachment 39368 [details]
Concrete aspect
Created attachment 39369 [details]
Annotation
Created attachment 39541 [details]
patch containing failing testcase
From the supplied testcase I've narrowed it down to a smaller version which reproduces the problem. Apply the attached patch to the tests project.
I've fixed this - based on the fix I've slightly reworked the testcase to confirm it's behaving as expected when the code runs. The problem is that the perthis() is entirely depending on annotation existence - which (somewhere in the depths) causes us problems when we try and treat an AnnotationTypePattern as a TypePattern, when they are different things. We have to create an 'AnyWithAnnotationTypePattern()' whose contents are the AnnotationTypePattern - then we can treat this new object as a standard TypePattern. clear ;) fix available, will be in AJDT shortly. |