aboutsummaryrefslogtreecommitdiff
path: root/clang/unittests/Tooling
diff options
context:
space:
mode:
Diffstat (limited to 'clang/unittests/Tooling')
-rw-r--r--clang/unittests/Tooling/CompilationDatabaseTest.cpp12
-rw-r--r--clang/unittests/Tooling/DependencyScannerTest.cpp27
-rw-r--r--clang/unittests/Tooling/ExecutionTest.cpp4
-rw-r--r--clang/unittests/Tooling/HeaderIncludesTest.cpp2
-rw-r--r--clang/unittests/Tooling/RangeSelectorTest.cpp64
-rw-r--r--clang/unittests/Tooling/RecursiveASTVisitorTestPostOrderVisitor.cpp4
-rw-r--r--clang/unittests/Tooling/RefactoringTest.cpp23
-rw-r--r--clang/unittests/Tooling/RewriterTestContext.h5
-rw-r--r--clang/unittests/Tooling/SourceCodeBuildersTest.cpp2
-rw-r--r--clang/unittests/Tooling/StencilTest.cpp13
-rw-r--r--clang/unittests/Tooling/Syntax/TreeTest.cpp3
-rw-r--r--clang/unittests/Tooling/ToolingTest.cpp9
-rw-r--r--clang/unittests/Tooling/TransformerTest.cpp71
13 files changed, 130 insertions, 109 deletions
diff --git a/clang/unittests/Tooling/CompilationDatabaseTest.cpp b/clang/unittests/Tooling/CompilationDatabaseTest.cpp
index 56ebadc..cc948b8 100644
--- a/clang/unittests/Tooling/CompilationDatabaseTest.cpp
+++ b/clang/unittests/Tooling/CompilationDatabaseTest.cpp
@@ -87,11 +87,11 @@ TEST(JSONCompilationDatabase, GetAllFiles) {
std::vector<std::string> expected_files;
SmallString<16> PathStorage;
llvm::sys::path::native("//net/dir/file1", PathStorage);
- expected_files.push_back(PathStorage.str());
+ expected_files.push_back(std::string(PathStorage.str()));
llvm::sys::path::native("//net/dir/file2", PathStorage);
- expected_files.push_back(PathStorage.str());
+ expected_files.push_back(std::string(PathStorage.str()));
llvm::sys::path::native("//net/file1", PathStorage);
- expected_files.push_back(PathStorage.str());
+ expected_files.push_back(std::string(PathStorage.str()));
EXPECT_EQ(expected_files,
getAllFiles("[{\"directory\":\"//net/dir\","
"\"command\":\"command\","
@@ -654,7 +654,7 @@ struct MemCDB : public CompilationDatabase {
std::vector<std::string> getAllFiles() const override {
std::vector<std::string> Result;
for (const auto &Entry : Entries)
- Result.push_back(Entry.first());
+ Result.push_back(std::string(Entry.first()));
return Result;
}
};
@@ -682,7 +682,7 @@ protected:
llvm::sys::path::native(File);
llvm::SmallString<64> Result;
llvm::sys::path::append(Result, Dir, File);
- return Result.str();
+ return std::string(Result.str());
}
MemCDB::EntryMap Entries;
@@ -723,7 +723,7 @@ protected:
Proxy.consume_front(llvm::sys::path::get_separator());
llvm::SmallString<32> Result = Proxy;
llvm::sys::path::native(Result, llvm::sys::path::Style::posix);
- return Result.str();
+ return std::string(Result.str());
}
};
diff --git a/clang/unittests/Tooling/DependencyScannerTest.cpp b/clang/unittests/Tooling/DependencyScannerTest.cpp
index 60f6566..5a9c514 100644
--- a/clang/unittests/Tooling/DependencyScannerTest.cpp
+++ b/clang/unittests/Tooling/DependencyScannerTest.cpp
@@ -83,9 +83,11 @@ TEST(DependencyScanner, ScanDepsReuseFilemanager) {
auto VFS = new llvm::vfs::InMemoryFileSystem();
VFS->setCurrentWorkingDirectory(CWD);
auto Sept = llvm::sys::path::get_separator();
- std::string HeaderPath = llvm::formatv("{0}root{0}header.h", Sept);
- std::string SymlinkPath = llvm::formatv("{0}root{0}symlink.h", Sept);
- std::string TestPath = llvm::formatv("{0}root{0}test.cpp", Sept);
+ std::string HeaderPath =
+ std::string(llvm::formatv("{0}root{0}header.h", Sept));
+ std::string SymlinkPath =
+ std::string(llvm::formatv("{0}root{0}symlink.h", Sept));
+ std::string TestPath = std::string(llvm::formatv("{0}root{0}test.cpp", Sept));
VFS->addFile(HeaderPath, 0, llvm::MemoryBuffer::getMemBuffer("\n"));
VFS->addHardLink(SymlinkPath, HeaderPath);
@@ -130,10 +132,13 @@ TEST(DependencyScanner, ScanDepsReuseFilemanagerSkippedFile) {
auto VFS = new llvm::vfs::InMemoryFileSystem();
VFS->setCurrentWorkingDirectory(CWD);
auto Sept = llvm::sys::path::get_separator();
- std::string HeaderPath = llvm::formatv("{0}root{0}header.h", Sept);
- std::string SymlinkPath = llvm::formatv("{0}root{0}symlink.h", Sept);
- std::string TestPath = llvm::formatv("{0}root{0}test.cpp", Sept);
- std::string Test2Path = llvm::formatv("{0}root{0}test2.cpp", Sept);
+ std::string HeaderPath =
+ std::string(llvm::formatv("{0}root{0}header.h", Sept));
+ std::string SymlinkPath =
+ std::string(llvm::formatv("{0}root{0}symlink.h", Sept));
+ std::string TestPath = std::string(llvm::formatv("{0}root{0}test.cpp", Sept));
+ std::string Test2Path =
+ std::string(llvm::formatv("{0}root{0}test2.cpp", Sept));
VFS->addFile(HeaderPath, 0,
llvm::MemoryBuffer::getMemBuffer("#pragma once\n"));
@@ -169,9 +174,11 @@ TEST(DependencyScanner, ScanDepsReuseFilemanagerHasInclude) {
auto VFS = new llvm::vfs::InMemoryFileSystem();
VFS->setCurrentWorkingDirectory(CWD);
auto Sept = llvm::sys::path::get_separator();
- std::string HeaderPath = llvm::formatv("{0}root{0}header.h", Sept);
- std::string SymlinkPath = llvm::formatv("{0}root{0}symlink.h", Sept);
- std::string TestPath = llvm::formatv("{0}root{0}test.cpp", Sept);
+ std::string HeaderPath =
+ std::string(llvm::formatv("{0}root{0}header.h", Sept));
+ std::string SymlinkPath =
+ std::string(llvm::formatv("{0}root{0}symlink.h", Sept));
+ std::string TestPath = std::string(llvm::formatv("{0}root{0}test.cpp", Sept));
VFS->addFile(HeaderPath, 0, llvm::MemoryBuffer::getMemBuffer("\n"));
VFS->addHardLink(SymlinkPath, HeaderPath);
diff --git a/clang/unittests/Tooling/ExecutionTest.cpp b/clang/unittests/Tooling/ExecutionTest.cpp
index 16455fb..91ab859 100644
--- a/clang/unittests/Tooling/ExecutionTest.cpp
+++ b/clang/unittests/Tooling/ExecutionTest.cpp
@@ -112,7 +112,7 @@ public:
}
void mapVirtualFile(StringRef FilePath, StringRef Content) override {
- VFS[FilePath] = Content;
+ VFS[std::string(FilePath)] = std::string(Content);
}
private:
@@ -289,7 +289,7 @@ TEST(AllTUsToolTest, ManyFiles) {
ASSERT_TRUE(!Err);
std::vector<std::string> Results;
Executor.getToolResults()->forEachResult(
- [&](StringRef Name, StringRef) { Results.push_back(Name); });
+ [&](StringRef Name, StringRef) { Results.push_back(std::string(Name)); });
EXPECT_THAT(ExpectedSymbols, ::testing::UnorderedElementsAreArray(Results));
}
diff --git a/clang/unittests/Tooling/HeaderIncludesTest.cpp b/clang/unittests/Tooling/HeaderIncludesTest.cpp
index 635d7eb..9f86d2e 100644
--- a/clang/unittests/Tooling/HeaderIncludesTest.cpp
+++ b/clang/unittests/Tooling/HeaderIncludesTest.cpp
@@ -25,7 +25,7 @@ protected:
assert(Header.startswith("\"") || Header.startswith("<"));
auto R = Includes.insert(Header.trim("\"<>"), Header.startswith("<"));
if (!R)
- return Code;
+ return std::string(Code);
auto Result = applyAllReplacements(Code, Replacements(*R));
EXPECT_TRUE(static_cast<bool>(Result));
return *Result;
diff --git a/clang/unittests/Tooling/RangeSelectorTest.cpp b/clang/unittests/Tooling/RangeSelectorTest.cpp
index 8a7d555..a84b0b9 100644
--- a/clang/unittests/Tooling/RangeSelectorTest.cpp
+++ b/clang/unittests/Tooling/RangeSelectorTest.cpp
@@ -108,7 +108,7 @@ Expected<CharSourceRange> selectFromAssorted(RangeSelector Selector) {
}
// Matches the message expected for type-error failures.
-testing::Matcher<StringError> withTypeErrorMessage(StringRef NodeID) {
+testing::Matcher<StringError> withTypeErrorMessage(const std::string &NodeID) {
return testing::Property(
&StringError::getMessage,
AllOf(HasSubstr(NodeID), HasSubstr("mismatched type")));
@@ -131,7 +131,7 @@ TEST(RangeSelectorTest, BeforeOp) {
int f(int x, int y, int z) { return 3; }
int g() { return f(/* comment */ 3, 7 /* comment */, 9); }
)cc";
- StringRef Call = "call";
+ const char *Call = "call";
TestMatch Match = matchCode(Code, callExpr().bind(Call));
const auto* E = Match.Result.Nodes.getNodeAs<Expr>(Call);
assert(E != nullptr);
@@ -173,8 +173,8 @@ TEST(RangeSelectorTest, RangeOp) {
int f(int x, int y, int z) { return 3; }
int g() { return f(/* comment */ 3, 7 /* comment */, 9); }
)cc";
- StringRef Arg0 = "a0";
- StringRef Arg1 = "a1";
+ const char *Arg0 = "a0";
+ const char *Arg1 = "a1";
StringRef Call = "call";
auto Matcher = callExpr(hasArgument(0, expr().bind(Arg0)),
hasArgument(1, expr().bind(Arg1)))
@@ -190,21 +190,21 @@ TEST(RangeSelectorTest, RangeOp) {
TEST(RangeSelectorTest, NodeOpStatement) {
StringRef Code = "int f() { return 3; }";
- StringRef ID = "id";
+ const char *ID = "id";
TestMatch Match = matchCode(Code, returnStmt().bind(ID));
EXPECT_THAT_EXPECTED(select(node(ID), Match), HasValue("return 3;"));
}
TEST(RangeSelectorTest, NodeOpExpression) {
StringRef Code = "int f() { return 3; }";
- StringRef ID = "id";
+ const char *ID = "id";
TestMatch Match = matchCode(Code, expr().bind(ID));
EXPECT_THAT_EXPECTED(select(node(ID), Match), HasValue("3"));
}
TEST(RangeSelectorTest, StatementOp) {
StringRef Code = "int f() { return 3; }";
- StringRef ID = "id";
+ const char *ID = "id";
TestMatch Match = matchCode(Code, expr().bind(ID));
EXPECT_THAT_EXPECTED(select(statement(ID), Match), HasValue("3;"));
}
@@ -219,7 +219,7 @@ TEST(RangeSelectorTest, MemberOp) {
return s.member;
}
)cc";
- StringRef ID = "id";
+ const char *ID = "id";
TestMatch Match = matchCode(Code, memberExpr().bind(ID));
EXPECT_THAT_EXPECTED(select(member(ID), Match), HasValue("member"));
}
@@ -238,7 +238,7 @@ TEST(RangeSelectorTest, MemberOpQualified) {
return t.S::member;
}
)cc";
- StringRef ID = "id";
+ const char *ID = "id";
TestMatch Match = matchCode(Code, memberExpr().bind(ID));
EXPECT_THAT_EXPECTED(select(member(ID), Match), HasValue("member"));
}
@@ -254,7 +254,7 @@ TEST(RangeSelectorTest, MemberOpTemplate) {
}
)cc";
- StringRef ID = "id";
+ const char *ID = "id";
TestMatch Match = matchCode(Code, memberExpr().bind(ID));
EXPECT_THAT_EXPECTED(select(member(ID), Match), HasValue("foo"));
}
@@ -270,7 +270,7 @@ TEST(RangeSelectorTest, MemberOpOperator) {
}
)cc";
- StringRef ID = "id";
+ const char *ID = "id";
TestMatch Match = matchCode(Code, memberExpr().bind(ID));
EXPECT_THAT_EXPECTED(select(member(ID), Match), HasValue("operator *"));
}
@@ -281,7 +281,7 @@ TEST(RangeSelectorTest, NameOpNamedDecl) {
return 3;
}
)cc";
- StringRef ID = "id";
+ const char *ID = "id";
TestMatch Match = matchCode(Code, functionDecl().bind(ID));
EXPECT_THAT_EXPECTED(select(name(ID), Match), HasValue("myfun"));
}
@@ -293,7 +293,7 @@ TEST(RangeSelectorTest, NameOpDeclRef) {
}
int g(int x) { return foo(x) * x; }
)cc";
- StringRef Ref = "ref";
+ const char *Ref = "ref";
TestMatch Match = matchCode(Code, declRefExpr(to(functionDecl())).bind(Ref));
EXPECT_THAT_EXPECTED(select(name(Ref), Match), HasValue("foo"));
}
@@ -306,7 +306,7 @@ TEST(RangeSelectorTest, NameOpCtorInitializer) {
int field;
};
)cc";
- StringRef Init = "init";
+ const char *Init = "init";
TestMatch Match = matchCode(Code, cxxCtorInitializer().bind(Init));
EXPECT_THAT_EXPECTED(select(name(Init), Match), HasValue("field"));
}
@@ -328,7 +328,7 @@ TEST(RangeSelectorTest, NameOpDeclRefError) {
return *s + x;
}
)cc";
- StringRef Ref = "ref";
+ const char *Ref = "ref";
TestMatch Match = matchCode(Code, declRefExpr(to(functionDecl())).bind(Ref));
EXPECT_THAT_EXPECTED(
name(Ref)(Match.Result),
@@ -347,7 +347,7 @@ TEST(RangeSelectorTest, CallArgsOp) {
return x.bar(3, 4);
}
)cc";
- StringRef ID = "id";
+ const char *ID = "id";
TestMatch Match = matchCode(Code, callExpr().bind(ID));
EXPECT_THAT_EXPECTED(select(callArgs(ID), Match), HasValue("3, 4"));
}
@@ -362,7 +362,7 @@ TEST(RangeSelectorTest, CallArgsOpNoArgs) {
return x.bar();
}
)cc";
- StringRef ID = "id";
+ const char *ID = "id";
TestMatch Match = matchCode(Code, callExpr().bind(ID));
EXPECT_THAT_EXPECTED(select(callArgs(ID), Match), HasValue(""));
}
@@ -377,7 +377,7 @@ TEST(RangeSelectorTest, CallArgsOpNoArgsWithComments) {
return x.bar(/*empty*/);
}
)cc";
- StringRef ID = "id";
+ const char *ID = "id";
TestMatch Match = matchCode(Code, callExpr().bind(ID));
EXPECT_THAT_EXPECTED(select(callArgs(ID), Match), HasValue("/*empty*/"));
}
@@ -394,7 +394,7 @@ TEST(RangeSelectorTest, CallArgsOpWithParens) {
return C().bar(3, 4);
}
)cc";
- StringRef ID = "id";
+ const char *ID = "id";
TestMatch Match =
matchCode(Code, callExpr(callee(functionDecl(hasName("bar")))).bind(ID));
EXPECT_THAT_EXPECTED(select(callArgs(ID), Match), HasValue("3, 4"));
@@ -410,7 +410,7 @@ TEST(RangeSelectorTest, CallArgsOpLeadingComments) {
return x.bar(/*leading*/ 3, 4);
}
)cc";
- StringRef ID = "id";
+ const char *ID = "id";
TestMatch Match = matchCode(Code, callExpr().bind(ID));
EXPECT_THAT_EXPECTED(select(callArgs(ID), Match),
HasValue("/*leading*/ 3, 4"));
@@ -426,7 +426,7 @@ TEST(RangeSelectorTest, CallArgsOpTrailingComments) {
return x.bar(3 /*trailing*/, 4);
}
)cc";
- StringRef ID = "id";
+ const char *ID = "id";
TestMatch Match = matchCode(Code, callExpr().bind(ID));
EXPECT_THAT_EXPECTED(select(callArgs(ID), Match),
HasValue("3 /*trailing*/, 4"));
@@ -445,7 +445,7 @@ TEST(RangeSelectorTest, CallArgsOpEolComments) {
);
}
)cc";
- StringRef ID = "id";
+ const char *ID = "id";
TestMatch Match = matchCode(Code, callExpr().bind(ID));
std::string ExpectedString = R"( // Header
1, // foo
@@ -466,7 +466,7 @@ TEST(RangeSelectorTest, StatementsOp) {
void g();
void f() { /* comment */ g(); /* comment */ g(); /* comment */ }
)cc";
- StringRef ID = "id";
+ const char *ID = "id";
TestMatch Match = matchCode(Code, compoundStmt().bind(ID));
EXPECT_THAT_EXPECTED(
select(statements(ID), Match),
@@ -475,7 +475,7 @@ TEST(RangeSelectorTest, StatementsOp) {
TEST(RangeSelectorTest, StatementsOpEmptyList) {
StringRef Code = "void f() {}";
- StringRef ID = "id";
+ const char *ID = "id";
TestMatch Match = matchCode(Code, compoundStmt().bind(ID));
EXPECT_THAT_EXPECTED(select(statements(ID), Match), HasValue(""));
}
@@ -494,7 +494,7 @@ TEST(RangeSelectorTest, ElementsOp) {
(void)v;
}
)cc";
- StringRef ID = "id";
+ const char *ID = "id";
TestMatch Match = matchCode(Code, initListExpr().bind(ID));
EXPECT_THAT_EXPECTED(
select(initListElements(ID), Match),
@@ -508,7 +508,7 @@ TEST(RangeSelectorTest, ElementsOpEmptyList) {
(void)v;
}
)cc";
- StringRef ID = "id";
+ const char *ID = "id";
TestMatch Match = matchCode(Code, initListExpr().bind(ID));
EXPECT_THAT_EXPECTED(select(initListElements(ID), Match), HasValue(""));
}
@@ -529,7 +529,7 @@ TEST(RangeSelectorTest, ElseBranchOpSingleStatement) {
return x + 5;
}
)cc";
- StringRef ID = "id";
+ const char *ID = "id";
TestMatch Match = matchCode(Code, ifStmt().bind(ID));
EXPECT_THAT_EXPECTED(select(elseBranch(ID), Match), HasValue("else x = 4;"));
}
@@ -543,7 +543,7 @@ TEST(RangeSelectorTest, ElseBranchOpCompoundStatement) {
return x + 5;
}
)cc";
- StringRef ID = "id";
+ const char *ID = "id";
TestMatch Match = matchCode(Code, ifStmt().bind(ID));
EXPECT_THAT_EXPECTED(select(elseBranch(ID), Match),
HasValue("else { x = 4; }"));
@@ -556,7 +556,7 @@ TEST(RangeSelectorTest, ExpansionOp) {
BADDECL(x * x)
)cc";
- StringRef Fun = "Fun";
+ const char *Fun = "Fun";
TestMatch Match = matchCode(Code, functionDecl(hasName("bad")).bind(Fun));
EXPECT_THAT_EXPECTED(select(expansion(node(Fun)), Match),
HasValue("BADDECL(x * x)"));
@@ -569,7 +569,7 @@ TEST(RangeSelectorTest, ExpansionOpPartial) {
BADDECL(x * x)
)cc";
- StringRef Ret = "Ret";
+ const char *Ret = "Ret";
TestMatch Match = matchCode(Code, returnStmt().bind(Ret));
EXPECT_THAT_EXPECTED(select(expansion(node(Ret)), Match),
HasValue("BADDECL(x * x)"));
@@ -581,7 +581,7 @@ TEST(RangeSelectorTest, IfBoundOpBound) {
return 3 + 5;
}
)cc";
- StringRef ID = "id", Op = "op";
+ const char *ID = "id", *Op = "op";
TestMatch Match =
matchCode(Code, binaryOperator(hasLHS(expr().bind(ID))).bind(Op));
EXPECT_THAT_EXPECTED(select(ifBound(ID, node(ID), node(Op)), Match),
@@ -594,7 +594,7 @@ TEST(RangeSelectorTest, IfBoundOpUnbound) {
return 3 + 5;
}
)cc";
- StringRef ID = "id", Op = "op";
+ const char *ID = "id", *Op = "op";
TestMatch Match = matchCode(Code, binaryOperator().bind(Op));
EXPECT_THAT_EXPECTED(select(ifBound(ID, node(ID), node(Op)), Match),
HasValue("3 + 5"));
diff --git a/clang/unittests/Tooling/RecursiveASTVisitorTestPostOrderVisitor.cpp b/clang/unittests/Tooling/RecursiveASTVisitorTestPostOrderVisitor.cpp
index 965bb3d..9fd075e 100644
--- a/clang/unittests/Tooling/RecursiveASTVisitorTestPostOrderVisitor.cpp
+++ b/clang/unittests/Tooling/RecursiveASTVisitorTestPostOrderVisitor.cpp
@@ -31,12 +31,12 @@ public:
bool shouldTraversePostOrder() const { return VisitPostOrder; }
bool VisitUnaryOperator(UnaryOperator *Op) {
- VisitedNodes.push_back(Op->getOpcodeStr(Op->getOpcode()));
+ VisitedNodes.push_back(std::string(Op->getOpcodeStr(Op->getOpcode())));
return true;
}
bool VisitBinaryOperator(BinaryOperator *Op) {
- VisitedNodes.push_back(Op->getOpcodeStr());
+ VisitedNodes.push_back(std::string(Op->getOpcodeStr()));
return true;
}
diff --git a/clang/unittests/Tooling/RefactoringTest.cpp b/clang/unittests/Tooling/RefactoringTest.cpp
index 5949c53..d65c6db 100644
--- a/clang/unittests/Tooling/RefactoringTest.cpp
+++ b/clang/unittests/Tooling/RefactoringTest.cpp
@@ -528,12 +528,12 @@ TEST_F(ReplacementTest, MultipleFilesReplaceAndFormat) {
// Scrambled the order of replacements.
std::map<std::string, Replacements> FileToReplaces;
- FileToReplaces[File1] = toReplacements(
+ FileToReplaces[std::string(File1)] = toReplacements(
{tooling::Replacement(Context.Sources, Context.getLocation(ID1, 1, 1), 6,
"auto "),
tooling::Replacement(Context.Sources, Context.getLocation(ID1, 3, 10), 1,
"12345678901")});
- FileToReplaces[File2] = toReplacements(
+ FileToReplaces[std::string(File2)] = toReplacements(
{tooling::Replacement(Context.Sources, Context.getLocation(ID2, 1, 12), 0,
"4567890123"),
tooling::Replacement(Context.Sources, Context.getLocation(ID2, 2, 9), 1,
@@ -612,7 +612,8 @@ public:
assert(File);
StringRef Found =
- TemporaryFiles.insert(std::make_pair(Name, Path.str())).first->second;
+ TemporaryFiles.insert(std::make_pair(Name, std::string(Path.str())))
+ .first->second;
assert(Found == Path);
(void)Found;
return Context.Sources.createFileID(*File, SourceLocation(),
@@ -628,7 +629,7 @@ public:
// FIXME: Figure out whether there is a way to get the SourceManger to
// reopen the file.
auto FileBuffer = Context.Files.getBufferForFile(Path);
- return (*FileBuffer)->getBuffer();
+ return std::string((*FileBuffer)->getBuffer());
}
llvm::StringMap<std::string> TemporaryFiles;
@@ -1044,8 +1045,8 @@ TEST(DeduplicateByFileTest, PathsWithDots) {
#endif
EXPECT_TRUE(VFS->addFile(Path1, 0, llvm::MemoryBuffer::getMemBuffer("")));
EXPECT_TRUE(VFS->addFile(Path2, 0, llvm::MemoryBuffer::getMemBuffer("")));
- FileToReplaces[Path1] = Replacements();
- FileToReplaces[Path2] = Replacements();
+ FileToReplaces[std::string(Path1)] = Replacements();
+ FileToReplaces[std::string(Path2)] = Replacements();
FileToReplaces = groupReplacementsByFile(FileMgr, FileToReplaces);
EXPECT_EQ(1u, FileToReplaces.size());
EXPECT_EQ(Path1, FileToReplaces.begin()->first);
@@ -1065,8 +1066,8 @@ TEST(DeduplicateByFileTest, PathWithDotSlash) {
#endif
EXPECT_TRUE(VFS->addFile(Path1, 0, llvm::MemoryBuffer::getMemBuffer("")));
EXPECT_TRUE(VFS->addFile(Path2, 0, llvm::MemoryBuffer::getMemBuffer("")));
- FileToReplaces[Path1] = Replacements();
- FileToReplaces[Path2] = Replacements();
+ FileToReplaces[std::string(Path1)] = Replacements();
+ FileToReplaces[std::string(Path2)] = Replacements();
FileToReplaces = groupReplacementsByFile(FileMgr, FileToReplaces);
EXPECT_EQ(1u, FileToReplaces.size());
EXPECT_EQ(Path1, FileToReplaces.begin()->first);
@@ -1084,8 +1085,8 @@ TEST(DeduplicateByFileTest, NonExistingFilePath) {
StringRef Path1 = ".\\a\\b\\c.h";
StringRef Path2 = "a\\b\\c.h";
#endif
- FileToReplaces[Path1] = Replacements();
- FileToReplaces[Path2] = Replacements();
+ FileToReplaces[std::string(Path1)] = Replacements();
+ FileToReplaces[std::string(Path2)] = Replacements();
FileToReplaces = groupReplacementsByFile(FileMgr, FileToReplaces);
EXPECT_TRUE(FileToReplaces.empty());
}
@@ -1306,7 +1307,7 @@ protected:
~ApplyAtomicChangesTest() override {}
void setInput(llvm::StringRef Input) {
- Code = Input;
+ Code = std::string(Input);
FID = Context.createInMemoryFile(FilePath, Code);
}
diff --git a/clang/unittests/Tooling/RewriterTestContext.h b/clang/unittests/Tooling/RewriterTestContext.h
index cfe5577a..99f7a11 100644
--- a/clang/unittests/Tooling/RewriterTestContext.h
+++ b/clang/unittests/Tooling/RewriterTestContext.h
@@ -77,7 +77,8 @@ class RewriterTestContext {
assert(File);
StringRef Found =
- TemporaryFiles.insert(std::make_pair(Name, Path.str())).first->second;
+ TemporaryFiles.insert(std::make_pair(Name, std::string(Path.str())))
+ .first->second;
assert(Found == Path);
(void)Found;
return Sources.createFileID(*File, SourceLocation(), SrcMgr::C_User);
@@ -107,7 +108,7 @@ class RewriterTestContext {
// FIXME: Figure out whether there is a way to get the SourceManger to
// reopen the file.
auto FileBuffer = Files.getBufferForFile(Path);
- return (*FileBuffer)->getBuffer();
+ return std::string((*FileBuffer)->getBuffer());
}
IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts;
diff --git a/clang/unittests/Tooling/SourceCodeBuildersTest.cpp b/clang/unittests/Tooling/SourceCodeBuildersTest.cpp
index 9b5e7bf..b6f6aba 100644
--- a/clang/unittests/Tooling/SourceCodeBuildersTest.cpp
+++ b/clang/unittests/Tooling/SourceCodeBuildersTest.cpp
@@ -133,7 +133,7 @@ static void testBuilder(
ASSERT_TRUE(StmtMatch);
EXPECT_THAT(Builder(*StmtMatch->Result.Nodes.getNodeAs<Expr>("expr"),
*StmtMatch->Result.Context),
- ValueIs(Expected));
+ ValueIs(std::string(Expected)));
}
TEST(SourceCodeBuildersTest, BuildParensUnaryOp) {
diff --git a/clang/unittests/Tooling/StencilTest.cpp b/clang/unittests/Tooling/StencilTest.cpp
index b248a5a..bd35f0d 100644
--- a/clang/unittests/Tooling/StencilTest.cpp
+++ b/clang/unittests/Tooling/StencilTest.cpp
@@ -111,7 +111,8 @@ protected:
// Tests failures caused by references to unbound nodes. `unbound_id` is the
// id that will cause the failure.
void testUnboundNodeError(const Stencil &Stencil, StringRef UnboundId) {
- testError(Stencil, AllOf(HasSubstr(UnboundId), HasSubstr("not bound")));
+ testError(Stencil,
+ AllOf(HasSubstr(std::string(UnboundId)), HasSubstr("not bound")));
}
};
@@ -128,8 +129,9 @@ TEST_F(StencilTest, SingleStatement) {
hasThen(stmt().bind(Then)), hasElse(stmt().bind(Else))));
ASSERT_TRUE(StmtMatch);
// Invert the if-then-else.
- auto Stencil = cat("if (!", node(Condition), ") ", statement(Else), " else ",
- statement(Then));
+ auto Stencil =
+ cat("if (!", node(std::string(Condition)), ") ",
+ statement(std::string(Else)), " else ", statement(std::string(Then)));
EXPECT_THAT_EXPECTED(Stencil->eval(StmtMatch->Result),
HasValue("if (!true) return 0; else return 1;"));
}
@@ -156,7 +158,8 @@ void testExpr(StringRef Id, StringRef Snippet, const Stencil &Stencil,
StringRef Expected) {
auto StmtMatch = matchStmt(Snippet, expr().bind(Id));
ASSERT_TRUE(StmtMatch);
- EXPECT_THAT_EXPECTED(Stencil->eval(StmtMatch->Result), HasValue(Expected));
+ EXPECT_THAT_EXPECTED(Stencil->eval(StmtMatch->Result),
+ HasValue(std::string(Expected)));
}
void testFailure(StringRef Id, StringRef Snippet, const Stencil &Stencil,
@@ -170,7 +173,7 @@ void testFailure(StringRef Id, StringRef Snippet, const Stencil &Stencil,
TEST_F(StencilTest, SelectionOp) {
StringRef Id = "id";
- testExpr(Id, "3;", cat(node(Id)), "3");
+ testExpr(Id, "3;", cat(node(std::string(Id))), "3");
}
TEST_F(StencilTest, IfBoundOpBound) {
diff --git a/clang/unittests/Tooling/Syntax/TreeTest.cpp b/clang/unittests/Tooling/Syntax/TreeTest.cpp
index 42d77d8..1749e66 100644
--- a/clang/unittests/Tooling/Syntax/TreeTest.cpp
+++ b/clang/unittests/Tooling/Syntax/TreeTest.cpp
@@ -862,7 +862,8 @@ void test() {
auto *Root = buildTree(T.first);
std::string Expected = llvm::StringRef(T.second).trim().str();
- std::string Actual = llvm::StringRef(Root->dump(*Arena)).trim();
+ std::string Actual =
+ std::string(llvm::StringRef(Root->dump(*Arena)).trim());
EXPECT_EQ(Expected, Actual) << "the resulting dump is:\n" << Actual;
}
}
diff --git a/clang/unittests/Tooling/ToolingTest.cpp b/clang/unittests/Tooling/ToolingTest.cpp
index 1358134..59c9b4f 100644
--- a/clang/unittests/Tooling/ToolingTest.cpp
+++ b/clang/unittests/Tooling/ToolingTest.cpp
@@ -325,9 +325,9 @@ TEST(runToolOnCodeWithArgs, TestNoDepFile) {
std::vector<std::string> Args;
Args.push_back("-MMD");
Args.push_back("-MT");
- Args.push_back(DepFilePath.str());
+ Args.push_back(std::string(DepFilePath.str()));
Args.push_back("-MF");
- Args.push_back(DepFilePath.str());
+ Args.push_back(std::string(DepFilePath.str()));
EXPECT_TRUE(runToolOnCodeWithArgs(std::make_unique<SkipBodyAction>(), "", Args));
EXPECT_FALSE(llvm::sys::fs::exists(DepFilePath.str()));
EXPECT_FALSE(llvm::sys::fs::remove(DepFilePath.str()));
@@ -552,8 +552,9 @@ std::string getAnyTarget() {
StringRef TargetName(Target.getName());
if (TargetName == "x86-64")
TargetName = "x86_64";
- if (llvm::TargetRegistry::lookupTarget(TargetName, Error) == &Target) {
- return TargetName;
+ if (llvm::TargetRegistry::lookupTarget(std::string(TargetName), Error) ==
+ &Target) {
+ return std::string(TargetName);
}
}
return "";
diff --git a/clang/unittests/Tooling/TransformerTest.cpp b/clang/unittests/Tooling/TransformerTest.cpp
index c382783..454615c 100644
--- a/clang/unittests/Tooling/TransformerTest.cpp
+++ b/clang/unittests/Tooling/TransformerTest.cpp
@@ -174,7 +174,7 @@ TEST_F(TransformerTest, Flag) {
hasName("proto::ProtoCommandLineFlag"))))
.bind(Flag)),
unless(callee(cxxMethodDecl(hasName("GetProto"))))),
- changeTo(node(Flag), cat("EXPR")));
+ changeTo(node(std::string(Flag)), cat("EXPR")));
std::string Input = R"cc(
proto::ProtoCommandLineFlag flag;
@@ -229,7 +229,7 @@ TEST_F(TransformerTest, AddIncludeAngled) {
TEST_F(TransformerTest, NodePartNameNamedDecl) {
StringRef Fun = "fun";
RewriteRule Rule = makeRule(functionDecl(hasName("bad")).bind(Fun),
- changeTo(name(Fun), cat("good")));
+ changeTo(name(std::string(Fun)), cat("good")));
std::string Input = R"cc(
int bad(int x);
@@ -261,7 +261,7 @@ TEST_F(TransformerTest, NodePartNameDeclRef) {
StringRef Ref = "ref";
testRule(makeRule(declRefExpr(to(functionDecl(hasName("bad")))).bind(Ref),
- changeTo(name(Ref), cat("good"))),
+ changeTo(name(std::string(Ref)), cat("good"))),
Input, Expected);
}
@@ -279,7 +279,7 @@ TEST_F(TransformerTest, NodePartNameDeclRefFailure) {
StringRef Ref = "ref";
Transformer T(makeRule(declRefExpr(to(functionDecl())).bind(Ref),
- changeTo(name(Ref), cat("good"))),
+ changeTo(name(std::string(Ref)), cat("good"))),
consumer());
T.registerMatchers(&MatchFinder);
EXPECT_FALSE(rewrite(Input));
@@ -288,7 +288,7 @@ TEST_F(TransformerTest, NodePartNameDeclRefFailure) {
TEST_F(TransformerTest, NodePartMember) {
StringRef E = "expr";
RewriteRule Rule = makeRule(memberExpr(member(hasName("bad"))).bind(E),
- changeTo(member(E), cat("good")));
+ changeTo(member(std::string(E)), cat("good")));
std::string Input = R"cc(
struct S {
@@ -341,7 +341,8 @@ TEST_F(TransformerTest, NodePartMemberQualified) {
)cc";
StringRef E = "expr";
- testRule(makeRule(memberExpr().bind(E), changeTo(member(E), cat("good"))),
+ testRule(makeRule(memberExpr().bind(E),
+ changeTo(member(std::string(E)), cat("good"))),
Input, Expected);
}
@@ -373,7 +374,7 @@ TEST_F(TransformerTest, NodePartMemberMultiToken) {
StringRef MemExpr = "member";
testRule(makeRule(memberExpr().bind(MemExpr),
- changeTo(member(MemExpr), cat("good"))),
+ changeTo(member(std::string(MemExpr)), cat("good"))),
Input, Expected);
}
@@ -391,9 +392,10 @@ TEST_F(TransformerTest, InsertBeforeEdit) {
)cc";
StringRef Ret = "return";
- testRule(makeRule(returnStmt().bind(Ret),
- insertBefore(statement(Ret), cat("int y = 3;"))),
- Input, Expected);
+ testRule(
+ makeRule(returnStmt().bind(Ret),
+ insertBefore(statement(std::string(Ret)), cat("int y = 3;"))),
+ Input, Expected);
}
TEST_F(TransformerTest, InsertAfterEdit) {
@@ -412,9 +414,10 @@ TEST_F(TransformerTest, InsertAfterEdit) {
)cc";
StringRef Decl = "decl";
- testRule(makeRule(declStmt().bind(Decl),
- insertAfter(statement(Decl), cat("int y = 3;"))),
- Input, Expected);
+ testRule(
+ makeRule(declStmt().bind(Decl),
+ insertAfter(statement(std::string(Decl)), cat("int y = 3;"))),
+ Input, Expected);
}
TEST_F(TransformerTest, RemoveEdit) {
@@ -431,8 +434,9 @@ TEST_F(TransformerTest, RemoveEdit) {
)cc";
StringRef Decl = "decl";
- testRule(makeRule(declStmt().bind(Decl), remove(statement(Decl))), Input,
- Expected);
+ testRule(
+ makeRule(declStmt().bind(Decl), remove(statement(std::string(Decl)))),
+ Input, Expected);
}
TEST_F(TransformerTest, MultiChange) {
@@ -452,12 +456,13 @@ TEST_F(TransformerTest, MultiChange) {
)";
StringRef C = "C", T = "T", E = "E";
- testRule(makeRule(ifStmt(hasCondition(expr().bind(C)),
- hasThen(stmt().bind(T)), hasElse(stmt().bind(E))),
- {changeTo(node(C), cat("true")),
- changeTo(statement(T), cat("{ /* then */ }")),
- changeTo(statement(E), cat("{ /* else */ }"))}),
- Input, Expected);
+ testRule(
+ makeRule(ifStmt(hasCondition(expr().bind(C)), hasThen(stmt().bind(T)),
+ hasElse(stmt().bind(E))),
+ {changeTo(node(std::string(C)), cat("true")),
+ changeTo(statement(std::string(T)), cat("{ /* then */ }")),
+ changeTo(statement(std::string(E)), cat("{ /* else */ }"))}),
+ Input, Expected);
}
TEST_F(TransformerTest, OrderedRuleUnrelated) {
@@ -467,7 +472,7 @@ TEST_F(TransformerTest, OrderedRuleUnrelated) {
hasName("proto::ProtoCommandLineFlag"))))
.bind(Flag)),
unless(callee(cxxMethodDecl(hasName("GetProto"))))),
- changeTo(node(Flag), cat("PROTO")));
+ changeTo(node(std::string(Flag)), cat("PROTO")));
std::string Input = R"cc(
proto::ProtoCommandLineFlag flag;
@@ -582,9 +587,10 @@ TEST_F(TransformerTest, TextGeneratorFailure) {
}
std::string toString() const override { return "AlwaysFail"; }
};
- Transformer T(makeRule(binaryOperator().bind(O),
- changeTo(node(O), std::make_shared<AlwaysFail>())),
- consumer());
+ Transformer T(
+ makeRule(binaryOperator().bind(O),
+ changeTo(node(std::string(O)), std::make_shared<AlwaysFail>())),
+ consumer());
T.registerMatchers(&MatchFinder);
EXPECT_FALSE(rewrite(Input));
EXPECT_THAT(Changes, IsEmpty());
@@ -597,8 +603,8 @@ TEST_F(TransformerTest, OverlappingEditsInRule) {
// Try to change the whole binary-operator expression AND one its operands:
StringRef O = "O", L = "L";
Transformer T(makeRule(binaryOperator(hasLHS(expr().bind(L))).bind(O),
- {changeTo(node(O), cat("DELETE_OP")),
- changeTo(node(L), cat("DELETE_LHS"))}),
+ {changeTo(node(std::string(O)), cat("DELETE_OP")),
+ changeTo(node(std::string(L)), cat("DELETE_LHS"))}),
consumer());
T.registerMatchers(&MatchFinder);
EXPECT_FALSE(rewrite(Input));
@@ -611,7 +617,8 @@ TEST_F(TransformerTest, OverlappingEditsMultipleMatches) {
std::string Input = "int conflictOneRule() { return -7; }";
// Try to change the whole binary-operator expression AND one its operands:
StringRef E = "E";
- Transformer T(makeRule(expr().bind(E), changeTo(node(E), cat("DELETE_EXPR"))),
+ Transformer T(makeRule(expr().bind(E),
+ changeTo(node(std::string(E)), cat("DELETE_EXPR"))),
consumer());
T.registerMatchers(&MatchFinder);
// The rewrite process fails because the changes conflict with each other...
@@ -649,7 +656,7 @@ TEST_F(TransformerTest, SimpleMacro) {
StringRef zero = "zero";
RewriteRule R = makeRule(integerLiteral(equals(0)).bind(zero),
- changeTo(node(zero), cat("999")));
+ changeTo(node(std::string(zero)), cat("999")));
testRule(R, Input, Expected);
}
@@ -746,7 +753,7 @@ TEST_F(TransformerTest, MatchSpansMacroTextButChangeDoesNot) {
StringRef E = "expr";
testRule(makeRule(binaryOperator(hasLHS(expr().bind(E))),
- changeTo(node(E), cat("LIT"))),
+ changeTo(node(std::string(E)), cat("LIT"))),
Input, Expected);
}
@@ -764,7 +771,7 @@ TEST_F(TransformerTest, MatchSpansMacroTextButChangeDoesNotAnchoredInMacro) {
StringRef E = "expr";
testRule(makeRule(binaryOperator(hasRHS(expr().bind(E))),
- changeTo(node(E), cat("LIT"))),
+ changeTo(node(std::string(E)), cat("LIT"))),
Input, Expected);
}
@@ -779,7 +786,7 @@ TEST_F(TransformerTest, NoPartialRewriteOMacroExpansion) {
StringRef zero = "zero";
RewriteRule R = makeRule(integerLiteral(equals(0)).bind(zero),
- changeTo(node(zero), cat("0")));
+ changeTo(node(std::string(zero)), cat("0")));
testRule(R, Input, Input);
}