| 1234567891011121314151617181920212223242526272829303132333435 | 
							- /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
 
-    file LICENSE.rst or https://cmake.org/licensing for details.  */
 
- #include "UseBespokeEnumClassCheck.h"
 
- #include <clang/AST/Type.h>
 
- #include <clang/ASTMatchers/ASTMatchFinder.h>
 
- namespace clang {
 
- namespace tidy {
 
- namespace cmake {
 
- using namespace ast_matchers;
 
- UseBespokeEnumClassCheck::UseBespokeEnumClassCheck(StringRef Name,
 
-                                                    ClangTidyContext* Context)
 
-   : ClangTidyCheck(Name, Context)
 
- {
 
- }
 
- void UseBespokeEnumClassCheck::registerMatchers(MatchFinder* Finder)
 
- {
 
-   Finder->addMatcher(
 
-     parmVarDecl(
 
-       hasTypeLoc(typeLoc(loc(qualType(asString("_Bool")))).bind("type"))),
 
-     this);
 
- }
 
- void UseBespokeEnumClassCheck::check(MatchFinder::MatchResult const& Result)
 
- {
 
-   TypeLoc const* Node = Result.Nodes.getNodeAs<TypeLoc>("type");
 
-   this->diag(Node->getBeginLoc(),
 
-              "use a bespoke enum class instead of booleans as parameters");
 
- }
 
- }
 
- }
 
- }
 
 
  |