}
static const Stmt *LookThroughStmt(const Stmt *S) {
- while (S) {
- if (const ParenExpr *ParenE = dyn_cast<ParenExpr>(S)) {
- S = ParenE->getSubExpr();
- continue;
- } else if (const OpaqueValueExpr *OVE = dyn_cast<OpaqueValueExpr>(S)) {
- S = OVE->getSourceExpr();
- continue;
- } else if (const Expr *E = dyn_cast<Expr>(S)) {
- return E->IgnoreParens();
- } else
- break;
- }
+ if (const Expr *E = dyn_cast<Expr>(S))
+ return E->IgnoreParens();
+ if (const OpaqueValueExpr *OVE = dyn_cast<OpaqueValueExpr>(S))
+ return OVE->IgnoreParens();
return S;
}