| 3892 | } |
| 3893 | |
| 3894 | static const Token *skipUnreachableElseBranch(const Token *tok) |
| 3895 | { |
| 3896 | if (!Token::simpleMatch(tok->tokAt(-2), "} else {")) |
| 3897 | return tok; |
| 3898 | |
| 3899 | const Token *condTok = tok->linkAt(-2); |
| 3900 | if (!condTok) |
| 3901 | return tok; |
| 3902 | |
| 3903 | condTok = condTok->linkAt(-1); |
| 3904 | if (!condTok) |
| 3905 | return tok; |
| 3906 | |
| 3907 | if (!Token::simpleMatch(condTok->tokAt(-1), "if (") && !Token::simpleMatch(condTok->tokAt(-2), "if constexpr (")) |
| 3908 | return tok; |
| 3909 | |
| 3910 | condTok = condTok->astOperand2(); |
| 3911 | |
| 3912 | if ((condTok->hasKnownIntValue() && condTok->getKnownIntValue() != 0) |
| 3913 | || (unknownLeafValuesAreTemplateArgs(condTok) && condTok->getValueNE(0))) { |
| 3914 | tok = tok->link(); |
| 3915 | } |
| 3916 | |
| 3917 | return tok; |
| 3918 | } |
| 3919 | |
| 3920 | const Token *skipUnreachableBranch(const Token *tok) |
| 3921 | { |
no test coverage detected