MCPcopy Create free account
hub / github.com/cppcheck-opensource/cppcheck / strPlusChar

Method strPlusChar

lib/checkstring.cpp:223–237  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

221}
222
223void CheckStringImpl::strPlusChar()
224{
225 logChecker("CheckString::strPlusChar");
226 const SymbolDatabase* symbolDatabase = mTokenizer->getSymbolDatabase();
227 for (const Scope * scope : symbolDatabase->functionScopes) {
228 for (const Token* tok = scope->bodyStart->next(); tok != scope->bodyEnd; tok = tok->next()) {
229 if (tok->str() == "+") {
230 if (tok->astOperand1() && (tok->astOperand1()->tokType() == Token::eString)) { // string literal...
231 if (tok->astOperand2() && (tok->astOperand2()->tokType() == Token::eChar || isChar(tok->astOperand2()->variable()))) // added to char variable or char constant
232 strPlusCharError(tok);
233 }
234 }
235 }
236 }
237}
238
239void CheckStringImpl::strPlusCharError(const Token *tok)
240{

Callers 1

runChecksMethod · 0.80

Calls 6

isCharFunction · 0.85
nextMethod · 0.80
astOperand1Method · 0.80
astOperand2Method · 0.80
variableMethod · 0.80
strMethod · 0.45

Tested by

no test coverage detected