| 803 | static bool bifurcate(const Token* tok, const std::set<nonneg int>& varids, const Settings& settings, int depth = 20); |
| 804 | |
| 805 | static bool bifurcateVariableChanged(const Variable* var, |
| 806 | const std::set<nonneg int>& varids, |
| 807 | const Token* start, |
| 808 | const Token* end, |
| 809 | const Settings& settings, |
| 810 | int depth = 20) |
| 811 | { |
| 812 | bool result = false; |
| 813 | const Token* tok = start; |
| 814 | while ((tok = findVariableChanged( |
| 815 | tok->next(), end, var->isPointer(), var->declarationId(), var->isGlobal(), settings))) { |
| 816 | if (Token::Match(tok->astParent(), "%assign%")) { |
| 817 | if (!bifurcate(tok->astParent()->astOperand2(), varids, settings, depth - 1)) |
| 818 | return true; |
| 819 | } else { |
| 820 | result = true; |
| 821 | } |
| 822 | } |
| 823 | return result; |
| 824 | } |
| 825 | |
| 826 | static bool bifurcate(const Token* tok, const std::set<nonneg int>& varids, const Settings& settings, int depth) |
| 827 | { |
no test coverage detected