1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-31 21:05:37 +02:00

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

This commit is contained in:
Mike Kucera 2009-10-22 21:27:51 +00:00
parent 8789d929c1
commit bd5a8a4f8a
5 changed files with 48 additions and 10 deletions

View file

@ -55,7 +55,7 @@ public class XlcCLanguage extends GCCLanguage {
@Override
protected IScannerExtensionConfiguration getScannerExtensionConfiguration() {
return XlcScannerExtensionConfiguration.getInstance();
return XlcCScannerExtensionConfiguration.getInstance();
}

View file

@ -82,7 +82,7 @@ public class XlcCPPLanguage extends GPPLanguage {
@Override
protected IScannerExtensionConfiguration getScannerExtensionConfiguration() {
return XlcScannerExtensionConfiguration.getInstance();
return XlcCPPScannerExtensionConfiguration.getInstance();
}

View file

@ -0,0 +1,38 @@
/*******************************************************************************
* Copyright (c) 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.core.lrparser.xlc;
import org.eclipse.cdt.core.dom.parser.cpp.GPPScannerExtensionConfiguration;
public class XlcCPPScannerExtensionConfiguration extends GPPScannerExtensionConfiguration {
private static XlcCPPScannerExtensionConfiguration instance;
private XlcCPPScannerExtensionConfiguration() {}
public static synchronized XlcCPPScannerExtensionConfiguration getInstance() {
if(instance == null)
instance = new XlcCPPScannerExtensionConfiguration();
return instance;
}
@Override
public boolean supportUTFLiterals() {
return true;
}
@Override
public char[] supportAdditionalNumericLiteralSuffixes() {
return "dflij".toCharArray(); //$NON-NLS-1$
}
}

View file

@ -12,16 +12,16 @@ package org.eclipse.cdt.core.lrparser.xlc;
import org.eclipse.cdt.core.dom.parser.c.GCCScannerExtensionConfiguration;
public class XlcScannerExtensionConfiguration extends GCCScannerExtensionConfiguration {
public class XlcCScannerExtensionConfiguration extends GCCScannerExtensionConfiguration {
private static XlcScannerExtensionConfiguration instance;
private static XlcCScannerExtensionConfiguration instance;
private XlcScannerExtensionConfiguration() {}
private XlcCScannerExtensionConfiguration() {}
public static synchronized XlcScannerExtensionConfiguration getInstance() {
public static synchronized XlcCScannerExtensionConfiguration getInstance() {
if(instance == null)
instance = new XlcScannerExtensionConfiguration();
instance = new XlcCScannerExtensionConfiguration();
return instance;
}
@ -32,6 +32,6 @@ public class XlcScannerExtensionConfiguration extends GCCScannerExtensionConfigu
@Override
public char[] supportAdditionalNumericLiteralSuffixes() {
return "dfl".toCharArray(); //$NON-NLS-1$
return "dflij".toCharArray(); //$NON-NLS-1$
}
}

View file

@ -78,7 +78,7 @@ public class XlcKeywords extends CLanguageKeywords {
private XlcKeywords(ParserLanguage language) {
super(language, XlcScannerExtensionConfiguration.getInstance());
super(language, XlcCScannerExtensionConfiguration.getInstance());
this.language = language;
}
@ -93,7 +93,7 @@ public class XlcKeywords extends CLanguageKeywords {
@Override
public synchronized String[] getKeywords() {
if(allKeywords == null) {
ICLanguageKeywords base = new CLanguageKeywords(language, XlcScannerExtensionConfiguration.getInstance());
ICLanguageKeywords base = new CLanguageKeywords(language, XlcCScannerExtensionConfiguration.getInstance());
String[] baseKeywords = base.getKeywords();
List<String> keywords = new ArrayList<String>();