mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-05 16:56:04 +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 java.util.List;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.dom.parser.CLanguageKeywords;
|
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.model.ICLanguageKeywords;
|
||||||
import org.eclipse.cdt.core.parser.ParserLanguage;
|
import org.eclipse.cdt.core.parser.ParserLanguage;
|
||||||
import org.eclipse.cdt.core.parser.util.CharArrayMap;
|
import org.eclipse.cdt.core.parser.util.CharArrayMap;
|
||||||
|
@ -78,10 +79,16 @@ public class XlcKeywords extends CLanguageKeywords {
|
||||||
|
|
||||||
|
|
||||||
private XlcKeywords(ParserLanguage language) {
|
private XlcKeywords(ParserLanguage language) {
|
||||||
super(language, XlcCScannerExtensionConfiguration.getInstance());
|
super(language, getConfig(language));
|
||||||
this.language = 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
|
* Returns the LPG token kind for additional keywords defined by
|
||||||
* the XLC extensions, null otherwise.
|
* the XLC extensions, null otherwise.
|
||||||
|
@ -93,7 +100,7 @@ public class XlcKeywords extends CLanguageKeywords {
|
||||||
@Override
|
@Override
|
||||||
public synchronized String[] getKeywords() {
|
public synchronized String[] getKeywords() {
|
||||||
if(allKeywords == null) {
|
if(allKeywords == null) {
|
||||||
ICLanguageKeywords base = new CLanguageKeywords(language, XlcCScannerExtensionConfiguration.getInstance());
|
ICLanguageKeywords base = new CLanguageKeywords(language, getConfig(language));
|
||||||
String[] baseKeywords = base.getKeywords();
|
String[] baseKeywords = base.getKeywords();
|
||||||
|
|
||||||
List<String> keywords = new ArrayList<String>();
|
List<String> keywords = new ArrayList<String>();
|
||||||
|
|
Loading…
Add table
Reference in a new issue