| 259 | } |
| 260 | |
| 261 | static void setValueKind(ValueFlow::Value& value, const std::vector<const ValueFlow::Value*>& refs) |
| 262 | { |
| 263 | bool isPossible = false; |
| 264 | bool isInconclusive = false; |
| 265 | for (const ValueFlow::Value* ref : refs) { |
| 266 | if (ref->isPossible()) |
| 267 | isPossible = true; |
| 268 | if (ref->isInconclusive()) |
| 269 | isInconclusive = true; |
| 270 | } |
| 271 | if (isInconclusive) |
| 272 | value.setInconclusive(); |
| 273 | else if (isPossible) |
| 274 | value.setPossible(); |
| 275 | else |
| 276 | value.setKnown(); |
| 277 | } |
| 278 | |
| 279 | static bool inferNotEqual(const std::list<ValueFlow::Value>& values, MathLib::bigint x) |
| 280 | { |
no test coverage detected