CheckMemoryLeak: Refactoring. Use TOKEN::isStandardType instead of rewriting its functionality
This commit is contained in:
parent
b179083788
commit
2e22c7cb1d
|
@ -49,18 +49,13 @@ CheckMemoryLeakClass::~CheckMemoryLeakClass()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CheckMemoryLeakClass::isclass( const std::string &typestr )
|
bool CheckMemoryLeakClass::isclass( const TOKEN *tok )
|
||||||
{
|
{
|
||||||
if ( typestr == "char" ||
|
if ( tok->isStandardType() )
|
||||||
typestr == "short" ||
|
|
||||||
typestr == "int" ||
|
|
||||||
typestr == "long" ||
|
|
||||||
typestr == "float" ||
|
|
||||||
typestr == "double" )
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
std::ostringstream pattern;
|
std::ostringstream pattern;
|
||||||
pattern << "struct " << typestr;
|
pattern << "struct " << tok->str();
|
||||||
if ( TOKEN::findmatch( _tokenizer->tokens(), pattern.str().c_str() ) )
|
if ( TOKEN::findmatch( _tokenizer->tokens(), pattern.str().c_str() ) )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -343,7 +338,7 @@ TOKEN *CheckMemoryLeakClass::getcode(const TOKEN *tok, std::list<const TOKEN *>
|
||||||
{
|
{
|
||||||
if ( TOKEN::Match(tok->tokAt(3), "new %type% [(;]") )
|
if ( TOKEN::Match(tok->tokAt(3), "new %type% [(;]") )
|
||||||
{
|
{
|
||||||
if ( isclass( tok->strAt(4) ) )
|
if ( isclass( tok->tokAt(4) ) )
|
||||||
alloc = No;
|
alloc = No;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -982,7 +977,7 @@ void CheckMemoryLeakClass::CheckMemoryLeak_ClassMembers_ParseClass( const TOKEN
|
||||||
{
|
{
|
||||||
if ( tok->isName() || strchr(";}", tok->aaaa0()) )
|
if ( tok->isName() || strchr(";}", tok->aaaa0()) )
|
||||||
{
|
{
|
||||||
if (_settings._showAll || !isclass(tok->strAt(1)))
|
if (_settings._showAll || !isclass(tok->tokAt(1)))
|
||||||
CheckMemoryLeak_ClassMembers_Variable( classname, tok->strAt(3) );
|
CheckMemoryLeak_ClassMembers_Variable( classname, tok->strAt(3) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,7 +72,7 @@ private:
|
||||||
const char * call_func( const TOKEN *tok, std::list<const TOKEN *> callstack, const char *varnames[], AllocType &alloctype, AllocType &dealloctype );
|
const char * call_func( const TOKEN *tok, std::list<const TOKEN *> callstack, const char *varnames[], AllocType &alloctype, AllocType &dealloctype );
|
||||||
AllocType GetDeallocationType( const TOKEN *tok, const char *varnames[]);
|
AllocType GetDeallocationType( const TOKEN *tok, const char *varnames[]);
|
||||||
AllocType GetAllocationType( const TOKEN *tok2 );
|
AllocType GetAllocationType( const TOKEN *tok2 );
|
||||||
bool isclass( const std::string &typestr );
|
bool isclass( const TOKEN *typestr );
|
||||||
|
|
||||||
const Tokenizer *_tokenizer;
|
const Tokenizer *_tokenizer;
|
||||||
ErrorLogger *_errorLogger;
|
ErrorLogger *_errorLogger;
|
||||||
|
|
Loading…
Reference in New Issue