//===--- FuchsiaTidyModule.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 "../google/UnnamedNamespaceInHeaderCheck.h" #include "DefaultArgumentsCheck.h" #include "MultipleInheritanceCheck.h" #include "OverloadedOperatorCheck.h" #include "RestrictSystemIncludesCheck.h" #include "StaticallyConstructedObjectsCheck.h" #include "TrailingReturnCheck.h" #include "VirtualInheritanceCheck.h" using namespace clang::ast_matchers; namespace clang { namespace tidy { namespace fuchsia { /// This module is for Fuchsia-specific checks. class FuchsiaModule : public ClangTidyModule { public: void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override { CheckFactories.registerCheck( "fuchsia-default-arguments"); CheckFactories.registerCheck( "fuchsia-header-anon-namespaces"); CheckFactories.registerCheck( "fuchsia-multiple-inheritance"); CheckFactories.registerCheck( "fuchsia-overloaded-operator"); CheckFactories.registerCheck( "fuchsia-restrict-system-includes"); CheckFactories.registerCheck( "fuchsia-statically-constructed-objects"); CheckFactories.registerCheck( "fuchsia-trailing-return"); CheckFactories.registerCheck( "fuchsia-virtual-inheritance"); } }; // Register the FuchsiaTidyModule using this statically initialized variable. static ClangTidyModuleRegistry::Add X("fuchsia-module", "Adds Fuchsia platform checks."); } // namespace fuchsia // This anchor is used to force the linker to link in the generated object file // and thus register the FuchsiaModule. volatile int FuchsiaModuleAnchorSource = 0; } // namespace tidy } // namespace clang