Index: src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java =================================================================== RCS file: /home/technology/org.aspectj/modules/tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java,v retrieving revision 1.54 diff -u -r1.54 MultiProjectIncrementalTests.java --- src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java 19 May 2006 12:10:47 -0000 1.54 +++ src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java 23 May 2006 08:20:42 -0000 @@ -1252,6 +1252,34 @@ assertTrue("declare warning should be at line 12 - but is at line "+line,line==12); } + + public void testDontLoseXlintWarnings_pr141556() { + configureNonStandardCompileOptions("-Xlint:warning"); + initialiseProject("PR141556"); + build("PR141556"); + checkWasFullBuild(); + String warningMessage = "can not build thisJoinPoint " + + "lazily for this advice since it has no suitable guard " + + "[Xlint:noGuardForLazyTjp]"; + assertEquals("warning message should be '" + warningMessage + "'", + warningMessage, + ((IMessage)MyTaskListManager.getWarningMessages().get(0)) + .getMessage()); + + // add a space to the Aspect but dont do a build + alter("PR141556","inc1"); + // remove the space so that the Aspect is exactly as it was + alter("PR141556","inc2"); + // build the project and we should not have lost the xlint warning + build("PR141556"); + checkWasntFullBuild(); + assertTrue("there should still be a warning message ", + !MyTaskListManager.getWarningMessages().isEmpty()); + assertEquals("warning message should be '" + warningMessage + "'", + warningMessage, + ((IMessage)MyTaskListManager.getWarningMessages().get(0)) + .getMessage()); + } // --- helper code --- Index: multiIncremental/PR141556/base/pkg/A.aj =================================================================== RCS file: multiIncremental/PR141556/base/pkg/A.aj diff -N multiIncremental/PR141556/base/pkg/A.aj --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ multiIncremental/PR141556/base/pkg/A.aj 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,11 @@ +package pkg; + +public aspect A { + + pointcut p() : execution(* C.method1()); + + before(): p() { + System.out.println(thisJoinPoint); + } + +} Index: multiIncremental/PR141556/base/pkg/C.java =================================================================== RCS file: multiIncremental/PR141556/base/pkg/C.java diff -N multiIncremental/PR141556/base/pkg/C.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ multiIncremental/PR141556/base/pkg/C.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,8 @@ +package pkg; + +public class C { + + public void method1() { + } + +} Index: multiIncremental/PR141556/inc1/pkg/A.aj =================================================================== RCS file: multiIncremental/PR141556/inc1/pkg/A.aj diff -N multiIncremental/PR141556/inc1/pkg/A.aj --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ multiIncremental/PR141556/inc1/pkg/A.aj 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,11 @@ +package pkg; + +public aspect A { + + point cut p() : execution(* C.method1()); + + before(): p() { + System.out.println(thisJoinPoint); + } + +} Index: multiIncremental/PR141556/inc2/pkg/A.aj =================================================================== RCS file: multiIncremental/PR141556/inc2/pkg/A.aj diff -N multiIncremental/PR141556/inc2/pkg/A.aj --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ multiIncremental/PR141556/inc2/pkg/A.aj 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,11 @@ +package pkg; + +public aspect A { + + pointcut p() : execution(* C.method1()); + + before(): p() { + System.out.println(thisJoinPoint); + } + +}