| 405 | |
| 406 | |
| 407 | void CheckBoolImpl::pointerArithBool() |
| 408 | { |
| 409 | logChecker("CheckBool::pointerArithBool"); |
| 410 | |
| 411 | const SymbolDatabase* symbolDatabase = mTokenizer->getSymbolDatabase(); |
| 412 | |
| 413 | for (const Scope &scope : symbolDatabase->scopeList) { |
| 414 | if (scope.type != ScopeType::eIf && !scope.isLoopScope()) |
| 415 | continue; |
| 416 | const Token* tok = scope.classDef->next()->astOperand2(); |
| 417 | if (scope.type == ScopeType::eFor) { |
| 418 | tok = Token::findsimplematch(scope.classDef->tokAt(2), ";"); |
| 419 | if (tok) |
| 420 | tok = tok->astOperand2(); |
| 421 | if (tok) |
| 422 | tok = tok->astOperand1(); |
| 423 | } else if (scope.type == ScopeType::eDo) |
| 424 | tok = (scope.bodyEnd->tokAt(2)) ? scope.bodyEnd->tokAt(2)->astOperand2() : nullptr; |
| 425 | |
| 426 | pointerArithBoolCond(tok); |
| 427 | } |
| 428 | } |
| 429 | |
| 430 | void CheckBoolImpl::pointerArithBoolCond(const Token *tok) |
| 431 | { |
no test coverage detected