mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-14 14:56:47 +00:00
clang-format: Correctly calculate affected ranges when sorting #includes.
affectedRanges takes a start and an end offset, not offset and length. llvm-svn: 280165
This commit is contained in:
parent
befba52f89
commit
d6a0078039
@ -1263,10 +1263,10 @@ static void sortCppIncludes(const FormatStyle &Style,
|
||||
ArrayRef<tooling::Range> Ranges, StringRef FileName,
|
||||
tooling::Replacements &Replaces, unsigned *Cursor) {
|
||||
unsigned IncludesBeginOffset = Includes.front().Offset;
|
||||
unsigned IncludesBlockSize = Includes.back().Offset +
|
||||
Includes.back().Text.size() -
|
||||
IncludesBeginOffset;
|
||||
if (!affectsRange(Ranges, IncludesBeginOffset, IncludesBlockSize))
|
||||
unsigned IncludesEndOffset =
|
||||
Includes.back().Offset + Includes.back().Text.size();
|
||||
unsigned IncludesBlockSize = IncludesEndOffset - IncludesBeginOffset;
|
||||
if (!affectsRange(Ranges, IncludesBeginOffset, IncludesEndOffset))
|
||||
return;
|
||||
SmallVector<unsigned, 16> Indices;
|
||||
for (unsigned i = 0, e = Includes.size(); i != e; ++i)
|
||||
|
@ -24,8 +24,8 @@ protected:
|
||||
return std::vector<tooling::Range>(1, tooling::Range(0, Code.size()));
|
||||
}
|
||||
|
||||
std::string sort(StringRef Code, StringRef FileName = "input.cpp") {
|
||||
auto Ranges = GetCodeRange(Code);
|
||||
std::string sort(StringRef Code, std::vector<tooling::Range> Ranges,
|
||||
StringRef FileName = "input.cc") {
|
||||
auto Replaces = sortIncludes(Style, Code, Ranges, FileName);
|
||||
Ranges = tooling::calculateRangesAfterReplacements(Replaces, Ranges);
|
||||
auto Sorted = applyAllReplacements(Code, Replaces);
|
||||
@ -36,6 +36,10 @@ protected:
|
||||
return *Result;
|
||||
}
|
||||
|
||||
std::string sort(StringRef Code, StringRef FileName = "input.cpp") {
|
||||
return sort(Code, GetCodeRange(Code), FileName);
|
||||
}
|
||||
|
||||
unsigned newCursor(llvm::StringRef Code, unsigned Cursor) {
|
||||
sortIncludes(Style, Code, GetCodeRange(Code), "input.cpp", &Cursor);
|
||||
return Cursor;
|
||||
@ -52,6 +56,14 @@ TEST_F(SortIncludesTest, BasicSorting) {
|
||||
sort("#include \"a.h\"\n"
|
||||
"#include \"c.h\"\n"
|
||||
"#include \"b.h\"\n"));
|
||||
|
||||
EXPECT_EQ("// comment\n"
|
||||
"#include <a>\n"
|
||||
"#include <b>\n",
|
||||
sort("// comment\n"
|
||||
"#include <b>\n"
|
||||
"#include <a>\n",
|
||||
{tooling::Range(25, 1)}));
|
||||
}
|
||||
|
||||
TEST_F(SortIncludesTest, NoReplacementsForValidIncludes) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user