Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ajdt-dev] Question about the AJDT weaver

Hi Andrew,

Thank you again for the quick response. Yes, that sounds correct, i.e., reconciling is what I am looking for. I am not particularly interested in producing byte code at the juncture I am dealing with. And yes, I would looking for the AJDT to perform on-the-fly "matching" just as the JDT does on-the-fly reconciling (without producing byte code). That is indeed interested about the performance concerns. How difficult would it be to alter the AJDT to perform such a task?

What I am doing right now is saving the file programmatically and then waiting for the AJDT to do the weaving. However, I find that this behavior is unpredictable. In some cases, the weaving is done in time for when I need to examine the shadow information, and other times it is not. I suppose this can be due to some race condition between the two threads. How can I explicitly tell the AJDT to perform the weaving immediately after saving the file? Some code snippets would be great. Thanks again for your help!

Raffi

On Apr 20, 2010, at 12:29 AM, Andrew Eisenberg wrote:

> What you are talking about is an operation called reconciling.  This
> operation calls the compiler just to get the structure of a file and
> any compile problems, but doesn't produce byte code.  This happens in
> aj files as well as Java files, but the reconciling does not perform
> any weaving.  In theory, ajc can do weaving on the fly (the analog
> operation to reconciling in this case would be called matching), but
> this is not implemented in AJDT.  It would be difficult to ensure that
> performance is maintained as the matching occurs.
> 
> To answer another question, yes, you can perform a build without doing
> a save, but the build will not include the unsaved parts of your
> files.  This is quite different from reconciling, though.
> 
> Let me know if you need any code snippets.
> 
> On Mon, Apr 19, 2010 at 4:35 PM, Raffi Khatchadourian
> <khatchad@xxxxxxxxxxxxxxxxxx> wrote:
>> Hi Andrew,
>> 
>> Thank you for the prompt response. I suppose my question is as follows. Is it possible to trigger a build without saving all files? That question may be more general to Eclipse, but I find it curious that the JDT parses Java files even if they are not saved, but the AJDT does not weave files if all changes are not saved. Thanks again!
>> 
>> Raffi
>> 
>> On Apr 19, 2010, at 5:28 PM, Andrew Eisenberg wrote:
>> 
>>> I'm not exactly sure what you are asking.  Yes, the weaver only runs
>>> when a build is triggered.  This typically happens when files are
>>> saved.
>>> 
>>> Are you asking about how files that have join points targeted by the
>>> aspects change when an aspect changes?  This logic is coded into the
>>> state stored by AspectJ, which knows about aspect dependencies.  In
>>> most cases, a change and subsequent compile of an aspect will also
>>> trigger a compile of these dependent files.
>>> 
>>> Not sure if this answers your question...
>>> 
>>> On Mon, Apr 19, 2010 at 1:33 PM, Raffi Khatchadourian
>>> <khatchad@xxxxxxxxxxxxxxxxxx> wrote:
>>>> Hello. I am using Eclipse Build id: 20100218-1602 and AJDT version 2.0.2.e35x-20100105-0900. I have noticed that the weaver only performs the weaving process when a particular file is saved, as opposed to when it is changed. Is this correct and, if so, how do I get the AJDT weaver to weave aspects into the base-code when a particular change is made in the base-code. Thank you in advance for your help, and please inform me if this is not the correct forum for this question.
>>>> 
>>>> Raffi Khatchadourian
>>>> PhD Candidate
>>>> Department of Computer Science and Engineering
>>>> Ohio State University
>>>> http://www.cse.ohio-state.edu/~khatchad
>>>> 
>>>> _______________________________________________
>>>> ajdt-dev mailing list
>>>> ajdt-dev@xxxxxxxxxxx
>>>> https://dev.eclipse.org/mailman/listinfo/ajdt-dev
>>>> 
>> 
>> 



Back to the top