1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Bug 292949 - XL C++ parser using wrong scanner config - updating keywords

This commit is contained in:
Mike Kucera 2009-10-22 21:36:05 +00:00
parent bd5a8a4f8a
commit 6af575f224

View file

@ -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>();