Community
Participate
Working Groups
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 {}
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.