Cppcheck
|
Classes | |
class | DataBase |
class | Value |
class | UninitValue |
class | IntRange |
class | FloatRange |
class | ConditionalValue |
class | ArrayValue |
class | StringLiteralValue |
class | StructValue |
class | AddressOfValue |
class | BinOpResult |
class | IntegerTruncation |
class | FunctionCallArgumentValues |
class | BailoutValue |
Typedefs | |
typedef std::shared_ptr< Value > | ValuePtr |
typedef std::function< void(const Token *, const ExprEngine::Value &, ExprEngine::DataBase *)> | Callback |
Enumerations | |
enum class | ValueType { UninitValue , IntRange , FloatRange , ConditionalValue , ArrayValue , StringLiteralValue , StructValue , AddressOfValue , BinOpResult , IntegerTruncation , FunctionCallArgumentValues , BailoutValue } |
Functions | |
std::string | str (int128_t) |
void CPPCHECKLIB | executeAllFunctions (ErrorLogger *errorLogger, const Tokenizer *tokenizer, const Settings *settings, const std::vector< Callback > &callbacks, std::ostream &report) |
Execute all functions. More... | |
void | executeFunction (const Scope *functionScope, ErrorLogger *errorLogger, const Tokenizer *tokenizer, const Settings *settings, const std::vector< Callback > &callbacks, std::ostream &report) |
void | runChecks (ErrorLogger *errorLogger, const Tokenizer *tokenizer, const Settings *settings) |
void | dump (ExprEngine::ValuePtr val) |
typedef std::function<void (const Token *, const ExprEngine::Value &, ExprEngine::DataBase *)> ExprEngine::Callback |
Definition at line 338 of file exprengine.h.
typedef std::shared_ptr<Value> ExprEngine::ValuePtr |
Definition at line 74 of file exprengine.h.
|
strong |
Enumerator | |
---|---|
UninitValue | |
IntRange | |
FloatRange | |
ConditionalValue | |
ArrayValue | |
StringLiteralValue | |
StructValue | |
AddressOfValue | |
BinOpResult | |
IntegerTruncation | |
FunctionCallArgumentValues | |
BailoutValue |
Definition at line 58 of file exprengine.h.
void ExprEngine::dump | ( | ExprEngine::ValuePtr | val | ) |
Definition at line 3168 of file exprengine.cpp.
References dumpRecursive().
void ExprEngine::executeAllFunctions | ( | ErrorLogger * | errorLogger, |
const Tokenizer * | tokenizer, | ||
const Settings * | settings, | ||
const std::vector< Callback > & | callbacks, | ||
std::ostream & | report | ||
) |
Execute all functions.
Definition at line 2896 of file exprengine.cpp.
References executeFunction(), Scope::function, SymbolDatabase::functionScopes, Tokenizer::getSymbolDatabase(), and Function::name().
Referenced by runChecks().
void ExprEngine::executeFunction | ( | const Scope * | functionScope, |
ErrorLogger * | errorLogger, | ||
const Tokenizer * | tokenizer, | ||
const Settings * | settings, | ||
const std::vector< Callback > & | callbacks, | ||
std::ostream & | report | ||
) |
Definition at line 3003 of file exprengine.cpp.
References Scope::bodyEnd, Scope::bodyStart, Settings::bugHuntingReport, call(), ValueType::constness, createVariableValue(), Settings::debugBugHunting, Variable::declarationId(), execute(), executeExpression1(), Token::fileIndex(), Function::fullName(), Scope::function, Tokenizer::getSymbolDatabase(), Token::hasCppcheckAttributes(), ValueType::isIntegral(), Token::Match(), Variable::name(), Variable::nameToken(), Token::next(), ValueType::pointer, SymbolDatabase::scopeList, Scope::type, Variable::valueType(), and Settings::verbose.
Referenced by executeAllFunctions().
void ExprEngine::runChecks | ( | ErrorLogger * | errorLogger, |
const Tokenizer * | tokenizer, | ||
const Settings * | settings | ||
) |
Definition at line 3089 of file exprengine.cpp.
References addBughuntingChecks(), ErrorLogger::bughuntingReport(), Settings::bugHuntingReport, and executeAllFunctions().
Referenced by CppCheck::checkNormalTokens().
std::string ExprEngine::str | ( | int128_t | value | ) |
Definition at line 245 of file exprengine.cpp.
Referenced by assignExprValue(), ExprEngine::IntRange::getRange(), simplifyValue(), and truncateValue().