From 0017da7863158d2b04919e64b4d6ca5bbadff1f8 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Wed, 18 Jan 2006 18:56:25 +0000 Subject: [PATCH] Fixed up handling of header files to check the nature of the project. --- .../eclipse/cdt/internal/core/model/TranslationUnit.java | 9 +++++++++ .../cdt/internal/core/pdom/dom/c/PDOMCLinkage.java | 1 - 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/TranslationUnit.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/TranslationUnit.java index 0fccc39602f..9db160ecb8b 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/TranslationUnit.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/TranslationUnit.java @@ -17,6 +17,7 @@ import java.util.Map; import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.model.CModelException; +import org.eclipse.cdt.core.model.CoreModel; import org.eclipse.cdt.core.model.IBuffer; import org.eclipse.cdt.core.model.ICElement; import org.eclipse.cdt.core.model.IInclude; @@ -660,6 +661,14 @@ public class TranslationUnit extends Openable implements ITranslationUnit { IContentTypeManager manager = Platform.getContentTypeManager(); IContentType contentType = manager.getContentType(contentTypeId); language = LanguageManager.getInstance().getLanguage(contentType); + + // Special magic for C/C++ header files + if (language == null && isHeaderUnit()) { + contentType = CoreModel.hasCCNature(getResource().getProject()) + ? manager.getContentType(CCorePlugin.CONTENT_TYPE_CXXSOURCE) + : manager.getContentType(CCorePlugin.CONTENT_TYPE_CSOURCE); + language = LanguageManager.getInstance().getLanguage(contentType); + } } return language; diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCLinkage.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCLinkage.java index 77cbf116add..15e3b2173b1 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCLinkage.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCLinkage.java @@ -15,7 +15,6 @@ import org.eclipse.cdt.core.dom.ast.IASTCompoundStatement; import org.eclipse.cdt.core.dom.ast.IASTFunctionCallExpression; import org.eclipse.cdt.core.dom.ast.IASTIdExpression; import org.eclipse.cdt.core.dom.ast.IASTName; -import org.eclipse.cdt.core.dom.ast.IASTNamedTypeSpecifier; import org.eclipse.cdt.core.dom.ast.IASTNode; import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; import org.eclipse.cdt.core.dom.ast.IBinding;