[all-commits] [llvm/llvm-project] 7693a9: [clang-tidy] Fix RenamerClangTidy handling qualifi...

Nathan James via All-commits all-commits at lists.llvm.org
Mon Mar 23 06:45:39 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 7693a9b9314083eafd9b5b1e19b02aac06962eb2
      https://github.com/llvm/llvm-project/commit/7693a9b9314083eafd9b5b1e19b02aac06962eb2
  Author: Nathan James <n.james93 at hotmail.co.uk>
  Date:   2020-03-23 (Mon, 23 Mar 2020)

  Changed paths:
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone-reserved-identifier-invert.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability-identifier-naming.cpp

  Log Message:
  -----------
  [clang-tidy] Fix RenamerClangTidy handling qualified TypeLocs

Summary:
Previously if a type was accessed with a qualifier, RenamerClangTidy wouldn't rename the TypeLoc, this patch addresses this shortfall by trying to find the Unqualified TypeLoc first. Also fixed a broken test case that was dependent on this broken behaviour.

Example:
```
struct a{};

void foo(const a&);
void foo(a&);
void foo(a);
void foo(a&&);
void foo(const a);
```
exec `-checks=readability-identifier-naming --config="{CheckOptions: [{key: readability-identifier-naming.StructCase, value: CamelCase}]}" -fix`
Current Behaviour:
```
struct A{};

void foo(const a&);
void foo(A&);
void foo(A);
void foo(A&&);
void foo(const a);
```
Proposed new behaviour:
```
struct A{};

void foo(const A&);
void foo(A&);
void foo(A);
void foo(A&&);
void foo(const A);
```

Reviewers: aaron.ballman, gribozavr2, alexfh

Reviewed By: aaron.ballman

Subscribers: xazax.hun, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D76549




More information about the All-commits mailing list