[PATCH] D23279: clang-reorder-fields
Daniel Jasper via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 30 00:52:20 PDT 2016
djasper added a comment.
Probably the last round ..
================
Comment at: clang-reorder-fields/ReorderFieldsAction.cpp:202
@@ +201,3 @@
+ for (const auto *C : RD->ctors()) {
+ if (C->isImplicit() || C->isDelegatingConstructor())
+ continue;
----------------
alexshap wrote:
> djasper wrote:
> > Why are you ruling out delegating constructors?
> ./include/clang/Basic/DiagnosticSemaKinds.td:1961: "an initializer for a delegating constructor must appear alone";
> So i assumed that right now we don't need to do anything with them.
> Please, correct me if i am wrong. Anyway, good question.
I see. A comment about that wouldn't hurt.
Or, how about excluding all constructors with less than 2 initializers? That's intuitive, probably more efficient and includes delegating constructors :).
================
Comment at: clang-reorder-fields/ReorderFieldsAction.cpp:29
@@ +28,3 @@
+namespace clang {
+using namespace ast_matchers;
+
----------------
Put
using namespace clang::ast_matchers;
into the namespace reorder_fields. Otherwise you are polluting the namespace clang.
================
Comment at: clang-reorder-fields/ReorderFieldsAction.cpp:82
@@ +81,3 @@
+// FIXME: error-handling
+/// \brief Replaces one range of source code by another.
+static void
----------------
If this is what it is doing, maybe call it swapSourceRanges?
================
Comment at: clang-reorder-fields/ReorderFieldsAction.cpp:133
@@ +132,3 @@
+///
+/// A constructor can have initializers for an arbitrary subset of the classes
+/// fields.
----------------
- class's fields (or rephrase)
- no need to add a newline after the first sentence
- ".. aRE present"
================
Comment at: clang-reorder-fields/ReorderFieldsAction.cpp:177
@@ +176,3 @@
+/// \returns true on success
+static bool reorderFieldsInInitListExpr(
+ const InitListExpr *InitListEx, ArrayRef<unsigned> NewFieldsOrder,
----------------
While it's nice that this has a bool return value now, you aren't using it.
================
Comment at: clang-reorder-fields/ReorderFieldsAction.cpp:182
@@ +181,3 @@
+ assert(InitListEx && "Init list expression is null");
+ if (!InitListEx->isExplicit() || !InitListEx->getNumInits())
+ return true;
----------------
Maybe instead getNumInits() <= 1?
================
Comment at: clang-reorder-fields/ReorderFieldsAction.cpp:231
@@ +230,3 @@
+ // We only need to reorder init list expressions for aggregate types.
+ // Now (v0) partial initialization is not supported.
+ // For other types the order of constructor parameters is used,
----------------
I'd move this sentence to the end of the comment.
Repository:
rL LLVM
https://reviews.llvm.org/D23279
More information about the cfe-commits
mailing list