Bug hunting: Handle early returns faster
This commit is contained in:
parent
ff88bf1080
commit
3042bbdc3d
|
@ -1531,7 +1531,12 @@ static void execute(const Token *start, const Token *end, Data &data)
|
|||
|
||||
const Token *thenStart = tok->linkAt(1)->next();
|
||||
const Token *thenEnd = thenStart->link();
|
||||
execute(thenStart->next(), end, ifData);
|
||||
|
||||
if (Token::Match(thenStart, "{ return|throw|break|continue"))
|
||||
execute(thenStart->next(), thenEnd, ifData);
|
||||
else
|
||||
execute(thenStart->next(), end, ifData);
|
||||
|
||||
if (Token::simpleMatch(thenEnd, "} else {")) {
|
||||
const Token *elseStart = thenEnd->tokAt(2);
|
||||
execute(elseStart->next(), end, elseData);
|
||||
|
|
Loading…
Reference in New Issue