diff options
author | Alena Laskavaia | 2011-02-08 02:24:45 +0000 |
---|---|---|
committer | Alena Laskavaia | 2011-02-08 02:24:45 +0000 |
commit | 42fa511831144928b56f2b7bf4c2681a2bb825c2 (patch) | |
tree | d32cf7de0ed27004cb5c5ccfadfa03cae1c8caf3 /codan/org.eclipse.cdt.codan.core | |
parent | c681894c31bbef666209646ccd346194e58c4e97 (diff) | |
download | org.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.java | 18 |
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); } } |