60 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C++
		
	
	
	
| //===--- FuchsiaTidyModule.cpp - clang-tidy -------------------------------===//
 | |
| //
 | |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 | |
| // See https://llvm.org/LICENSE.txt for license information.
 | |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| 
 | |
| #include "../ClangTidy.h"
 | |
| #include "../ClangTidyModule.h"
 | |
| #include "../ClangTidyModuleRegistry.h"
 | |
| #include "../google/UnnamedNamespaceInHeaderCheck.h"
 | |
| #include "DefaultArgumentsCallsCheck.h"
 | |
| #include "DefaultArgumentsDeclarationsCheck.h"
 | |
| #include "MultipleInheritanceCheck.h"
 | |
| #include "OverloadedOperatorCheck.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<DefaultArgumentsCallsCheck>(
 | |
|         "fuchsia-default-arguments-calls");
 | |
|     CheckFactories.registerCheck<DefaultArgumentsDeclarationsCheck>(
 | |
|         "fuchsia-default-arguments-declarations");
 | |
|     CheckFactories.registerCheck<google::build::UnnamedNamespaceInHeaderCheck>(
 | |
|         "fuchsia-header-anon-namespaces");
 | |
|     CheckFactories.registerCheck<MultipleInheritanceCheck>(
 | |
|         "fuchsia-multiple-inheritance");
 | |
|     CheckFactories.registerCheck<OverloadedOperatorCheck>(
 | |
|         "fuchsia-overloaded-operator");
 | |
|     CheckFactories.registerCheck<StaticallyConstructedObjectsCheck>(
 | |
|         "fuchsia-statically-constructed-objects");
 | |
|     CheckFactories.registerCheck<TrailingReturnCheck>(
 | |
|         "fuchsia-trailing-return");
 | |
|     CheckFactories.registerCheck<VirtualInheritanceCheck>(
 | |
|         "fuchsia-virtual-inheritance");
 | |
|   }
 | |
| };
 | |
| // Register the FuchsiaTidyModule using this statically initialized variable.
 | |
| static ClangTidyModuleRegistry::Add<FuchsiaModule>
 | |
|     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
 |