File indexing completed on 2026-05-10 08:36:18
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_ARGUMENTCOMMENTCHECK_H
0010 #define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_ARGUMENTCOMMENTCHECK_H
0011
0012 #include "../ClangTidyCheck.h"
0013 #include "llvm/Support/Regex.h"
0014
0015 namespace clang::tidy::bugprone {
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032 class ArgumentCommentCheck : public ClangTidyCheck {
0033 public:
0034 ArgumentCommentCheck(StringRef Name, ClangTidyContext *Context);
0035
0036 void registerMatchers(ast_matchers::MatchFinder *Finder) override;
0037 void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
0038 void storeOptions(ClangTidyOptions::OptionMap &Opts) override;
0039
0040 private:
0041 const unsigned StrictMode : 1;
0042 const unsigned IgnoreSingleArgument : 1;
0043 const unsigned CommentBoolLiterals : 1;
0044 const unsigned CommentIntegerLiterals : 1;
0045 const unsigned CommentFloatLiterals : 1;
0046 const unsigned CommentStringLiterals : 1;
0047 const unsigned CommentUserDefinedLiterals : 1;
0048 const unsigned CommentCharacterLiterals : 1;
0049 const unsigned CommentNullPtrs : 1;
0050 llvm::Regex IdentRE;
0051
0052 void checkCallArgs(ASTContext *Ctx, const FunctionDecl *Callee,
0053 SourceLocation ArgBeginLoc,
0054 llvm::ArrayRef<const Expr *> Args);
0055
0056 bool shouldAddComment(const Expr *Arg) const;
0057 };
0058
0059 }
0060
0061 #endif