jaredgrubb added a comment.

Some implementation notes:

- The implementation was modeled after `QualifierAlignmentFixer` and 
`sortCppIncludes`.
- the additions to the `.bazel`/`.gn` build files was done naively based on 
searching for where "QualifierFixerTest" appeared in the repo; I can't really 
test these. It looks right, but it's a guess.
- I considered creating a top-level style similar to 
`QualifierAlignment/QualifierOrder`; that one has a few pre-canned values 
(`Leave, Left, Right, Custom`), where `Custom` opens up the style 
`QualifierOrder`, an array of qualifier names.
  - Pro: we could create a `[Leave, LLVM]` that would set them in the same 
order the `DeclPrinter.cpp` would dump them
  - Pro: users probably would like not having to think about 18 different 
attributes (I did try to document them in groups to make them easier to find)
  - Con: I couldn't find any style guides that provide a "standard order", so I 
don't know any other pre-canned settings that wouldn't just be an opinion of my 
own personal style. If there are, let me know and that might add weight to 
going this route.

I don't like that there are 18 attributes that users _probably_ want to specify 
for the style, so having some shortcut seems helpful. Perhaps I could just 
document it that way so it's easy to copy-paste? I also considered making it 
possible to have an alias so the style would only need to have a handful of 
them to get full coverage (eg, if you specify `assign` in the style, then the 
tool would infer you also mean to imply that the similar attributes `retain, 
strong, copy, weak, unsafe_unretained` would occupy the same "slot" unless you 
also specify them explicitly).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D150083

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

Reply via email to