kadircet added a comment.

In D68937#1710634 <https://reviews.llvm.org/D68937#1710634>, @ilya-biryukov 
wrote:

> An alternative approach I'm thinking of:
>  After D68977 <https://reviews.llvm.org/D68977> lands, we could try using 
> `findExplicitReferences` to produce all of these edits:
>
> 1. we collect locations of all references and declaration of relevant 
> parameters and template parameters.
> 2. find the ones where the name differs and produce the changes.
>
>   That would handle not only references in the default argument, but also all 
> references in the body and should be less code overall. IMO it's worth 
> exploring this approach right away, e.g. you could layer your patch on top of 
> the current version of D68977 <https://reviews.llvm.org/D68977>


I totally agree that the solution you proposed would also work, but don't think 
it would be any less code. Since one needs to correlate
parameters between two different declarations, and `findExplicitReferences` 
doesn't really provide a nice way to achieve that. One
would have to rely on `SourceLocation` ordering or in the order callback was 
issued(which implicitly relies on AST traversal order).

It would be nice to unify the rewrite parameter name/type/defaultarg logics, 
but not sure if it is worth.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D68937



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

Reply via email to