| 2206 | } |
| 2207 | |
| 2208 | static bool isBracketAccess(const Token* tok) |
| 2209 | { |
| 2210 | if (!Token::simpleMatch(tok, "[") || !tok->astOperand1()) |
| 2211 | return false; |
| 2212 | tok = tok->astOperand1(); |
| 2213 | if (tok->str() == ".") |
| 2214 | tok = tok->astOperand2(); |
| 2215 | while (Token::simpleMatch(tok, "[")) |
| 2216 | tok = tok->astOperand1(); |
| 2217 | if (!tok || !tok->variable()) |
| 2218 | return false; |
| 2219 | return tok->variable()->nameToken() != tok; |
| 2220 | } |
| 2221 | |
| 2222 | static bool isConstant(const Token* tok) { |
| 2223 | return tok && (tok->isEnumerator() || Token::Match(tok, "%bool%|%num%|%str%|%char%|nullptr|NULL")); |
no test coverage detected