xref: /llvm-project/clang-tools-extra/clang-tidy/abseil/DurationDivisionCheck.h (revision 4718da506091a37ca4863d979bc541e359b79b10)
15cd630d3SHaojian Wu //===--- DurationDivisionCheck.h - clang-tidy--------------------*- C++ -*-===//
25cd630d3SHaojian Wu //
32946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
42946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information.
52946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
65cd630d3SHaojian Wu //
75cd630d3SHaojian Wu //===----------------------------------------------------------------------===//
85cd630d3SHaojian Wu 
95cd630d3SHaojian Wu #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_ABSEIL_DURATIONDIVISIONCHECK_H_
105cd630d3SHaojian Wu #define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_ABSEIL_DURATIONDIVISIONCHECK_H_
115cd630d3SHaojian Wu 
12860aefd0SNathan James #include "../ClangTidyCheck.h"
135cd630d3SHaojian Wu 
14*4718da50SCarlos Galvez namespace clang::tidy::abseil {
155cd630d3SHaojian Wu 
165cd630d3SHaojian Wu // Find potential incorrect uses of integer division of absl::Duration objects.
175cd630d3SHaojian Wu //
185cd630d3SHaojian Wu // For the user-facing documentation see:
196e566bc5SRichard // http://clang.llvm.org/extra/clang-tidy/checks/abseil/duration-division.html
205cd630d3SHaojian Wu 
215cd630d3SHaojian Wu class DurationDivisionCheck : public ClangTidyCheck {
225cd630d3SHaojian Wu public:
235cd630d3SHaojian Wu   using ClangTidyCheck::ClangTidyCheck;
isLanguageVersionSupported(const LangOptions & LangOpts)24e40a742aSNathan James   bool isLanguageVersionSupported(const LangOptions &LangOpts) const override {
25e40a742aSNathan James     return LangOpts.CPlusPlus;
26e40a742aSNathan James   }
27ade0662cSSalman Javed   void registerMatchers(ast_matchers::MatchFinder *Finder) override;
28ade0662cSSalman Javed   void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
295cd630d3SHaojian Wu };
305cd630d3SHaojian Wu 
31*4718da50SCarlos Galvez } // namespace clang::tidy::abseil
325cd630d3SHaojian Wu 
335cd630d3SHaojian Wu #endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_ABSEIL_DURATIONDIVISIONCHECK_H_
34