Removing has_getDecl (added in r175532). It cause a build break for MSVC, and was not yet being used in the codebase. If we start using std::enable_if, we can look into resurrecting the idea in a more portable fashion.

llvm-svn: 175837
This commit is contained in:
Aaron Ballman 2013-02-22 00:15:31 +00:00
parent f4d64cb3a5
commit 5902224022
1 changed files with 2 additions and 15 deletions

View File

@ -353,18 +353,6 @@ inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
return Matcher<T>(Implementation);
}
/// \brief Metafunction to determine if type T has a member called getDecl.
template <typename T> struct has_getDecl {
typedef char yes[1];
typedef char no[2];
template <typename TestType>
static yes &test(char[sizeof(&TestType::getDecl)]);
template <typename> static no &test(...);
static bool const value = sizeof(test<T>(0)) == sizeof(yes);
};
/// \brief Matches declarations for QualType and CallExpr.
///
/// Type argument DeclMatcherT is required by PolymorphicMatcherWithParam1 but
@ -388,9 +376,8 @@ private:
/// \brief If getDecl exists as a member of U, returns whether the inner
/// matcher matches Node.getDecl().
template <typename U>
bool matchesSpecialized(
const U &Node, ASTMatchFinder *Finder, BoundNodesTreeBuilder *Builder,
typename llvm::enable_if<has_getDecl<U>, int>::type = 0) const {
bool matchesSpecialized(const U &Node, ASTMatchFinder *Finder,
BoundNodesTreeBuilder *Builder) const {
return matchesDecl(Node.getDecl(), Finder, Builder);
}