From 7327a8ea4d33938b231574778a8fb7b57ba24a97 Mon Sep 17 00:00:00 2001 From: Roberto Raggi Date: Tue, 3 Mar 2009 16:59:55 +0100 Subject: [PATCH] Introduced skipActualArguments(). --- src/libs/cplusplus/pp-engine.cpp | 29 +++++++++++++++++------------ src/libs/cplusplus/pp-engine.h | 2 ++ 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/src/libs/cplusplus/pp-engine.cpp b/src/libs/cplusplus/pp-engine.cpp index c9295c94248..c4b806ec2ce 100644 --- a/src/libs/cplusplus/pp-engine.cpp +++ b/src/libs/cplusplus/pp-engine.cpp @@ -764,18 +764,7 @@ void Preprocessor::preprocess(const QByteArray &fileName, const QByteArray &sour continue; } - int count = 0; - while (_dot->isNot(T_EOF_SYMBOL)) { - if (_dot->is(T_LPAREN)) - ++count; - - else if (_dot->is(T_RPAREN)) { - if (! --count) - break; - } - - ++_dot; - } + skipActualArguments(); if (_dot->isNot(T_RPAREN)) _result->append(spell); @@ -794,6 +783,22 @@ void Preprocessor::preprocess(const QByteArray &fileName, const QByteArray &sour _result = previousResult; } +void Preprocessor::skipActualArguments() +{ + int count = 0; + while (_dot->isNot(T_EOF_SYMBOL)) { + if (_dot->is(T_LPAREN)) + ++count; + + else if (_dot->is(T_RPAREN)) { + if (! --count) + break; + } + + ++_dot; + } +} + Macro *Preprocessor::processObjectLikeMacro(TokenIterator identifierToken, const QByteArray &spell, Macro *m) diff --git a/src/libs/cplusplus/pp-engine.h b/src/libs/cplusplus/pp-engine.h index c66517e2495..1eb96388393 100644 --- a/src/libs/cplusplus/pp-engine.h +++ b/src/libs/cplusplus/pp-engine.h @@ -127,6 +127,8 @@ private: QByteArray tokenSpell(const CPlusPlus::Token &token) const; QByteArray tokenText(const CPlusPlus::Token &token) const; // does a deep copy + void skipActualArguments(); + void processNewline(); void processSkippingBlocks(bool skippingBlocks,