135cca45bSserge-sans-paille //===--- MisleadingBidirectionalCheck.h - clang-tidy ------------*- C++ -*-===// 235cca45bSserge-sans-paille // 335cca45bSserge-sans-paille // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 435cca45bSserge-sans-paille // See https://llvm.org/LICENSE.txt for license information. 535cca45bSserge-sans-paille // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 635cca45bSserge-sans-paille // 735cca45bSserge-sans-paille //===----------------------------------------------------------------------===// 835cca45bSserge-sans-paille 935cca45bSserge-sans-paille #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_MISLEADINGBIDIRECTIONALCHECK_H 1035cca45bSserge-sans-paille #define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_MISLEADINGBIDIRECTIONALCHECK_H 1135cca45bSserge-sans-paille 1235cca45bSserge-sans-paille #include "../ClangTidyCheck.h" 1335cca45bSserge-sans-paille 14*4718da50SCarlos Galvez namespace clang::tidy::misc { 1535cca45bSserge-sans-paille 1635cca45bSserge-sans-paille class MisleadingBidirectionalCheck : public ClangTidyCheck { 1735cca45bSserge-sans-paille public: 1835cca45bSserge-sans-paille MisleadingBidirectionalCheck(StringRef Name, ClangTidyContext *Context); 1935cca45bSserge-sans-paille ~MisleadingBidirectionalCheck(); 2035cca45bSserge-sans-paille 2135cca45bSserge-sans-paille void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, 2235cca45bSserge-sans-paille Preprocessor *ModuleExpanderPP) override; 2335cca45bSserge-sans-paille 2435cca45bSserge-sans-paille void registerMatchers(ast_matchers::MatchFinder *Finder) override; 2535cca45bSserge-sans-paille void check(const ast_matchers::MatchFinder::MatchResult &Result) override; 2635cca45bSserge-sans-paille 2735cca45bSserge-sans-paille private: 2835cca45bSserge-sans-paille class MisleadingBidirectionalHandler; 2935cca45bSserge-sans-paille std::unique_ptr<MisleadingBidirectionalHandler> Handler; 3035cca45bSserge-sans-paille }; 3135cca45bSserge-sans-paille 32*4718da50SCarlos Galvez } // namespace clang::tidy::misc 3335cca45bSserge-sans-paille 3435cca45bSserge-sans-paille #endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_MISLEADINGBIDIRECTIONALCHECK_H 35