| 292 | } |
| 293 | |
| 294 | static std::vector<const Token*> getComparisonTokens(const Token* tok) |
| 295 | { |
| 296 | std::vector<const Token*> result{ tok }; |
| 297 | if (tok->hasKnownValue(ValueFlow::Value::ValueType::SYMBOLIC)) |
| 298 | result.push_back(tok->getKnownValue(ValueFlow::Value::ValueType::SYMBOLIC)->tokvalue); |
| 299 | for (const Token* op : { tok->astOperand1(), tok->astOperand2() }) { |
| 300 | if (op && op->hasKnownValue(ValueFlow::Value::ValueType::SYMBOLIC)) |
| 301 | result.push_back(op->getKnownValue(ValueFlow::Value::ValueType::SYMBOLIC)->tokvalue); |
| 302 | } |
| 303 | return result; |
| 304 | } |
| 305 | |
| 306 | bool CheckLeakAutoVarImpl::checkScope(const Token * const startToken, |
| 307 | VarInfo &varInfo, |
no test coverage detected