Fixes calculateRangesAfterReplacements crash when Replacements is empty.
Reviewers: klimek, djasper Subscribers: cfe-commits, klimek Differential Revision: https://reviews.llvm.org/D23264 llvm-svn: 278004
This commit is contained in:
parent
ad0c42e3a9
commit
73337f3dfa
|
@ -361,6 +361,8 @@ calculateRangesAfterReplacements(const Replacements &Replaces,
|
|||
// - Merge with \p Replaces.
|
||||
// - The new ranges will be the affected ranges of the merged replacements.
|
||||
auto MergedRanges = combineAndSortRanges(Ranges);
|
||||
if (Replaces.empty())
|
||||
return MergedRanges;
|
||||
tooling::Replacements FakeReplaces;
|
||||
for (const auto &R : MergedRanges) {
|
||||
auto Err = FakeReplaces.add(Replacement(Replaces.begin()->getFilePath(),
|
||||
|
|
|
@ -506,6 +506,13 @@ TEST(Range, CalculateRangesOfReplacements) {
|
|||
EXPECT_TRUE(Ranges[1].getLength() == 22);
|
||||
}
|
||||
|
||||
TEST(Range, RangesAfterEmptyReplacements) {
|
||||
std::vector<Range> Ranges = {Range(5, 6), Range(10, 5)};
|
||||
Replacements Replaces;
|
||||
std::vector<Range> Expected = {Range(5, 10)};
|
||||
EXPECT_EQ(Expected, calculateRangesAfterReplacements(Replaces, Ranges));
|
||||
}
|
||||
|
||||
TEST(Range, RangesAfterReplacements) {
|
||||
std::vector<Range> Ranges = {Range(5, 2), Range(10, 5)};
|
||||
Replacements Replaces = toReplacements({Replacement("foo", 0, 2, "1234")});
|
||||
|
|
Loading…
Reference in New Issue