Community
Participate
Working Groups
1. MethodPattern 2. FieldPattern 3. ConstructorPattern Language semantics uses these terms without defining them. In my opinion the term "Id" isn't obvious too. At least it wasn't for me at the beginning. I vote for define all these terms. Regards Luke
I'm not going to define Id, though the first few times I use it as a metavariable I've added to the text language like "the identifier _Id_". The Java spec folks did such a good job with definining what an identifier is that I'm not going to duplicate their work *smile*. As for the pattern comments, while there's a pretty good verbal description of the pattern syntax and semantics, I've added the following subsection to the end of the "pointcuts" section of the semantics appendix (warning: bugzilla is about to screw up my line wrapping): Pattern Summary Here is a summary of the pattern syntax used in AspectJ: MethodPattern = [ModifiersPattern] TypePattern [TypePattern . ] IdPattern (TypePattern | ".." , ... ) [ throws ThrowsPattern ] ConstructorPattern = [ModifiersPattern ] [TypePattern . ] new (TypePattern | ".." , ...) [ throws ThrowsPattern ] FieldPattern = [ModifiersPattern] TypePattern [TypePattern . ] IdPattern ThrowsPattern = [ ! ] TypePattern , ... TypePattern = IdPattern [ + ] [ [] ... ] | ! TypePattern | TypePattern && TypePattern | TypePattern || TypePattern | ( TypePattern ) IdPattern = Sequence of characters, possibly with special * and .. wildcards ModifiersPattern = [ ! ] JavaModifier ... I've tried to make it informal enough to be editable/readable, but formal enough to be useful. We'll see how it works out.
Fix released as part of AspectJ 1.2.1