diff options
author | Mike Kucera | 2009-10-22 21:36:05 +0000 |
---|---|---|
committer | Mike Kucera | 2009-10-22 21:36:05 +0000 |
commit | 6af575f2240e1c94166aadec6a8eb13797f50ea9 (patch) | |
tree | 8db64c9c9742602e66624e0644786133f47d090d /xlc | |
parent | bd5a8a4f8a14b702d8a81113ada08082af2825d1 (diff) | |
download | org.eclipse.cdt-6af575f2240e1c94166aadec6a8eb13797f50ea9.tar.gz org.eclipse.cdt-6af575f2240e1c94166aadec6a8eb13797f50ea9.tar.xz org.eclipse.cdt-6af575f2240e1c94166aadec6a8eb13797f50ea9.zip |
Bug 292949 - XL C++ parser using wrong scanner config - updating keywords
Diffstat (limited to 'xlc')
-rw-r--r-- | xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcKeywords.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcKeywords.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcKeywords.java index 86e4acca281..ebe6c2f1a95 100644 --- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcKeywords.java +++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/core/lrparser/xlc/XlcKeywords.java @@ -15,6 +15,7 @@ import java.util.Arrays; import java.util.List; import org.eclipse.cdt.core.dom.parser.CLanguageKeywords; +import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration; import org.eclipse.cdt.core.model.ICLanguageKeywords; import org.eclipse.cdt.core.parser.ParserLanguage; import org.eclipse.cdt.core.parser.util.CharArrayMap; @@ -78,10 +79,16 @@ public class XlcKeywords extends CLanguageKeywords { private XlcKeywords(ParserLanguage language) { - super(language, XlcCScannerExtensionConfiguration.getInstance()); + super(language, getConfig(language)); this.language = language; } + private static IScannerExtensionConfiguration getConfig(ParserLanguage lang) { + return lang.isCPP() + ? XlcCPPScannerExtensionConfiguration.getInstance() + : XlcCScannerExtensionConfiguration.getInstance(); + } + /** * Returns the LPG token kind for additional keywords defined by * the XLC extensions, null otherwise. @@ -93,7 +100,7 @@ public class XlcKeywords extends CLanguageKeywords { @Override public synchronized String[] getKeywords() { if(allKeywords == null) { - ICLanguageKeywords base = new CLanguageKeywords(language, XlcCScannerExtensionConfiguration.getInstance()); + ICLanguageKeywords base = new CLanguageKeywords(language, getConfig(language)); String[] baseKeywords = base.getKeywords(); List<String> keywords = new ArrayList<String>(); |