[clang] [clang-tools-extra] [include cleaner] Use tooling::HeaderIncludes for include insertions and deletions (PR #212852)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 25 14:53:51 PDT 2026
================
@@ -512,11 +516,86 @@ HeaderIncludes::insert(llvm::StringRef Header, bool IsAngled,
return tooling::Replacement(FileName, InsertOffset, 0, NewInclude);
}
-tooling::Replacements HeaderIncludes::remove(llvm::StringRef IncludeName,
+HeaderIncludes::HeaderToInsert::HeaderToInsert(StringRef RawOrSpelledHeader,
+ IncludeDirective Directive,
+ std::optional<bool> IsAngled)
+ : Directive(Directive) {
+ if (RawOrSpelledHeader.starts_with("<")) {
+ Header = RawOrSpelledHeader.trim("<>").str();
+ this->IsAngled = IsAngled.value_or(true);
+ } else if (RawOrSpelledHeader.starts_with("\"")) {
+ Header = RawOrSpelledHeader.trim("\"").str();
+ this->IsAngled = IsAngled.value_or(false);
+ } else {
+ Header = RawOrSpelledHeader.str();
+ this->IsAngled = IsAngled.value_or(false);
----------------
dmaclach wrote:
With the enum it is pretty self documenting. Added documentation as well though.
https://github.com/llvm/llvm-project/pull/212852
More information about the cfe-commits
mailing list