Bug 328840 - declare @field failing to cope with some signatures
Summary: declare @field failing to cope with some signatures
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: 1.6.10   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: 1.6.11   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-27 11:04 EDT by Andrew Clement CLA
Modified: 2010-10-27 12:14 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Clement CLA 2010-10-27 11:04:17 EDT
Found by Arjen, an error is reported against this:

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;


public aspect Wibble {

	declare @field: (@III *) Song.*: @Foo;
	
//	before(): get((@III *) Song.*) {
	//	System.out.println();
	//} 
}

@III
class XX {
	
}
class Song {

	XX i;
	
	void foo() {
		System.out.println(i);
	}
}

@Retention(RetentionPolicy.RUNTIME)
@interface III {}
@Retention(RetentionPolicy.RUNTIME)
@interface Foo {}
Comment 1 Andrew Clement CLA 2010-10-27 12:14:24 EDT
this is due to the support for compound field signature patterns in declare statements that got added recently, which kicks in when that first '(' is hit.