9 #ifndef LLVM_CLANG_TOOLING_REFACTOR_REFACTORING_OPTION_VISITOR_H 10 #define LLVM_CLANG_TOOLING_REFACTOR_REFACTORING_OPTION_VISITOR_H 13 #include <type_traits> 18 class RefactoringOption;
38 template <
typename ClassT>
39 static auto check(ClassT *) ->
typename std::is_same<
40 decltype(std::declval<RefactoringOptionVisitor>().
visit(
41 std::declval<RefactoringOption>(), *std::declval<
Optional<T> *>())),
44 template <
typename>
static std::false_type check(...);
47 using Type = decltype(check<RefactoringOptionVisitor>(
nullptr));
61 #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.