Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Field name mangling when introducing into inner interface?

On Mon, May 9, 2011 at 1:57 PM, Andy Clement <andrew.clement@xxxxxxxxx> wrote:
>> As of 1.6.9, name mangling was supposed to go away.  Is it still present
>> when introducing fields into interfaces in the manner described above?  I'm
>> using 1.6.11 & still seeing name mangling, making persistence setup more
>> difficult.
>
> Not quite, name mangling for a particular use case was supposed to go
> away.  That use case was ITD of fields onto classes, not onto
> interfaces, they are rather distinct and the former is much more
> straightforward than the latter.
>
I didn't realize.

> The interface case is covered by open bug
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=73507 - looks like I
> added a patch to it 5 years ago (yikes!) that partially addressed
> things, leaving the mangled accessors around (getters/setters) but
> leaving the name on the target interface implementor unmangled.  I
> wonder if applying that patch now might get you going, I'm presuming
> you particularly care about the field name - the existence of the
> mangled accessors is perhaps annoying but not causing a real problem?
>
Well, since for me I seem to be using ITDs a lot within domain models
of persistent classes, I do care about the field name, primarily when
defining persistent ORM metadata for the introduced fields.  The
mangled accessors don't really bother me too much.

My use case is to introduce a default implementation of a particular
interface while still allowing other manual or introduced
implementations of the same interface.  As such, I want it to look
just like the class itself defined the interface, persistent fields
intact so that they can be properly mapped to the datastore.

-matthew


Back to the top