From 2600c79835a889b39f456b839e3effecbc82a062 Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Thu, 23 Jan 2003 16:40:04 +0000 Subject: [PATCH] New methods getHeaderExtensions() getSourceExtensions() getTranslationUnitExtensions() --- .../internal/core/model/CModelManager.java | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java index 6479db50975..1db915a2799 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java @@ -82,7 +82,9 @@ public class CModelManager implements IResourceChangeListener { */ protected ArrayList fElementChangedListeners= new ArrayList(); - public static final String [] cExtensions = {"c", "cxx", "cc", "C", "cpp", "h", "hh"}; + public static final String [] sourceExtensions = {"c", "cxx", "cc", "C", "cpp"}; + + public static final String [] headerExtensions = {"h", "hh", "hpp"}; static CModelManager factory = null; @@ -527,12 +529,30 @@ public class CModelManager implements IResourceChangeListener { return false; } String ext = name.substring(index + 1); - for (int i = 0; i < cExtensions.length; i++) { - if (ext.equals(cExtensions[i])) + String[] cexts = getTranslationUnitExtensions(); + for (int i = 0; i < cexts.length; i++) { + if (ext.equals(cexts[i])) return true; } return false; } + + public String[] getHeaderExtensions() { + return headerExtensions; + } + + public String[] getSourceExtensions() { + return sourceExtensions; + } + + public String[] getTranslationUnitExtensions() { + String[] headers = getHeaderExtensions(); + String[] sources = getSourceExtensions(); + String[] cexts = new String[headers.length + sources.length]; + System.arraycopy(sources, 0, cexts, 0, sources.length); + System.arraycopy(headers, 0, cexts, sources.length, headers.length); + return cexts; + } /* Only project with C nature and Open. */ public boolean hasCNature (IProject p) {