1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-20 07:25:23 +02:00

- fixed checker were running even when disabled

This commit is contained in:
Alena Laskavaia 2010-03-18 14:36:39 +00:00
parent 3ff7fd3ecd
commit f7b306a662

View file

@ -15,10 +15,10 @@ import java.util.Map;
import org.eclipse.cdt.codan.core.CodanCorePlugin; import org.eclipse.cdt.codan.core.CodanCorePlugin;
import org.eclipse.cdt.codan.core.CodanRuntime; import org.eclipse.cdt.codan.core.CodanRuntime;
import org.eclipse.cdt.codan.core.model.IChecker; import org.eclipse.cdt.codan.core.model.IChecker;
import org.eclipse.cdt.codan.core.model.IRunnableInEditorChecker;
import org.eclipse.cdt.codan.core.model.ICodanBuilder; import org.eclipse.cdt.codan.core.model.ICodanBuilder;
import org.eclipse.cdt.codan.core.model.IProblemReporter; import org.eclipse.cdt.codan.core.model.IProblemReporter;
import org.eclipse.cdt.codan.core.model.IProblemReporterPersistent; import org.eclipse.cdt.codan.core.model.IProblemReporterPersistent;
import org.eclipse.cdt.codan.core.model.IRunnableInEditorChecker;
import org.eclipse.cdt.codan.internal.core.model.CodanMarkerProblemReporter; import org.eclipse.cdt.codan.internal.core.model.CodanMarkerProblemReporter;
import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IResource;
@ -115,13 +115,10 @@ public class CodanBuilder extends IncrementalProjectBuilder implements
CheckersRegisry chegistry = CheckersRegisry.getInstance(); CheckersRegisry chegistry = CheckersRegisry.getInstance();
for (IChecker checker : chegistry) { for (IChecker checker : chegistry) {
try { try {
boolean run = false; if (chegistry.isCheckerEnabled(checker, resource)
if (checker.enabledInContext(resource)) && checker.enabledInContext(resource)) {
run = true;
if (chegistry.isCheckerEnabled(checker, resource))
run = true;
if (run)
checker.processResource(resource); checker.processResource(resource);
}
} catch (Throwable e) { } catch (Throwable e) {
CodanCorePlugin.log(e); CodanCorePlugin.log(e);
} }
@ -170,18 +167,19 @@ public class CodanBuilder extends IncrementalProjectBuilder implements
((IProblemReporterPersistent) problemReporter) ((IProblemReporterPersistent) problemReporter)
.deleteProblems(resource); .deleteProblems(resource);
} }
for (IChecker checker : CheckersRegisry.getInstance()) { CheckersRegisry chegistry = CheckersRegisry.getInstance();
for (IChecker checker : chegistry) {
try { try {
boolean run = false; boolean run = false;
if (checker.enabledInContext(resource)) if (checker.enabledInContext(resource)
run = true; && chegistry.isCheckerEnabled(checker, resource)) {
if (CheckersRegisry.getInstance().isCheckerEnabled(checker,
resource)) {
run = true; run = true;
} }
if (run && checker.runInEditor() if (run && checker.runInEditor()
&& checker instanceof IRunnableInEditorChecker) && checker instanceof IRunnableInEditorChecker)
((IRunnableInEditorChecker) checker).processModel(model); ((IRunnableInEditorChecker) checker).processModel(model);
if (monitor.isCanceled())
break;
} catch (Throwable e) { } catch (Throwable e) {
CodanCorePlugin.log(e); CodanCorePlugin.log(e);
} }