[clang-tools-extra] r278760 - [clang-rename] cleanup `auto` usages

Eric Fiselier via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 15 18:46:24 PDT 2016


On Mon, Aug 15, 2016 at 5:20 PM, Kirill Bobyrev via cfe-commits <
cfe-commits at lists.llvm.org> wrote:

> Author: omtcyfz
> Date: Mon Aug 15 18:20:05 2016
> New Revision: 278760
>
> URL: http://llvm.org/viewvc/llvm-project?rev=278760&view=rev
> Log:
> [clang-rename] cleanup `auto` usages
>
> As Alexander pointed out, LLVM Coding Standards are more conservative about
> using auto, i.e. it should be used in the following situations:
>
> * When the type is obvious, i.e. explicitly mentioned in the same
> expression.
> For example `if (const clang::FieldDecl *FieldDecl =
> Initializer->getMember())`.
> * When the type is totally non-obvious and one iterates over something. For
> example
> `for (const auto &CurrDecl : Context.getTranslationUnitDecl()->decls())`.
>
> Otherwise the type should be explicitly stated.
>
> Reviewers: alexfh
>
> Differential Revision: https://reviews.llvm.org/D23397
>
> Modified:
>     clang-tools-extra/trunk/clang-rename/RenamingAction.cpp
>     clang-tools-extra/trunk/clang-rename/USRFinder.cpp
>     clang-tools-extra/trunk/clang-rename/USRFindingAction.cpp
>     clang-tools-extra/trunk/clang-rename/USRLocFinder.cpp
>
> Modified: clang-tools-extra/trunk/clang-rename/RenamingAction.cpp
> URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/
> trunk/clang-rename/RenamingAction.cpp?rev=278760&
> r1=278759&r2=278760&view=diff
> ============================================================
> ==================
> --- clang-tools-extra/trunk/clang-rename/RenamingAction.cpp (original)
> +++ clang-tools-extra/trunk/clang-rename/RenamingAction.cpp Mon Aug 15
> 18:20:05 2016
> @@ -52,7 +52,7 @@ public:
>    void HandleOneRename(ASTContext &Context, const std::string &NewName,
>                         const std::string &PrevName,
>                         const std::vector<std::string> &USRs) {
> -    const auto &SourceMgr = Context.getSourceManager();
> +    const SourceManager &SourceMgr = Context.getSourceManager();
>      std::vector<SourceLocation> RenamingCandidates;
>      std::vector<SourceLocation> NewCandidates;
>
> @@ -61,7 +61,7 @@ public:
>      RenamingCandidates.insert(RenamingCandidates.end(),
> NewCandidates.begin(),
>                                NewCandidates.end());
>
> -    auto PrevNameLen = PrevName.length();
> +    unsigned PrevNameLen = PrevName.length();
>      for (const auto &Loc : RenamingCandidates) {
>        if (PrintLocations) {
>          FullSourceLoc FullLoc(Loc, SourceMgr);
> @@ -70,8 +70,8 @@ public:
>                 << FullLoc.getSpellingColumnNumber() << "\n";
>        }
>        // FIXME: better error handling.
> -      auto Replace = tooling::Replacement(SourceMgr, Loc, PrevNameLen,
> NewName);
> -      auto Err = FileToReplaces[Replace.getFilePath()].add(Replace);
> +      tooling::Replacement Replace(SourceMgr, Loc, PrevNameLen, NewName);
> +      llvm::Error Err = FileToReplaces[Replace.
> getFilePath()].add(Replace);
>        if (Err)
>          llvm::errs() << "Renaming failed in " << Replace.getFilePath() <<
> "! "
>                       << llvm::toString(std::move(Err)) << "\n";
>
> Modified: clang-tools-extra/trunk/clang-rename/USRFinder.cpp
> URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/
> trunk/clang-rename/USRFinder.cpp?rev=278760&r1=278759&r2=278760&view=diff
> ============================================================
> ==================
> --- clang-tools-extra/trunk/clang-rename/USRFinder.cpp (original)
> +++ clang-tools-extra/trunk/clang-rename/USRFinder.cpp Mon Aug 15
> 18:20:05 2016
> @@ -60,13 +60,13 @@ public:
>    // Expression visitors:
>
>    bool VisitDeclRefExpr(const DeclRefExpr *Expr) {
> -    const auto *Decl = Expr->getFoundDecl();
> +    const NamedDecl *Decl = Expr->getFoundDecl();
>      return setResult(Decl, Expr->getLocation(),
>                       Decl->getNameAsString().length());
>    }
>
>    bool VisitMemberExpr(const MemberExpr *Expr) {
> -    const auto *Decl = Expr->getFoundDecl().getDecl();
> +    const NamedDecl *Decl = Expr->getFoundDecl().getDecl();
>      return setResult(Decl, Expr->getMemberLoc(),
>                       Decl->getNameAsString().length());
>    }
> @@ -74,9 +74,10 @@ public:
>    // Other visitors:
>
>    bool VisitTypeLoc(const TypeLoc Loc) {
> -    const auto TypeBeginLoc = Loc.getBeginLoc();
> -    const auto TypeEndLoc = Lexer::getLocForEndOfToken(
> -        TypeBeginLoc, 0, Context.getSourceManager(),
> Context.getLangOpts());
> +    const SourceLocation TypeBeginLoc = Loc.getBeginLoc();
> +    const SourceLocation TypeEndLoc = Lexer::getLocForEndOfToken(
> +                             TypeBeginLoc, 0, Context.getSourceManager(),
> +                             Context.getLangOpts());
>      if (const auto *TemplateTypeParm =
>              dyn_cast<TemplateTypeParmType>(Loc.getType())) {
>        return setResult(TemplateTypeParm->getDecl(), TypeBeginLoc,
> TypeEndLoc);
> @@ -117,7 +118,8 @@ public:
>    // \returns false on success and sets Result.
>    void handleNestedNameSpecifierLoc(NestedNameSpecifierLoc NameLoc) {
>      while (NameLoc) {
> -      const auto *Decl = NameLoc.getNestedNameSpecifier()->
> getAsNamespace();
> +      const NamespaceDecl *Decl =
> +          NameLoc.getNestedNameSpecifier()->getAsNamespace();
>        setResult(Decl, NameLoc.getLocalBeginLoc(),
> NameLoc.getLocalEndLoc());
>        NameLoc = NameLoc.getPrefix();
>      }
> @@ -173,14 +175,13 @@ private:
>
>  const NamedDecl *getNamedDeclAt(const ASTContext &Context,
>                                  const SourceLocation Point) {
> -  const auto SearchFile = Context.getSourceManager().getFilename(Point);
> +  StringRef SearchFile = Context.getSourceManager().getFilename(Point);
>    NamedDeclFindingASTVisitor Visitor(Point, Context);
>
>    // We only want to search the decls that exist in the same file as the
> point.
> -  auto Decls = Context.getTranslationUnitDecl()->decls();
> -  for (auto &CurrDecl : Decls) {
> -    const auto FileLoc = CurrDecl->getLocStart();
> -    const auto FileName = Context.getSourceManager().
> getFilename(FileLoc);
> +  for (const auto *CurrDecl : Context.getTranslationUnitDecl()->decls())
> {
> +    const SourceLocation FileLoc = CurrDecl->getLocStart();
> +    StringRef FileName = Context.getSourceManager().getFilename(FileLoc);
>      // FIXME: Add test.
>      if (FileName == SearchFile) {
>        Visitor.TraverseDecl(CurrDecl);
>

Visitor.TraverseDecl doesn't have a const overload, so this change seems to
have broken
the clang build.


>
> Modified: clang-tools-extra/trunk/clang-rename/USRFindingAction.cpp
> URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/
> trunk/clang-rename/USRFindingAction.cpp?rev=278760&r1=278759&r2=278760&
> view=diff
> ============================================================
> ==================
> --- clang-tools-extra/trunk/clang-rename/USRFindingAction.cpp (original)
> +++ clang-tools-extra/trunk/clang-rename/USRFindingAction.cpp Mon Aug 15
> 18:20:05 2016
> @@ -116,14 +116,14 @@ private:
>
>    void addUSRsOfOverridenFunctions(const CXXMethodDecl *MethodDecl) {
>      USRSet.insert(getUSRForDecl(MethodDecl));
> -    for (auto &OverriddenMethod : MethodDecl->overridden_methods()) {
> +    for (const auto &OverriddenMethod : MethodDecl->overridden_methods())
> {
>        // Recursively visit each OverridenMethod.
>        addUSRsOfOverridenFunctions(OverriddenMethod);
>      }
>    }
>
>    bool checkIfOverriddenFunctionAscends(const CXXMethodDecl *MethodDecl)
> {
> -    for (auto &OverriddenMethod : MethodDecl->overridden_methods()) {
> +    for (const auto &OverriddenMethod : MethodDecl->overridden_methods())
> {
>        if (USRSet.find(getUSRForDecl(OverriddenMethod)) != USRSet.end()) {
>          return true;
>        }
> @@ -143,10 +143,11 @@ private:
>
>  struct NamedDeclFindingConsumer : public ASTConsumer {
>    void HandleTranslationUnit(ASTContext &Context) override {
> -    const auto &SourceMgr = Context.getSourceManager();
> +    const SourceManager &SourceMgr = Context.getSourceManager();
>      // The file we look for the USR in will always be the main source
> file.
> -    const auto Point = SourceMgr.getLocForStartOfFile(
> SourceMgr.getMainFileID())
> -                           .getLocWithOffset(SymbolOffset);
> +    const SourceLocation Point =
> +        SourceMgr.getLocForStartOfFile(SourceMgr.getMainFileID())
> +            .getLocWithOffset(SymbolOffset);
>      if (!Point.isValid())
>        return;
>      const NamedDecl *FoundDecl = nullptr;
>
> Modified: clang-tools-extra/trunk/clang-rename/USRLocFinder.cpp
> URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/
> trunk/clang-rename/USRLocFinder.cpp?rev=278760&
> r1=278759&r2=278760&view=diff
> ============================================================
> ==================
> --- clang-tools-extra/trunk/clang-rename/USRLocFinder.cpp (original)
> +++ clang-tools-extra/trunk/clang-rename/USRLocFinder.cpp Mon Aug 15
> 18:20:05 2016
> @@ -67,7 +67,7 @@ public:
>    // Expression visitors:
>
>    bool VisitDeclRefExpr(const DeclRefExpr *Expr) {
> -    const auto *Decl = Expr->getFoundDecl();
> +    const NamedDecl *Decl = Expr->getFoundDecl();
>
>      if (USRSet.find(getUSRForDecl(Decl)) != USRSet.end()) {
>        const SourceManager &Manager = Decl->getASTContext().
> getSourceManager();
> @@ -79,7 +79,7 @@ public:
>    }
>
>    bool VisitMemberExpr(const MemberExpr *Expr) {
> -    const auto *Decl = Expr->getFoundDecl().getDecl();
> +    const NamedDecl *Decl = Expr->getFoundDecl().getDecl();
>      if (USRSet.find(getUSRForDecl(Decl)) != USRSet.end()) {
>        const SourceManager &Manager = Decl->getASTContext().
> getSourceManager();
>        SourceLocation Location = Manager.getSpellingLoc(Expr->
> getMemberLoc());
> @@ -116,7 +116,8 @@ public:
>    // Namespace traversal:
>    void handleNestedNameSpecifierLoc(NestedNameSpecifierLoc NameLoc) {
>      while (NameLoc) {
> -      const auto *Decl = NameLoc.getNestedNameSpecifier()->
> getAsNamespace();
> +      const NamespaceDecl *Decl =
> +          NameLoc.getNestedNameSpecifier()->getAsNamespace();
>        if (Decl && USRSet.find(getUSRForDecl(Decl)) != USRSet.end()) {
>          checkAndAddLocation(NameLoc.getLocalBeginLoc());
>        }
> @@ -126,8 +127,8 @@ public:
>
>  private:
>    void checkAndAddLocation(SourceLocation Loc) {
> -    const auto BeginLoc = Loc;
> -    const auto EndLoc = Lexer::getLocForEndOfToken(
> +    const SourceLocation BeginLoc = Loc;
> +    const SourceLocation EndLoc = Lexer::getLocForEndOfToken(
>          BeginLoc, 0, Context.getSourceManager(), Context.getLangOpts());
>      StringRef TokenName =
>          Lexer::getSourceText(CharSourceRange::getTokenRange(BeginLoc,
> EndLoc),
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160815/7e979a56/attachment-0001.html>


More information about the cfe-commits mailing list