ReadabilityTidyModule.cpp 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. //===--- ReadabilityTidyModule.cpp - clang-tidy ---------------------------===//
  2. //
  3. // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  4. // See https://llvm.org/LICENSE.txt for license information.
  5. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  6. //
  7. //===----------------------------------------------------------------------===//
  8. #include "../ClangTidy.h"
  9. #include "../ClangTidyModule.h"
  10. #include "../ClangTidyModuleRegistry.h"
  11. #include "AvoidConstParamsInDecls.h"
  12. #include "BracesAroundStatementsCheck.h"
  13. #include "ConstReturnTypeCheck.h"
  14. #include "ContainerContainsCheck.h"
  15. #include "ContainerDataPointerCheck.h"
  16. #include "ContainerSizeEmptyCheck.h"
  17. #include "ConvertMemberFunctionsToStatic.h"
  18. #include "DeleteNullPointerCheck.h"
  19. #include "DuplicateIncludeCheck.h"
  20. #include "ElseAfterReturnCheck.h"
  21. #include "FunctionCognitiveComplexityCheck.h"
  22. #include "FunctionSizeCheck.h"
  23. #include "IdentifierLengthCheck.h"
  24. #include "IdentifierNamingCheck.h"
  25. #include "ImplicitBoolConversionCheck.h"
  26. #include "InconsistentDeclarationParameterNameCheck.h"
  27. #include "IsolateDeclarationCheck.h"
  28. #include "MagicNumbersCheck.h"
  29. #include "MakeMemberFunctionConstCheck.h"
  30. #include "MisleadingIndentationCheck.h"
  31. #include "MisplacedArrayIndexCheck.h"
  32. #include "NamedParameterCheck.h"
  33. #include "NonConstParameterCheck.h"
  34. #include "QualifiedAutoCheck.h"
  35. #include "RedundantAccessSpecifiersCheck.h"
  36. #include "RedundantControlFlowCheck.h"
  37. #include "RedundantDeclarationCheck.h"
  38. #include "RedundantFunctionPtrDereferenceCheck.h"
  39. #include "RedundantMemberInitCheck.h"
  40. #include "RedundantPreprocessorCheck.h"
  41. #include "RedundantSmartptrGetCheck.h"
  42. #include "RedundantStringCStrCheck.h"
  43. #include "RedundantStringInitCheck.h"
  44. #include "SimplifyBooleanExprCheck.h"
  45. #include "SimplifySubscriptExprCheck.h"
  46. #include "StaticAccessedThroughInstanceCheck.h"
  47. #include "StaticDefinitionInAnonymousNamespaceCheck.h"
  48. #include "StringCompareCheck.h"
  49. #include "SuspiciousCallArgumentCheck.h"
  50. #include "UniqueptrDeleteReleaseCheck.h"
  51. #include "UppercaseLiteralSuffixCheck.h"
  52. #include "UseAnyOfAllOfCheck.h"
  53. namespace clang::tidy {
  54. namespace readability {
  55. class ReadabilityModule : public ClangTidyModule {
  56. public:
  57. void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
  58. CheckFactories.registerCheck<AvoidConstParamsInDecls>(
  59. "readability-avoid-const-params-in-decls");
  60. CheckFactories.registerCheck<BracesAroundStatementsCheck>(
  61. "readability-braces-around-statements");
  62. CheckFactories.registerCheck<ConstReturnTypeCheck>(
  63. "readability-const-return-type");
  64. CheckFactories.registerCheck<ContainerContainsCheck>(
  65. "readability-container-contains");
  66. CheckFactories.registerCheck<ContainerDataPointerCheck>(
  67. "readability-container-data-pointer");
  68. CheckFactories.registerCheck<ContainerSizeEmptyCheck>(
  69. "readability-container-size-empty");
  70. CheckFactories.registerCheck<ConvertMemberFunctionsToStatic>(
  71. "readability-convert-member-functions-to-static");
  72. CheckFactories.registerCheck<DeleteNullPointerCheck>(
  73. "readability-delete-null-pointer");
  74. CheckFactories.registerCheck<DuplicateIncludeCheck>(
  75. "readability-duplicate-include");
  76. CheckFactories.registerCheck<ElseAfterReturnCheck>(
  77. "readability-else-after-return");
  78. CheckFactories.registerCheck<FunctionCognitiveComplexityCheck>(
  79. "readability-function-cognitive-complexity");
  80. CheckFactories.registerCheck<FunctionSizeCheck>(
  81. "readability-function-size");
  82. CheckFactories.registerCheck<IdentifierLengthCheck>(
  83. "readability-identifier-length");
  84. CheckFactories.registerCheck<IdentifierNamingCheck>(
  85. "readability-identifier-naming");
  86. CheckFactories.registerCheck<ImplicitBoolConversionCheck>(
  87. "readability-implicit-bool-conversion");
  88. CheckFactories.registerCheck<InconsistentDeclarationParameterNameCheck>(
  89. "readability-inconsistent-declaration-parameter-name");
  90. CheckFactories.registerCheck<IsolateDeclarationCheck>(
  91. "readability-isolate-declaration");
  92. CheckFactories.registerCheck<MagicNumbersCheck>(
  93. "readability-magic-numbers");
  94. CheckFactories.registerCheck<MakeMemberFunctionConstCheck>(
  95. "readability-make-member-function-const");
  96. CheckFactories.registerCheck<MisleadingIndentationCheck>(
  97. "readability-misleading-indentation");
  98. CheckFactories.registerCheck<MisplacedArrayIndexCheck>(
  99. "readability-misplaced-array-index");
  100. CheckFactories.registerCheck<QualifiedAutoCheck>(
  101. "readability-qualified-auto");
  102. CheckFactories.registerCheck<RedundantAccessSpecifiersCheck>(
  103. "readability-redundant-access-specifiers");
  104. CheckFactories.registerCheck<RedundantFunctionPtrDereferenceCheck>(
  105. "readability-redundant-function-ptr-dereference");
  106. CheckFactories.registerCheck<RedundantMemberInitCheck>(
  107. "readability-redundant-member-init");
  108. CheckFactories.registerCheck<RedundantPreprocessorCheck>(
  109. "readability-redundant-preprocessor");
  110. CheckFactories.registerCheck<SimplifySubscriptExprCheck>(
  111. "readability-simplify-subscript-expr");
  112. CheckFactories.registerCheck<StaticAccessedThroughInstanceCheck>(
  113. "readability-static-accessed-through-instance");
  114. CheckFactories.registerCheck<StaticDefinitionInAnonymousNamespaceCheck>(
  115. "readability-static-definition-in-anonymous-namespace");
  116. CheckFactories.registerCheck<StringCompareCheck>(
  117. "readability-string-compare");
  118. CheckFactories.registerCheck<readability::NamedParameterCheck>(
  119. "readability-named-parameter");
  120. CheckFactories.registerCheck<NonConstParameterCheck>(
  121. "readability-non-const-parameter");
  122. CheckFactories.registerCheck<RedundantControlFlowCheck>(
  123. "readability-redundant-control-flow");
  124. CheckFactories.registerCheck<RedundantDeclarationCheck>(
  125. "readability-redundant-declaration");
  126. CheckFactories.registerCheck<RedundantSmartptrGetCheck>(
  127. "readability-redundant-smartptr-get");
  128. CheckFactories.registerCheck<RedundantStringCStrCheck>(
  129. "readability-redundant-string-cstr");
  130. CheckFactories.registerCheck<RedundantStringInitCheck>(
  131. "readability-redundant-string-init");
  132. CheckFactories.registerCheck<SimplifyBooleanExprCheck>(
  133. "readability-simplify-boolean-expr");
  134. CheckFactories.registerCheck<SuspiciousCallArgumentCheck>(
  135. "readability-suspicious-call-argument");
  136. CheckFactories.registerCheck<UniqueptrDeleteReleaseCheck>(
  137. "readability-uniqueptr-delete-release");
  138. CheckFactories.registerCheck<UppercaseLiteralSuffixCheck>(
  139. "readability-uppercase-literal-suffix");
  140. CheckFactories.registerCheck<UseAnyOfAllOfCheck>(
  141. "readability-use-anyofallof");
  142. }
  143. };
  144. // Register the ReadabilityModule using this statically initialized variable.
  145. static ClangTidyModuleRegistry::Add<ReadabilityModule>
  146. X("readability-module", "Adds readability-related checks.");
  147. } // namespace readability
  148. // This anchor is used to force the linker to link in the generated object file
  149. // and thus register the ReadabilityModule.
  150. volatile int ReadabilityModuleAnchorSource = 0;
  151. } // namespace clang::tidy