[cfe-commits] [PATCH] AST Matchers: function and class template matchers
Manuel Klimek
klimek at google.com
Fri Aug 17 11:40:51 PDT 2012
lgtm
On Fri, Aug 17, 2012 at 8:18 PM, Dmitri Gribenko <gribozavr at gmail.com> wrote:
> Hi Manuel,
>
> Thank you for the review! Please find attached an updated patch.
>
> On Fri, Aug 17, 2012 at 10:58 AM, Manuel Klimek <klimek at google.com> wrote:
>> @@ -385,7 +393,15 @@
>> /// void f();
>> const internal::VariadicDynCastAllOfMatcher<Decl, FunctionDecl> function;
>>
>> +/// \brief Matches C++ function template declarations.
>> +///
>> +/// Example matches f
>> +/// template<class T> void f(T t) {}
>> +const internal::VariadicDynCastAllOfMatcher<
>> + Decl,
>> + FunctionTemplateDecl> functionTemplate;
>>
>> +
>>
>> Any reason for the additional newline?
>
> Removed.
>
>> +TEST(DeclarationMatcher, MatchClassTemplate) {
>> + DeclarationMatcher ClassX = classTemplate(hasName("X"));
>> + EXPECT_TRUE(notMatches("", ClassX));
>>
>> I don't think we need to test this - or do you think it provides any
>> information (one problem is that there is some stuff that's declared
>> by default, but it depends on the system we compile on etc).
>
> Removed.
>
>> + EXPECT_TRUE(notMatches("class X;", ClassX));
>> + EXPECT_TRUE(notMatches("class X {};", ClassX));
>> + EXPECT_TRUE(matches("template<class T> class X {};", ClassX));
>> + EXPECT_TRUE(notMatches("template<class T> class X { };"
>> + "template<> class X<int> { int a; };",
>> + classTemplate(hasName("X"),
>> hasDescendant(field(hasName("a"))))));
>> +}
>> +
>>
>> Can you split up this test much like the other tests below (which are
>> great!). I know that not all the tests currently follow the correct
>> style, but I'd like us to not introduce any new ones there...
>> (What I mean is: have multiple TEST(ClassTemplate, Matches... or
>> DoesNotMatch...))
>
> Done.
>
> Dmitri
>
> --
> main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if
> (j){printf("%d\n",i);}}} /*Dmitri Gribenko <gribozavr at gmail.com>*/
More information about the cfe-commits
mailing list