From d0af67a1b1d4fb2ad14a6e940562b0463cb70ac3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Mon, 2 Feb 2009 17:35:46 +0000 Subject: [PATCH] Tokenizer: setVarId improved to handle declaration at the first token --- src/tokenize.cpp | 7 +++++-- test/testtokenize.cpp | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/tokenize.cpp b/src/tokenize.cpp index 3b43e14fe..e71becf40 100644 --- a/src/tokenize.cpp +++ b/src/tokenize.cpp @@ -468,8 +468,11 @@ void Tokenizer::setVarId() unsigned int _varId = 0; for (Token *tok = _tokens; tok; tok = tok->next()) { - if (!(firstMatch = Token::Match(tok, "[;{}(] %type% *| %var%")) - && !Token::Match(tok, "[;{}(] %type% %type% *| %var%")) + if ( tok != _tokens && !Token::Match(tok, "[;{}(]") ) + continue; + + if (!(firstMatch = Token::Match(tok->next(), "%type% *| %var%")) + && !Token::Match(tok->next(), "%type% %type% *| %var%")) continue; // Determine name of declared variable.. diff --git a/test/testtokenize.cpp b/test/testtokenize.cpp index 93fc5655b..31e3c3589 100644 --- a/test/testtokenize.cpp +++ b/test/testtokenize.cpp @@ -67,7 +67,7 @@ private: TEST_CASE(varid1); TEST_CASE(varid2); - // TODO TEST_CASE(varid3); + TEST_CASE(varid3); TEST_CASE(file1); TEST_CASE(file2);