diff options
author | Dmitri Gribenko <gribozavr@gmail.com> | 2012-08-18 00:29:27 +0000 |
---|---|---|
committer | Dmitri Gribenko <gribozavr@gmail.com> | 2012-08-18 00:29:27 +0000 |
commit | 671a045cc61cabe0b5fee0d8a93337e771156e11 (patch) | |
tree | 29f93b877a1f779f4ac010c3c2af2a5ae75ddf72 /unittests/ASTMatchers/ASTMatchersTest.cpp | |
parent | 003e7569fd6f5d38aa0f411483ee5ffabddec50f (diff) |
AST Matchers tests: test that member() matches member allocation functions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162153 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/ASTMatchers/ASTMatchersTest.cpp')
-rw-r--r-- | unittests/ASTMatchers/ASTMatchersTest.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/unittests/ASTMatchers/ASTMatchersTest.cpp b/unittests/ASTMatchers/ASTMatchersTest.cpp index dcebbc9f3d..7f1f083129 100644 --- a/unittests/ASTMatchers/ASTMatchersTest.cpp +++ b/unittests/ASTMatchers/ASTMatchersTest.cpp @@ -2013,6 +2013,19 @@ TEST(Member, MatchesInMemberFunctionCall) { memberExpression(member(hasName("first"))))); } +TEST(Member, MatchesMemberAllocationFunction) { + EXPECT_TRUE(matches("namespace std { typedef unsigned long size_t; }" + "class X { void *operator new(std::size_t); };", + method(ofClass(hasName("X"))))); + + EXPECT_TRUE(matches("class X { void operator delete(void*); };", + method(ofClass(hasName("X"))))); + + EXPECT_TRUE(matches("namespace std { typedef unsigned long size_t; }" + "class X { void operator delete[](void*, std::size_t); };", + method(ofClass(hasName("X"))))); +} + TEST(HasObjectExpression, DoesNotMatchMember) { EXPECT_TRUE(notMatches( "class X {}; struct Z { X m; }; void f(Z z) { z.m; }", |