| 3643 | } |
| 3644 | |
| 3645 | const Token* findAllocFuncCallToken(const Token *expr, const Library &library) |
| 3646 | { |
| 3647 | if (!expr) |
| 3648 | return nullptr; |
| 3649 | if (Token::Match(expr, "[+-]")) { |
| 3650 | const Token *tok1 = findAllocFuncCallToken(expr->astOperand1(), library); |
| 3651 | return tok1 ? tok1 : findAllocFuncCallToken(expr->astOperand2(), library); |
| 3652 | } |
| 3653 | if (expr->isCast()) |
| 3654 | return findAllocFuncCallToken(expr->astOperand2() ? expr->astOperand2() : expr->astOperand1(), library); |
| 3655 | if (Token::Match(expr->previous(), "%name% (") && library.getAllocFuncInfo(expr->astOperand1())) |
| 3656 | return expr->astOperand1(); |
| 3657 | return (Token::simpleMatch(expr, "new") && expr->astOperand1()) ? expr : nullptr; |
| 3658 | } |
| 3659 | |
| 3660 | bool isNullOperand(const Token *expr) |
| 3661 | { |
no test coverage detected