[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: R: Re: [aspectj-users] ITD syntax
- From: Simone Gianni <simoneg@xxxxxxxxxx>
- Date: Fri, 5 Dec 2008 12:32:43 +0100
- Delivered-to: email@example.com
you perfectly got the point. We are moving from IDT to something
else, and that what I felt in the first place without being able to
express it with the clarity you had. I agree on splitting this
thread on "A simpler syntax for IDTs" and "A delegation approach to
As long as the simpler syntax for IDTs in involved, I like Dave's
proposal, also because it uses a construct very similar to the
"with", which is present in a number of languages but missing in
Java, and many programmers are already used to it. Also, it simply
requires less typing without changing the semnatics of the IDT.
There can be better ways of doing mixins/IDTs, including the
delegation based ones, but that's another discussion.
----- Messaggio originale -----
Da: Ichthyostega <prg@xxxxxxxxxxxxxxx>
Posta Inviata: giovedì 4 dicembre 2008 22.42.08 GMT+0100 Europe/Berl
Oggetto: Re: [aspectj-users] ITD syntax
-----BEGIN PGP SIGNED MESSAGE-----
> I'm glad for this discussion because it's helped me in refining
how I think
> this would work best.
Same here. I saw your answer just after posting mine.
Probably we are facing a decision on two possible routes to take:
- - provide some convenience for Delegation using AspectJ
- - stick to the ITD semantics but provide a better syntax.
My feeling is we would be best off if we took a clear decision on
one of those routes and don't try to mix them up. Even if we were
able to come with a combined solution, it will confuse people.
Thus, if we go the "Delegation" route, "this" should be really rebound
the moment we are within the scope of the delegate to mean the
the same way as if all of this was just implemented in plain Java.
OTOH, when going the "ITD" route, the source class (ITDDefaultImpl
or DoSomethingImpl) is rather sort-of a template for code woven into
the target. I.e., at runtime, no class DoSomethingImpl will be loaded.
Then the question remains what should happen with private fields.
Consider, both the class Doer and class DoSomethingImpl may use
a private field with the same name for their implementation.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
-----END PGP SIGNATURE-----
aspectj-users mailing list