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

Method checkDuplInheritedMembersRecursive

lib/checkclass.cpp:3206–3223  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3204}
3205
3206void CheckClassImpl::checkDuplInheritedMembersRecursive(const Type* typeCurrent, const Type* typeBase)
3207{
3208 const auto resultsVar = getDuplInheritedMembersRecursive(typeCurrent, typeBase);
3209 for (const auto& r : resultsVar) {
3210 duplInheritedMembersError(r.classVar->nameToken(), r.parentClassVar->nameToken(),
3211 typeCurrent->name(), r.parentClass->type->name(), r.classVar->name(),
3212 typeCurrent->classScope->type == ScopeType::eStruct,
3213 r.parentClass->type->classScope->type == ScopeType::eStruct);
3214 }
3215
3216 const auto resultsFunc = getDuplInheritedMemberFunctionsRecursive(typeCurrent, typeBase);
3217 for (const auto& r : resultsFunc) {
3218 duplInheritedMembersError(r.classFunc->token, r.parentClassFunc->token,
3219 typeCurrent->name(), r.parentClass->type->name(), r.classFunc->name(),
3220 typeCurrent->classScope->type == ScopeType::eStruct,
3221 r.parentClass->type->classScope->type == ScopeType::eStruct, /*isFunction*/ true);
3222 }
3223}
3224
3225void CheckClassImpl::duplInheritedMembersError(const Token *tok1, const Token* tok2,
3226 const std::string &derivedName, const std::string &baseName,

Callers

nothing calls this directly

Calls 4

nameTokenMethod · 0.45
nameMethod · 0.45

Tested by

no test coverage detected