tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

MozillaTidyModule.cpp (1300B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this
      3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      4 
      5 #ifdef CLANG_TIDY
      6 
      7 #include "../ClangTidy.h"
      8 #include "../ClangTidyModule.h"
      9 #include "../ClangTidyModuleRegistry.h"
     10 #include "ChecksIncludes.inc"
     11 #include "external/ExternalIncludes.inc"
     12 #ifdef MOZ_CLANG_PLUGIN_ALPHA
     13 #include "alpha/AlphaIncludes.inc"
     14 #endif
     15 
     16 using namespace clang::ast_matchers;
     17 
     18 namespace clang {
     19 namespace tidy {
     20 
     21 class MozillaModule : public ClangTidyModule {
     22 public:
     23  void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
     24 #define CHECK(cls, name) CheckFactories.registerCheck<cls>("mozilla-" name);
     25 #include "Checks.inc"
     26 #include "external/ExternalChecks.inc"
     27 #ifdef MOZ_CLANG_PLUGIN_ALPHA
     28 #include "alpha/AlphaChecks.inc"
     29 #endif
     30 #undef CHECK
     31  }
     32 };
     33 
     34 // Register the MozillaTidyModule using this statically initialized variable.
     35 static ClangTidyModuleRegistry::Add<MozillaModule>
     36    X("mozilla-module", "Adds Mozilla lint checks.");
     37 
     38 } // namespace tidy
     39 } // namespace clang
     40 
     41 // This anchor is used to force the linker to link in the generated object file
     42 // and thus register the MozillaModule.
     43 volatile int MozillaModuleAnchorSource = 0;
     44 
     45 #endif