53         return std::make_pair(tok->
values().front().intvalue, !tok->
values().front().intvalue);
 
   56         return v.isIntValue();
 
   61             return v.intvalue == it->intvalue;
 
   65         return std::make_pair(it->intvalue, !it->intvalue);
 
   67     return std::make_pair(
true, 
true);
 
  103             const Token * blockStart = tok->
link()->linkAt(-1)->previous();
 
  107             info.
errorPath.emplace_back(condTok, 
"Assuming condition is true.");
 
  111                 bool traverseLoop = 
true;
 
  114                     traverseLoop = 
false;
 
  137             i.
errorPath.emplace_back(condTok, 
"Assuming condition is true.");
 
  140             bool checkThen = 
false;
 
  141             bool checkElse = 
false;
 
  152                     i.
errorPath.back().second = 
"Assuming condition is false.";
 
  157                 tok = endBlock->
linkAt(2);
 
  188         return (i.
tok == dest);
 
bool precedes(const Token *tok1, const Token *tok2)
If tok2 comes after tok1.
 
bool astIsLHS(const Token *tok)
 
Token * getCondTok(Token *tok)
 
const Token * nextAfterAstRightmostLeaf(const Token *tok)
 
Library definitions handling.
 
const Token * bodyEnd
'}' token
 
The token list that the TokenList generates is a linked-list of this class.
 
static bool Match(const Token *tok, const char pattern[], nonneg int varid=0)
Match given token (or list of tokens) to a pattern list.
 
bool hasKnownIntValue() const
 
void astOperand1(Token *tok)
 
const Token * tokAt(int index) const
 
void astOperand2(Token *tok)
 
void scope(const Scope *s)
Associate this token with given scope.
 
void link(Token *linkToToken)
Create link to given token.
 
const Token * linkAt(int index) const
 
const std::list< ValueFlow::Value > & values() const
 
static bool simpleMatch(const Token *tok, const char(&pattern)[count])
Match given token (or list of tokens) to a pattern list.
 
void astParent(Token *tok)
 
std::list< ErrorPathItem > ErrorPath
 
static const Token * assignExpr(const Token *tok)
 
bool reaches(const Token *start, const Token *dest, const Library &library, ErrorPath *errorPath)
Returns true if there is a path between the two tokens.
 
static Progress forwardRecursive(const Token *tok, Info info, const std::function< PathAnalysis::Progress(const Info &)> &f)
 
Progress forwardRange(const Token *startToken, const Token *endToken, Info info, const std::function< Progress(const Info &)> &f) const
 
static const Scope * findOuterScope(const Scope *scope)
 
static std::pair< bool, bool > checkCond(const Token *tok, bool &known)
 
void forward(const std::function< Progress(const Info &)> &f) const