summaryrefslogtreecommitdiffstats
path: root/org.aspectj.ajdt.core/src
diff options
context:
space:
mode:
authoraclement <aclement>2005-02-18 16:26:51 +0000
committeraclement <aclement>2005-02-18 16:26:51 +0000
commita2150af444e85b22dd5dc0abdb232bbebb992a41 (patch)
tree62e3ce3cad58b229ca23eec995de6cbe05d877d2 /org.aspectj.ajdt.core/src
parent0ee85863735ebef10e3b4853142c8d9f0c7848ed (diff)
downloadaspectj-a2150af444e85b22dd5dc0abdb232bbebb992a41.tar.gz
aspectj-a2150af444e85b22dd5dc0abdb232bbebb992a41.zip
Use ability to remove problems when building using intermediate compilation results (fix doubling of tasks/deows in inc building)
Diffstat (limited to 'org.aspectj.ajdt.core/src')
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java9
1 files changed, 9 insertions, 0 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 1b64e7fc3..9091a8c15 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
@@ -26,6 +26,7 @@ import org.aspectj.bridge.IProgressListener;
import org.aspectj.weaver.bcel.BcelWeaver;
import org.aspectj.weaver.bcel.BcelWorld;
import org.aspectj.weaver.patterns.CflowPointcut;
+import org.aspectj.org.eclipse.jdt.core.compiler.IProblem;
import org.aspectj.org.eclipse.jdt.internal.compiler.CompilationResult;
import org.aspectj.org.eclipse.jdt.internal.compiler.Compiler;
import org.aspectj.org.eclipse.jdt.internal.compiler.ICompilerAdapter;
@@ -254,6 +255,14 @@ public class AjCompilerAdapter implements ICompilerAdapter {
InterimCompilationResult ir = (InterimCompilationResult) iter.next();
if (!resultsPendingWeave.contains(ir)) { // equality based on source file name...
ir.result().hasBeenAccepted = false; // it may have been accepted before, start again
+
+ // Remove DEOWs as they are going to be added again during weaving
+ ir.result().removeProblems(new CompilationResult.ProblemsForRemovalFilter() {
+ public boolean accept(IProblem p) {
+ String s = p.getSupplementaryMessageInfo();
+ if (s != null && s.endsWith("[deow=true]")) return true;
+ return false;
+ }});
resultsPendingWeave.add(ir);
}
}