13 namespace llvm_check {
17 : HeaderGuardCheck(Name, Context) {}
21 std::string Guard = tooling::getAbsolutePath(Filename);
27 size_t PosInclude = Guard.rfind(
"include/");
28 if (PosInclude != StringRef::npos)
29 Guard = Guard.substr(PosInclude + std::strlen(
"include/"));
32 size_t PosToolsClang = Guard.rfind(
"tools/clang/");
33 if (PosToolsClang != StringRef::npos)
34 Guard = Guard.substr(PosToolsClang + std::strlen(
"tools/"));
38 const static StringRef LLVMProject =
"/llvm-project/";
39 size_t PosLLVMProject = Guard.rfind(LLVMProject);
40 if (PosLLVMProject != StringRef::npos)
41 Guard = Guard.replace(PosLLVMProject, LLVMProject.size(),
"/llvm/");
44 size_t PosLLVM = Guard.rfind(
"llvm/");
45 if (PosLLVM != StringRef::npos)
46 Guard = Guard.substr(PosLLVM);
53 if (StringRef(Guard).startswith(
"clang"))
54 Guard =
"LLVM_" + Guard;
56 return StringRef(Guard).upper();
static std::string replace(llvm::StringRef Haystack, llvm::StringRef Needle, llvm::StringRef Repl)
std::string Filename
Filename as a string.
static constexpr llvm::StringLiteral Name
===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
Every ClangTidyCheck reports errors through a DiagnosticsEngine provided by this context.