//===--- AndroidTidyModule.cpp - clang-tidy--------------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #include "../ClangTidy.h" #include "../ClangTidyModule.h" #include "../ClangTidyModuleRegistry.h" #include "CloexecAccept4Check.h" #include "CloexecAcceptCheck.h" #include "CloexecCreatCheck.h" #include "CloexecEpollCreate1Check.h" #include "CloexecEpollCreateCheck.h" #include "CloexecDupCheck.h" #include "CloexecFopenCheck.h" #include "CloexecInotifyInit1Check.h" #include "CloexecInotifyInitCheck.h" #include "CloexecMemfdCreateCheck.h" #include "CloexecOpenCheck.h" #include "CloexecSocketCheck.h" using namespace clang::ast_matchers; namespace clang { namespace tidy { namespace android { /// This module is for Android specific checks. class AndroidModule : public ClangTidyModule { public: void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override { CheckFactories.registerCheck("android-cloexec-accept4"); CheckFactories.registerCheck("android-cloexec-accept"); CheckFactories.registerCheck("android-cloexec-creat"); CheckFactories.registerCheck( "android-cloexec-epoll-create1"); CheckFactories.registerCheck( "android-cloexec-epoll-create"); CheckFactories.registerCheck("android-cloexec-dup"); CheckFactories.registerCheck("android-cloexec-fopen"); CheckFactories.registerCheck( "android-cloexec-inotify-init"); CheckFactories.registerCheck( "android-cloexec-inotify-init1"); CheckFactories.registerCheck( "android-cloexec-memfd-create"); CheckFactories.registerCheck("android-cloexec-open"); CheckFactories.registerCheck("android-cloexec-socket"); } }; // Register the AndroidTidyModule using this statically initialized variable. static ClangTidyModuleRegistry::Add X("android-module", "Adds Android platform checks."); } // namespace android // This anchor is used to force the linker to link in the generated object file // and thus register the AndroidModule. volatile int AndroidModuleAnchorSource = 0; } // namespace tidy } // namespace clang