[PATCH] D20798: clang-format: [JS] Sort imported symbols.
Daniel Jasper via cfe-commits
cfe-commits at lists.llvm.org
Tue May 31 07:18:13 PDT 2016
djasper added a comment.
In general, this is lacking test cases for imports that are wrapped over multiple lines to start with. Should probably add those both for the old and for the new behavior.
================
Comment at: lib/Format/Format.cpp:1229
@@ -1227,9 +1228,3 @@
// the entire block. Otherwise, no replacement is generated.
- bool OutOfOrder = false;
- for (unsigned i = 1, e = Indices.size(); i != e; ++i) {
- if (Indices[i] != i) {
- OutOfOrder = true;
- break;
- }
- }
- if (!OutOfOrder)
+ bool InOrder = std::is_sorted(Indices.begin(), Indices.end());
+ if (InOrder)
----------------
I think it's not even worth storing this variable now.
================
Comment at: lib/Format/SortJavaScriptImports.cpp:46
@@ +45,3 @@
+
+ bool operator==(const JsImportedSymbol &RHS) const {
+ return Symbol == RHS.Symbol && Alias == RHS.Alias;
----------------
Maybe add a comment on why you are ignoring 'Range' for comparison.
================
Comment at: lib/Format/SortJavaScriptImports.cpp:168
@@ +167,3 @@
+
+ if (ReferencesInOrder && SymbolsInOrder) {
+ return Result;
----------------
nit: no braces
================
Comment at: lib/Format/SortJavaScriptImports.cpp:232
@@ +231,3 @@
+ std::stable_sort(Symbols.begin(), Symbols.end(),
+ [&](JsImportedSymbol LHS, JsImportedSymbol RHS) {
+ return LHS.Symbol < RHS.Symbol;
----------------
I think it's safe to pass the symbols as const reference here.
http://reviews.llvm.org/D20798
More information about the cfe-commits
mailing list