aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraclement <aclement>2006-03-08 13:53:04 +0000
committeraclement <aclement>2006-03-08 13:53:04 +0000
commit54c167d257ef862c313fd4ebb647c1f28597157c (patch)
treef89a1c39456e533485996328e6d868c3a862fa3f
parente20f544cd90d2ac0af6c217eec2a835e1dbe5d06 (diff)
downloadaspectj-54c167d257ef862c313fd4ebb647c1f28597157c.tar.gz
aspectj-54c167d257ef862c313fd4ebb647c1f28597157c.zip
129163: more bits...: set the compiler correctly for error reporting on inc builds. (comment #34,35)
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java2
-rw-r--r--tests/multiIncremental/PR129613/base/pkg/A.aj5
-rw-r--r--tests/multiIncremental/PR129613/inc1/pkg/A.aj6
-rw-r--r--tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java15
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