diff options
Diffstat (limited to 'clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp')
-rw-r--r-- | clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp b/clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp index 0058ea6ba60..ace0aee3114 100644 --- a/clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp +++ b/clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp @@ -368,8 +368,14 @@ static bool isAliasDecl(const Decl *TheDecl, const VarDecl *IndexVar) { break; } - case Stmt::CXXMemberCallExprClass: - return true; + case Stmt::CXXMemberCallExprClass: { + const auto *MemCall = cast<CXXMemberCallExpr>(Init); + if (MemCall->getMethodDecl()->getName() == "at") { + assert(MemCall->getNumArgs() == 1); + return isIndexInSubscriptExpr(MemCall->getArg(0), IndexVar); + } + return false; + } default: break; |