| 106 | } |
| 107 | |
| 108 | std::pair<bool, bool> evalCond(const Token* tok, const Token* ctx = nullptr) const { |
| 109 | if (!tok) |
| 110 | return std::make_pair(false, false); |
| 111 | std::vector<MathLib::bigint> result = analyzer->evaluate(tok, ctx); |
| 112 | // TODO: We should convert to bool |
| 113 | const bool checkThen = std::any_of(result.cbegin(), result.cend(), [](MathLib::bigint x) { |
| 114 | return x != 0; |
| 115 | }); |
| 116 | const bool checkElse = std::any_of(result.cbegin(), result.cend(), [](MathLib::bigint x) { |
| 117 | return x == 0; |
| 118 | }); |
| 119 | return std::make_pair(checkThen, checkElse); |
| 120 | } |
| 121 | |
| 122 | bool isConditionTrue(const Token* tok, const Token* ctx = nullptr) const { |
| 123 | return evalCond(tok, ctx).first; |
no test coverage detected