================
@@ -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);
+  }
+}
+
+tooling::Replacements
+HeaderIncludes::insert(llvm::ArrayRef<HeaderToInsert> Headers) const {
+  tooling::Replacements Result;
+  if (Headers.empty())
+    return Result;
+
+  std::vector<HeaderToInsert> SortedHeaders = Headers.vec();
----------------
dmaclach wrote:

OK.. for this function it seemed like CleanupTest.cpp was a better place? I 
have added a test there as well as tests in HeaderIncludesTest.cpp.

https://github.com/llvm/llvm-project/pull/212852
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to