diff options
author | Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> | 2015-02-17 20:45:08 +0100 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> | 2015-10-28 13:01:59 +0000 |
commit | 13148ede99a987defa4e4a7405ccfcbd953c4f5d (patch) | |
tree | 2b30b635c8372ec3e45623150615b1eac2489179 /src/shared/proparser | |
parent | 6d348a2da9faab6f51055ae69a9a55261b1c183c (diff) |
factor out putOperator()
Change-Id: I1b01e36e15dc93fc4e37597b66841d7102fa6b0d
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
(cherry picked from qtbase/bb26d1da0028d61e7f72fff3643af0c4601ab63e)
Diffstat (limited to 'src/shared/proparser')
-rw-r--r-- | src/shared/proparser/qmakeparser.cpp | 16 | ||||
-rw-r--r-- | src/shared/proparser/qmakeparser.h | 1 |
2 files changed, 10 insertions, 7 deletions
diff --git a/src/shared/proparser/qmakeparser.cpp b/src/shared/proparser/qmakeparser.cpp index a9341e0496c..83d71f252fb 100644 --- a/src/shared/proparser/qmakeparser.cpp +++ b/src/shared/proparser/qmakeparser.cpp @@ -928,14 +928,19 @@ void QMakeParser::flushCond(ushort *&tokPtr) } } -void QMakeParser::finalizeTest(ushort *&tokPtr) +void QMakeParser::putOperator(ushort *&tokPtr) { - flushScopes(tokPtr); - putLineMarker(tokPtr); if (m_operator != NoOperator) { putTok(tokPtr, (m_operator == AndOperator) ? TokAnd : TokOr); m_operator = NoOperator; } +} + +void QMakeParser::finalizeTest(ushort *&tokPtr) +{ + flushScopes(tokPtr); + putLineMarker(tokPtr); + putOperator(tokPtr); if (m_invert) { putTok(tokPtr, TokNot); m_invert = false; @@ -1079,10 +1084,7 @@ void QMakeParser::finalizeCall(ushort *&tokPtr, ushort *uc, ushort *ptr, int arg if (*uce == (TokLiteral|TokNewStr)) { uint nlen = uce[1]; if (uce[nlen + 2] == TokFuncTerminator) { - if (m_operator != NoOperator) { - putTok(tokPtr, (m_operator == AndOperator) ? TokAnd : TokOr); - m_operator = NoOperator; - } + putOperator(tokPtr); putTok(tokPtr, defType); putHashStr(tokPtr, uce + 2, nlen); enterScope(tokPtr, true, StCtrl); diff --git a/src/shared/proparser/qmakeparser.h b/src/shared/proparser/qmakeparser.h index c921ce465ff..6d85ce99ce8 100644 --- a/src/shared/proparser/qmakeparser.h +++ b/src/shared/proparser/qmakeparser.h @@ -141,6 +141,7 @@ private: const ushort *cur, const QString &in); void finalizeCond(ushort *&tokPtr, ushort *uc, ushort *ptr, int wordCount); void finalizeCall(ushort *&tokPtr, ushort *uc, ushort *ptr, int argc); + void putOperator(ushort *&tokPtr); void finalizeTest(ushort *&tokPtr); void bogusTest(ushort *&tokPtr, const QString &msg); void enterScope(ushort *&tokPtr, bool special, ScopeState state); |