Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlena Laskavaia2011-02-08 02:24:45 +0000
committerAlena Laskavaia2011-02-08 02:24:45 +0000
commit42fa511831144928b56f2b7bf4c2681a2bb825c2 (patch)
treed32cf7de0ed27004cb5c5ccfadfa03cae1c8caf3 /codan/org.eclipse.cdt.codan.core
parentc681894c31bbef666209646ccd346194e58c4e97 (diff)
downloadorg.eclipse.cdt-42fa511831144928b56f2b7bf4c2681a2bb825c2.tar.gz
org.eclipse.cdt-42fa511831144928b56f2b7bf4c2681a2bb825c2.tar.xz
org.eclipse.cdt-42fa511831144928b56f2b7bf4c2681a2bb825c2.zip
Bug 336396: fixed double processing of files on build
Diffstat (limited to 'codan/org.eclipse.cdt.codan.core')
-rw-r--r--codan/org.eclipse.cdt.codan.core/src/org/eclipse/cdt/codan/internal/core/CodanBuilder.java18
1 files changed, 12 insertions, 6 deletions
diff --git a/codan/org.eclipse.cdt.codan.core/src/org/eclipse/cdt/codan/internal/core/CodanBuilder.java b/codan/org.eclipse.cdt.codan.core/src/org/eclipse/cdt/codan/internal/core/CodanBuilder.java
index bd3cb6721f1..7d4eb350de9 100644
--- a/codan/org.eclipse.cdt.codan.core/src/org/eclipse/cdt/codan/internal/core/CodanBuilder.java
+++ b/codan/org.eclipse.cdt.codan.core/src/org/eclipse/cdt/codan/internal/core/CodanBuilder.java
@@ -52,14 +52,14 @@ public class CodanBuilder extends IncrementalProjectBuilder implements
switch (delta.getKind()) {
case IResourceDelta.ADDED:
// handle added resource
- processResource(resource, monitor);
+ processResourceDelta(resource, monitor);
break;
case IResourceDelta.REMOVED:
// handle removed resource
break;
case IResourceDelta.CHANGED:
// handle changed resource
- processResource(resource, monitor);
+ processResourceDelta(resource, monitor);
break;
}
// return true to continue visiting children.
@@ -91,11 +91,17 @@ public class CodanBuilder extends IncrementalProjectBuilder implements
}
public void processResource(IResource resource, IProgressMonitor monitor) {
- processResource(resource, monitor, null, false);
+ processResource(resource, monitor, null, false, true);
+ }
+
+ public void processResourceDelta(IResource resource,
+ IProgressMonitor monitor) {
+ processResource(resource, monitor, null, false, false);
}
protected void processResource(IResource resource,
- IProgressMonitor monitor, Object model, boolean inEditor) {
+ IProgressMonitor monitor, Object model, boolean inEditor,
+ boolean recursive) {
CheckersRegistry chegistry = CheckersRegistry.getInstance();
int checkers = chegistry.getCheckersSize();
int memsize = 0;
@@ -149,7 +155,7 @@ public class CodanBuilder extends IncrementalProjectBuilder implements
CodanCorePlugin.log(e);
}
}
- if (resource instanceof IContainer) {
+ if (resource instanceof IContainer && recursive) {
try {
IResource[] members = ((IContainer) resource).members();
for (int i = 0; i < members.length; i++) {
@@ -190,6 +196,6 @@ public class CodanBuilder extends IncrementalProjectBuilder implements
IProgressMonitor monitor) {
if (model == null)
return;
- processResource(resource, monitor, model, true);
+ processResource(resource, monitor, model, true, false);
}
}

Back to the top