| Summary: | declare @field failing to cope with some signatures | ||
|---|---|---|---|
| Product: | [Tools] AspectJ | Reporter: | Andrew Clement <aclement> |
| Component: | Compiler | Assignee: | aspectj inbox <aspectj-inbox> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | ||
| Version: | 1.6.10 | ||
| Target Milestone: | 1.6.11 | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | |||
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.
|
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 {}