|
Cppcheck
|
#include "config.h"#include "mathlib.h"#include "vfvalue.h"#include <cstddef>#include <functional>#include <map>#include <string>#include <unordered_map>#include <utility>#include <vector>Go to the source code of this file.
Classes | |
| struct | ExprIdToken |
| struct | ExprIdToken::Hash |
| struct | ProgramMemory |
| struct | ProgramMemoryState |
Functions | |
| std::vector< ValueFlow::Value > | execute (const Scope *scope, ProgramMemory &pm, const Settings &settings) |
| void | execute (const Token *expr, ProgramMemory &programMemory, MathLib::bigint *result, bool *error, const Settings &settings) |
| bool | conditionIsFalse (const Token *condition, ProgramMemory pm, const Settings &settings) |
| Is condition always false when variable has given value? More... | |
| bool | conditionIsTrue (const Token *condition, ProgramMemory pm, const Settings &settings) |
| Is condition always true when variable has given value? More... | |
| ProgramMemory | getProgramMemory (const Token *tok, const Token *expr, const ValueFlow::Value &value, const Settings &settings) |
| Get program memory by looking backwards from given token. More... | |
| ValueFlow::Value | evaluateLibraryFunction (const std::unordered_map< nonneg int, ValueFlow::Value > &args, const std::string &returnValue, const Settings &settings, bool cpp) |
| bool conditionIsFalse | ( | const Token * | condition, |
| ProgramMemory | pm, | ||
| const Settings & | settings | ||
| ) |
Is condition always false when variable has given value?
| condition | top ast token in condition |
| pm | program memory |
Definition at line 211 of file programmemory.cpp.
References evaluateCondition().
Referenced by ValueFlowAnalyzer::evaluateInt(), fillProgramMemoryFromAssignments(), ProgramMemoryState::removeModifiedVars(), and valueFlowForLoopSimplify().
| bool conditionIsTrue | ( | const Token * | condition, |
| ProgramMemory | pm, | ||
| const Settings & | settings | ||
| ) |
Is condition always true when variable has given value?
| condition | top ast token in condition |
| pm | program memory |
Definition at line 216 of file programmemory.cpp.
References evaluateCondition().
Referenced by evalSameCondition(), ValueFlowAnalyzer::evaluateInt(), fillProgramMemoryFromAssignments(), ProgramMemoryState::removeModifiedVars(), and valueFlowForLoopSimplify().
| ValueFlow::Value evaluateLibraryFunction | ( | const std::unordered_map< nonneg int, ValueFlow::Value > & | args, |
| const std::string & | returnValue, | ||
| const Settings & | settings, | ||
| bool | cpp | ||
| ) |
Definition at line 1763 of file programmemory.cpp.
References createTokenFromExpression(), execute(), ProgramMemory::setValue(), and ValueFlow::Value::unknown().
Referenced by valueFlowLibraryFunction().
| std::vector<ValueFlow::Value> execute | ( | const Scope * | scope, |
| ProgramMemory & | pm, | ||
| const Settings & | settings | ||
| ) |
Definition at line 1757 of file programmemory.cpp.
| void execute | ( | const Token * | expr, |
| ProgramMemory & | programMemory, | ||
| MathLib::bigint * | result, | ||
| bool * | error, | ||
| const Settings & | settings | ||
| ) |
Definition at line 1792 of file programmemory.cpp.
References error, execute(), ValueFlow::Value::intvalue, ValueFlow::Value::isImpossible(), and ValueFlow::Value::isIntValue().
| ProgramMemory getProgramMemory | ( | const Token * | tok, |
| const Token * | expr, | ||
| const ValueFlow::Value & | value, | ||
| const Settings & | settings | ||
| ) |
Get program memory by looking backwards from given token.
Definition at line 539 of file programmemory.cpp.
References ValueFlow::Value::condition, fillProgramMemoryFromAssignments(), fillProgramMemoryFromConditions(), getInitialProgramState(), ProgramMemory::replace(), ProgramMemory::setValue(), and ValueFlow::Value::tokvalue.
Referenced by ValueFlowAnalyzer::evaluateInt(), and valueFlowForLoopSimplify().