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

Method findOpeningBracket

lib/token.cpp:941–965  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

939}
940
941const Token * Token::findOpeningBracket() const
942{
943 if (mStr != ">")
944 return nullptr;
945
946 const Token *opening = nullptr;
947
948 unsigned int depth = 0;
949 for (opening = this; opening != nullptr; opening = opening->previous()) {
950 if (Token::Match(opening, "}|]|)")) {
951 opening = opening->link();
952 if (!opening)
953 return nullptr;
954 } else if (Token::Match(opening, "{|{|(|;"))
955 return nullptr;
956 else if (opening->str() == ">")
957 ++depth;
958 else if (opening->str() == "<") {
959 if (--depth == 0)
960 return opening;
961 }
962 }
963
964 return opening;
965}
966
967Token * Token::findOpeningBracket()
968{

Callers 8

TokenAndNameMethod · 0.80
insertTokenMethod · 0.80
setScopeInfoFunction · 0.80
combineOperatorsMethod · 0.80
calculateScopesMethod · 0.80
simplifyStaticConstMethod · 0.80

Calls 1

strMethod · 0.45

Tested by

no test coverage detected