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,

I have been giving this some more thought, and I don't know how inefficient on-the-fly matching would actually be. The reason is that we would only need to consider a local change. Therefore, the complexity of the problem would be dependent on the number of pointcuts available in the system. In other words, we don't have to consider the entire base-code, just the base-code that has been altered. Then, we match this new base-code with all available pointcuts. What do you think?

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