[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
RE: "Humane Pointcut Languages" [Was: Re: [aspectj-users] AW:Pointcuton a constructor with a custom @Annotation]
|
Hmmm...
Reminds me of http://www.charlespetzold.com/etc/CSAML.html
More productively, I think the concision of the pointcut language is a plus;
but I can imagine some nice tool support that you could hover the mouse over
and see an elaboration of the pointcut.
> -----Original Message-----
> From: aspectj-users-bounces@xxxxxxxxxxx
> [mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Ron Bodkin
> Sent: Thursday, April 20, 2006 2:46 PM
> To: aspectj-users@xxxxxxxxxxx
> Subject: RE: "Humane Pointcut Languages" [Was: Re:
> [aspectj-users] AW:Pointcuton a constructor with a custom @Annotation]
>
> I agree completely. I've often said that AspectJ's pointcuts
> and type patterns need a long form, rather like xpath has a
> long, functional style one in addition to its dense, compact,
> and cryptic version, e.g., //title is short for
> /self::node()/descendant-or-self::node()/child::title (in a
> simple case, the short form is clearer, unsurprisingly!)
>
> I could see a more functional non-positional syntax, e.g.,
>
> signature annotatedConstructor : member-annotation(@MyAnnotation) &&
> static-type(*) && method-name(new) && static-arguments(..);
>
> pointcut callAnnotated() : call(annotatedConstructor);
>
> -----Original Message-----
> From: aspectj-users-bounces@xxxxxxxxxxx
> [mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Dean Wampler
> Sent: Thursday, April 20, 2006 2:04 PM
> To: aspectj-users@xxxxxxxxxxx
> Subject: "Humane Pointcut Languages" [Was: Re: [aspectj-users] AW:
> Pointcuton a constructor with a custom @Annotation]
>
> Ron Bodkin wrote:
> > Dean, I think you mean call( @MyAnnotation *.new(..) ) (or just
> > call(@MyAnnotation new(..))), since there's no return type for a
> > constructor.
> > ...
> >
> Yes, I forgot about the extra "*" for the (invalid) return
> type that was in the expression. Need to get my glasses
> checked, I guess ;)
>
> I've made mistakes like this occasionally in my own PC
> definitions (PCDs). The PCD language is very "dense" and
> requires careful inspection of any PC. Given a lot of recent
> discussion in the bloggosphere about "humane interfaces"
> (e.g.,
> http://www.martinfowler.com/bliki/HumaneInterface.html), it
> would be interesting to consider a more verbose & humane PC
> language for AspectJ that could be used with the existing
> language. When you consider that a typical PCD, like most
> code, is written once and potential read many times, I would
> certainly use a more verbose language if it were available.
>
> For example, Perl has more human-readable equivalents to its
> many cryptic "$..." variables. What if AspectJ's PC language
> had special symbols like the following:
>
> $any_return => "*" used for the return type
> $any_arg => "*" for any single method argument
> $any_arglist => ".."
>
> etc.
>
> Just a thought...
>
> dean
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>