Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Intertype declaration name mangling - for or against?

Thanks Dave and Ramnivas.  yes I have progressed on the new intertype
syntax, but a mountain of testing to do there.  It is interesting
about you (Dave) proposing the default be switched to non-mangling -
I'm nervous about that (from a backwards compatibility point of view I
think), but not entirely against it.  Intertype fields are far far far
far more straightforward than intertype methods, so that's where I'd
play around first and that would seem to help a lot with these
frameworks.

Andy

2009/11/20 Ramnivas Laddad <ramnivas@xxxxxxxxxxxxxxx>:
> I am all for this. Mangled names create problems with JPA and such.
> I guess one issue to consider is what happens when two aspects want to
> introduce a same-named field with a directive to not mangle, especially if
> both aspects are from third-party libraries. This is quite unlikely to occur
> in practice, but we may need to address it somehow. I wonder if the 'declare
> precedence' can be an arbitrator here.
> -Ramnivas
> On Thu, Nov 19, 2009 at 10:54 AM, Andy Clement <andrew.clement@xxxxxxxxx>
> wrote:
>>
>> I'm possibly going to review our approach to intertype declaration
>> naming.  The names are currently mangled deliberately to preserve some
>> of the 'rules' that AspectJ defines.  For example, private field itds
>> have mangled names because the field is private to the aspect and
>> shouldn't be visible as a 'regular' private field in the target.  This
>> also enables two aspects to ITD the same private field and there is no
>> clash in the target type.
>>
>> However, since those rules were defined a long time ago, things have
>> changed and various frameworks are looking at members via reflection,
>> for purposes of invocation or automatic persistence.  The mangling is
>> unhelpful here.
>>
>> I *thinking* about allowing non-mangled names, possibly with a
>> directive annotation in the aspect that says "do not mangle these, I
>> know what I'm doing and there won't be a problem".
>>
>> Basically I wanted to collect any thoughts from you guys?
>>
>> I suspect that the some of the scenarios AspectJ worries about rarely
>> happen in practice - have you ever ITD'd the same named private field
>> from two aspects onto the same type?  (AspectJ can continue to
>> warn/error when it sees this about to happen of course)
>>
>> cheers,
>> Andy
>> _______________________________________________
>> 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
>
>


Back to the top