diff --git a/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/CxxCodanReconciler.java b/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/CxxCodanReconciler.java index 5e7aa110294..f823169c573 100644 --- a/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/CxxCodanReconciler.java +++ b/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/CxxCodanReconciler.java @@ -12,8 +12,12 @@ package org.eclipse.cdt.codan.core.cxx.internal.model; import org.eclipse.cdt.codan.core.CodanRuntime; import org.eclipse.cdt.codan.internal.core.CodanBuilder; +import org.eclipse.cdt.core.CCProjectNature; +import org.eclipse.cdt.core.CProjectNature; import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; +import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; /** @@ -21,12 +25,23 @@ import org.eclipse.core.runtime.IProgressMonitor; * */ public class CxxCodanReconciler { - private CodanBuilder builder = (CodanBuilder) CodanRuntime.getInstance().getBuilder(); + private CodanBuilder builder = (CodanBuilder) CodanRuntime.getInstance() + .getBuilder(); public void reconciledAst(IASTTranslationUnit ast, IResource resource, IProgressMonitor monitor) { if (ast == null) return; - builder.runInEditor(ast, resource, monitor); + IProject project = resource.getProject(); + if (project==null) return; + try { + if (project.hasNature(CProjectNature.C_NATURE_ID) + || project.hasNature(CCProjectNature.CC_NATURE_ID)) { + builder.runInEditor(ast, resource, monitor); + } + } catch (CoreException e) { + // ignore + } + } }