Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-dev] Re: [Bug 55107] add removeLibraryAspect method to weaver



I have moved the discussion to aspectj-dev as the questions are broader
than the suggested weaver enhancement.
>But I disagree in the run-time weaving scenario.
When you say "run-time" what do you mean. The proposed LTW design for JDK
1.4 does not support hot-code-replace as there is no interception point.
Developers should use normal compile-time weaving with incremental
compilation and Eclipse should automatically submit all the changed classes
and aspects to the JVM being debugged. In 1.5 the java.lang.instrument API
provides the opportunity to reweave HRC'd classes. However HCR for aspects
is a different proposition which I haven't thought about yet!

>BTW 1: How does the incremental compilation deal with deleted aspects?
My understanding is that when an aspect is added, modified or removed
everything is rewoven thereby preserving the invariant.

>BTW 2: You can achieve the same effect (that the removeLibraryAspect
method
>would provide) via World.getCrosscuttingMembersSet().deleteAspect(..).
That method is only called once during BcelWeaving construction. Mutation
is not supported.

Matthew Webster
AOSD Project
Java Technology Centre, MP146
IBM Hursley Park, Winchester,  SO21 2JN, England
Telephone: +44 196 2816139 (external) 246139 (internal)
Email: Matthew Webster/UK/IBM @ IBMGB, matthew_webster@xxxxxxxxxx
http://w3.hursley.ibm.com/~websterm/


bugzilla-daemon@xxxxxxxxxxx on 20/03/2004 14:14:12

To:    Matthew Webster/UK/IBM@IBMGB
cc:
Subject:    [Bug 55107] add removeLibraryAspect method to weaver


https://bugs.eclipse.org/bugs/show_bug.cgi?id=55107





------- Additional Comments From lippert@xxxxxxx  2004-03-20 09:14 -------
I see this from a different point of view. I agree to your objection
regarding
the weaving class loader and the typical load-time weaving scenario
described in
bug #31460. Therefore you should not remove any aspects while the load-time
weaving class loader is active.
But I disagree in the run-time weaving scenario. Of course you have to be
careful with already loaded classes, reloading, and so on. But if you take
care
of the different situations and handle then in the right way, the
removeLibraryAspect method would just prevent you from creating a new
weaver
instance.

BTW 1: How does the incremental compilation deal with deleted aspects?

BTW 2: You can achieve the same effect (that the removeLibraryAspect method
would provide) via World.getCrosscuttingMembersSet().deleteAspect(..).



------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.





Back to the top