diff options
author | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2012-07-31 15:11:39 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2012-08-01 16:45:45 +0200 |
commit | 986c953ac6c099b261141314ea6657c5dffb459d (patch) | |
tree | e9b330673ce6b7753e52a0cb90d1fc93d79af96a | |
parent | 52490534739ef510c01a8a3847104bfaa3466413 (diff) | |
download | qt-creator-986c953ac6c099b261141314ea6657c5dffb459d.tar.gz |
minor speedup of message()/warning()/error()
properly identify the function in the dispatcher, to save an additional
string comparison later.
Change-Id: I6bb88bf620f5f47416d8f58cf00050913fc3aa4b
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
-rw-r--r-- | src/shared/proparser/qmakebuiltins.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/shared/proparser/qmakebuiltins.cpp b/src/shared/proparser/qmakebuiltins.cpp index c271ff1c84..2a4eb18ca6 100644 --- a/src/shared/proparser/qmakebuiltins.cpp +++ b/src/shared/proparser/qmakebuiltins.cpp @@ -85,7 +85,7 @@ enum TestFunc { T_INVALID = 0, T_REQUIRES, T_GREATERTHAN, T_LESSTHAN, T_EQUALS, T_EXISTS, T_EXPORT, T_CLEAR, T_UNSET, T_EVAL, T_CONFIG, T_SYSTEM, T_RETURN, T_BREAK, T_NEXT, T_DEFINED, T_CONTAINS, T_INFILE, - T_COUNT, T_ISEMPTY, T_INCLUDE, T_LOAD, T_DEBUG, T_MESSAGE, T_IF + T_COUNT, T_ISEMPTY, T_INCLUDE, T_LOAD, T_DEBUG, T_MESSAGE, T_WARNING, T_ERROR, T_IF }; void QMakeEvaluator::initFunctionStatics() @@ -167,8 +167,8 @@ void QMakeEvaluator::initFunctionStatics() { "include", T_INCLUDE }, { "debug", T_DEBUG }, { "message", T_MESSAGE }, - { "warning", T_MESSAGE }, - { "error", T_MESSAGE }, + { "warning", T_WARNING }, + { "error", T_ERROR }, }; for (unsigned i = 0; i < sizeof(testInits)/sizeof(testInits[0]); ++i) statics.functions.insert(ProString(testInits[i].name), testInits[i].func); @@ -1284,6 +1284,8 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateConditionalFunction( case T_DEBUG: // Yup - do nothing. Nothing is going to enable debug output anyway. return ReturnFalse; + case T_ERROR: + case T_WARNING: case T_MESSAGE: { if (args.count() != 1) { evalError(fL1S("%1(message) requires one argument.") @@ -1295,7 +1297,7 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateConditionalFunction( m_handler->fileMessage(fL1S("Project %1: %2") .arg(function.toQString(m_tmp1).toUpper(), msg)); // ### Consider real termination in non-cumulative mode - return returnBool(function != QLatin1String("error")); + return returnBool(func_t != T_ERROR); } #ifdef PROEVALUATOR_FULL case T_SYSTEM: { |