Bug 359106 - hasmethod(@MyAnnotation * *(..)) does not work with declare @method * *(..)) : @MyAnnotation
Summary: hasmethod(@MyAnnotation * *(..)) does not work with declare @method * *(..))...
Status: NEW
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: 1.6.12   Edit
Hardware: PC Linux
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-09-27 12:37 EDT by Carlos Anjos CLA
Modified: 2011-10-03 17:04 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Carlos Anjos CLA 2011-09-27 12:37:16 EDT
After enabling the special compiler features, I declared something like:

declare parents : hasmethod(@MyAnnotation * *(..)) implements MyInterface

This works, if I explicitly annotate a method with @MyAnnotation.

However it does not work if previously I do something like:


declare @method: * MyClass.*(..) : @MyAnnotation;

I've tested, and the methods really get annotated, but these annotations are not visible to the hasmethod pointcut.
Comment 1 Andrew Clement CLA 2011-10-03 17:04:23 EDT
This is an issue, but I wanted to say one reason hasmethod is not a feature that is not on by default is because it doesn't work with some of the other language features, including ITDs and the case you have here.