17 return Filename.endswith(
".h");
22 std::string Guard = tooling::getAbsolutePath(Filename);
28 size_t PosInclude = Guard.rfind(
"include/");
29 if (PosInclude != StringRef::npos)
30 Guard = Guard.substr(PosInclude + std::strlen(
"include/"));
33 size_t PosToolsClang = Guard.rfind(
"tools/clang/");
34 if (PosToolsClang != StringRef::npos)
35 Guard = Guard.substr(PosToolsClang + std::strlen(
"tools/"));
38 size_t PosLLVM = Guard.rfind(
"llvm/");
39 if (PosLLVM != StringRef::npos)
40 Guard = Guard.substr(PosLLVM);
42 std::replace(Guard.begin(), Guard.end(),
'/',
'_');
43 std::replace(Guard.begin(), Guard.end(),
'.',
'_');
44 std::replace(Guard.begin(), Guard.end(),
'-',
'_');
47 if (StringRef(Guard).startswith(
"clang"))
48 Guard =
"LLVM_" + Guard;
50 return StringRef(Guard).upper();
std::string Filename
Filename as a string.