aaron.ballman added inline comments. ================ Comment at: include/clang/ASTMatchers/ASTMatchers.h:1575 @@ +1574,3 @@ +/// \code +/// char *s = "abcd"; wchar_t *ws = L"abcd"; +/// char *t = "a"; ---------------- etienneb wrote: > aaron.ballman wrote: > > Split these onto two lines? > If I look around, it seems to be more consistent to keep it on the same line > (line 1563) > > ``` > /// char *s = "abcd"; wchar_t *ws = L"abcd"; > ``` > > ``` > /// int array[4] = {1}; vector int myvec = (vector int)(1, 2); > ``` > > ``` > /// char ch = 'a'; wchar_t chw = L'a'; > `` I don't have a strong opinion on it; however, since these get turned into examples that are on the website, I would weakly prefer the examples not be hideous. :-P
================ Comment at: include/clang/ASTMatchers/ASTMatchers.h:1578 @@ +1577,3 @@ +/// \endcode +AST_MATCHER_P(StringLiteral, lengthIs, unsigned, N) { + return Node.getLength() == N; ---------------- etienneb wrote: > etienneb wrote: > > aaron.ballman wrote: > > > Perhaps we can adjust the `hasSize()` matcher instead? It currently works > > > with ConstantArrayType, but it seems reasonable for it to also work with > > > StringLiteral. > > I didn't like the term "size" as it typically refer to the size in bytes. > > Which is not the same for a wide-string. > > > > Now, there is two different convention for naming matchers: > > hasLength and lengthIs ? > > > > Any toughs on that? > > > > > Here is the matcher for hasSize > ``` > AST_MATCHER_P(ConstantArrayType, hasSize, unsigned, N) { > return Node.getSize() == N; > } > ``` > > It's getting the getSize attribute. I believe we should stick with the name > of the attribute. > But, I'm not sure if we should use hasLength, or lengthIs. I'm not too worried about size vs length (for instance, std::string has both). I would imagine this being implemented the same way we do other things with variance in API but not concept. See GetBodyMatcher in ASTMatchersInternal.h (and others near there) as an example. I prefer hasSize because the two concepts are quite similar. For instance, a string literal's type is of a constant array type already. http://reviews.llvm.org/D19876 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits