HazardyKnusperkeks added a comment.

In D144709#4149737 <https://reviews.llvm.org/D144709#4149737>, 
@AlexanderHederstaf wrote:

> I tried to refactor QualifierAlignmentFixer to handle more types, notably 
> removing the *,&,&& requirement as e.g. const Foo did not work. To avoid 
> moving qualifiers too far, a test for "already east const" is introduced. 
> **However, to get the correct order for the east qualifiers Clang-Format must 
> be used twice.** I assume it's related to how fixes/replacements are handled. 
> Would you like to have a look and perhaps suggest any improvements?
>
> As it must be used twice, some tests related to volatile/const order fail, 
> but I noticed most of them would also fails previously if the type is not 
> simple.

Highlight by me. That is not acceptable, running the output of `clang-format` 
through `clang-format` shall not result in any change. In that case it's better 
to not touch it in any way.



================
Comment at: clang/lib/Format/QualifierAlignmentFixer.cpp:226
+
+  const bool IsEastQualifier = PreviousCheck && [PreviousCheck]() {
+    if (PreviousCheck->is(tok::r_paren)) {
----------------
In the initial commit concerns were raised that `East` and `West` are 
westcentric terms and should not be used. Thus you should stick here to `Left` 
and `Right` the same terms we use in the configuration.


================
Comment at: clang/lib/Format/QualifierAlignmentFixer.cpp:228
+    if (PreviousCheck->is(tok::r_paren)) {
+      return true;
+    } else if (PreviousCheck->is(TT_TemplateCloser)) {
----------------
Could you add comments what kind of source code we would have here?


================
Comment at: clang/lib/Format/QualifierAlignmentFixer.cpp:229
+      return true;
+    } else if (PreviousCheck->is(TT_TemplateCloser)) {
+      return PreviousCheck->MatchingParen->Previous->isNot(tok::kw_template);
----------------
No `else` after `return`.


================
Comment at: clang/lib/Format/QualifierAlignmentFixer.cpp:230
+    } else if (PreviousCheck->is(TT_TemplateCloser)) {
+      return PreviousCheck->MatchingParen->Previous->isNot(tok::kw_template);
+    } else if (PreviousCheck->isOneOf(TT_PointerOrReference, tok::identifier,
----------------
That may be null, or not?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D144709/new/

https://reviews.llvm.org/D144709

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to