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

Function getParentMember

lib/astutils.cpp:599–617  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

597}
598
599const Token* getParentMember(const Token * tok)
600{
601 if (!tok)
602 return tok;
603 const Token * parent = tok->astParent();
604 if (!Token::simpleMatch(parent, "."))
605 return tok;
606 if (astIsRHS(tok)) {
607 if (Token::simpleMatch(parent->astOperand1(), "."))
608 return parent->astOperand1()->astOperand2();
609 return parent->astOperand1();
610 }
611 const Token * gparent = parent->astParent();
612 if (!Token::simpleMatch(gparent, ".") || gparent->astOperand2() != parent)
613 return tok;
614 if (gparent->astOperand1())
615 return gparent->astOperand1();
616 return tok;
617}
618
619const Token* getParentLifetime(const Token* tok)
620{

Callers 1

getParentLifetimeFunction · 0.85

Calls 5

astIsRHSFunction · 0.85
astParentMethod · 0.80
astOperand1Method · 0.80
astOperand2Method · 0.80
simpleMatchFunction · 0.70

Tested by

no test coverage detected