| 1027 | } |
| 1028 | |
| 1029 | bool stopOnCondition(const Token* condTok) const override { |
| 1030 | if (isConditional()) |
| 1031 | return true; |
| 1032 | if (!condTok->hasKnownIntValue() && values.count(condTok->varId()) == 0) { |
| 1033 | const auto& values_ = condTok->values(); |
| 1034 | return std::any_of(values_.cbegin(), values_.cend(), [](const ValueFlow::Value& v) { |
| 1035 | return v.isSymbolicValue() && Token::Match(v.tokvalue, "%oror%|&&"); |
| 1036 | }); |
| 1037 | } |
| 1038 | return false; |
| 1039 | } |
| 1040 | |
| 1041 | bool updateScope(const Token* endBlock, bool /*modified*/) const override { |
| 1042 | const Scope* scope = endBlock->scope(); |
no test coverage detected