djasper added inline comments. ================ Comment at: clang-reorder-fields/ReorderFieldsAction.cpp:137 @@ +136,3 @@ + std::end(NewWrittenInitializersOrder), ByFieldNewPosition); + assert(OldWrittenInitializersOrder.size() == + NewWrittenInitializersOrder.size()); ---------------- djasper wrote: > This assert seems pretty useless. Actually no, this is fine.
================ Comment at: clang-reorder-fields/ReorderFieldsAction.h:31 @@ +30,3 @@ + +public: + ReorderFieldsAction( ---------------- ioeric wrote: > alexshap wrote: > > alexshap wrote: > > > djasper wrote: > > > > I don't why clang-rename does what it does at the moment. My main point > > > > is that we have already implemented splitting up replacements by file > > > > in groupByReplacementsByFile. No need to reimplement that here or make > > > > the interface of this function more complex than it needs to be. > > > sorry, i am not sure i got ur comment - need to think - maybe i am too > > > sleepy - > > > the issue is not with clang-rename, but with class RefactoringTool > > > and more precisely with the method the method getReplacements. > > pls, take a look at my previous comments (especially regarding the diff > > https://reviews.llvm.org/D21748?id=64016.) > > > > meanwhile: > > http://clang.llvm.org/doxygen/Replacement_8h_source.html > > > > **/// \brief Adds a new replacement \p R to the current set of > > replacements. > > 160 /// \p R must have the same file path as all existing replacements. > > ** > > 161 /// Returns true if the replacement is successfully inserted; > > otherwise, > > 162 /// it returns an llvm::Error, i.e. there is a conflict between R > > and the > > 163 /// existing replacements or R's file path is different from the > > filepath of > > 164 /// existing replacements. Callers must explicitly check the Error > > returned. > > 165 /// This prevents users from adding order-dependent replacements. > > To control > > 166 /// the order in which order-dependent replacements are applied, use > > 167 /// merge({R}) with R referring to the changed code after applying > > all > > 168 /// existing replacements. > > 169 /// Replacements with offset UINT_MAX are special - we do not > > detect conflicts > > 170 /// for such replacements since users may add them intentionally as > > a special > > 171 /// category of replacements. > > 172 llvm::Error add(const Replacement &R); > > > > at this point it seems like groupReplacementsByFile was made redundant by > > https://reviews.llvm.org/D21748 > > > > @ioeric, could u comment on this ? I apologize in advance - i might be > > missing smth / might be to sleepy. Will take a look at this again tomorrow > > > > P.S. just in case - ReorderingFieldsAction can change different files > > (including headers etc) - so i simply can not use a single Replacements > > object > We don't have an implementation for grouping replacements by file yet (for > class implementation of `tooling::Replacements`). The previous > `groupReplacementsByFile` indeed should have been deprecated. At this point, > tools which carry replacements for multiple files use a map from file names > to `tooling::Replacements` (usually called `FileToReplacements`) like what > you do here. Ok.. Then nevermind and sorry for the noise.. Defining a typedef as Eric suggests probably makes this a bit easier to read. Repository: rL LLVM https://reviews.llvm.org/D23279 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits