clang-format: fix spacing in `operator const char*()`
authorKrasimir Georgiev <krasimir@google.com>
Fri, 17 Jan 2020 12:26:24 +0000 (13:26 +0100)
committerKrasimir Georgiev <krasimir@google.com>
Fri, 17 Jan 2020 12:33:41 +0000 (13:33 +0100)
commit33463cfba2be7c8d6c08e666123cc34f114a1f3e
tree8aa4075b331191ffe91dbc2913d0c443aa6f8d5e
parentea91758a3c4507af18cc711f6c0695e9e7137693
clang-format: fix spacing in `operator const char*()`

Summary:
Revision a75f8d98d7ac9e557b238a229a9a2647c71feed1 fixed spacing for operators,
but caused the const and non-const versions to diverge:
```
// With Style.PointerAlignment = FormatStyle::PAS_Left:

struct A {
  operator char*() { return ""; }
  operator const char *() const { return ""; }
};

```
The code was checking if the type specifier was directly preceded by `operator`.
However there could be comments and `const/volatile` in between.

Reviewers: mprobst

Reviewed By: mprobst

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D72911
clang/lib/Format/TokenAnnotator.cpp
clang/unittests/Format/FormatTest.cpp