[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [aspectj-users] AJDT Intertype bug????
|
Yes, I could reproduce it, after mocking up the referenced types.
Indeed, for now the workaround is to press the full build button.
Regards,
Matt.
On 09/09/05, Ron DiFrango <rdifrango@xxxxxxxxxxxxxxxxxxx> wrote:
> Does that re-produce it for you?
>
> Just as a side note, I have seen other things like with incremetnal compiles and seems as though the steps below are what trigger it to occur. Once I see it, a Full Re-Build is in order :-(
>
> -----Original Message-----
> From: Matt Chapman [mailto:mpchapman@xxxxxxxxx]
> Sent: Fri 9/9/2005 11:27 AM
> To: aspectj-users@xxxxxxxxxxx
> Cc:
> Subject: 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
> >
> >
> >
> >
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
>
>
>