Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] AJDT Intertype bug????

Thanks Ron, I've added these steps to the bug (92837)

Regards,

Matt.

On 08/09/05, Ron DiFrango <rdifrango@xxxxxxxxxxxxxxxxxxx> wrote:
> Matt,
> 
> As you point out, these are hard to re-produce.  Maybe the steps [which is a combination of my previous two posts] that I used is as follows:
> 
> Created the following aspect:
> 
> package com.tascon.tim.sofia.aop;
> 
> import com.salmonllc.jsp.JspTableRow;
> 
> public aspect SofiaJspTableRow {
>     pointcut generateHtml(JspTableRow row) :
>         execution(public void JspTableRow.generateHTML(..))
>         && target(row);
> 
>     void around(JspTableRow row) throws java.io.IOException :
> generateHtml(row)
>     {
>         System.out.println("Executing my aspect now.");
>         proceed(row);
>     }
> }
> 
> Performed an incremental compile [and deploy it to my App Server], then I modified that same aspect so that it resulted in the following;
> 
> package com.tascon.tim.sofia.aop;
> 
> public aspect SofiaJspTableRow {
> private DataStoreEvaluator JspTableRow._dsEval = null;
> 
> /**
> * Use this method to bind this component to an expression in a
> DataStore
> * @param ds The DataStore to bind to.
> * @param expression The expression to bind to.
> * @see DataStoreEvaluator
> */
> public void JspTableRow.setExpression(DataStoreBuffer ds,
> DataStoreExpression expression) throws Exception {
> // RRD: Error on this line because it can not see _dsEval
> this._dsEval = new DataStoreEvaluator(ds, expression);
> // RRD: Error on this line because it can not see _dsEval
> }
> 
> pointcut generateHtml(JspTableRow row) :
> execution(public void JspTableRow.generateHTML(..))
> && target(row);
> 
> void around(JspTableRow row) throws java.io.IOException :
> generateHtml(row)
> {
> 
> // RRD: Error on this line because it can not see _dsEval
> 
> if (row._dsEval != null)
> {
> System.out.println("row._dsEval is NOT NULL.");
> }
> else
> {
> System.out.println("row._dsEval is null.");
> }
> proceed(row);
> }
> }
> 
> Then, I attempted to perform another incremental compile with a call to this new method from another class and I got an error and could not compile until I did the full re-build.
> 
> Also, this maybe of important note, these aspects affect only classes in a binary jar that I am weaving into.
> 
> Ron
> 
>         -----Original Message-----
>         From: Matt Chapman [mailto:mpchapman@xxxxxxxxx]
>         Sent: Thu 9/8/2005 10:28 AM
>         To: aspectj-users@xxxxxxxxxxx
>         Cc:
>         Subject: Re: [aspectj-users] AJDT Intertype bug????
> 
> 
> 
>         If you have a real compiler error in the Problems view that goes away
>         after a full build, then that's a bug with the incremental compiler.
>         There are believed to be some problems with incremental and ITDs, such
>         as bug 92837. Let us know if you can provide any good testcases to
>         reproduce these sort of problems - they can be hard to track down, as
>         they sometimes seem to require a particular sequence of edits.
> 
>         Regards,
> 
>         Matt.
> 
>         On 08/09/05, Ronald R. DiFrango <difranr@xxxxxxxxxxx> wrote:
>         >  Matt,
>         >
>         >  I should have thought of this earlier because I have seen it before.  I did
>         > a clean and and a FULL RE-Build and the problem went away.  I have seen
>         > something similar before with AJDT, but I have not always been able to
>         > re-produce it.
>         >
>         >  Any thoughts on why this might happen?
>         >
>         >  Ron
>         >
>         >
>         >  Matt Chapman wrote:
>         >  Turning off auto building won't turn off the eager parser - for that
>         > you need to go to Preferences -> Java -> Editor and uncheck "Report
>         > problems as you type". The eager parser runs on the source in the
>         > current editor, and adds error markers and red squiggles for any
>         > problems it finds.
>         >
>         > It sounds like you have a more serious problem if the project fails to
>         > build at all. What happens to it - does it just hang? You could try
>         > first opening the AJDT Event Trace view (Show View -> Other ->
>         > AspectJ) and seeing how far it gets.
>         >
>         > Regards,
>         >
>         > Matt.
>         >
>         > On 08/09/05, Ron DiFrango <rdifrango@xxxxxxxxxxxxxxxxxxx> wrote:
>         >
>         >
>         >  Matt,
>         >
>         > The source code/aspect is all in my source code, but the class that I am
>         > trying to put the inter-type declarions is in stored in a JAR file that is
>         > put on the AspectJInPath. The weird part is that I have other inter-type
>         > delcariotn [method level only though] that work just fine. It justs seems to
>         > be a problem when I try to introduce memeber variables.
>         >
>         > I do not think it is the eager parser because I have automatic builds turned
>         > off. So the app only builds when I tell it too [large build that takes 100%
>         > of my CPU is the reason why, but that is a topic for another day]. And this
>         > build fails to complete.
>         >
>         > Ron
>         >
>         >  -----Original Message-----
>         >  From: Matt Chapman [mailto:mpchapman@xxxxxxxxx]
>         >  Sent: Thu 9/8/2005 5:43 AM
>         >  To: aspectj-users@xxxxxxxxxxx
>         >  Cc:
>         >  Subject: Re: [aspectj-users] AJDT Intertype bug????
>         >
>         >
>         >
>         >  Ron,
>         >
>         >  Is this source code all in the same file? Is it a .java or .aj file?
>         >  Is it open in the Java or AspectJ editor? I'm assuming the error only
>         >  appears in the editor, and not as a compile error in the problems
>         >  view. In which case the error is coming from the Java eager parser. If
>         >  you use the AspectJ editor, it should use the AspectJ eager parser,
>         >  which doesn't report errors like that.
>         >
>         >  Regards,
>         >
>         >  Matt.
>         >
>         >  On 08/09/05, Ronald R. DiFrango <difranr@xxxxxxxxxxx> wrote:
>         >  > Here is another one:
>         >  >
>         >  > > I am using:
>         >  > >
>         >  > > Eclipse SDK
>         >  > >
>         >  > > Version: 3.1.0
>         >  > > Build id: I20050627-1435
>         >  > >
>         >  > > Eclipse AspectJ Development Tools
>         >  > >
>         >  > > Version: 1.3.0
>         >  > > Build id: 20050907105507
>         >  > > AspectJ version: 1.5.0 M3a
>         >  > >
>         >  > > I have the following aspect that for some reason does not see my
>         >  > > intertype declation correctly see below for an example:
>         >  >
>         >  >
>         >  > > package com.tascon.tim.sofia.aop;
>         >  > >
>         >  > > public aspect SofiaJspTableRow {
>         >  > > private DataStoreEvaluator JspTableRow._dsEval = null;
>         >  > >
>         >  > > /**
>         >  > > * Use this method to bind this component to an expression in a
>         >  > > DataStore
>         >  > > * @param ds The DataStore to bind to.
>         >  > > * @param expression The expression to bind to.
>         >  > > * @see DataStoreEvaluator
>         >  > > */
>         >  > > public void JspTableRow.setExpression(DataStoreBuffer ds,
>         >  > > DataStoreExpression expression) throws Exception {
>         >  >
>         >  > // RRD: Error on this line because it can not see _dsEval
>         >  >
>         >  > > this._dsEval = new DataStoreEvaluator(ds, expression);
>         >  >
>         >  > // RRD: Error on this line because it can not see _dsEval
>         >  >
>         >  > > }
>         >  > >
>         >  > > pointcut generateHtml(JspTableRow row) :
>         >  > > execution(public void JspTableRow.generateHTML(..))
>         >  > > && target(row);
>         >  > >
>         >  > > void around(JspTableRow row) throws java.io.IOException :
>         >  > > generateHtml(row)
>         >  > > {
>         >  >
>         >  > // RRD: Error on this line because it can not see _dsEval
>         >  >
>         >  > > if (row._dsEval != null)
>         >  > > {
>         >  > > System.out.println("row._dsEval is NOT NULL.");
>         >  > > }
>         >  > > else
>         >  > > {
>         >  > > System.out.println("row._dsEval is null.");
>         >  > > }
>         >  > > proceed(row);
>         >  > > }
>         >  > > }
>         >  > >
>         >  > > Any reason why this might be the case? Please note this advice is
>         >  > > being woven into an external JAR file, but I have other inter-types
>         >  > > that work fine.
>         >  > >
>         >  > > Ron
>         >  > > _______________________________________________
>         >  > > aspectj-users mailing list
>         >  > > aspectj-users@xxxxxxxxxxx
>         >  > > https://dev.eclipse.org/mailman/listinfo/aspectj-users
>         >  > >
>         >  >
>         >  >
>         >  > _______________________________________________
>         >  > aspectj-users mailing list
>         >  > aspectj-users@xxxxxxxxxxx
>         >  > https://dev.eclipse.org/mailman/listinfo/aspectj-users
>         >  >
>         >  >
>         >  >
>         >  _______________________________________________
>         >  aspectj-users mailing list
>         >  aspectj-users@xxxxxxxxxxx
>         >  https://dev.eclipse.org/mailman/listinfo/aspectj-users
>         >
>         >
>         >
>         >
>         >
>         >  _______________________________________________
>         > aspectj-users mailing list
>         > aspectj-users@xxxxxxxxxxx
>         > https://dev.eclipse.org/mailman/listinfo/aspectj-users
>         >
>         >
>         >
>         _______________________________________________
>         aspectj-users mailing list
>         aspectj-users@xxxxxxxxxxx
>         https://dev.eclipse.org/mailman/listinfo/aspectj-users
> 
> 
> 
>


Back to the top