10 #ifndef LLVM_CLANG_TOOLING_REFACTOR_REFACTORING_OPTION_VISITOR_H 11 #define LLVM_CLANG_TOOLING_REFACTOR_REFACTORING_OPTION_VISITOR_H 14 #include <type_traits> 19 class RefactoringOption;
39 template <
typename ClassT>
40 static auto check(ClassT *) ->
typename std::is_same<
41 decltype(std::declval<RefactoringOptionVisitor>().
visit(
42 std::declval<RefactoringOption>(), *std::declval<
Optional<T> *>())),
45 template <
typename>
static std::false_type check(...);
48 using Type = decltype(check<RefactoringOptionVisitor>(
nullptr));
62 #endif // LLVM_CLANG_TOOLING_REFACTOR_REFACTORING_OPTION_VISITOR_H const internal::VariadicAllOfMatcher< Type > type
Matches Types in the clang AST.
The base class of the type hierarchy.
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified...
Dataflow Directional Tag Classes.