r175454 - Clean up last use of dyn_cast on TypeLoc in ASTMatchers
David Blaikie
dblaikie at gmail.com
Mon Feb 18 11:04:17 PST 2013
Author: dblaikie
Date: Mon Feb 18 13:04:16 2013
New Revision: 175454
URL: http://llvm.org/viewvc/llvm-project?rev=175454&view=rev
Log:
Clean up last use of dyn_cast on TypeLoc in ASTMatchers
Modified:
cfe/trunk/include/clang/ASTMatchers/ASTMatchersMacros.h
cfe/trunk/unittests/ASTMatchers/ASTMatchersTest.cpp
Modified: cfe/trunk/include/clang/ASTMatchers/ASTMatchersMacros.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/ASTMatchers/ASTMatchersMacros.h?rev=175454&r1=175453&r2=175454&view=diff
==============================================================================
--- cfe/trunk/include/clang/ASTMatchers/ASTMatchersMacros.h (original)
+++ cfe/trunk/include/clang/ASTMatchers/ASTMatchersMacros.h Mon Feb 18 13:04:16 2013
@@ -273,9 +273,9 @@
/// \brief Creates a variadic matcher for both a specific \c Type as well as
/// the corresponding \c TypeLoc.
#define AST_TYPE_MATCHER(NodeType, MatcherName) \
- const internal::VariadicDynCastAllOfMatcher<Type, NodeType> MatcherName; \
- const internal::VariadicDynCastAllOfMatcher<TypeLoc, \
- NodeType##Loc> MatcherName##Loc
+ const internal::VariadicDynCastAllOfMatcher<Type, NodeType> MatcherName
+// FIXME: add a matcher for TypeLoc derived classes using its custom casting
+// API (no longer dyn_cast) if/when we need such matching
/// \brief AST_TYPE_TRAVERSE_MATCHER(MatcherName, FunctionName) defines
/// the matcher \c MatcherName that can be used to traverse from one \c Type
Modified: cfe/trunk/unittests/ASTMatchers/ASTMatchersTest.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/ASTMatchers/ASTMatchersTest.cpp?rev=175454&r1=175453&r2=175454&view=diff
==============================================================================
--- cfe/trunk/unittests/ASTMatchers/ASTMatchersTest.cpp (original)
+++ cfe/trunk/unittests/ASTMatchers/ASTMatchersTest.cpp Mon Feb 18 13:04:16 2013
@@ -673,7 +673,7 @@ TEST(HasDescendant, MatchesDescendantsOf
qualType(hasDescendant(
pointerType(pointee(builtinType()))))));
EXPECT_TRUE(matches("void f() { int*** i; }",
- typeLoc(hasDescendant(builtinTypeLoc()))));
+ typeLoc(hasDescendant(loc(builtinType())))));
EXPECT_TRUE(matchAndVerifyResultTrue(
"void f() { int*** i; }",
@@ -3279,7 +3279,7 @@ TEST(TypeMatching, PointerTypes) {
// new VerifyIdIsBoundTo<TypeLoc>("loc", 1)));
EXPECT_TRUE(matches(
"int** a;",
- pointerTypeLoc(pointeeLoc(loc(qualType())))));
+ loc(pointerType(pointee(qualType())))));
EXPECT_TRUE(matches(
"int** a;",
loc(pointerType(pointee(pointerType())))));
@@ -3324,7 +3324,7 @@ TEST(TypeMatching, PointeeTypes) {
EXPECT_TRUE(matches("int *a;", pointerType(pointee(builtinType()))));
EXPECT_TRUE(matches("int *a;",
- pointerTypeLoc(pointeeLoc(loc(builtinType())))));
+ loc(pointerType(pointee(builtinType())))));
EXPECT_TRUE(matches(
"int const *A;",
@@ -3338,10 +3338,10 @@ TEST(TypeMatching, MatchesPointersToCons
EXPECT_TRUE(matches("int b; int * const a = &b;",
loc(pointerType())));
EXPECT_TRUE(matches("int b; int * const a = &b;",
- pointerTypeLoc()));
+ loc(pointerType())));
EXPECT_TRUE(matches(
"int b; const int * a = &b;",
- pointerTypeLoc(pointeeLoc(builtinTypeLoc()))));
+ loc(pointerType(pointee(builtinType())))));
EXPECT_TRUE(matches(
"int b; const int * a = &b;",
pointerType(pointee(builtinType()))));
More information about the cfe-commits
mailing list