Bug 450374

Summary: hasmethod() does not work in @DeclareParents
Product: [Tools] AspectJ Reporter: Alexander Kriegisch <Alexander>
Component: CompilerAssignee: aspectj inbox <aspectj-inbox>
Status: NEW --- QA Contact:
Severity: normal    
Priority: P3    
Version: 1.8.3   
Target Milestone: ---   
Hardware: PC   
OS: Windows NT   
Whiteboard:

Description Alexander Kriegisch CLA 2014-11-06 12:01:00 EST
I know it is a non-standard feature, but I just noticed that while hasmember() works fine in native syntax, it does not seem to work in @AspectJ syntax.

This works:

	declare parents : hasmethod(@MyAttribute * *(..)) implements Moody;

This does not:

	@DeclareParents(value = "hasmethod(@de.scrum_master.app.MyAttribute * *(..))", defaultImpl = Moody.class)
	private Moody annotatedMethods;

In the latter case the compiler with -XhasMember on says:

        no match for this type name: hasmethod [Xlint:invalidAbsoluteTypeName]