Tokenizer: simplifyknownvariables, improved handling of string constant
This commit is contained in:
parent
65c7b6eb8b
commit
4fdb420454
|
@ -5773,6 +5773,7 @@ bool Tokenizer::simplifyKnownVariables()
|
||||||
(Token::Match(tok2, "%var% = %num% ;") ||
|
(Token::Match(tok2, "%var% = %num% ;") ||
|
||||||
Token::Match(tok2, "%var% = %str% ;") ||
|
Token::Match(tok2, "%var% = %str% ;") ||
|
||||||
Token::Match(tok2, "%var% [ ] = %str% ;") ||
|
Token::Match(tok2, "%var% [ ] = %str% ;") ||
|
||||||
|
Token::Match(tok2, "%var% [ %num% ] = %str% ;") ||
|
||||||
Token::Match(tok2, "%var% = %bool% ;") ||
|
Token::Match(tok2, "%var% = %bool% ;") ||
|
||||||
Token::Match(tok2, "%var% = %var% ;") ||
|
Token::Match(tok2, "%var% = %var% ;") ||
|
||||||
Token::Match(tok2, "%var% = & %var% ;") ||
|
Token::Match(tok2, "%var% = & %var% ;") ||
|
||||||
|
@ -5834,10 +5835,10 @@ bool Tokenizer::simplifyKnownVariables()
|
||||||
{
|
{
|
||||||
value = tok2->strAt(2);
|
value = tok2->strAt(2);
|
||||||
valueVarId = tok2->tokAt(2)->varId();
|
valueVarId = tok2->tokAt(2)->varId();
|
||||||
if (value == "]")
|
if (Token::simpleMatch(tok2->next(), "["))
|
||||||
{
|
{
|
||||||
value = tok2->strAt(4);
|
value = tok2->next()->link()->strAt(2);
|
||||||
valueVarId = tok2->tokAt(4)->varId();
|
valueVarId = 0;
|
||||||
}
|
}
|
||||||
else if (value == "&")
|
else if (value == "&")
|
||||||
{
|
{
|
||||||
|
|
|
@ -1434,7 +1434,7 @@ private:
|
||||||
" const char s [ 5 ] = \"abcd\" ;"
|
" const char s [ 5 ] = \"abcd\" ;"
|
||||||
" 4 ; "
|
" 4 ; "
|
||||||
"}";
|
"}";
|
||||||
TODO_ASSERT_EQUALS(expected, tok(code));
|
ASSERT_EQUALS(expected, tok(code));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue