aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraclement <aclement>2008-04-09 23:45:34 +0000
committeraclement <aclement>2008-04-09 23:45:34 +0000
commit6fbf0de6132bdb29d1174e7b552fbba2b03f96a6 (patch)
tree8c3f46c2908b6778f807e5d2e7697ca915e9b195
parentad96a03d9a1491121612dc6992d7a64e4943b712 (diff)
downloadaspectj-6fbf0de6132bdb29d1174e7b552fbba2b03f96a6.tar.gz
aspectj-6fbf0de6132bdb29d1174e7b552fbba2b03f96a6.zip
160868: dont check paths more than once
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjState.java12
1 files changed, 8 insertions, 4 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjState.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjState.java
index 4fd950b43..de0ee5a90 100644
--- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjState.java
+++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjState.java
@@ -701,6 +701,7 @@ public class AjState {
if (oldPath.size() != newPath.size()) {
return true;
}
+ Set analysedPaths = new HashSet();
for (int i = 0; i < oldPath.size(); i++) {
if (!oldPath.get(i).equals(newPath.get(i))) {
return true;
@@ -725,10 +726,13 @@ public class AjState {
}
}
if (!foundMatch) {
- int classFileChanges = classFileChangedInDirSinceLastBuildRequiringFullBuild(f);
- if (classFileChanges == CLASS_FILE_CHANGED_THAT_NEEDS_FULL_BUILD)
- return true;
- // if (b && stateListener!=null) stateListener.detectedClassChangeInThisDir(f);
+ if (!analysedPaths.contains(f.getAbsolutePath())) { // Do not check paths more than once
+ analysedPaths.add(f.getAbsolutePath());
+ int classFileChanges = classFileChangedInDirSinceLastBuildRequiringFullBuild(f);
+ if (classFileChanges == CLASS_FILE_CHANGED_THAT_NEEDS_FULL_BUILD)
+ return true;
+ // if (b && stateListener!=null) stateListener.detectedClassChangeInThisDir(f);
+ }
}
}
}