forked from OSchip/llvm-project
Add missing implementation for AtomicChange::replace(...)
Summary: Just realized the implementation is missing... Reviewers: klimek Reviewed By: klimek Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D30735 llvm-svn: 297289
This commit is contained in:
parent
1b7197e690
commit
373c182a07
|
@ -132,6 +132,11 @@ AtomicChange AtomicChange::convertFromYAML(llvm::StringRef YAMLContent) {
|
||||||
return E;
|
return E;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
llvm::Error AtomicChange::replace(const SourceManager &SM, SourceLocation Loc,
|
||||||
|
unsigned Length, llvm::StringRef Text) {
|
||||||
|
return Replaces.add(Replacement(SM, Loc, Length, Text));
|
||||||
|
}
|
||||||
|
|
||||||
llvm::Error AtomicChange::insert(const SourceManager &SM, SourceLocation Loc,
|
llvm::Error AtomicChange::insert(const SourceManager &SM, SourceLocation Loc,
|
||||||
llvm::StringRef Text, bool InsertAfter) {
|
llvm::StringRef Text, bool InsertAfter) {
|
||||||
if (Text.empty())
|
if (Text.empty())
|
||||||
|
|
|
@ -1173,8 +1173,10 @@ TEST_F(AtomicChangeTest, YAMLToAtomicChange) {
|
||||||
EXPECT_EQ(ExpectedChange.getKey(), ActualChange.getKey());
|
EXPECT_EQ(ExpectedChange.getKey(), ActualChange.getKey());
|
||||||
EXPECT_EQ(ExpectedChange.getFilePath(), ActualChange.getFilePath());
|
EXPECT_EQ(ExpectedChange.getFilePath(), ActualChange.getFilePath());
|
||||||
EXPECT_EQ(ExpectedChange.getError(), ActualChange.getError());
|
EXPECT_EQ(ExpectedChange.getError(), ActualChange.getError());
|
||||||
EXPECT_EQ(ExpectedChange.getInsertedHeaders(), ActualChange.getInsertedHeaders());
|
EXPECT_EQ(ExpectedChange.getInsertedHeaders(),
|
||||||
EXPECT_EQ(ExpectedChange.getRemovedHeaders(), ActualChange.getRemovedHeaders());
|
ActualChange.getInsertedHeaders());
|
||||||
|
EXPECT_EQ(ExpectedChange.getRemovedHeaders(),
|
||||||
|
ActualChange.getRemovedHeaders());
|
||||||
EXPECT_EQ(ExpectedChange.getReplacements().size(),
|
EXPECT_EQ(ExpectedChange.getReplacements().size(),
|
||||||
ActualChange.getReplacements().size());
|
ActualChange.getReplacements().size());
|
||||||
EXPECT_EQ(2u, ActualChange.getReplacements().size());
|
EXPECT_EQ(2u, ActualChange.getReplacements().size());
|
||||||
|
@ -1191,6 +1193,22 @@ TEST_F(AtomicChangeTest, CheckKeyAndKeyFile) {
|
||||||
EXPECT_EQ("input.cpp", Change.getFilePath());
|
EXPECT_EQ("input.cpp", Change.getFilePath());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_F(AtomicChangeTest, Replace) {
|
||||||
|
setUp();
|
||||||
|
AtomicChange Change(Context.Sources, DefaultLoc);
|
||||||
|
llvm::Error Err = Change.replace(Context.Sources, DefaultLoc, 2, "aa");
|
||||||
|
ASSERT_TRUE(!Err);
|
||||||
|
EXPECT_EQ(Change.getReplacements().size(), 1u);
|
||||||
|
EXPECT_EQ(*Change.getReplacements().begin(),
|
||||||
|
Replacement(Context.Sources, DefaultLoc, 2, "aa"));
|
||||||
|
|
||||||
|
// Add a new replacement that conflicts with the existing one.
|
||||||
|
Err = Change.replace(Context.Sources, DefaultLoc, 3, "ab");
|
||||||
|
EXPECT_TRUE((bool)Err);
|
||||||
|
llvm::consumeError(std::move(Err));
|
||||||
|
EXPECT_EQ(Change.getReplacements().size(), 1u);
|
||||||
|
}
|
||||||
|
|
||||||
TEST_F(AtomicChangeTest, InsertBefore) {
|
TEST_F(AtomicChangeTest, InsertBefore) {
|
||||||
setUp();
|
setUp();
|
||||||
AtomicChange Change(Context.Sources, DefaultLoc);
|
AtomicChange Change(Context.Sources, DefaultLoc);
|
||||||
|
|
Loading…
Reference in New Issue