[PATCH] D20734: [clang-format] insert new #includes into correct blocks when cleaning up Replacement with cleanupAroundReplacements().
Daniel Jasper via cfe-commits
cfe-commits at lists.llvm.org
Tue May 31 02:18:07 PDT 2016
djasper added inline comments.
================
Comment at: lib/Format/Format.cpp:1444
@@ +1443,3 @@
+ if (!llvm::Regex(IncludeRegexPattern).match(Replace.getReplacementText())) {
+ llvm::errs() << "Insertions other than header #include insertion are "
+ "not supported! "
----------------
This error output doesn't belong here. I think we can just remove it. If you'd prefer to keep it, add it to the loop in fixCppIncludeInsertions():
for (const auto &R : Replaces) {
if (isHeaderInsertion(R))
HeaderInsertions.insert(R);
else if (R.getOffset() == UINT_MAX)
log::errs() << ...
}
================
Comment at: lib/Format/Format.cpp:1556
@@ +1555,3 @@
+ tooling::Replacements NewReplaces =
+ (Style.Language != FormatStyle::LanguageKind::LK_Cpp)
+ ? Replaces
----------------
I'd move this check into fixCppIncludeInsertions.
================
Comment at: unittests/Format/CleanupTest.cpp:310
@@ +309,3 @@
+
+ Context.createInMemoryFile("fix.cpp", Code);
+ tooling::Replacements Replaces;
----------------
I'd pull out a lot of these environment setup things into abstractions in the test fixture. Maybe all you need is two functions like:
insert(Code, Replaces);
and
insertAndFormat(Code, Replaces);
?
================
Comment at: unittests/Format/CleanupTest.cpp:311
@@ +310,3 @@
+ Context.createInMemoryFile("fix.cpp", Code);
+ tooling::Replacements Replaces;
+ Replaces.insert(
----------------
Can you just make this:
tooling::Replacements Replaces = {
tooling::Replacement("fix.cpp", UINT_MAX, 0, "#include \"b.h\"")};
?
================
Comment at: unittests/Format/CleanupTest.cpp:510
@@ +509,3 @@
+ Replaces.insert(
+ tooling::Replacement("fix.cpp", UINT_MAX, 0, "#include \"a.h\""));
+ Replaces.insert(
----------------
I'd create a function:
tooling::Replacement createInsertion(StringRef HeaderName) {
return tooling::Replacement("fix.cpp", UINT_MAX, 0, HeaderName);
}
http://reviews.llvm.org/D20734
More information about the cfe-commits
mailing list