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

bug 53213- Externalize Strings

This commit is contained in:
Andrew Niefer 2004-03-04 18:00:20 +00:00
parent df6bb6a3af
commit 71de5821df
13 changed files with 445 additions and 317 deletions

View file

@ -1,3 +1,6 @@
2004-03-04 Andrew Niefer
bug 53213 externalize strings
2004-03-03 John Camelon
Refactored parser for further content assist work.

View file

@ -12,6 +12,8 @@ package org.eclipse.cdt.core.parser;
import java.util.Map;
import org.eclipse.cdt.internal.core.parser.ParserMessages;
/**
* @author jcamelon
*
@ -105,7 +107,7 @@ public interface IProblem
/**
* Unknown filename sentinel value
*/
public final static String FILENAME_NOT_PROVIDED = "<unknown>";
public final static String FILENAME_NOT_PROVIDED = ParserMessages.getString("IProblem.unknownFileName"); //$NON-NLS-1$
/**
* Problem Categories
@ -168,17 +170,17 @@ public interface IProblem
/**
* The text that follows a #error preprocessor directive
*/
public final static String A_PREPROC_POUND_ERROR = "#error text";
public final static String A_PREPROC_POUND_ERROR = ParserMessages.getString("IProblem.preproc.poundError"); //$NON-NLS-1$
/**
* The filename that failed somehow in an preprocessor include directive
*/
public final static String A_PREPROC_INCLUDE_FILENAME = "include file";
public final static String A_PREPROC_INCLUDE_FILENAME = ParserMessages.getString("IProblem.preproc.include"); //$NON-NLS-1$
/**
* A preprocessor macro name
*/
public final static String A_PREPROC_MACRO_NAME = "macro name";
public final static String A_PREPROC_MACRO_NAME = ParserMessages.getString("IProblem.preproc.macro"); //$NON-NLS-1$
/**
* A preprocessor conditional that could not be evaluated
@ -186,14 +188,14 @@ public interface IProblem
* #if X + Y == Z <== that one, if X, Y or Z are not defined
* #endif
*/
public final static String A_PREPROC_CONDITION = "preprocessor condition";
public final static String A_PREPROC_CONDITION = ParserMessages.getString("IProblem.preproc.condition"); //$NON-NLS-1$
/**
* A preprocessor directive that could not be interpretted
*
* e.g. #blah
*/
public final static String A_PREPROC_UNKNOWN_DIRECTIVE = "bad preprocessor directive";
public final static String A_PREPROC_UNKNOWN_DIRECTIVE = ParserMessages.getString("IProblem.preproc.unknownDirective"); //$NON-NLS-1$
/**
* The preprocessor conditional statement that caused an unbalanced mismatch.
@ -203,7 +205,7 @@ public interface IProblem
* #else <=== that one
* #endif
*/
public final static String A_PREPROC_CONDITIONAL_MISMATCH = "conditional mismatch";
public final static String A_PREPROC_CONDITIONAL_MISMATCH = ParserMessages.getString("IProblem.preproc.conditionalMismatch"); //$NON-NLS-1$
/**
* The Bad character encountered in scanner
@ -213,17 +215,17 @@ public interface IProblem
/**
* A_SYMBOL_NAME - symbol name
*/
public static final String A_SYMBOL_NAME = "symbol name";
public static final String A_SYMBOL_NAME = ParserMessages.getString("IProblem.symbolName"); //$NON-NLS-1$
/**
* A_NAMESPACE_NAME = namespace name
*/
public static final String A_NAMESPACE_NAME = "namespace name";
public static final String A_NAMESPACE_NAME = ParserMessages.getString("IProblem.namespaceName"); //$NON-NLS-1$
/**
* A_TYPE_NAME - type name
*/
public static final String A_TYPE_NAME = "type name";
public static final String A_TYPE_NAME = ParserMessages.getString("IProblem.typeName"); //$NON-NLS-1$
/**
* Below are listed all available problem IDs. Note that this list could be augmented in the future,

View file

@ -124,92 +124,92 @@ public interface IASTExpression extends ISourceElementCallbackDelegate
static
{
names = new Hashtable();
names.put( PRIMARY_EMPTY, "PRIMARY_EMPTY" );
names.put( PRIMARY_INTEGER_LITERAL , "PRIMARY_INTEGER_LITERAL" );
names.put( PRIMARY_CHAR_LITERAL , "PRIMARY_CHAR_LITERAL" );
names.put( PRIMARY_FLOAT_LITERAL , "PRIMARY_FLOAT_LITERAL" );
names.put( PRIMARY_STRING_LITERAL , "PRIMARY_STRING_LITERAL" );
names.put( PRIMARY_BOOLEAN_LITERAL , "PRIMARY_BOOLEAN_LITERAL" );
names.put( PRIMARY_THIS , "PRIMARY_THIS");
names.put( PRIMARY_BRACKETED_EXPRESSION , "PRIMARY_BRACKETED_EXPRESSION");
names.put( ID_EXPRESSION , "ID_EXPRESSION");
names.put( POSTFIX_SUBSCRIPT , "POSTFIX_SUBSCRIPT");
names.put( POSTFIX_FUNCTIONCALL , "POSTFIX_FUNCTIONCALL");
names.put( POSTFIX_SIMPLETYPE_INT , "POSTFIX_SIMPLETYPE_INT");
names.put( POSTFIX_SIMPLETYPE_SHORT , "POSTFIX_SIMPLETYPE_SHORT");
names.put( POSTFIX_SIMPLETYPE_DOUBLE , "POSTFIX_SIMPLETYPE_DOUBLE");
names.put( POSTFIX_SIMPLETYPE_FLOAT , "POSTFIX_SIMPLETYPE_FLOAT");
names.put( POSTFIX_SIMPLETYPE_CHAR , "POSTFIX_SIMPLETYPE_CHAR");
names.put( POSTFIX_SIMPLETYPE_WCHART , "POSTFIX_SIMPLETYPE_WCHART");
names.put( POSTFIX_SIMPLETYPE_SIGNED , "POSTFIX_SIMPLETYPE_SIGNED");
names.put( POSTFIX_SIMPLETYPE_UNSIGNED , "POSTFIX_SIMPLETYPE_UNSIGNED");
names.put( POSTFIX_SIMPLETYPE_BOOL , "POSTFIX_SIMPLETYPE_BOOL");
names.put( POSTFIX_SIMPLETYPE_LONG , "POSTFIX_SIMPLETYPE_LONG");
names.put( POSTFIX_TYPENAME_IDENTIFIER , "POSTFIX_TYPENAME_IDENTIFIER");
names.put( POSTFIX_TYPENAME_TEMPLATEID, "POSTFIX_TYPENAME_TEMPLATEID" );
names.put( POSTFIX_DOT_IDEXPRESSION , "POSTFIX_DOT_IDEXPRESSION");
names.put( POSTFIX_ARROW_IDEXPRESSION , "POSTFIX_ARROW_IDEXPRESSION");
names.put( POSTFIX_DOT_TEMPL_IDEXPRESS , "POSTFIX_DOT_TEMPL_IDEXPRESS");
names.put( POSTFIX_ARROW_TEMPL_IDEXP , "POSTFIX_ARROW_TEMPL_IDEXP");
names.put( POSTFIX_DOT_DESTRUCTOR , "POSTFIX_DOT_DESTRUCTOR");
names.put( POSTFIX_ARROW_DESTRUCTOR , "POSTFIX_ARROW_DESTRUCTOR");
names.put( POSTFIX_INCREMENT , "POSTFIX_INCREMENT");
names.put( POSTFIX_DECREMENT , "POSTFIX_DECREMENT");
names.put( POSTFIX_DYNAMIC_CAST , "POSTFIX_DYNAMIC_CAST");
names.put( POSTFIX_REINTERPRET_CAST , "POSTFIX_REINTERPRET_CAST");
names.put( POSTFIX_STATIC_CAST , "POSTFIX_STATIC_CAST");
names.put( POSTFIX_CONST_CAST , "POSTFIX_CONST_CAST");
names.put( POSTFIX_TYPEID_EXPRESSION , "POSTFIX_TYPEID_EXPRESSION");
names.put( POSTFIX_TYPEID_TYPEID , "POSTFIX_TYPEID_TYPEID");
names.put( UNARY_INCREMENT , "UNARY_INCREMENT");
names.put( UNARY_DECREMENT , "UNARY_DECREMENT");
names.put( UNARY_STAR_CASTEXPRESSION , "UNARY_STAR_CASTEXPRESSION");
names.put( UNARY_AMPSND_CASTEXPRESSION , "UNARY_AMPSND_CASTEXPRESSION");
names.put( UNARY_PLUS_CASTEXPRESSION , "UNARY_PLUS_CASTEXPRESSION");
names.put( UNARY_MINUS_CASTEXPRESSION , "UNARY_MINUS_CASTEXPRESSION");
names.put( UNARY_NOT_CASTEXPRESSION , "UNARY_NOT_CASTEXPRESSION");
names.put( UNARY_TILDE_CASTEXPRESSION , "UNARY_TILDE_CASTEXPRESSION");
names.put( UNARY_SIZEOF_UNARYEXPRESSION , "UNARY_SIZEOF_UNARYEXPRESSION");
names.put( UNARY_SIZEOF_TYPEID , "UNARY_SIZEOF_TYPEID");
names.put( NEW_NEWTYPEID , "NEW_NEWTYPEID");
names.put( NEW_TYPEID , "NEW_TYPEID");
names.put( DELETE_CASTEXPRESSION , "DELETE_CASTEXPRESSION");
names.put( DELETE_VECTORCASTEXPRESSION , "DELETE_VECTORCASTEXPRESSION");
names.put( CASTEXPRESSION , "CASTEXPRESSION");
names.put( PM_DOTSTAR , "PM_DOTSTAR");
names.put( PM_ARROWSTAR , "PM_ARROWSTAR");
names.put( MULTIPLICATIVE_MULTIPLY , "MULTIPLICATIVE_MULTIPLY");
names.put( MULTIPLICATIVE_DIVIDE , "MULTIPLICATIVE_DIVIDE");
names.put( MULTIPLICATIVE_MODULUS , "MULTIPLICATIVE_MODULUS");
names.put( ADDITIVE_PLUS , "ADDITIVE_PLUS");
names.put( ADDITIVE_MINUS , "ADDITIVE_MINUS");
names.put( SHIFT_LEFT , "SHIFT_LEFT");
names.put( SHIFT_RIGHT , "SHIFT_RIGHT");
names.put( RELATIONAL_LESSTHAN , "RELATIONAL_LESSTHAN");
names.put( RELATIONAL_GREATERTHAN , "RELATIONAL_GREATERTHAN");
names.put( RELATIONAL_LESSTHANEQUALTO , "RELATIONAL_LESSTHANEQUALTO");
names.put( RELATIONAL_GREATERTHANEQUALTO, "RELATIONAL_GREATERTHANEQUALTO" );
names.put( EQUALITY_EQUALS , "EQUALITY_EQUALS");
names.put( EQUALITY_NOTEQUALS , "EQUALITY_NOTEQUALS");
names.put( ANDEXPRESSION , "ANDEXPRESSION");
names.put( EXCLUSIVEOREXPRESSION , "EXCLUSIVEOREXPRESSION");
names.put( INCLUSIVEOREXPRESSION , "INCLUSIVEOREXPRESSION");
names.put( LOGICALANDEXPRESSION , "LOGICALANDEXPRESSION");
names.put( LOGICALOREXPRESSION , "LOGICALOREXPRESSION");
names.put( CONDITIONALEXPRESSION , "CONDITIONALEXPRESSION");
names.put( THROWEXPRESSION , "THROWEXPRESSION");
names.put( ASSIGNMENTEXPRESSION_NORMAL , "ASSIGNMENTEXPRESSION_NORMAL");
names.put( ASSIGNMENTEXPRESSION_PLUS , "ASSIGNMENTEXPRESSION_PLUS");
names.put( ASSIGNMENTEXPRESSION_MINUS , "ASSIGNMENTEXPRESSION_MINUS");
names.put( ASSIGNMENTEXPRESSION_MULT , "ASSIGNMENTEXPRESSION_MULT");
names.put( ASSIGNMENTEXPRESSION_DIV , "ASSIGNMENTEXPRESSION_DIV");
names.put( ASSIGNMENTEXPRESSION_MOD , "ASSIGNMENTEXPRESSION_MOD");
names.put( ASSIGNMENTEXPRESSION_LSHIFT , "ASSIGNMENTEXPRESSION_LSHIFT");
names.put( ASSIGNMENTEXPRESSION_RSHIFT , "ASSIGNMENTEXPRESSION_RSHIFT");
names.put( ASSIGNMENTEXPRESSION_AND , "ASSIGNMENTEXPRESSION_AND");
names.put( ASSIGNMENTEXPRESSION_OR , "ASSIGNMENTEXPRESSION_OR");
names.put( ASSIGNMENTEXPRESSION_XOR , "ASSIGNMENTEXPRESSION_XOR");
names.put( EXPRESSIONLIST , "EXPRESSIONLIST");
names.put( PRIMARY_EMPTY, "PRIMARY_EMPTY" ); //$NON-NLS-1$
names.put( PRIMARY_INTEGER_LITERAL , "PRIMARY_INTEGER_LITERAL" ); //$NON-NLS-1$
names.put( PRIMARY_CHAR_LITERAL , "PRIMARY_CHAR_LITERAL" ); //$NON-NLS-1$
names.put( PRIMARY_FLOAT_LITERAL , "PRIMARY_FLOAT_LITERAL" ); //$NON-NLS-1$
names.put( PRIMARY_STRING_LITERAL , "PRIMARY_STRING_LITERAL" ); //$NON-NLS-1$
names.put( PRIMARY_BOOLEAN_LITERAL , "PRIMARY_BOOLEAN_LITERAL" ); //$NON-NLS-1$
names.put( PRIMARY_THIS , "PRIMARY_THIS"); //$NON-NLS-1$
names.put( PRIMARY_BRACKETED_EXPRESSION , "PRIMARY_BRACKETED_EXPRESSION"); //$NON-NLS-1$
names.put( ID_EXPRESSION , "ID_EXPRESSION"); //$NON-NLS-1$
names.put( POSTFIX_SUBSCRIPT , "POSTFIX_SUBSCRIPT"); //$NON-NLS-1$
names.put( POSTFIX_FUNCTIONCALL , "POSTFIX_FUNCTIONCALL"); //$NON-NLS-1$
names.put( POSTFIX_SIMPLETYPE_INT , "POSTFIX_SIMPLETYPE_INT"); //$NON-NLS-1$
names.put( POSTFIX_SIMPLETYPE_SHORT , "POSTFIX_SIMPLETYPE_SHORT"); //$NON-NLS-1$
names.put( POSTFIX_SIMPLETYPE_DOUBLE , "POSTFIX_SIMPLETYPE_DOUBLE"); //$NON-NLS-1$
names.put( POSTFIX_SIMPLETYPE_FLOAT , "POSTFIX_SIMPLETYPE_FLOAT"); //$NON-NLS-1$
names.put( POSTFIX_SIMPLETYPE_CHAR , "POSTFIX_SIMPLETYPE_CHAR"); //$NON-NLS-1$
names.put( POSTFIX_SIMPLETYPE_WCHART , "POSTFIX_SIMPLETYPE_WCHART"); //$NON-NLS-1$
names.put( POSTFIX_SIMPLETYPE_SIGNED , "POSTFIX_SIMPLETYPE_SIGNED"); //$NON-NLS-1$
names.put( POSTFIX_SIMPLETYPE_UNSIGNED , "POSTFIX_SIMPLETYPE_UNSIGNED"); //$NON-NLS-1$
names.put( POSTFIX_SIMPLETYPE_BOOL , "POSTFIX_SIMPLETYPE_BOOL"); //$NON-NLS-1$
names.put( POSTFIX_SIMPLETYPE_LONG , "POSTFIX_SIMPLETYPE_LONG"); //$NON-NLS-1$
names.put( POSTFIX_TYPENAME_IDENTIFIER , "POSTFIX_TYPENAME_IDENTIFIER"); //$NON-NLS-1$
names.put( POSTFIX_TYPENAME_TEMPLATEID, "POSTFIX_TYPENAME_TEMPLATEID" ); //$NON-NLS-1$
names.put( POSTFIX_DOT_IDEXPRESSION , "POSTFIX_DOT_IDEXPRESSION"); //$NON-NLS-1$
names.put( POSTFIX_ARROW_IDEXPRESSION , "POSTFIX_ARROW_IDEXPRESSION"); //$NON-NLS-1$
names.put( POSTFIX_DOT_TEMPL_IDEXPRESS , "POSTFIX_DOT_TEMPL_IDEXPRESS"); //$NON-NLS-1$
names.put( POSTFIX_ARROW_TEMPL_IDEXP , "POSTFIX_ARROW_TEMPL_IDEXP"); //$NON-NLS-1$
names.put( POSTFIX_DOT_DESTRUCTOR , "POSTFIX_DOT_DESTRUCTOR"); //$NON-NLS-1$
names.put( POSTFIX_ARROW_DESTRUCTOR , "POSTFIX_ARROW_DESTRUCTOR"); //$NON-NLS-1$
names.put( POSTFIX_INCREMENT , "POSTFIX_INCREMENT"); //$NON-NLS-1$
names.put( POSTFIX_DECREMENT , "POSTFIX_DECREMENT"); //$NON-NLS-1$
names.put( POSTFIX_DYNAMIC_CAST , "POSTFIX_DYNAMIC_CAST"); //$NON-NLS-1$
names.put( POSTFIX_REINTERPRET_CAST , "POSTFIX_REINTERPRET_CAST"); //$NON-NLS-1$
names.put( POSTFIX_STATIC_CAST , "POSTFIX_STATIC_CAST"); //$NON-NLS-1$
names.put( POSTFIX_CONST_CAST , "POSTFIX_CONST_CAST"); //$NON-NLS-1$
names.put( POSTFIX_TYPEID_EXPRESSION , "POSTFIX_TYPEID_EXPRESSION"); //$NON-NLS-1$
names.put( POSTFIX_TYPEID_TYPEID , "POSTFIX_TYPEID_TYPEID"); //$NON-NLS-1$
names.put( UNARY_INCREMENT , "UNARY_INCREMENT"); //$NON-NLS-1$
names.put( UNARY_DECREMENT , "UNARY_DECREMENT"); //$NON-NLS-1$
names.put( UNARY_STAR_CASTEXPRESSION , "UNARY_STAR_CASTEXPRESSION"); //$NON-NLS-1$
names.put( UNARY_AMPSND_CASTEXPRESSION , "UNARY_AMPSND_CASTEXPRESSION"); //$NON-NLS-1$
names.put( UNARY_PLUS_CASTEXPRESSION , "UNARY_PLUS_CASTEXPRESSION"); //$NON-NLS-1$
names.put( UNARY_MINUS_CASTEXPRESSION , "UNARY_MINUS_CASTEXPRESSION"); //$NON-NLS-1$
names.put( UNARY_NOT_CASTEXPRESSION , "UNARY_NOT_CASTEXPRESSION"); //$NON-NLS-1$
names.put( UNARY_TILDE_CASTEXPRESSION , "UNARY_TILDE_CASTEXPRESSION"); //$NON-NLS-1$
names.put( UNARY_SIZEOF_UNARYEXPRESSION , "UNARY_SIZEOF_UNARYEXPRESSION"); //$NON-NLS-1$
names.put( UNARY_SIZEOF_TYPEID , "UNARY_SIZEOF_TYPEID"); //$NON-NLS-1$
names.put( NEW_NEWTYPEID , "NEW_NEWTYPEID"); //$NON-NLS-1$
names.put( NEW_TYPEID , "NEW_TYPEID"); //$NON-NLS-1$
names.put( DELETE_CASTEXPRESSION , "DELETE_CASTEXPRESSION"); //$NON-NLS-1$
names.put( DELETE_VECTORCASTEXPRESSION , "DELETE_VECTORCASTEXPRESSION"); //$NON-NLS-1$
names.put( CASTEXPRESSION , "CASTEXPRESSION"); //$NON-NLS-1$
names.put( PM_DOTSTAR , "PM_DOTSTAR"); //$NON-NLS-1$
names.put( PM_ARROWSTAR , "PM_ARROWSTAR"); //$NON-NLS-1$
names.put( MULTIPLICATIVE_MULTIPLY , "MULTIPLICATIVE_MULTIPLY"); //$NON-NLS-1$
names.put( MULTIPLICATIVE_DIVIDE , "MULTIPLICATIVE_DIVIDE"); //$NON-NLS-1$
names.put( MULTIPLICATIVE_MODULUS , "MULTIPLICATIVE_MODULUS"); //$NON-NLS-1$
names.put( ADDITIVE_PLUS , "ADDITIVE_PLUS"); //$NON-NLS-1$
names.put( ADDITIVE_MINUS , "ADDITIVE_MINUS"); //$NON-NLS-1$
names.put( SHIFT_LEFT , "SHIFT_LEFT"); //$NON-NLS-1$
names.put( SHIFT_RIGHT , "SHIFT_RIGHT"); //$NON-NLS-1$
names.put( RELATIONAL_LESSTHAN , "RELATIONAL_LESSTHAN"); //$NON-NLS-1$
names.put( RELATIONAL_GREATERTHAN , "RELATIONAL_GREATERTHAN"); //$NON-NLS-1$
names.put( RELATIONAL_LESSTHANEQUALTO , "RELATIONAL_LESSTHANEQUALTO"); //$NON-NLS-1$
names.put( RELATIONAL_GREATERTHANEQUALTO, "RELATIONAL_GREATERTHANEQUALTO" ); //$NON-NLS-1$
names.put( EQUALITY_EQUALS , "EQUALITY_EQUALS"); //$NON-NLS-1$
names.put( EQUALITY_NOTEQUALS , "EQUALITY_NOTEQUALS"); //$NON-NLS-1$
names.put( ANDEXPRESSION , "ANDEXPRESSION"); //$NON-NLS-1$
names.put( EXCLUSIVEOREXPRESSION , "EXCLUSIVEOREXPRESSION"); //$NON-NLS-1$
names.put( INCLUSIVEOREXPRESSION , "INCLUSIVEOREXPRESSION"); //$NON-NLS-1$
names.put( LOGICALANDEXPRESSION , "LOGICALANDEXPRESSION"); //$NON-NLS-1$
names.put( LOGICALOREXPRESSION , "LOGICALOREXPRESSION"); //$NON-NLS-1$
names.put( CONDITIONALEXPRESSION , "CONDITIONALEXPRESSION"); //$NON-NLS-1$
names.put( THROWEXPRESSION , "THROWEXPRESSION"); //$NON-NLS-1$
names.put( ASSIGNMENTEXPRESSION_NORMAL , "ASSIGNMENTEXPRESSION_NORMAL"); //$NON-NLS-1$
names.put( ASSIGNMENTEXPRESSION_PLUS , "ASSIGNMENTEXPRESSION_PLUS"); //$NON-NLS-1$
names.put( ASSIGNMENTEXPRESSION_MINUS , "ASSIGNMENTEXPRESSION_MINUS"); //$NON-NLS-1$
names.put( ASSIGNMENTEXPRESSION_MULT , "ASSIGNMENTEXPRESSION_MULT"); //$NON-NLS-1$
names.put( ASSIGNMENTEXPRESSION_DIV , "ASSIGNMENTEXPRESSION_DIV"); //$NON-NLS-1$
names.put( ASSIGNMENTEXPRESSION_MOD , "ASSIGNMENTEXPRESSION_MOD"); //$NON-NLS-1$
names.put( ASSIGNMENTEXPRESSION_LSHIFT , "ASSIGNMENTEXPRESSION_LSHIFT"); //$NON-NLS-1$
names.put( ASSIGNMENTEXPRESSION_RSHIFT , "ASSIGNMENTEXPRESSION_RSHIFT"); //$NON-NLS-1$
names.put( ASSIGNMENTEXPRESSION_AND , "ASSIGNMENTEXPRESSION_AND"); //$NON-NLS-1$
names.put( ASSIGNMENTEXPRESSION_OR , "ASSIGNMENTEXPRESSION_OR"); //$NON-NLS-1$
names.put( ASSIGNMENTEXPRESSION_XOR , "ASSIGNMENTEXPRESSION_XOR"); //$NON-NLS-1$
names.put( EXPRESSIONLIST , "EXPRESSIONLIST"); //$NON-NLS-1$
}
/**

View file

@ -0,0 +1,78 @@
/**********************************************************************
* Copyright (c) 2004 Rational Software Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v0.5
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v05.html
*
* Contributors:
* IBM Rational Software - Initial API and implementation
***********************************************************************/
package org.eclipse.cdt.internal.core.parser;
import java.text.MessageFormat;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
/**
* @author aniefer
*
* To change the template for this generated type comment go to
* Window - Preferences - Java - Code Generation - Code and Comments
*/
public class ParserMessages {
private static final String BUNDLE_NAME = "org.eclipse.cdt.internal.core.parser.ParserMessages";//$NON-NLS-1$
private static ResourceBundle resourceBundle;
static {
try {
resourceBundle = ResourceBundle.getBundle( BUNDLE_NAME );
} catch (MissingResourceException x) {
resourceBundle = null;
}
}
/**
*
*/
private ParserMessages() {
}
/**
* @param key
* @return
*/
public static String getString(String key) {
if( resourceBundle == null ){
return '#' + key +'#';
} else {
try {
return resourceBundle.getString(key);
} catch (MissingResourceException e) {
return '!' + key + '!';
}
}
}
/**
* Gets a string from the resource bundle and formats it with the argument
*
* @param key the string used to get the bundle value, must not be null
*/
public static String getFormattedString(String key, Object[] args) {
String format = getString( key );
return MessageFormat.format(format, args);
}
/**
* Gets a string from the resource bundle and formats it with the argument
*
* @param key the string used to get the bundle value, must not be null
*/
public static String getFormattedString(String key, Object arg) {
String format = getString( key );
if (arg == null)
arg = ""; //$NON-NLS-1$
return MessageFormat.format(format, new Object[] { arg });
}
}

View file

@ -0,0 +1,50 @@
###########################################################################
# Copyright (c) 2004 IBM - Rational Software and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Common Public License v0.5
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v05.html
#
# Contributors:
# IBM Rational Software - Initial API and implementation
#############################################################################
IProblem.unknownFileName=<unknown>
IProblem.preproc.poundError=#error text
IProblem.preproc.include=include file
IProblem.preproc.macro=macro name
IProblem.preproc.condition=preprocessor condition
IProblem.preproc.unknownDirective=bad preprocessor directive
IProblem.preproc.conditionalMismatch=conditional mismatch
IProblem.symbolName=symbol name
IProblem.namespaceName=namespace name
IProblem.typeName=type name
QuickParseCallback.exception.constIterator=OffsetableIterator is a const iterator
ScannerProblemFactory.error.preproc.error=#error encountered with text: {0}
ScannerProblemFactory.error.preproc.inclusionNotFound=Preprocessor Inclusion not found: {0}
ScannerProblemFactory.error.preproc.definitionNotFound=Macro definition not found: {0}
ScannerProblemFactory.error.preproc.invalidMacroDefn=Macro definition malformed for macro: {0}
ScannerProblemFactory.error.preproc.invalidMacroRedefn=Invalid macro redefinition for macro : {0}
ScannerProblemFactory.error.preproc.unbalancedConditional=Preprocessor Conditionals unbalanced : {0}
ScannerProblemFactory.error.preproc.conditionalEval=Expression Evaluation error for condition : {0}
ScannerProblemFactory.error.preproc.macroUsage=Macro usage error for macro : {0}
ScannerProblemFactory.error.preproc.circularInclusion=Circular inclusion for file : {0}
ScannerProblemFactory.error.preproc.invalidDirective=Invalid preprocessor directive : {0}
ScannerProblemFactory.error.preproc.macroPasting=Invalid use of macro pasting in macro : {0}
ScannerProblemFactory.error.scanner.invalidEscapeChar=Invalid escape character encountered
ScannerProblemFactory.error.scanner.unboundedString=Unbounded string encountered
ScannerProblemFactory.error.scanner.badFloatingPoint=Invalid floating point format encountered
ScannerProblemFactory.error.scanner.badHexFormat=Invalid hexidecimal format encountered
ScannerProblemFactory.error.scanner.unexpectedEOF=Unexpected End Of File encountered
ScannerProblemFactory.error.scanner.badCharacter=Bad character sequence encountered : {0}
ASTProblemFactory.error.semantic.uniqueNamePredefined=Attempt to introduce unique symbol failed : {0}
ASTProblemFactory.error.semantic.nameNotFound=Attempt to use symbol failed : {0}
ASTProblemFactory.error.semantic.nameNotProvided=Name not provided.
LineOffsetReconciler.error.couldNotResetReader=Could not reset Reader
BaseProblemFactory.problemPattern=IProblem : {0} in file: {1} on line: {2, number, integer}.

View file

@ -186,7 +186,7 @@ public class QuickParseCallback extends NullSourceElementRequestor implements IQ
* @see java.util.Iterator#remove()
*/
public void remove() {
throw new UnsupportedOperationException( "OffsetableIterator is a const iterator");
throw new UnsupportedOperationException( ParserMessages.getString("QuickParseCallback.exception.constIterator")); //$NON-NLS-1$
}
}

View file

@ -10,10 +10,12 @@
******************************************************************************/
package org.eclipse.cdt.internal.core.parser.ast.complete;
import java.text.MessageFormat;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.cdt.core.parser.IProblem;
import org.eclipse.cdt.internal.core.parser.ParserMessages;
import org.eclipse.cdt.internal.core.parser.problem.BaseProblemFactory;
import org.eclipse.cdt.internal.core.parser.problem.IProblemFactory;
@ -29,26 +31,24 @@ public class ASTProblemFactory extends BaseProblemFactory implements IProblemFac
protected static final Map errorMessages;
static {
errorMessages = new HashMap();
errorMessages.put( new Integer( IProblem.SEMANTIC_UNIQUE_NAME_PREDEFINED),"Attempt to introduce unique symbol failed : ");
errorMessages.put( new Integer( IProblem.SEMANTIC_NAME_NOT_FOUND), "Attempt to use symbol failed : ");
errorMessages.put( new Integer( IProblem.SEMANTIC_NAME_NOT_PROVIDED), "Name not provided.");
errorMessages.put( new Integer( IProblem.SEMANTIC_UNIQUE_NAME_PREDEFINED),ParserMessages.getString("ASTProblemFactory.error.semantic.uniqueNamePredefined")); //$NON-NLS-1$
errorMessages.put( new Integer( IProblem.SEMANTIC_NAME_NOT_FOUND), ParserMessages.getString("ASTProblemFactory.error.semantic.nameNotFound")); //$NON-NLS-1$
errorMessages.put( new Integer( IProblem.SEMANTIC_NAME_NOT_PROVIDED), ParserMessages.getString("ASTProblemFactory.error.semantic.nameNotProvided")); //$NON-NLS-1$
}
/* (non-Javadoc)
* @see org.eclipse.cdt.internal.core.parser.problem.BaseProblemFactory#createMessage(int, java.util.Map, int, char[])
*/
public String createMessage(int id, Map arguments, int lineNumber,
char[] fileName) {
StringBuffer buffer = new StringBuffer();
public String createMessage(int id, Map arguments, int lineNumber, char[] fileName) {
String message = (String) errorMessages.get( new Integer(id) );
String arg = null;
buffer.append(PROBLEM);
buffer.append(errorMessages.get(new Integer(id)));
switch (id)
{
case IProblem.SEMANTIC_UNIQUE_NAME_PREDEFINED:
case IProblem.SEMANTIC_NAME_NOT_FOUND:
buffer.append(arguments.get(IProblem.A_SYMBOL_NAME));
arg = (String) arguments.get((IProblem.A_SYMBOL_NAME));
break;
case IProblem.SEMANTIC_NAME_NOT_PROVIDED:
break;
@ -56,18 +56,12 @@ public class ASTProblemFactory extends BaseProblemFactory implements IProblemFac
return null;
}
if( fileName != null )
{
buffer.append( IN_FILE );
buffer.append(fileName);
if( arg != null ){
message = MessageFormat.format( message, new Object [] { arg } );
}
if( lineNumber > 0 )
{
buffer.append( ON_LINE );
buffer.append(lineNumber);
}
return buffer.toString();
Object [] args = { message, new String( fileName ), new Integer( lineNumber ) };
return ParserMessages.getFormattedString( PROBLEM_PATTERN, args );
}
/* (non-Javadoc)
* @see org.eclipse.cdt.internal.core.parser.problem.IProblemFactory#createProblem(int, int, int, int, char[], java.util.Map, boolean, boolean)

View file

@ -633,7 +633,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
IProblem p = problemFactory.createProblem( id,
startOffset, endOffset, lineNumber, fileProvider.getCurrentFilename(), arguments, false, true );
StringBuffer logMessage = new StringBuffer( "CompleteParseASTFactory - IProblem : ");
StringBuffer logMessage = new StringBuffer( "CompleteParseASTFactory - IProblem : "); //$NON-NLS-1$
logMessage.append( p.getMessage() );
logService.traceLog( logMessage.toString() );
throw new ASTSemanticException(p);
@ -817,16 +817,16 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
ITokenDuple idExpression, String literal, IASTNewExpressionDescriptor newDescriptor) throws ASTSemanticException
{
StringBuffer logMessage = new StringBuffer();
logMessage.append( "Entering createExpression with Kind=" );
logMessage.append( "Entering createExpression with Kind=" ); //$NON-NLS-1$
logMessage.append( kind.getKindName() );
if( idExpression != null )
{
logMessage.append( " idexpression=" );
logMessage.append( "idExpression.toString()");
logMessage.append( " idexpression=" ); //$NON-NLS-1$
logMessage.append( "idExpression.toString()"); //$NON-NLS-1$
}
else if( literal != null && !literal.equals( "" ))
else if( literal != null && !literal.equals( "" )) //$NON-NLS-1$
{
logMessage.append( " literal=" );
logMessage.append( " literal=" ); //$NON-NLS-1$
logMessage.append( literal );
}
@ -878,7 +878,7 @@ public class CompleteParseASTFactory extends BaseASTFactory implements IASTFacto
try{
symbol = startingScope.lookup("this"); //$NON-NLS-1$
}catch (ParserSymbolTableException e){
handleProblem( e.createProblemID(), "this");
handleProblem( e.createProblemID(), "this"); //$NON-NLS-1$
}
}
// lookup symbol if it is a function call

View file

@ -20,9 +20,7 @@ import org.eclipse.cdt.core.parser.IProblem;
*/
public abstract class BaseProblemFactory {
protected final static String PROBLEM = "IProblem : ";
protected final static String IN_FILE = " in file: ";
protected final static String ON_LINE = " on line: ";
protected final static String PROBLEM_PATTERN = "BaseProblemFactory.problemPattern"; //$NON-NLS-1$
public abstract String createMessage(int id, Map arguments, int lineNumber, char[] fileName );

View file

@ -74,23 +74,23 @@ public class FunctionMacroDescriptor implements IMacroDescriptor {
StringBuffer buffer = new StringBuffer( 128 );
int count = getParameters().size();
buffer.append( "MacroDescriptor with name=" + getName() + "\n" ); //$NON-NLS-2$
buffer.append( "Number of parameters = " + count + "\n" ); //$NON-NLS-2$
buffer.append( "MacroDescriptor with name=" + getName() + "\n" ); //$NON-NLS-1$//$NON-NLS-2$
buffer.append( "Number of parameters = " + count + "\n" ); //$NON-NLS-1$//$NON-NLS-2$
Iterator iter = getParameters().iterator();
int current = 0;
while( iter.hasNext() )
{
buffer.append( "Parameter #" + current++ + " with name=" + (String) iter.next() + "\n" ); //$NON-NLS-3$
buffer.append( "Parameter #" + current++ + " with name=" + (String) iter.next() + "\n" ); //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$
}
count = getTokenizedExpansion().size();
iter = getTokenizedExpansion().iterator();
buffer.append( "Number of tokens = " + count + "\n" ); //$NON-NLS-2$
buffer.append( "Number of tokens = " + count + "\n" ); //$NON-NLS-1$//$NON-NLS-2$
current = 0;
while( iter.hasNext() )
{
buffer.append( "Token #" + current++ + " is " + ((IToken)iter.next()).toString() + "\n" ); //$NON-NLS-3$
buffer.append( "Token #" + current++ + " is " + ((IToken)iter.next()).toString() + "\n" ); //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$
}
return buffer.toString();

View file

@ -15,6 +15,7 @@ import java.io.Reader;
import org.eclipse.cdt.core.parser.ILineOffsetReconciler;
import org.eclipse.cdt.core.parser.IOffsetDuple;
import org.eclipse.cdt.internal.core.parser.ParserMessages;
import org.eclipse.cdt.internal.core.parser.token.OffsetDuple;
/**
@ -75,7 +76,7 @@ public class LineOffsetReconciler implements ILineOffsetReconciler
}
catch (IOException e)
{
throw new Error( "Could not reset Reader" );
throw new Error( ParserMessages.getString("LineOffsetReconciler.error.couldNotResetReader") ); //$NON-NLS-1$
}
}
/* (non-Javadoc)

View file

@ -27,8 +27,7 @@ import java.util.Map;
import java.util.StringTokenizer;
import java.util.Vector;
import org.eclipse.cdt.core.parser.BacktrackException;
import org.eclipse.cdt.core.parser.Directives;
import org.eclipse.cdt.core.parser.BacktrackException;import org.eclipse.cdt.core.parser.Directives;
import org.eclipse.cdt.core.parser.EndOfFileException;
import org.eclipse.cdt.core.parser.IMacroDescriptor;
import org.eclipse.cdt.core.parser.IParserLogService;
@ -67,7 +66,7 @@ import org.eclipse.cdt.internal.core.parser.token.Token;
public class Scanner implements IScanner {
private final static String SCRATCH = "<scratch>";
private final static String SCRATCH = "<scratch>"; //$NON-NLS-1$
protected final IScannerData scannerData;
private boolean initialContextInitialized = false;
@ -95,7 +94,7 @@ public class Scanner implements IScanner {
IProblem problem = scannerData.getProblemFactory().createProblem( problemID, beginningOffset, getCurrentOffset(), scannerData.getContextStack().getCurrentLineNumber(), getCurrentFile().toCharArray(), arguments, warning, error );
// trace log
StringBuffer logMessage = new StringBuffer( "Scanner problem encountered: ");
StringBuffer logMessage = new StringBuffer( "Scanner problem encountered: "); //$NON-NLS-1$
logMessage.append( problem.getMessage() );
scannerData.getLogService().traceLog( logMessage.toString() );
@ -175,18 +174,18 @@ public class Scanner implements IScanner {
scannerExtension.setupBuiltInMacros(scannerData.getLanguage());
if( getDefinition(__STDC__) == null )
addDefinition( __STDC__, new ObjectMacroDescriptor( __STDC__, "1") );
addDefinition( __STDC__, new ObjectMacroDescriptor( __STDC__, "1") ); //$NON-NLS-1$
if( scannerData.getLanguage() == ParserLanguage.C )
{
if( getDefinition(__STDC_HOSTED__) == null )
addDefinition( __STDC_HOSTED__, new ObjectMacroDescriptor( __STDC_HOSTED__, "0"));
addDefinition( __STDC_HOSTED__, new ObjectMacroDescriptor( __STDC_HOSTED__, "0")); //$NON-NLS-1$
if( getDefinition( __STDC_VERSION__) == null )
addDefinition( __STDC_VERSION__, new ObjectMacroDescriptor( __STDC_VERSION__, "199001L"));
addDefinition( __STDC_VERSION__, new ObjectMacroDescriptor( __STDC_VERSION__, "199001L")); //$NON-NLS-1$
}
else
if( getDefinition( __CPLUSPLUS ) == null )
addDefinition( __CPLUSPLUS, new ObjectMacroDescriptor( __CPLUSPLUS, "199711L"));
addDefinition( __CPLUSPLUS, new ObjectMacroDescriptor( __CPLUSPLUS, "199711L")); //$NON-NLS-1$
if( getDefinition(__FILE__) == null )
addDefinition( __FILE__,
@ -211,29 +210,29 @@ public class Scanner implements IScanner {
public String getMonth()
{
if( Calendar.MONTH == Calendar.JANUARY ) return "Jan" ;
if( Calendar.MONTH == Calendar.FEBRUARY) return "Feb";
if( Calendar.MONTH == Calendar.MARCH) return "Mar";
if( Calendar.MONTH == Calendar.APRIL) return "Apr";
if( Calendar.MONTH == Calendar.MAY) return "May";
if( Calendar.MONTH == Calendar.JUNE) return "Jun";
if( Calendar.MONTH == Calendar.JULY) return "Jul";
if( Calendar.MONTH == Calendar.AUGUST) return "Aug";
if( Calendar.MONTH == Calendar.SEPTEMBER) return "Sep";
if( Calendar.MONTH == Calendar.OCTOBER) return "Oct";
if( Calendar.MONTH == Calendar.NOVEMBER) return "Nov";
if( Calendar.MONTH == Calendar.DECEMBER) return "Dec";
return "";
if( Calendar.MONTH == Calendar.JANUARY ) return "Jan" ; //$NON-NLS-1$
if( Calendar.MONTH == Calendar.FEBRUARY) return "Feb"; //$NON-NLS-1$
if( Calendar.MONTH == Calendar.MARCH) return "Mar"; //$NON-NLS-1$
if( Calendar.MONTH == Calendar.APRIL) return "Apr"; //$NON-NLS-1$
if( Calendar.MONTH == Calendar.MAY) return "May"; //$NON-NLS-1$
if( Calendar.MONTH == Calendar.JUNE) return "Jun"; //$NON-NLS-1$
if( Calendar.MONTH == Calendar.JULY) return "Jul"; //$NON-NLS-1$
if( Calendar.MONTH == Calendar.AUGUST) return "Aug"; //$NON-NLS-1$
if( Calendar.MONTH == Calendar.SEPTEMBER) return "Sep"; //$NON-NLS-1$
if( Calendar.MONTH == Calendar.OCTOBER) return "Oct"; //$NON-NLS-1$
if( Calendar.MONTH == Calendar.NOVEMBER) return "Nov"; //$NON-NLS-1$
if( Calendar.MONTH == Calendar.DECEMBER) return "Dec"; //$NON-NLS-1$
return ""; //$NON-NLS-1$
}
public String execute() {
StringBuffer result = new StringBuffer();
result.append( getMonth() );
result.append(" ");
result.append(" "); //$NON-NLS-1$
if( Calendar.DAY_OF_MONTH < 10 )
result.append(" ");
result.append(" "); //$NON-NLS-1$
result.append(Calendar.DAY_OF_MONTH);
result.append(" ");
result.append(" "); //$NON-NLS-1$
result.append( Calendar.YEAR );
return result.toString();
}
@ -593,14 +592,14 @@ public class Scanner implements IScanner {
// constants
private static final int NOCHAR = -1;
private static final String TEXT = "<text>";
private static final String START = "<initial reader>";
private static final String EXPRESSION = "<expression>";
private static final String PASTING = "<pasting>";
private static final String TEXT = "<text>"; //$NON-NLS-1$
private static final String START = "<initial reader>"; //$NON-NLS-1$
private static final String EXPRESSION = "<expression>"; //$NON-NLS-1$
private static final String PASTING = "<pasting>"; //$NON-NLS-1$
private static final String DEFINED = "defined";
private static final String _PRAGMA = "_Pragma";
private static final String POUND_DEFINE = "#define ";
private static final String DEFINED = "defined"; //$NON-NLS-1$
private static final String _PRAGMA = "_Pragma"; //$NON-NLS-1$
private static final String POUND_DEFINE = "#define "; //$NON-NLS-1$
private IScannerContext lastContext = null;
@ -668,39 +667,39 @@ public class Scanner implements IScanner {
c = getChar(insideString);
switch (c) {
case '(':
expandDefinition("??(", "[", baseOffset);
expandDefinition("??(", "[", baseOffset); //$NON-NLS-1$ //$NON-NLS-2$
c = getChar(insideString);
break;
case ')':
expandDefinition("??)", "]", baseOffset);
expandDefinition("??)", "]", baseOffset); //$NON-NLS-1$ //$NON-NLS-2$
c = getChar(insideString);
break;
case '<':
expandDefinition("??<", "{", baseOffset);
expandDefinition("??<", "{", baseOffset); //$NON-NLS-1$ //$NON-NLS-2$
c = getChar(insideString);
break;
case '>':
expandDefinition("??>", "}", baseOffset);
expandDefinition("??>", "}", baseOffset); //$NON-NLS-1$ //$NON-NLS-2$
c = getChar(insideString);
break;
case '=':
expandDefinition("??=", "#", baseOffset);
expandDefinition("??=", "#", baseOffset); //$NON-NLS-1$ //$NON-NLS-2$
c = getChar(insideString);
break;
case '/':
expandDefinition("??/", "\\", baseOffset);
expandDefinition("??/", "\\", baseOffset); //$NON-NLS-1$ //$NON-NLS-2$
c = getChar(insideString);
break;
case '\'':
expandDefinition("??\'", "^", baseOffset);
expandDefinition("??\'", "^", baseOffset); //$NON-NLS-1$ //$NON-NLS-2$
c = getChar(insideString);
break;
case '!':
expandDefinition("??!", "|", baseOffset);
expandDefinition("??!", "|", baseOffset); //$NON-NLS-1$ //$NON-NLS-2$
c = getChar(insideString);
break;
case '-':
expandDefinition("??-", "~", baseOffset);
expandDefinition("??-", "~", baseOffset); //$NON-NLS-1$ //$NON-NLS-2$
c = getChar(insideString);
break;
default:
@ -743,10 +742,10 @@ public class Scanner implements IScanner {
if (c == '<') {
c = getChar(false);
if (c == '%') {
expandDefinition("<%", "{", baseOffset);
expandDefinition("<%", "{", baseOffset); //$NON-NLS-1$ //$NON-NLS-2$
c = getChar(false);
} else if (c == ':') {
expandDefinition("<:", "[", baseOffset);
expandDefinition("<:", "[", baseOffset); //$NON-NLS-1$ //$NON-NLS-2$
c = getChar(false);
} else {
// Not a digraph
@ -756,7 +755,7 @@ public class Scanner implements IScanner {
} else if (c == ':') {
c = getChar(false);
if (c == '>') {
expandDefinition(":>", "]", baseOffset);
expandDefinition(":>", "]", baseOffset); //$NON-NLS-1$ //$NON-NLS-2$
c = getChar(false);
} else {
// Not a digraph
@ -766,10 +765,10 @@ public class Scanner implements IScanner {
} else if (c == '%') {
c = getChar(false);
if (c == '>') {
expandDefinition("%>", "}", baseOffset);
expandDefinition("%>", "}", baseOffset); //$NON-NLS-1$ //$NON-NLS-2$
c = getChar(false);
} else if (c == ':') {
expandDefinition("%:", "#", baseOffset);
expandDefinition("%:", "#", baseOffset); //$NON-NLS-1$ //$NON-NLS-2$
c = getChar(false);
} else {
// Not a digraph
@ -1115,17 +1114,17 @@ public class Scanner implements IScanner {
if( ! firstCharZero && floatingPoint && !(c >= '0' && c <= '9') ){
//if pasting, there could actually be a float here instead of just a .
if( buff.toString().equals( "." ) ){
if( buff.toString().equals( "." ) ){ //$NON-NLS-1$
if( c == '*' ){
return newToken( IToken.tDOTSTAR, ".*", scannerData.getContextStack().getCurrentContext() );
return newToken( IToken.tDOTSTAR, ".*", scannerData.getContextStack().getCurrentContext() ); //$NON-NLS-1$
} else if( c == '.' ){
if( getChar() == '.' )
return newToken( IToken.tELLIPSIS, "...", scannerData.getContextStack().getCurrentContext() );
return newToken( IToken.tELLIPSIS, "...", scannerData.getContextStack().getCurrentContext() ); //$NON-NLS-1$
else
handleProblem( IProblem.SCANNER_BAD_FLOATING_POINT, null, beginOffset, false, true );
} else {
ungetChar( c );
return newToken( IToken.tDOT, ".", scannerData.getContextStack().getCurrentContext() );
return newToken( IToken.tDOT, ".", scannerData.getContextStack().getCurrentContext() ); //$NON-NLS-1$
}
}
} else if (c == 'x') {
@ -1246,7 +1245,7 @@ public class Scanner implements IScanner {
int tokenType;
String result = buff.toString();
if( floatingPoint && result.equals(".") )
if( floatingPoint && result.equals(".") ) //$NON-NLS-1$
tokenType = IToken.tDOT;
else
tokenType = floatingPoint ? IToken.tFLOATINGPT : IToken.tINTEGER;
@ -1272,12 +1271,12 @@ public class Scanner implements IScanner {
if( c == '#' )
{
if( skipped )
handleProblem( IProblem.PREPROCESSOR_INVALID_DIRECTIVE, "# #", beginningOffset, false, true );
handleProblem( IProblem.PREPROCESSOR_INVALID_DIRECTIVE, "# #", beginningOffset, false, true ); //$NON-NLS-1$
else
return newToken( tPOUNDPOUND, "##" );
return newToken( tPOUNDPOUND, "##" ); //$NON-NLS-1$
} else if( tokenizingMacroReplacementList ) {
ungetChar( c );
return newToken( tPOUND, "#" );
return newToken( tPOUND, "#" ); //$NON-NLS-1$
}
while (((c >= 'a') && (c <= 'z'))
@ -1297,7 +1296,7 @@ public class Scanner implements IScanner {
if (directive == null) {
if( scannerExtension.canHandlePreprocessorDirective( token ) )
scannerExtension.handlePreprocessorDirective( token, getRestOfPreprocessorLine() );
StringBuffer buffer = new StringBuffer( "#");
StringBuffer buffer = new StringBuffer( "#"); //$NON-NLS-1$
buffer.append( token );
handleProblem( IProblem.PREPROCESSOR_INVALID_DIRECTIVE, buffer.toString(), beginningOffset, false, true );
} else {
@ -1354,8 +1353,8 @@ public class Scanner implements IScanner {
if( isLimitReached() )
handleCompletionOnExpression( expression );
if (expression.trim().equals(""))
handleProblem( IProblem.PREPROCESSOR_INVALID_DIRECTIVE, "#if", beginningOffset, false, true );
if (expression.trim().equals("")) //$NON-NLS-1$
handleProblem( IProblem.PREPROCESSOR_INVALID_DIRECTIVE, "#if", beginningOffset, false, true ); //$NON-NLS-1$
boolean expressionEvalResult = false;
@ -1389,9 +1388,9 @@ public class Scanner implements IScanner {
if( isLimitReached() )
handleInvalidCompletion();
if( ! restOfLine.equals( "" ) )
if( ! restOfLine.equals( "" ) ) //$NON-NLS-1$
{
StringBuffer buffer = new StringBuffer("#endif ");
StringBuffer buffer = new StringBuffer("#endif "); //$NON-NLS-1$
buffer.append( restOfLine );
handleProblem( IProblem.PREPROCESSOR_INVALID_DIRECTIVE, buffer.toString(), beginningOffset, false, true );
}
@ -1449,8 +1448,8 @@ public class Scanner implements IScanner {
handleCompletionOnExpression( elifExpression );
if (elifExpression.equals(""))
handleProblem( IProblem.PREPROCESSOR_INVALID_DIRECTIVE, "#elif", beginningOffset, false, true );
if (elifExpression.equals("")) //$NON-NLS-1$
handleProblem( IProblem.PREPROCESSOR_INVALID_DIRECTIVE, "#elif", beginningOffset, false, true ); //$NON-NLS-1$
boolean elsifResult = false;
if( scannerData.getBranchTracker().queryCurrentBranchForElif() )
@ -1501,15 +1500,15 @@ public class Scanner implements IScanner {
case PreprocessorDirectives.BLANK :
String remainderOfLine =
getRestOfPreprocessorLine().trim();
if (!remainderOfLine.equals("")) {
StringBuffer buffer = new StringBuffer( "# ");
if (!remainderOfLine.equals("")) { //$NON-NLS-1$
StringBuffer buffer = new StringBuffer( "# "); //$NON-NLS-1$
buffer.append( remainderOfLine );
handleProblem( IProblem.PREPROCESSOR_INVALID_DIRECTIVE, buffer.toString(), beginningOffset, false, true);
}
c = getChar();
continue;
default :
StringBuffer buffer = new StringBuffer( "# ");
StringBuffer buffer = new StringBuffer( "# "); //$NON-NLS-1$
buffer.append( token );
handleProblem( IProblem.PREPROCESSOR_INVALID_DIRECTIVE, buffer.toString(), beginningOffset, false, true );
}
@ -1524,51 +1523,51 @@ public class Scanner implements IScanner {
case ':' :
return newToken(
IToken.tCOLONCOLON,
"::",
"::", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
default :
ungetChar(c);
return newToken(
IToken.tCOLON,
":",
":", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
}
case ';' :
return newToken(IToken.tSEMI, ";", scannerData.getContextStack().getCurrentContext());
return newToken(IToken.tSEMI, ";", scannerData.getContextStack().getCurrentContext()); //$NON-NLS-1$
case ',' :
return newToken(IToken.tCOMMA, ",", scannerData.getContextStack().getCurrentContext());
return newToken(IToken.tCOMMA, ",", scannerData.getContextStack().getCurrentContext()); //$NON-NLS-1$
case '?' :
return newToken(IToken.tQUESTION, "?", scannerData.getContextStack().getCurrentContext());
return newToken(IToken.tQUESTION, "?", scannerData.getContextStack().getCurrentContext()); //$NON-NLS-1$
case '(' :
return newToken(IToken.tLPAREN, "(", scannerData.getContextStack().getCurrentContext());
return newToken(IToken.tLPAREN, "(", scannerData.getContextStack().getCurrentContext()); //$NON-NLS-1$
case ')' :
return newToken(IToken.tRPAREN, ")", scannerData.getContextStack().getCurrentContext());
return newToken(IToken.tRPAREN, ")", scannerData.getContextStack().getCurrentContext()); //$NON-NLS-1$
case '[' :
return newToken(IToken.tLBRACKET, "[", scannerData.getContextStack().getCurrentContext());
return newToken(IToken.tLBRACKET, "[", scannerData.getContextStack().getCurrentContext()); //$NON-NLS-1$
case ']' :
return newToken(IToken.tRBRACKET, "]", scannerData.getContextStack().getCurrentContext());
return newToken(IToken.tRBRACKET, "]", scannerData.getContextStack().getCurrentContext()); //$NON-NLS-1$
case '{' :
return newToken(IToken.tLBRACE, "{", scannerData.getContextStack().getCurrentContext());
return newToken(IToken.tLBRACE, "{", scannerData.getContextStack().getCurrentContext()); //$NON-NLS-1$
case '}' :
return newToken(IToken.tRBRACE, "}", scannerData.getContextStack().getCurrentContext());
return newToken(IToken.tRBRACE, "}", scannerData.getContextStack().getCurrentContext()); //$NON-NLS-1$
case '+' :
c = getChar();
switch (c) {
case '=' :
return newToken(
IToken.tPLUSASSIGN,
"+=",
"+=", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
case '+' :
return newToken(
IToken.tINCR,
"++",
"++", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
default :
ungetChar(c);
return newToken(
IToken.tPLUS,
"+",
"+", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
}
case '-' :
@ -1577,12 +1576,12 @@ public class Scanner implements IScanner {
case '=' :
return newToken(
IToken.tMINUSASSIGN,
"-=",
"-=", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
case '-' :
return newToken(
IToken.tDECR,
"--",
"--", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
case '>' :
c = getChar();
@ -1590,20 +1589,20 @@ public class Scanner implements IScanner {
case '*' :
return newToken(
IToken.tARROWSTAR,
"->*",
"->*", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
default :
ungetChar(c);
return newToken(
IToken.tARROW,
"->",
"->", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
}
default :
ungetChar(c);
return newToken(
IToken.tMINUS,
"-",
"-", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
}
case '*' :
@ -1612,13 +1611,13 @@ public class Scanner implements IScanner {
case '=' :
return newToken(
IToken.tSTARASSIGN,
"*=",
"*=", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
default :
ungetChar(c);
return newToken(
IToken.tSTAR,
"*",
"*", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
}
case '%' :
@ -1627,13 +1626,13 @@ public class Scanner implements IScanner {
case '=' :
return newToken(
IToken.tMODASSIGN,
"%=",
"%=", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
default :
ungetChar(c);
return newToken(
IToken.tMOD,
"%",
"%", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
}
case '^' :
@ -1642,13 +1641,13 @@ public class Scanner implements IScanner {
case '=' :
return newToken(
IToken.tXORASSIGN,
"^=",
"^=", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
default :
ungetChar(c);
return newToken(
IToken.tXOR,
"^",
"^", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
}
case '&' :
@ -1657,18 +1656,18 @@ public class Scanner implements IScanner {
case '=' :
return newToken(
IToken.tAMPERASSIGN,
"&=",
"&=", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
case '&' :
return newToken(
IToken.tAND,
"&&",
"&&", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
default :
ungetChar(c);
return newToken(
IToken.tAMPER,
"&",
"&", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
}
case '|' :
@ -1677,35 +1676,35 @@ public class Scanner implements IScanner {
case '=' :
return newToken(
IToken.tBITORASSIGN,
"|=",
"|=", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
case '|' :
return newToken(
IToken.tOR,
"||",
"||", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
default :
ungetChar(c);
return newToken(
IToken.tBITOR,
"|",
"|", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
}
case '~' :
return newToken(IToken.tCOMPL, "~", scannerData.getContextStack().getCurrentContext());
return newToken(IToken.tCOMPL, "~", scannerData.getContextStack().getCurrentContext()); //$NON-NLS-1$
case '!' :
c = getChar();
switch (c) {
case '=' :
return newToken(
IToken.tNOTEQUAL,
"!=",
"!=", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
default :
ungetChar(c);
return newToken(
IToken.tNOT,
"!",
"!", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
}
case '=' :
@ -1714,13 +1713,13 @@ public class Scanner implements IScanner {
case '=' :
return newToken(
IToken.tEQUAL,
"==",
"==", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
default :
ungetChar(c);
return newToken(
IToken.tASSIGN,
"=",
"=", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
}
case '<' :
@ -1732,25 +1731,25 @@ public class Scanner implements IScanner {
case '=' :
return newToken(
IToken.tSHIFTLASSIGN,
"<<=",
"<<=", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
default :
ungetChar(c);
return newToken(
IToken.tSHIFTL,
"<<",
"<<", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
}
case '=' :
return newToken(
IToken.tLTEQUAL,
"<=",
"<=", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
default :
ungetChar(c);
if( forInclusion )
temporarilyReplaceDefinitionsMap();
return newToken(IToken.tLT, "<", scannerData.getContextStack().getCurrentContext());
return newToken(IToken.tLT, "<", scannerData.getContextStack().getCurrentContext()); //$NON-NLS-1$
}
case '>' :
c = getChar();
@ -1761,25 +1760,25 @@ public class Scanner implements IScanner {
case '=' :
return newToken(
IToken.tSHIFTRASSIGN,
">>=",
">>=", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
default :
ungetChar(c);
return newToken(
IToken.tSHIFTR,
">>",
">>", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
}
case '=' :
return newToken(
IToken.tGTEQUAL,
">=",
">=", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
default :
ungetChar(c);
if( forInclusion )
restoreDefinitionsMap();
return newToken(IToken.tGT, ">", scannerData.getContextStack().getCurrentContext());
return newToken(IToken.tGT, ">", scannerData.getContextStack().getCurrentContext()); //$NON-NLS-1$
}
case '.' :
c = getChar();
@ -1790,7 +1789,7 @@ public class Scanner implements IScanner {
case '.' :
return newToken(
IToken.tELLIPSIS,
"...",
"...", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
default :
break;
@ -1799,13 +1798,13 @@ public class Scanner implements IScanner {
case '*' :
return newToken(
IToken.tDOTSTAR,
".*",
".*", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
default :
ungetChar(c);
return newToken(
IToken.tDOT,
".",
".", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
}
break;
@ -1823,13 +1822,13 @@ public class Scanner implements IScanner {
case '=' :
return newToken(
IToken.tDIVASSIGN,
"/=",
"/=", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
default :
ungetChar(c);
return newToken(
IToken.tDIV,
"/",
"/", //$NON-NLS-1$
scannerData.getContextStack().getCurrentContext());
}
default :
@ -1872,9 +1871,9 @@ public class Scanner implements IScanner {
int completionPoint = expression.length() + 2;
IASTCompletionNode.CompletionKind kind = IASTCompletionNode.CompletionKind.MACRO_REFERENCE;
String prefix = "";
String prefix = ""; //$NON-NLS-1$
if( ! expression.trim().equals(""))
if( ! expression.trim().equals("")) //$NON-NLS-1$
{
IScanner subScanner = ParserFactory.createScanner( new StringReader(expression), SCRATCH, EMPTY_INFO, ParserMode.QUICK_PARSE, scannerData.getLanguage(), new NullSourceElementRequestor(), new NullLogService());
IToken lastToken = null;
@ -1917,7 +1916,7 @@ public class Scanner implements IScanner {
protected void handleInvalidCompletion() throws EndOfFileException
{
throwEOF( new ASTCompletionNode( IASTCompletionNode.CompletionKind.UNREACHABLE_CODE, null, null, "", KeywordSets.getKeywords(KeywordSets.Key.EMPTY, scannerData.getLanguage()) ));
throwEOF( new ASTCompletionNode( IASTCompletionNode.CompletionKind.UNREACHABLE_CODE, null, null, "", KeywordSets.getKeywords(KeywordSets.Key.EMPTY, scannerData.getLanguage()) )); //$NON-NLS-1$
}
protected void handleCompletionOnPreprocessorDirective( String prefix ) throws EndOfFileException
@ -1982,7 +1981,7 @@ public class Scanner implements IScanner {
protected String getCurrentFile()
{
return scannerData.getContextStack().getMostRelevantFileContext() != null ? scannerData.getContextStack().getMostRelevantFileContext().getFilename() : "";
return scannerData.getContextStack().getMostRelevantFileContext() != null ? scannerData.getContextStack().getMostRelevantFileContext().getFilename() : ""; //$NON-NLS-1$
}
@ -2043,13 +2042,13 @@ public class Scanner implements IScanner {
return processCharacterLiteral( c, false );
case ',' :
if (tokenImage.length() > 0) throw endOfMacroToken;
return newToken(IToken.tCOMMA, ",", scannerData.getContextStack().getCurrentContext());
return newToken(IToken.tCOMMA, ",", scannerData.getContextStack().getCurrentContext()); //$NON-NLS-1$
case '(' :
if (tokenImage.length() > 0) throw endOfMacroToken;
return newToken(IToken.tLPAREN, "(", scannerData.getContextStack().getCurrentContext());
return newToken(IToken.tLPAREN, "(", scannerData.getContextStack().getCurrentContext()); //$NON-NLS-1$
case ')' :
if (tokenImage.length() > 0) throw endOfMacroToken;
return newToken(IToken.tRPAREN, ")", scannerData.getContextStack().getCurrentContext());
return newToken(IToken.tRPAREN, ")", scannerData.getContextStack().getCurrentContext()); //$NON-NLS-1$
case '/' :
if (tokenImage.length() > 0) throw endOfMacroToken;
c = getChar();
@ -2265,7 +2264,7 @@ public class Scanner implements IScanner {
if( scannerData.getParserMode() == ParserMode.QUICK_PARSE )
{
if( expression.trim().equals( "0" ) )
if( expression.trim().equals( "0" ) ) //$NON-NLS-1$
return false;
return true;
@ -2309,7 +2308,7 @@ public class Scanner implements IScanner {
protected void skipOverSinglelineComment() throws ScannerException, EndOfFileException {
StringBuffer comment = new StringBuffer("//");
StringBuffer comment = new StringBuffer("//"); //$NON-NLS-1$
int c;
loop:
@ -2332,7 +2331,7 @@ public class Scanner implements IScanner {
protected boolean skipOverMultilineComment() throws ScannerException, EndOfFileException {
int state = 0;
boolean encounteredNewline = false;
StringBuffer comment = new StringBuffer("/*");
StringBuffer comment = new StringBuffer("/*"); //$NON-NLS-1$
// simple state machine to handle multi-line comments
// state 0 == no end of comment in site
// state 1 == encountered *, expecting /
@ -2371,7 +2370,7 @@ public class Scanner implements IScanner {
}
protected void poundInclude( int beginningOffset, int startLine ) throws ScannerException, EndOfFileException {
StringBuffer potentialErrorLine = new StringBuffer( "#include ");
StringBuffer potentialErrorLine = new StringBuffer( "#include "); //$NON-NLS-1$
skipOverWhitespace();
int baseOffset = lastContext.getOffset() - lastContext.undoStackSize();
int nameLine = scannerData.getContextStack().getCurrentLineNumber();
@ -2382,7 +2381,7 @@ public class Scanner implements IScanner {
int startOffset = baseOffset;
int endOffset = baseOffset;
if (! includeLine.equals("")) {
if (! includeLine.equals("")) { //$NON-NLS-1$
Scanner helperScanner = new Scanner(
new StringReader(includeLine),
null,
@ -2463,7 +2462,7 @@ public class Scanner implements IScanner {
i =
scannerData.getASTFactory().createInclusion(
f,
"",
"", //$NON-NLS-1$
!useIncludePath,
beginningOffset,
startLine,
@ -2515,7 +2514,7 @@ public class Scanner implements IScanner {
protected List tokenizeReplacementString( int beginning, String key, String replacementString, List parameterIdentifiers )
{
List macroReplacementTokens = new ArrayList();
if( replacementString.trim().equals( "" ) )
if( replacementString.trim().equals( "" ) ) //$NON-NLS-1$
return macroReplacementTokens;
IScanner helperScanner=null;
try {
@ -2636,7 +2635,7 @@ public class Scanner implements IScanner {
String parameters = buffer.toString();
// replace StringTokenizer later -- not performant
StringTokenizer tokenizer = new StringTokenizer(parameters, ",");
StringTokenizer tokenizer = new StringTokenizer(parameters, ","); //$NON-NLS-1$
ArrayList parameterIdentifiers =
new ArrayList(tokenizer.countTokens());
while (tokenizer.hasMoreTokens()) {
@ -2649,7 +2648,7 @@ public class Scanner implements IScanner {
String replacementString = getRestOfPreprocessorLine();
macroReplacementTokens = ( ! replacementString.equals( "" ) ) ?
macroReplacementTokens = ( ! replacementString.equals( "" ) ) ? //$NON-NLS-1$
tokenizeReplacementString( beginning, key, replacementString, parameterIdentifiers ) :
EMPTY_LIST;
@ -2657,7 +2656,7 @@ public class Scanner implements IScanner {
fullSignature.append( key );
fullSignature.append( '(');
fullSignature.append( parameters );
fullSignature.append( ") ");
fullSignature.append( ") "); //$NON-NLS-1$
fullSignature.append( replacementString );
descriptor = new FunctionMacroDescriptor(
key,
@ -2672,8 +2671,8 @@ public class Scanner implements IScanner {
}
else if ((c == '\n') || (c == '\r'))
{
checkValidMacroRedefinition(key, previousDefinition, "", beginning);
addDefinition( key, "" );
checkValidMacroRedefinition(key, previousDefinition, "", beginning); //$NON-NLS-1$
addDefinition( key, "" ); //$NON-NLS-1$
}
else if ((c == ' ') || (c == '\t') ) {
// this is a simple definition
@ -2691,33 +2690,33 @@ public class Scanner implements IScanner {
if (c == '/') // one line comment
{
skipOverSinglelineComment();
checkValidMacroRedefinition(key, previousDefinition, "", beginning);
addDefinition(key, "");
checkValidMacroRedefinition(key, previousDefinition, "", beginning); //$NON-NLS-1$
addDefinition(key, ""); //$NON-NLS-1$
} else if (c == '*') // multi-line comment
{
if (skipOverMultilineComment()) {
// we have gone over a newline
// therefore, this symbol was defined to an empty string
checkValidMacroRedefinition(key, previousDefinition, "", beginning);
addDefinition(key, "");
checkValidMacroRedefinition(key, previousDefinition, "", beginning); //$NON-NLS-1$
addDefinition(key, ""); //$NON-NLS-1$
} else {
String value = getRestOfPreprocessorLine();
checkValidMacroRedefinition(key, previousDefinition, "", beginning);
checkValidMacroRedefinition(key, previousDefinition, "", beginning); //$NON-NLS-1$
addDefinition(key, value);
}
} else {
// this is not a comment
// it is a bad statement
potentialErrorMessage.append( key );
potentialErrorMessage.append( " /");
potentialErrorMessage.append( " /"); //$NON-NLS-1$
potentialErrorMessage.append( getRestOfPreprocessorLine() );
handleProblem( IProblem.PREPROCESSOR_INVALID_MACRO_DEFN, potentialErrorMessage.toString(), beginning, false, true );
return;
}
} else {
potentialErrorMessage = new StringBuffer();
potentialErrorMessage.append( "#define");
potentialErrorMessage.append( "#define"); //$NON-NLS-1$
potentialErrorMessage.append( key );
potentialErrorMessage.append( (char)c );
potentialErrorMessage.append( getRestOfPreprocessorLine() );
@ -2832,7 +2831,7 @@ public class Scanner implements IScanner {
buffer.append('\"');
break;
case IToken.tLSTRING :
buffer.append( "L\"");
buffer.append( "L\""); //$NON-NLS-1$
buffer.append(t.getImage());
buffer.append('\"');
break;
@ -2992,7 +2991,7 @@ public class Scanner implements IScanner {
buffer.append('\"');
break;
case IToken.tLSTRING:
buffer.append("L\"");
buffer.append("L\""); //$NON-NLS-1$
buffer.append(t.getImage());
buffer.append('\"');
break;
@ -3021,7 +3020,7 @@ public class Scanner implements IScanner {
if( t.getType() != tPOUNDPOUND && ! pastingNext )
if (i < (numberOfTokens-1)) // Do not append to the last one
buffer.append( " " );
buffer.append( " " ); //$NON-NLS-1$
}
String finalString = buffer.toString();
try
@ -3047,7 +3046,7 @@ public class Scanner implements IScanner {
}
else {
StringBuffer logMessage = new StringBuffer( "Unexpected type of MacroDescriptor stored in definitions table: " );
StringBuffer logMessage = new StringBuffer( "Unexpected type of MacroDescriptor stored in definitions table: " ); //$NON-NLS-1$
logMessage.append( expansion.getMacroType() );
scannerData.getLogService().traceLog( logMessage.toString() );
}
@ -3068,8 +3067,8 @@ public class Scanner implements IScanner {
c = getChar();
if (c != ')')
{
handleProblem( IProblem.PREPROCESSOR_MACRO_USAGE_ERROR, "defined()", o, false, true );
return "0";
handleProblem( IProblem.PREPROCESSOR_MACRO_USAGE_ERROR, "defined()", o, false, true ); //$NON-NLS-1$
return "0"; //$NON-NLS-1$
}
}
else
@ -3079,9 +3078,9 @@ public class Scanner implements IScanner {
}
if (getDefinition(definitionIdentifier) != null)
return "1";
return "1"; //$NON-NLS-1$
return "0";
return "0"; //$NON-NLS-1$
}
public void setThrowExceptionOnBadCharacterRead( boolean throwOnBad ){

View file

@ -10,11 +10,14 @@
***********************************************************************/
package org.eclipse.cdt.internal.core.parser.scanner;
import java.text.MessageFormat;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.cdt.core.parser.IProblem;
import org.eclipse.cdt.internal.core.parser.problem.*;
import org.eclipse.cdt.internal.core.parser.ParserMessages;
import org.eclipse.cdt.internal.core.parser.problem.BaseProblemFactory;
import org.eclipse.cdt.internal.core.parser.problem.IProblemFactory;
/**
* @author jcamelon
@ -27,55 +30,55 @@ public class ScannerProblemFactory extends BaseProblemFactory implements IProble
errorMessages = new HashMap();
errorMessages.put(
new Integer(IProblem.PREPROCESSOR_POUND_ERROR),
"#error encountered with text: ");
ParserMessages.getString("ScannerProblemFactory.error.preproc.error")); //$NON-NLS-1$
errorMessages.put(
new Integer(IProblem.PREPROCESSOR_INCLUSION_NOT_FOUND),
"Preprocessor Inclusion not found: ");
ParserMessages.getString("ScannerProblemFactory.error.preproc.inclusionNotFound")); //$NON-NLS-1$
errorMessages.put(
new Integer(IProblem.PREPROCESSOR_DEFINITION_NOT_FOUND),
"Macro definition not found: ");
ParserMessages.getString("ScannerProblemFactory.error.preproc.definitionNotFound")); //$NON-NLS-1$
errorMessages.put(
new Integer(IProblem.PREPROCESSOR_INVALID_MACRO_DEFN),
"Macro definition malformed for macro: ");
ParserMessages.getString("ScannerProblemFactory.error.preproc.invalidMacroDefn")); //$NON-NLS-1$
errorMessages.put(
new Integer(IProblem.PREPROCESSOR_INVALID_MACRO_REDEFN),
"Invalid macro redefinition for macro : ");
ParserMessages.getString("ScannerProblemFactory.error.preproc.invalidMacroRedefn")); //$NON-NLS-1$
errorMessages.put(
new Integer(IProblem.PREPROCESSOR_UNBALANCE_CONDITION),
"Preprocessor Conditionals unbalanced : ");
ParserMessages.getString("ScannerProblemFactory.error.preproc.unbalancedConditional")); //$NON-NLS-1$
errorMessages.put(
new Integer(IProblem.PREPROCESSOR_CONDITIONAL_EVAL_ERROR),
"Expression Evaluation error for condition : ");
ParserMessages.getString("ScannerProblemFactory.error.preproc.conditionalEval")); //$NON-NLS-1$
errorMessages.put(
new Integer(IProblem.PREPROCESSOR_MACRO_USAGE_ERROR),
"Macro usage error for macro :");
ParserMessages.getString("ScannerProblemFactory.error.preproc.macroUsage")); //$NON-NLS-1$
errorMessages.put(
new Integer(IProblem.PREPROCESSOR_CIRCULAR_INCLUSION),
"Circular inclusion for file : ");
ParserMessages.getString("ScannerProblemFactory.error.preproc.circularInclusion")); //$NON-NLS-1$
errorMessages.put(
new Integer(IProblem.PREPROCESSOR_INVALID_DIRECTIVE),
"Invalid preprocessor directive : ");
ParserMessages.getString("ScannerProblemFactory.error.preproc.invalidDirective")); //$NON-NLS-1$
errorMessages.put(
new Integer(IProblem.PREPROCESSOR_MACRO_PASTING_ERROR),
"Invalid use of macro pasting in macro : ");
ParserMessages.getString("ScannerProblemFactory.error.preproc.macroPasting")); //$NON-NLS-1$
errorMessages.put(
new Integer(IProblem.SCANNER_INVALID_ESCAPECHAR),
"Invalid escape character encountered ");
ParserMessages.getString("ScannerProblemFactory.error.scanner.invalidEscapeChar")); //$NON-NLS-1$
errorMessages.put(
new Integer(IProblem.SCANNER_UNBOUNDED_STRING),
"Unbounded string encountered ");
ParserMessages.getString("ScannerProblemFactory.error.scanner.unboundedString")); //$NON-NLS-1$
errorMessages.put(
new Integer(IProblem.SCANNER_BAD_FLOATING_POINT),
"Invalid floating point format encountered ");
ParserMessages.getString("ScannerProblemFactory.error.scanner.badFloatingPoint")); //$NON-NLS-1$
errorMessages.put(
new Integer(IProblem.SCANNER_BAD_HEX_FORMAT),
"Invalid hexidecimal format encountered ");
ParserMessages.getString("ScannerProblemFactory.error.scanner.badHexFormat")); //$NON-NLS-1$
errorMessages.put(
new Integer(IProblem.SCANNER_UNEXPECTED_EOF),
"Unexpected End Of File encountered ");
ParserMessages.getString("ScannerProblemFactory.error.scanner.unexpectedEOF")); //$NON-NLS-1$
errorMessages.put(
new Integer(IProblem.SCANNER_BAD_CHARACTER),
"Bad character sequence encountered : ");
ParserMessages.getString("ScannerProblemFactory.error.scanner.badCharacter")); //$NON-NLS-1$
}
/* (non-Javadoc)
@ -83,47 +86,46 @@ public class ScannerProblemFactory extends BaseProblemFactory implements IProble
*/
public String createMessage(int id, Map arguments, int lineNumber, char[] fileName)
{
StringBuffer buffer = new StringBuffer();
String message = (String) errorMessages.get( new Integer(id) );
String arg = null;
buffer.append(PROBLEM);
buffer.append(errorMessages.get(new Integer(id)));
switch (id)
{
case IProblem.PREPROCESSOR_POUND_ERROR :
buffer.append(arguments.get(IProblem.A_PREPROC_POUND_ERROR));
arg = (String) arguments.get(IProblem.A_PREPROC_POUND_ERROR);
break;
case IProblem.PREPROCESSOR_INCLUSION_NOT_FOUND :
buffer.append(arguments.get(IProblem.A_PREPROC_INCLUDE_FILENAME));
arg = (String) arguments.get((IProblem.A_PREPROC_INCLUDE_FILENAME));
break;
case IProblem.PREPROCESSOR_DEFINITION_NOT_FOUND :
buffer.append(arguments.get(IProblem.A_PREPROC_MACRO_NAME));
arg = (String) arguments.get(IProblem.A_PREPROC_MACRO_NAME);
break;
case IProblem.PREPROCESSOR_UNBALANCE_CONDITION :
buffer.append(arguments.get(IProblem.A_PREPROC_CONDITIONAL_MISMATCH));
arg = (String) arguments.get(IProblem.A_PREPROC_CONDITIONAL_MISMATCH);
break;
case IProblem.PREPROCESSOR_INVALID_MACRO_DEFN :
buffer.append(arguments.get(IProblem.A_PREPROC_MACRO_NAME));
arg = (String) arguments.get(IProblem.A_PREPROC_MACRO_NAME);
break;
case IProblem.PREPROCESSOR_INVALID_DIRECTIVE :
buffer.append(arguments.get(IProblem.A_PREPROC_UNKNOWN_DIRECTIVE));
arg = (String) arguments.get(IProblem.A_PREPROC_UNKNOWN_DIRECTIVE);
break;
case IProblem.PREPROCESSOR_INVALID_MACRO_REDEFN :
buffer.append(arguments.get(IProblem.A_PREPROC_MACRO_NAME));
arg = (String) arguments.get(IProblem.A_PREPROC_MACRO_NAME);
break;
case IProblem.PREPROCESSOR_CONDITIONAL_EVAL_ERROR :
buffer.append(arguments.get(IProblem.A_PREPROC_CONDITION));
arg = (String) arguments.get(IProblem.A_PREPROC_CONDITION);
break;
case IProblem.PREPROCESSOR_MACRO_USAGE_ERROR :
buffer.append(arguments.get(IProblem.A_PREPROC_MACRO_NAME));
arg = (String) arguments.get(IProblem.A_PREPROC_MACRO_NAME);
break;
case IProblem.PREPROCESSOR_MACRO_PASTING_ERROR :
buffer.append(arguments.get(IProblem.A_PREPROC_MACRO_NAME));
arg = (String) arguments.get(IProblem.A_PREPROC_MACRO_NAME);
break;
case IProblem.PREPROCESSOR_CIRCULAR_INCLUSION :
buffer.append(arguments.get(IProblem.A_PREPROC_INCLUDE_FILENAME));
arg = (String) arguments.get(IProblem.A_PREPROC_INCLUDE_FILENAME);
break;
case IProblem.SCANNER_BAD_CHARACTER :
buffer.append( arguments.get(IProblem.A_SCANNER_BADCHAR));
arg = (String) arguments.get(IProblem.A_SCANNER_BADCHAR);
break;
case IProblem.SCANNER_UNBOUNDED_STRING :
case IProblem.SCANNER_INVALID_ESCAPECHAR :
@ -135,11 +137,12 @@ public class ScannerProblemFactory extends BaseProblemFactory implements IProble
return null;
}
buffer.append( IN_FILE );
buffer.append(fileName);
buffer.append( ON_LINE );
buffer.append(lineNumber);
return buffer.toString();
if( arg != null ){
message = MessageFormat.format( message, new Object [] { arg } );
}
Object [] args = { message, new String( fileName ), new Integer( lineNumber ) };
return ParserMessages.getFormattedString( PROBLEM_PATTERN, args );
}
/* (non-Javadoc)