[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: R: Re: [aspectj-users] ITD syntax
|
On second thought, I think option 1 is not good. It is very likely to
confuse users: besides confusion bought by two usage of within(), the
within(AnotherClass) pointcut won't select bulk ITDs introduced
through within(AnotherClass) {...}.
-Ramnivas
On Mon, Dec 8, 2008 at 3:03 PM, Ramnivas Laddad
<ramnivas@xxxxxxxxxxxxxxx> wrote:
> On Mon, Dec 8, 2008 at 2:30 PM, Andy Clement <andrew.clement@xxxxxxxxx> wrote:
>> I like the idea of simplifying the syntax but I keep changing my mind
>> over the syntax I most prefer. It is probably this actually:
>>
>>> intertype(AnotherClass){
>>>
>>> public String someVar;
>>>
>>> public String getSomeVar(){
>>> return someVar;
>>> }
>>> }
>>
>> Since everything is there and it is clear. I'm just nervous about new
>> keywords and how easily I can persuade the compiler to deal with it.
>> I would see this just as syntax sugar on the current ITD model though,
>> and not change any semantics to say that it means anything like a
>> mixin/delegation model.
>
> How about this way to avoid a new keyword:
>
> Options 1:
> within(AnotherClass) {
> public String someVar;
>
> public String getSomeVar(){
> return someVar;
> }
> }
>
> Pros: May read naturally --> "within AnotherClass, declare the following"
> Cons: Will the use of within confuse developers with its usage in pointcut?
>
> Options 2:
> AnotheClass.{
> public String someVar;
>
> public String getSomeVar(){
> return someVar;
> }
> }
>
> Pros: Easy to explain the bulk ITD syntax compared to regular ITD
> syntax-- dot and a member or dot and members.
> Cons: Too subtle a use of "."?
>
> -Ramnivas
>