diff --git a/core/org.eclipse.cdt.core/parser/ChangeLog-parser b/core/org.eclipse.cdt.core/parser/ChangeLog-parser index 852ecc35e75..8f651a66c1f 100644 --- a/core/org.eclipse.cdt.core/parser/ChangeLog-parser +++ b/core/org.eclipse.cdt.core/parser/ChangeLog-parser @@ -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. diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/IProblem.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/IProblem.java index 1e1de85e324..a35639d02c3 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/IProblem.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/IProblem.java @@ -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 = ""; + 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, diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/IASTExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/IASTExpression.java index 149daf93268..a4ff86a31a8 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/IASTExpression.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/IASTExpression.java @@ -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$ } /** diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ParserMessages.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ParserMessages.java new file mode 100644 index 00000000000..459363b7ae6 --- /dev/null +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ParserMessages.java @@ -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 }); + } +} \ No newline at end of file diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ParserMessages.properties b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ParserMessages.properties new file mode 100644 index 00000000000..82725c1efb0 --- /dev/null +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ParserMessages.properties @@ -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= +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}. \ No newline at end of file diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/QuickParseCallback.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/QuickParseCallback.java index cf413b3291c..49c9fea7f38 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/QuickParseCallback.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/QuickParseCallback.java @@ -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$ } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTProblemFactory.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTProblemFactory.java index 173071af755..18061c43c0c 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTProblemFactory.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTProblemFactory.java @@ -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) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/CompleteParseASTFactory.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/CompleteParseASTFactory.java index 33ffd8736ae..975ab89647d 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/CompleteParseASTFactory.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/CompleteParseASTFactory.java @@ -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 diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/problem/BaseProblemFactory.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/problem/BaseProblemFactory.java index 589b7a4c701..932b51eb57c 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/problem/BaseProblemFactory.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/problem/BaseProblemFactory.java @@ -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 ); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/FunctionMacroDescriptor.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/FunctionMacroDescriptor.java index e2699281302..02afe322f8c 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/FunctionMacroDescriptor.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/FunctionMacroDescriptor.java @@ -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(); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/LineOffsetReconciler.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/LineOffsetReconciler.java index e277b5ae480..61481abced7 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/LineOffsetReconciler.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/LineOffsetReconciler.java @@ -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) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/Scanner.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/Scanner.java index 46ddd60cbf3..ad59302aefc 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/Scanner.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/Scanner.java @@ -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 = ""; + private final static String 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 = ""; - private static final String START = ""; - private static final String EXPRESSION = ""; - private static final String PASTING = ""; + private static final String TEXT = ""; //$NON-NLS-1$ + private static final String START = ""; //$NON-NLS-1$ + private static final String EXPRESSION = ""; //$NON-NLS-1$ + private static final String 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 ){ diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/ScannerProblemFactory.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/ScannerProblemFactory.java index e38ac68f3ee..6886da71631 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/ScannerProblemFactory.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/ScannerProblemFactory.java @@ -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 : @@ -134,12 +136,13 @@ public class ScannerProblemFactory extends BaseProblemFactory implements IProble default : 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)