Skip to main content

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

Matt,
 
Another aside on this bug.  I was also able to re-produce this if you have another project which is usign Aspectj/AJDT and is reference by another one.  I do not always see the updates from that project [referenced project] immediatly.  Most times I have clean both projects in order to see the updates.
 
Ron

	-----Original Message----- 
	From: Matt Chapman [mailto:mpchapman@xxxxxxxxx] 
	Sent: Fri 9/9/2005 11:52 AM 
	To: aspectj-users@xxxxxxxxxxx 
	Cc: 
	Subject: 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 
	> 
	> 
	> 
	> 
	_______________________________________________ 
	aspectj-users mailing list 
	aspectj-users@xxxxxxxxxxx 
	https://dev.eclipse.org/mailman/listinfo/aspectj-users 


Back to the top