| 83 | } |
| 84 | |
| 85 | clang::SourceLocation getDebugLoc(const clang::Stmt &S) { |
| 86 | if (const auto *E = dyn_cast<CXXOperatorCallExpr>(&S)) |
| 87 | return E->getOperatorLoc(); |
| 88 | else if (const auto *E = dyn_cast<CXXMemberCallExpr>(&S)) |
| 89 | return E->getExprLoc(); |
| 90 | return S.getBeginLoc(); |
| 91 | } |
| 92 | |
| 93 | FunctionDecl *getFunctionDecl(Expr &E) { |
| 94 | if (auto *CE = dyn_cast<CallExpr>(&E)) |