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:
parent
bd5a8a4f8a
commit
6af575f224
1 changed files with 9 additions and 2 deletions
|
@ -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>();
|
||||
|
|
Loading…
Add table
Reference in a new issue