| 2684 | } |
| 2685 | |
| 2686 | static const Token *singleMemberCallInScope(const Token *start, nonneg int varid, bool &input, const Settings& settings) |
| 2687 | { |
| 2688 | if (start->str() != "{") |
| 2689 | return nullptr; |
| 2690 | const Token *endToken = start->link(); |
| 2691 | if (!Token::Match(start->next(), "%var% . %name% (")) |
| 2692 | return nullptr; |
| 2693 | if (!Token::simpleMatch(start->linkAt(4), ") ; }")) |
| 2694 | return nullptr; |
| 2695 | const Token *endStatement = start->linkAt(4)->next(); |
| 2696 | if (endStatement->next() != endToken) |
| 2697 | return nullptr; |
| 2698 | |
| 2699 | const Token *dotTok = start->tokAt(2); |
| 2700 | if (!Token::findmatch(dotTok->tokAt(2), "%varid%", endStatement, varid)) |
| 2701 | return nullptr; |
| 2702 | input = Token::Match(start->next(), "%var% . %name% ( %varid% )", varid); |
| 2703 | if (isVariableChanged(dotTok->next(), endStatement, dotTok->astOperand1()->varId(), /*globalvar*/ false, settings)) |
| 2704 | return nullptr; |
| 2705 | return dotTok; |
| 2706 | } |
| 2707 | |
| 2708 | static const Token *singleIncrementInScope(const Token *start, nonneg int varid, bool &input) |
| 2709 | { |
no test coverage detected