Rephrased syntaxError message for empty configurations to improve readability:

Old: Invalid number of character 'c' when these macros are defined: ''.
New: Invalid number of character 'c' when no macros are defined.
This commit is contained in:
PKEuS 2016-08-04 16:28:11 +02:00
parent ad96f7b519
commit 084fcc936c
3 changed files with 10 additions and 6 deletions

View File

@ -7570,10 +7570,14 @@ void Tokenizer::syntaxError(const Token *tok) const
void Tokenizer::syntaxError(const Token *tok, char c) const
{
printDebugOutput(0);
throw InternalError(tok,
std::string("Invalid number of character '") + c + "' " +
"when these macros are defined: '" + _configuration + "'.",
InternalError::SYNTAX);
if (_configuration.empty())
throw InternalError(tok,
std::string("Invalid number of character '") + c + "' when no macros are defined.",
InternalError::SYNTAX);
else
throw InternalError(tok,
std::string("Invalid number of character '") + c + "' when these macros are defined: '" + _configuration + "'.",
InternalError::SYNTAX);
}
void Tokenizer::unhandled_macro_class_x_y(const Token *tok) const

View File

@ -1 +1 @@
[samples\syntaxError\bad.c:2]: (error) Invalid number of character '{' when these macros are defined: ''.
[samples\syntaxError\bad.c:2]: (error) Invalid number of character '{' when no macros are defined.

View File

@ -1073,7 +1073,7 @@ private:
tokenizer.tokenize(istr, "test.cpp");
assertThrowFail(__FILE__, __LINE__);
} catch (InternalError& e) {
ASSERT_EQUALS("Invalid number of character '(' when these macros are defined: ''.", e.errorMessage);
ASSERT_EQUALS("Invalid number of character '(' when no macros are defined.", e.errorMessage);
ASSERT_EQUALS("syntaxError", e.id);
ASSERT_EQUALS(2, e.token->linenr());
}