diff options
author | aclement <aclement> | 2006-03-08 13:53:04 +0000 |
---|---|---|
committer | aclement <aclement> | 2006-03-08 13:53:04 +0000 |
commit | 54c167d257ef862c313fd4ebb647c1f28597157c (patch) | |
tree | f89a1c39456e533485996328e6d868c3a862fa3f | |
parent | e20f544cd90d2ac0af6c217eec2a835e1dbe5d06 (diff) | |
download | aspectj-54c167d257ef862c313fd4ebb647c1f28597157c.tar.gz aspectj-54c167d257ef862c313fd4ebb647c1f28597157c.zip |
129163: more bits...: set the compiler correctly for error reporting on inc builds. (comment #34,35)
4 files changed, 27 insertions, 1 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java index 22794ba3e..ecfbe5609 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java @@ -116,7 +116,7 @@ public class AjCompilerAdapter implements ICompilerAdapter { IMessageHandler msgHandler = world.getMessageHandler(); // Do we need to reset the message handler or create a new one? (This saves a ton of memory lost on incremental compiles...) if (msgHandler instanceof WeaverMessageHandler) { - ((WeaverMessageHandler)msgHandler).resetCompiler(null); + ((WeaverMessageHandler)msgHandler).resetCompiler(compiler); weaverMessageHandler = (WeaverMessageHandler)msgHandler; } else { weaverMessageHandler = new WeaverMessageHandler(msgHandler, compiler); diff --git a/tests/multiIncremental/PR129613/base/pkg/A.aj b/tests/multiIncremental/PR129613/base/pkg/A.aj new file mode 100644 index 000000000..6dbcccf75 --- /dev/null +++ b/tests/multiIncremental/PR129613/base/pkg/A.aj @@ -0,0 +1,5 @@ +package pkg; + +public aspect A { + +} diff --git a/tests/multiIncremental/PR129613/inc1/pkg/A.aj b/tests/multiIncremental/PR129613/inc1/pkg/A.aj new file mode 100644 index 000000000..efb37108e --- /dev/null +++ b/tests/multiIncremental/PR129613/inc1/pkg/A.aj @@ -0,0 +1,6 @@ +package pkg; + +public aspect A { + + pointcut p2(): call(* File.*(..)); +} diff --git a/tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java b/tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java index 528e6b584..7e74e84af 100644 --- a/tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java +++ b/tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java @@ -619,6 +619,21 @@ public class MultiProjectIncrementalTests extends AjdeInteractionTestbed { } } + public void testPr129163() { + configureBuildStructureModel(true); + initialiseProject("PR129613"); + build("PR129613"); + alter("PR129613","inc1"); + build("PR129613"); + assertTrue("There should be no exceptions handled:\n"+MyErrorHandler.getErrorMessages(), + MyErrorHandler.getErrorMessages().isEmpty()); + assertEquals("warning message should be 'no match for this type name: File [Xlint:invalidAbsoluteTypeName]' ", + "no match for this type name: File [Xlint:invalidAbsoluteTypeName]", + ((IMessage)MyTaskListManager.getWarningMessages().get(0)) + .getMessage()); + configureBuildStructureModel(false); + } + // other possible tests: // - memory usage (freemem calls?) // - relationship map |