@(Foo* && *Goo) Bar
=
a class named bar with an annotation that matches
the classname pattern expression Foo* && *Goo.
On Mon, 6 Dec 2004, Pavel Avgustinov wrote:
>
> >b) pattern expressions for annotations: @Foo*[Bar]
> > (inexpressible in the ajc proposal)
> >
> >
> Actually, that introduces another problem, brought up by Ondrej on IRC.
>
> Consider the pattern @Foo* && *Goo[Bar]. What does it mean?
> - A Bar with an annotation starting with Foo and an annotation ending
> with Goo, e.g. "@Foo @Goo Bar", or
> - A Bar with an annotation starting with Foo and ending with Goo, e.g.
> "@FooGoo Bar".
>
> The syntax as it stands can't distinguish between these two cases -- is
> && part of an annotation pattern, or an operator combining annotation
> patterns?
>
> ... Still thnking of possible ways around this. Obviously the first case
> can be emulated by splitting the pointcut into "@Foo*[Bar] &&
> @*Goo[Bar]"... though that arguably could still have different semantics
> -- are Foo* and *Goo allowed to apply to the same annotation (e.g.
> FooGoo) in the two different versions? Intuitively, for the top - no,
> for the bottom - yes...
>
> - P
>
>
Received on Mon Dec 6 18:57:17 2004
This archive was generated by hypermail 2.1.8 : Mon Dec 06 2004 - 19:10:03 GMT