blob: 1860115ab5a257c606f20c37bde77cbd19e86316 [file] [log] [blame]
Aaron Ballmand3d78b92017-11-28 21:09:25 +00001//===--- FuchsiaTidyModule.cpp - clang-tidy--------------------------------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#include "../ClangTidy.h"
11#include "../ClangTidyModule.h"
12#include "../ClangTidyModuleRegistry.h"
13#include "DefaultArgumentsCheck.h"
Julie Hocketta966f452017-12-22 16:52:25 +000014#include "OverloadedOperatorCheck.h"
Julie Hockett63b57db2017-12-15 18:54:28 +000015#include "VirtualInheritanceCheck.h"
Aaron Ballmand3d78b92017-11-28 21:09:25 +000016
17using namespace clang::ast_matchers;
18
19namespace clang {
20namespace tidy {
21namespace fuchsia {
22
Julie Hocketta0d50ce2017-12-05 18:50:49 +000023/// This module is for Fuchsia-specific checks.
Aaron Ballmand3d78b92017-11-28 21:09:25 +000024class FuchsiaModule : public ClangTidyModule {
25public:
26 void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
27 CheckFactories.registerCheck<DefaultArgumentsCheck>(
28 "fuchsia-default-arguments");
Julie Hocketta966f452017-12-22 16:52:25 +000029 CheckFactories.registerCheck<OverloadedOperatorCheck>(
30 "fuchsia-overloaded-operator");
Julie Hockett63b57db2017-12-15 18:54:28 +000031 CheckFactories.registerCheck<VirtualInheritanceCheck>(
32 "fuchsia-virtual-inheritance");
Aaron Ballmand3d78b92017-11-28 21:09:25 +000033 }
34};
35// Register the FuchsiaTidyModule using this statically initialized variable.
36static ClangTidyModuleRegistry::Add<FuchsiaModule>
37 X("fuchsia-module", "Adds Fuchsia platform checks.");
38} // namespace fuchsia
39
40// This anchor is used to force the linker to link in the generated object file
41// and thus register the FuchsiaModule.
42volatile int FuchsiaModuleAnchorSource = 0;
43
44} // namespace tidy
45} // namespace clang