49 :
Check(myName(), tokenizer, settings, errorLogger) {}
57 void assertWithSideEffects();
59 void checkVariableAssignment(
const Token* assignTok,
const Scope *assertionScope);
60 static bool inSameScope(
const Token* returnTok,
const Token* assignTok);
62 void sideEffectInAssertError(
const Token *tok,
const std::string& functionName);
63 void assignmentInAssertError(
const Token *tok,
const std::string &varname);
76 return "Warn if there are side effects in assert statements (since this cause different behaviour in debug/release builds).\n";
Checking for side effects in assert statements.
void assertWithSideEffects()
void getErrorMessages(ErrorLogger *errorLogger, const Settings *settings) const override
get error messages
void assignmentInAssertError(const Token *tok, const std::string &varname)
void runChecks(const Tokenizer &tokenizer, ErrorLogger *errorLogger) override
run checks, the token list is not simplified
CheckAssert(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger)
void sideEffectInAssertError(const Token *tok, const std::string &functionName)
std::string classInfo() const override
get information about this class, used to generate documentation
static std::string myName()
Interface class that cppcheck uses to communicate with the checks.
This is an interface, which the class responsible of error logging should implement.
This is just a container for general settings so that we don't need to pass individual values to func...
The token list that the TokenList generates is a linked-list of this class.
The main purpose is to tokenize the source code.
const Settings & getSettings() const